Commit graph

4368 commits

Author SHA1 Message Date
Andy2
8623c569e7 move game data from separate files into a BLOB column in the existing
summaries db table, using the existing SNAPSHOT column rather than
adding a new one and upping the version.  Includes utility fired at
game-start to convert existing games that seems to work.  Also
improved a few queries and updates to -- I think -- use the API
better.
2010-11-24 17:22:46 -08:00
Andy2
be35d875b2 move game data from separate files into a BLOB column in the existing
summaries db table, using the existing SNAPSHOT column rather than
adding a new one and upping the version.  Includes utility fired at
game-start to convert existing games that seems to work.  Also
improved a few queries and updates to -- I think -- use the API
better.
2010-11-24 17:22:04 -08:00
Andy2
7c96048ba2 add, but comment out because it requires user permission, code to
notice when cellular data becomes available and notify relay of dead
games then.  Must be a way to notice a network interface cellular or
not without permission since I already have permission to use it.
2010-11-23 19:01:32 -08:00
Andy2
c3f43dd26c when deleting all games don't inform relay until after the last one so
a single connection does it.
2010-11-23 18:28:05 -08:00
Andy2
5bf87b3bea add function to invoke rq once for all the relayIDs in the set of
devices making up a game.  Actually using it make the script fail for
some reason and so it's commented out, but it helped to debug the
relay.
2010-11-23 18:12:11 -08:00
Andy2
0bbf7272aa don't create thread if there are no obits in the db -- makes it
cheaper to call when there may be nothing to do.
2010-11-23 18:10:51 -08:00
Andy2
7c8622392d send the list of saved deleted relayID/seed pairs off to the relay and
remove them from db when relay reports success.  TODO: relay always
reports success even if some are malformed and it's aborted parsing.
2010-11-23 17:56:17 -08:00
Andy2
1720fbbd50 fix parsing of relay ids by replacing separating \n with \0. 2010-11-23 17:46:16 -08:00
Andy2
111c59dd30 toward having game deletion get reported even if network isn't live at
the moment: create new "obits" table and put dead game info in it.
Change constant for current table name to be less generic.
2010-11-23 06:44:59 -08:00
Andy2
2127394260 don't allow resignations below a certain point -- which happens to fix
divide-by-zero error.
2010-11-22 20:44:28 -08:00
Andy2
daecc807c1 don't init nPerDevice, and deal with it not being inited. 2010-11-22 20:43:37 -08:00
Andy2
eebf5f1252 remove the big dictionary. Ideally I'll figure out how to gracefully
allow to switch without downloading before the next beta.
2010-11-22 18:24:37 -08:00
Andy2
983906810c set dropdown view resource on public rooms spinner -- fixes problem
where it was drawing super-small.
2010-11-22 07:39:18 -08:00
Andy2
3ee3af8881 init crosshairs correctly so 0th column and row aren't drawn short. 2010-11-22 07:04:51 -08:00
Andy2
edab239060 add one more change 2010-11-21 20:12:45 -08:00
Andy2
ead21206e0 up version to 5 not 6 since prev beta was at 4. 2010-11-21 20:12:34 -08:00
Andy2
7d164f2389 complete list of changes 2010-11-20 21:19:56 -08:00
Andy2
d23dc4aee5 No need to use CurGameInfo for any game summary fields since it's all
in the summary db now.  Saves opening the game itself just to show it
in a list.
2010-11-20 20:37:01 -08:00
Andy2
985c3d586c move gameslist summarizing methods from CurGameInfo to GameSummary. 2010-11-20 20:34:41 -08:00
Andy2
b3b9742cdf add serverrole and players summary to summary db 2010-11-20 20:34:00 -08:00
Andy2
a9a1076d02 actually delete dict when no games use it. 2010-11-19 21:47:38 -08:00
Andy2
b2e418436d tweak string 2010-11-19 21:09:36 -08:00
Andy2
e38ac33e00 move dict-missing dialog from DlgDelegate into GamesList because
that's the only place that is or should be calling it.  And since we
can usually figure out the exact url for the dictionary go ahead and
try to download that.
2010-11-19 21:08:09 -08:00
Andy2
0578a0e4f6 When deleting dictionaries, just do it unless the dictionary's in use
in which case tell user how many games are using it when asking for
confirmation.  To do that, add dict into summary DB, and to do that
add CurGameInfo into GameSummary's constructor.  Also, when there's no
summary for a game, make one on the spot and add it to the db.  This
will crash if the game's dict has been deleted.  Need to deal with
that, probably by deleting unsummarazible games, becuase now if
somebody installs this on top of a device where a game's dict is
missing and it has no summary I'll never boot.
2010-11-19 18:37:00 -08:00
Andy2
586b211b04 add dict name and language to summary database. Probably eventually
want to move everything for the display here -- and maybe the file
contents too as a BLOB.
2010-11-19 18:24:56 -08:00
Andy2
71059e6dff remove nPlayers from game_summarize 2010-11-19 18:23:34 -08:00
Andy2
92940e6638 add model_getNPlayers() 2010-11-19 18:22:39 -08:00
eehouse@eehouse.org
d261aa8184 Merge branch 'android_branch' of ssh://xwords.git.sourceforge.net/gitroot/xwords/xwords into android_branch 2010-11-18 22:42:43 -08:00
Eric House
a1caaeb183 simulate games being deleted before they're finished 2010-11-18 22:27:46 -08:00
Eric House
7a2d279308 add logging so script can better track what state relay game is in 2010-11-18 22:27:06 -08:00
Andy2
43be0183a5 just assert that dict can be opened as part of opening game. GamesList
is now responsible for not launching a game if its dict is gone.
2010-11-18 19:05:22 -08:00
Andy2
3eb8b723de don't assume no-dict dialog should call finish on its calling
Activity() on exit -- we're not letting the Activity launch any more.
2010-11-18 19:04:43 -08:00
Andy2
198534dce3 check if dict missing and warn rather than do anything that will crash
if it's not there.  Ideally I could open the config dialog so user
could change the dict but that isn't working.  Maybe just offer to
open it after swapping in the default dict?
2010-11-18 19:00:49 -08:00
Andy2
7921ddca10 don't crash when asked to reset a game whose dict has been deleted. 2010-11-18 18:52:04 -08:00
Andy2
163c124072 update for b19 2010-11-17 06:13:31 -08:00
Andy2
fc88742978 up constants for b19 2010-11-16 21:06:43 -08:00
Eric House
b91187d6a5 test result when parsing; drop if didn't parse 2010-11-16 20:30:43 -08:00
Eric House
f33466b6db exit with non-0 on failure so calling script/loop can exit too 2010-11-16 20:29:55 -08:00
Eric House
4c6c3c1ded when marking a device in a dead game, negate its nperdevice entry rather than always using -1. 2010-11-16 20:28:53 -08:00
Andy2
635ae053b6 cut down on printing; don't assert-fail when relay's crashed. 2010-11-15 20:40:59 -08:00
Andy2
2c5c7a0dd1 init m_nRoomsFilled -- not sure when this http view feature broke 2010-11-15 20:08:59 -08:00
Andy2
a1be555910 improve string for deleted remote game -- but really needs a "delete
now" button.
2010-11-15 19:02:12 -08:00
Andy2
3b30aff613 use external relayID.sh script 2010-11-15 19:01:38 -08:00
Andy2
ea292c7e2f exclude dead games when looking for open public rooms 2010-11-15 19:01:11 -08:00
Andy2
58cd93ef6f given a log file, generates an ID that can be passed with the -d
option to relay/rq.
2010-11-15 18:34:56 -08:00
Andy2
c6bd2125a4 java uses '/' to delimit device id, so we'll make that standard. 2010-11-15 18:27:36 -08:00
Andy2
c36679fe13 init isDead to false. Fixes prolem where if DB entry's missing the
value is uninitialized and so device gets warned that other device
resigned even if none did.
2010-11-15 18:21:40 -08:00
Andy2
a69e2ad8be add test for device-gone notification by calling rq after gleaning
required params from logs.  So far testing only after game is over;
need to test mid-game deletion too.
2010-11-15 06:52:35 -08:00
Andy2
d4e810c9cb delimiter changed 2010-11-15 06:51:05 -08:00
Andy2
ce5738a4e1 write the count 2010-11-15 06:50:09 -08:00
Andy2
edf0c40904 track isDead when creating SafeCref for devgone 2010-11-15 06:49:41 -08:00
Andy2
2c9f2572a8 use GameFull() 2010-11-15 06:48:57 -08:00
Andy2
feca7345dc add GameFull -- database, not in-memory state, knows if game is full. 2010-11-15 06:48:36 -08:00
eehouse@eehouse.org
14579c6e30 Merge branch 'relay_proxy' of ssh://xwords.git.sourceforge.net/gitroot/xwords/xwords into relay_proxy 2010-11-14 19:40:35 -08:00
Eric House
528ae0c986 allow more than one device death per message 2010-11-14 15:19:38 -08:00
Eric House
a8ac30b180 add -d option to test dev-gone on relay 2010-11-14 15:18:49 -08:00
Andy2
9026d5c149 remove obsolete script I keep accidentally invoking 2010-11-12 18:26:01 -08:00
Andy2
43896ff187 remove unused method and variable 2010-11-12 18:25:15 -08:00
Andy2
fc8cac3b6a handle new device-gone message by posting timed-out dialog. 2010-11-11 06:43:36 -08:00
Andy2
b0a4790ce0 respond to new game-gone message by passing to utils. 2010-11-11 06:41:24 -08:00
Andy2
0787a06eb5 accept new message from device announcing the death of a game
(including seed so it's harder to spoof); respond to that by setting a
DEAD column in the db and flagging the device as gone.  Notify any
connected device of the fact.  Refuse to accept new connections to
that game.  As already-connected devices reconnect, allow them to do
so but send a new status message that their game is dead.  Not heavily
tested yet.
2010-11-11 06:40:50 -08:00
Andy2
3d59bc7e39 add new DEAD column to track when a game's been deleted 2010-11-11 06:29:21 -08:00
Andy2
04e1b0c22b new constants, include new status event type, for relay to accept
notification of deleted game and communicate that to others in the
game as they connect.
2010-11-11 06:26:59 -08:00
Andy2
d809db7b21 plug into delete and reset code to notify relay that game's forever gone. 2010-11-11 06:25:08 -08:00
Andy2
cf84cce41a define and handle new other-was-deleted error relay is about to start
returning.
2010-11-11 06:23:48 -08:00
Andy2
e3f373039a add informOfDeath to communicate to relay when game is deleted 2010-11-11 06:22:38 -08:00
eehouse@eehouse.org
048eff92b8 Merge branch 'relay_proxy' of /home/andy2/dev/git/LOCAL_ORIGIN into relay_proxy 2010-11-10 07:17:39 -08:00
eehouse@eehouse.org
7929167129 Merge branch 'android_branch' into relay_proxy 2010-11-10 07:06:10 -08:00
Andy2
f373b52d45 fix bug drawing tile letters when drawScaled() got triggered (e.g. for
W on non-std-sized screen): pass null as scr rect to drawBitmap so the
whole bitmap gets used.
2010-11-10 07:05:40 -08:00
Andy2
d3e644db83 stop requiring 1.6 sdk when runs fine on 1.5 2010-11-10 06:57:45 -08:00
Andy2
c8d7ca40a5 use \1 instead of \n as delimiter -- in case somebody passes as string
containing a \n.
2010-11-09 18:02:22 -08:00
Andy2
0f111ab363 use PQexecParams instead of PQexec for queries involving strings from
users (i.e. room names) to avoid crashes when the contain apostrophes
-- and in general to be safer.
2010-11-09 17:27:33 -08:00
Eric House
966616cbc4 throw in the public flags; disallow unset variables 2010-11-09 05:54:23 -08:00
Eric House
2a2f4d4395 been a while since cvs... 2010-11-09 05:53:49 -08:00
Andy2
42481a31cc add seed to db; get and set it. 2010-11-08 17:23:54 -08:00
Andy2
82876bda06 add seed and fetch it in jni 2010-11-08 17:23:16 -08:00
Andy2
22f7a42c1d make comms_getChannelSeed non-static so jni can call it 2010-11-08 17:22:38 -08:00
Andy2
b49015c9a1 map out-of-range lang codes to 0. Otherwise we get outOfBounds
exceptions once Hex dict is installed.
2010-11-07 15:42:09 -08:00
Andy2
d893632e1b map out-of-range lang codes to 0. Otherwise we get outOfBounds
exceptions once Hex dict is installed.
2010-11-07 15:34:40 -08:00
Andy2
83ae8d316c switch to RelativeLayout, putting lock checkbox at top and play game
button in the middle with everything else scrolling in between.  This
particular application of RelativeLayout works on 1.5 (in emulator).
2010-11-07 15:13:39 -08:00
Andy2
aff3c9a931 stop requiring 1.6 sdk when runs fine on 1.5 2010-11-07 15:12:37 -08:00
Andy2
1e5ac393c1 update for b18 (but leave b17 description below since that represents
two months of work and b18 two hours.)
2010-11-07 14:13:04 -08:00
Andy2
6da013af9d up constants for beta-18 2010-11-07 14:04:37 -08:00
Andy2
c2472c0cb5 don't call java code if rect width is 0. Fixes crash (but not design
problem) where first to connect in room specifies a timer and second
does not.  Second eventually gets message saying there's a timer but
has not layed out space in the board and java freaks out when later
asked to make a 0-width image.  This fix leaves the device not drawing
the timer until the game is reopened.  The better fix would trigger a
re-layout as soon as the change is made.
2010-11-07 14:03:24 -08:00
Andy2
cfd4345287 remove too-frequent logging 2010-11-07 13:31:43 -08:00
Andy2
99a557a604 fix blanks-first option to assign one blank per tray rather than all
to first.  Makes for more realistic test.
2010-11-07 12:20:39 -08:00
Andy2
83f6ebca79 work around bug -- or design flaw -- where when timer is set hint or
robot with blank in tray keeps flashing the in-progress indicator by
flagging CMD_TIMER_FIRED as a non-ui event so busy() won't return when
it's what's on the queue.  Problem with that is that the timer stops
advancing during a hint which is clearly not what's happened.
2010-11-07 12:13:07 -08:00
Andy2
2c95179050 don't complain about empty room name for standalone game 2010-11-07 11:50:01 -08:00
Andy2
57838c0436 improve script. Allow pass either branch or tag on commandline,
defaulting to branch of tree from which called.  Add usage().  set -u
-e and deal with [ -n "$1" ] being an error in that case.
2010-11-07 08:16:36 -08:00
Andy2
46a01ace56 work around occasional crash in on-device testing by checking for 0
before passing to getString.  Not sure of the circumstances but the
crash is coming from restoreManagedDialogs() -- might be related to
screen orientation changes.
2010-11-06 21:34:16 -07:00
Andy2
dd3bd1f661 don't show hint buttons until there are tiles assigned 2010-11-06 21:31:53 -07:00
Andy2
a6a7f1899d remove logging 2010-11-06 21:01:50 -07:00
Andy2
2fc48cbd97 nuke unused constant 2010-11-06 21:01:29 -07:00
Andy2
92ec742f90 script to build from a clean tree. I'm getting emacs and git tmpfile
picked up by the android build system and incorporated into .apks;
this will avoid that.
2010-11-06 20:19:07 -07:00
Andy2
d2782af487 do case-insensitive comparison of room names 2010-11-06 18:52:10 -07:00
Andy2
73d7c7a27b use new field to determine if simple relay config dialog can handle
the game or if user's already changed it enough that the full-on
dialog is required.
2010-11-06 18:26:09 -07:00
Andy2
f36b253ae7 add number of players to GameSummary. Changes DB but it's already
changed since last beta so I'm not upping the version.
2010-11-06 18:24:44 -07:00
Andy2
9fccbcc6b4 Problem with new minimal-config relay dialog: user can accidentally
tap "play game" and wind up connecting and creating an empty-room-name
game; or can dismiss the dialog and be confused because there's no way
back to it.  Solution: define empty-room-name as an illegal case.
Check for it when "play game" is tapped in either config dialog and
raise an alert.  And when user wants to open a game from the GamesList
activity go to the minimal config dialog if it's a relay game without
a room name.
2010-11-06 16:41:12 -07:00
Andy2
8213c9a5c1 add showOKOnlyDialog 2010-11-06 16:38:33 -07:00
Andy2
248c758b1c add a bit of space around bullet items 2010-11-06 16:37:59 -07:00
Andy2
b7fc678e3d tweak changes, removing steps to create networked game since that's
part of the UI now.
2010-11-06 15:29:05 -07:00
eehouse@eehouse.org
58317afb28 Merge branch 'android_branch' into relay_proxy 2010-11-06 15:06:08 -07:00
Andy2
ceec9eda28 set m_invalPath so new network game will be drawn correctly first time
back in GamesList
2010-11-06 15:01:06 -07:00
Andy2
a72e029f40 add name field to and use a style for bulleted items in simplified
relay-connect dialog; remove not-again text and dialog attached to
new-relay-game button; tweak text.
2010-11-06 14:55:57 -07:00
eehouse@eehouse.org
8dad8750ba Merge branch 'relay_proxy' of ssh://xwords.git.sourceforge.net/gitroot/xwords/xwords into android_branch 2010-11-06 14:43:57 -07:00
Andy2
d6adc84ee3 tweak two prefs strings 2010-11-06 14:40:28 -07:00
Eric House
98716b755a get rid of menuitem that was there only for development testing 2010-11-06 08:30:45 -07:00
Andy2
c125edd2cb make text bulleted -- easier to read/follow 2010-11-05 05:53:28 -07:00
eehouse@eehouse.org
fc739e2c67 Merge branch 'android_branch' into relay_proxy 2010-11-05 05:19:16 -07:00
eehouse@eehouse.org
6d205011f5 Merge branch 'android_branch' of ssh://xwords.git.sourceforge.net/gitroot/xwords/xwords into android_branch 2010-11-05 05:12:59 -07:00
Andy2
145ab6f356 remove wordy explanation 2010-11-05 05:11:40 -07:00
eehouse@eehouse.org
64cc199e1a Merge branch 'relay_proxy' of ssh://xwords.git.sourceforge.net/gitroot/xwords/xwords into relay_proxy 2010-11-05 05:10:24 -07:00
Eric House
0d863d2d3f fix casting error caught by compiler 2010-11-05 05:06:24 -07:00
Eric House
7b3691662a version of build.xml modified to pass -xline to javac. For future use... 2010-11-05 05:06:04 -07:00
Andy2
2f38ce3d92 add button leading to the main config dialog plus an explanation of
what it's for.
2010-11-04 20:37:59 -07:00
Andy2
23924ff74e add new activity that's popped up on creation of a networked game to
ask only for the room name to make it as easy as possible to
get started.
2010-11-04 19:48:46 -07:00
Andy2
c9239fc921 make method public 2010-11-04 19:46:05 -07:00
Andy2
9c48c91156 init room name to current text -- duh! -- preventing close process
from thinking a change has been made (room name nulled) when none had
been.
2010-11-04 06:36:28 -07:00
eehouse@eehouse.org
d04a5870af Merge branch 'relay_proxy' of ssh://xwords.git.sourceforge.net/gitroot/xwords/xwords into relay_proxy 2010-11-03 21:00:43 -07:00
Andy2
c630697c59 Fix crash on 2.2 emulator by turning of ipv6 on emulator. per
workarounds found online.  Suggested fix is to use io instead of nio.
2010-11-03 20:54:35 -07:00
Andy2
d1fcdb69da double max room name len since the old value was too small -- only
filled half a text field on android
2010-11-03 18:38:43 -07:00
Andy2
e2ee0755cb set max len for roomname field (with comment that it should be kept in
sync with the C constant)
2010-11-03 18:38:13 -07:00
Andy2
c7febf0d10 nuke unused constant 2010-11-03 18:30:05 -07:00
Andy2
9e05e6c2b3 add lastMsgRcd to status printout 2010-11-03 18:28:54 -07:00
Andy2
c039b92339 don't send 0-length message 2010-11-03 18:26:20 -07:00
Andy2
0148a93f3e add a constraint to the stored messages table to avoid dupes. Then
remove the artificial limit on number of stored messages.  This seems
to fix problems where lots of chats in a row clog up the relay so that
messages never get flowing again.  Works more cleanly than
artificially ACKing.
2010-11-03 18:14:19 -07:00
Andy2
633d4c95a7 fix buffer overflow sql error with large messages; combine logged messages. 2010-11-03 18:12:26 -07:00
Eric House
31df12747b fix prev hint to work not just compile 2010-11-01 22:20:35 -07:00
Eric House
892f30692b Merge branch 'relay_proxy' of ssh://xwords.git.sourceforge.net/gitroot/xwords/xwords into relay_proxy 2010-11-01 21:54:28 -07:00
Eric House
e54bf588ab fix to compile on wince/win32 2010-11-01 21:54:04 -07:00
Andy2
8bf8383d60 reread preferences in case of an upgrade. Fixes bug where default
port was 0 because the new key, meant to change the value, was not
being initialized.  It's a hack to use a side-effect to determine
whether this is an upgrade, but since I'm already calculating it
didn't see any point to doing it again.
2010-11-01 18:56:23 -07:00
Andy2
1e5a856287 log host/port connecting to. Too useful to omit. 2010-11-01 18:53:36 -07:00
Andy2
8f55469930 remove strings no longer in English 2010-11-01 18:12:14 -07:00
Andy2
3d70da5a8d cleanup 2010-11-01 06:57:54 -07:00
Andy2
804070efc7 base comms_canChat() on whether connID's been assigned. It's possible
to send a message from a client immediately after its initial message
but init-message dupe-detection in comms will drop that because only
one channel-0 message is expected -- the initial connection message.
So don't encourage platform code to enable the feature before common
code can deliver the message.
2010-11-01 06:57:41 -07:00
Andy2
2d9851902c replace chat menuitem with chat button enabled using comms_canChat() 2010-11-01 06:55:37 -07:00
Andy2
40e42b79c5 up version numbers and strings -- getting ready for release 2010-10-30 09:11:47 -07:00
Andy2
b2fd178d60 tray->rack; clarify not-again text for 'turn done' button so it isn't
stupid when displayed for ending a trade.
2010-10-29 20:24:50 -07:00
Andy2
64a8b1e61a change confusing const name 2010-10-29 20:20:25 -07:00
Andy2
8c7043d42c fix crash using undo/redo after a turn has overwritten pending tiles:
when redoing need to check that cell is still empty.
2010-10-29 20:07:09 -07:00
Andy2
5b33df4e25 modify model_getTile to take NULL for out parms where the result is
often ignored, then pass NULL instead of the address of variables
called 'ignore'.  Should be no behavior change.
2010-10-29 19:52:15 -07:00
Andy2
3d52698939 don't show all-here not-again dialog to host host -- already got the
first-in version.
2010-10-29 19:14:56 -07:00
Andy2
148fe848c2 get rid of implication that some deletions are undoable. 2010-10-29 19:02:57 -07:00
Andy2
fd1ca2c9c5 confirm single game delete. 2010-10-29 19:02:21 -07:00
Andy2
5b6a5aafe8 add three not-again messages displayed after connection is first made
with the relay, for first-in-room, last-in-room, and the less common
middle case.  Add confirmation dialog for game reset.
2010-10-29 18:44:07 -07:00
Andy2
6de7fb28e3 add lock-setting checkbox to game config dialog and toggle
setEnabled() on most widgets as it's checked.  Add not-again dialog
explaining possibility of reset of started game.  Don't even show the
checkbox for non-started game.
2010-10-29 07:42:16 -07:00
Andy2
814dd89458 remove unused ivar; override setEnabled to dis/enable delete button 2010-10-29 07:40:41 -07:00
Andy2
30b6a6b54e remove unused and confusing id 2010-10-29 06:48:45 -07:00
Andy2
a7c1319527 call super only in the default case 2010-10-29 06:48:18 -07:00
Andy2
d98525de95 make chat display dialog blocking. This fixes problem where multiple
chats received at once see all but the first dropped, and probably
fixes reported problem where only one message every got displayed.
2010-10-29 06:46:27 -07:00
Andy2
b115ce14ed add devOrder (= hostID) to params passed on connect. Fix to pass new
param from jni; use object to pass params into UI thread since there
are now too many for handler.
2010-10-29 06:34:39 -07:00
Andy2
ab708e4db1 add devOrder (= hostID) to params passed on connect. Make linux apps compile after API change. 2010-10-29 06:32:18 -07:00
Andy2
0d7f2c4f23 add devOrder (= hostID) to params passed on connect. Should make for
better explanatory message.
2010-10-29 06:31:33 -07:00
Andy2
4cd15a9c6a Merge branch 'relay_proxy' of ssh://xwords.git.sourceforge.net/gitroot/xwords/xwords into relay_proxy
Conflicts:
	xwords4/common/comms.c
2010-10-29 05:27:07 -07:00
Eric House
e069a268cd implement dialog to edit chat text 2010-10-28 21:31:40 -07:00
Andy2
c087b4b031 add room name to callback used when device connects: pass the new
parameter through and format into messages posted via Toast.
2010-10-28 18:48:07 -07:00
Andy2
645a042481 add room name to callback used when device connects: fix jni to compile 2010-10-28 18:46:28 -07:00
Andy2
7e0bcee6d2 add room name to callback used when device connects: fix linux to compile 2010-10-28 18:46:07 -07:00
Andy2
41fc05106b add room name to callback used when device connects 2010-10-28 18:45:55 -07:00
Andy2
5400fad50d log timeout-dlg messages so there's a record 2010-10-28 18:44:37 -07:00
Andy2
ddeb744ff7 init room name to empty string 2010-10-28 18:43:06 -07:00
Eric House
4ae58342da test, don't assert: comms can be null 2010-10-28 05:45:56 -07:00
Eric House
670f7982ea add comms_isConnected 2010-10-27 21:58:36 -07:00
Eric House
1b83b13101 make player name and password single-line 2010-10-27 21:58:02 -07:00
Eric House
eba5b77494 add comms_isConnected; public room variables default to false 2010-10-27 20:50:11 -07:00
Andy2
7ad4a43468 use new confirm-delete-all dialog to confirm deletion of dictionary 2010-10-27 06:33:13 -07:00
Andy2
4c17ea8802 generalize confirm-delete-all dialog into confirm-then-do 2010-10-27 06:25:29 -07:00
eehouse@eehouse.org
3ffc93a637 Merge branch 'relay_proxy' of ssh://xwords.git.sourceforge.net/gitroot/xwords/xwords into relay_proxy 2010-10-27 05:51:54 -07:00
Eric House
b878599f7b remove comment 2010-10-26 20:57:27 -07:00
Eric House
fd85bd35da set dictLang to 0 (unknown) when reading old-version stream 2010-10-26 20:56:41 -07:00
Andy2
559f933ef5 tweak not-again hint wording 2010-10-26 19:33:38 -07:00
Andy2
11c68797bf unique title for not-again dialogs 2010-10-26 19:28:22 -07:00
Andy2
eb41e24c4e show language of dict that can't be found 2010-10-26 18:48:28 -07:00
Andy2
84e6d94919 add languages to dict names in set-default spinner 2010-10-26 18:35:54 -07:00
Andy2
c8a6f453c9 dismiss underlying activity when no-dict dialog is cancelled too. 2010-10-26 18:28:54 -07:00
Andy2
1ceea2cde2 check that default dict exists and if it doesn't use same as if hadn't
been specified.  Catches case where dict is downloaded, made new-game
default, and then deleted.
2010-10-26 18:20:49 -07:00
Andy2
26210e1cf2 new function for reporting missing dict called from two places 2010-10-26 18:08:53 -07:00
Andy2
89c7e02928 add CollegeEng dict and make it default for new games 2010-10-26 06:54:54 -07:00
Andy2
f9b2eb4a3e attach not-again dialog to turn done menuitem 2010-10-25 21:32:07 -07:00
Andy2
d7b6cb0691 use resetGame() to populate a newly created game. With this change a
new network game will connect without first having been opened in the
GameConfig dialog.
2010-10-25 18:56:51 -07:00
Andy2
e1b7a0f44d when resetting game, if it's multi-device but doesn't have a default
address (as will be the case if it was just created), get and give it
one.
2010-10-25 18:55:53 -07:00
Andy2
3cbda7471c init public room vars to false 2010-10-25 18:55:15 -07:00
Andy2
54d312e523 saveSummary(0 needs to be passed context in case must init dbhelper. 2010-10-25 18:51:07 -07:00
Andy2
2e122fe9f3 default for new networked game is no robots, second player remote. 2010-10-25 18:08:09 -07:00
Andy2
b237277544 put back enum just removed; it's screwing up existing code having all
the followers change.
2010-10-25 18:06:48 -07:00
Andy2
39e502fe71 add not-again hints to all the buttons 2010-10-24 17:47:11 -07:00
Andy2
e909e4b343 remove redundant message; advance state to ALLCONNECTED on receipt of
RECONN or CONN that lists the game as full.  This means we get the
all-green icon (or the A in the gtk case) when in a consummated game
rather than only when all devices are actually connected.
2010-10-23 20:29:24 -07:00
eehouse@eehouse.org
24fae0f53b Merge branch 'relay_proxy' of ssh://xwords.git.sourceforge.net/gitroot/xwords/xwords into relay_proxy 2010-10-23 19:50:11 -07:00
Eric House
8a038dc748 Merge branch 'relay_proxy' of ssh://xwords.git.sf.net/gitroot/xwords/xwords into relay_proxy 2010-10-23 19:45:03 -07:00
Andy2
2fa76a9e24 add second button to games list to add networked game, and remove
ability from config dialog to make a game networked or not.  This
should confuse people less.  Better would be if the two buttons had
icons and those icons were associated with games in the list according
to which type of game they represent.
2010-10-23 18:41:37 -07:00
Andy2
cff95ce3de go back to play being the onclick action (removing preference to make
it that way); add more newbie hints; fix DIALOG id definitions to not
overlap superclass's.
2010-10-23 14:08:57 -07:00
Andy2
038f6bd94c rename some private methods; add onPrepareDialog to fix problem where
msg stuck from previous invocation
2010-10-23 14:06:03 -07:00
Andy2
dd82fa02ad remove chat menuitem -- it's only a button now. 2010-10-23 14:00:24 -07:00
Andy2
314872d533 shrink needs-sync flag icon 2010-10-23 13:52:56 -07:00
Andy2
9383ef064d use sync icon instead of "M" to mark games with data. 2010-10-23 13:45:31 -07:00
Andy2
43ad43b604 change meetup server back to relay 2010-10-23 11:24:19 -07:00
Andy2
b6dfa0be8b disable background-checking code for now: make default be disabled and
remove Preference that allows to change it.
2010-10-23 11:19:55 -07:00
Andy2
5a5c73916e Don't allow copy of relay-connected game. 2010-10-23 11:08:33 -07:00
Andy2
7cf4535b4c new dbmgr API returns number of players in game; use that rather than
currently connected devices to populate [RE]CONNECT message
2010-10-22 22:34:43 -07:00
Andy2
593dac9d99 rotate 90 degrees 2010-10-22 22:04:09 -07:00
Eric House
85d29cf560 if can't send allcond to a device because it's not connected queue the
message to be sent next time it does.  And since the cookieID will
change and should be there already anyway, remove it.  (Should remove
the hostID too for the same reason.)
2010-10-22 19:02:52 -07:00
Eric House
6e843dec6c make 10997 default relay port 2010-10-22 18:30:19 -07:00
Andy2
7765bd0a1a move decision how to display connection info from CommsTransport to
BoardActivity (where it'll be easier to include optional not-again dialog)
2010-10-21 20:13:41 -07:00
Andy2
8fac0945b9 chat not-again message without obscenities 2010-10-21 19:22:17 -07:00
Andy2
99dbbb443c add comms_canChat, which knows better than java code what state a
connected game is in, and call it to determine whether to show the
chat icon.
2010-10-21 19:14:10 -07:00
Andy2
198f39b606 don't use yes button for simple ok dialog 2010-10-21 19:12:04 -07:00
Andy2
ae97d7d0f4 shouldn't have commented that out... 2010-10-21 06:51:26 -07:00
Andy2
aa0be5e2f2 remove unused imports 2010-10-21 06:50:29 -07:00
Andy2
ea617f39fa to deal with not being implement a common superclass for Activity and
ListActivity create a delegate they use for dialog-related stuff.
Move code from them into it -- and delegate.
2010-10-21 06:33:04 -07:00
Andy2
5599f91232 new prefs key and string for not-again help dlg for chat 2010-10-21 06:31:28 -07:00
Andy2
848c1493fd chat button enabled only for multi-device games. Needs to be disabled
for unconnected games as well....
2010-10-21 06:30:48 -07:00
Andy2
8a891816b4 add chat button 2010-10-21 06:28:01 -07:00
Andy2
5c9cf0ebc8 add first helptext dialog, with do-not-show-again button, attached to
the sync menuitem.  The plan's that a bunch of these will make the
game easier for newbies to use.
2010-10-20 20:48:18 -07:00
Andy2
0d4f77fb0a add sync icon to games list menu 2010-10-20 20:00:40 -07:00
Andy2
8788f9d4d5 move OK dialog to new scheme. Using a static global Bundle instead of
the newer form of showDialog because that requires version 8 of the
SDK.
2010-10-20 19:52:13 -07:00
Andy2
c1dc34e25d move common dialog code from Utils to XWActivity and XWListActivity
(which delegates to XWActivity.)
2010-10-20 18:34:41 -07:00
Andy2
8db6c7ad7f add setPrefsBoolean 2010-10-20 18:09:24 -07:00
Andy2
95f5c2e023 cleanup: add missing string; remove unused strings and array. 2010-10-19 18:43:26 -07:00
Andy2
01e926e8b3 up sdk version to silence warning 2010-10-19 18:42:32 -07:00
Andy2
17f1790d52 remove unused layout files (since they take up space in the .apk even
if never referenced)
2010-10-19 18:42:07 -07:00
Andy2
85e32907f0 remove '\r's 2010-10-19 18:39:27 -07:00
Andy2
1fecf9dbb4 implement new check-relay menu, and use new task to check for messages
if there are any connected games.
2010-10-19 07:54:52 -07:00
Andy2
4a5c0832d4 use new generalized code to check for messages. 2010-10-19 07:54:10 -07:00
Andy2
94b8aedda7 generalize relay-msg-check code so can be used from two places. 2010-10-19 07:53:26 -07:00
Andy2
d1b1e6db14 refactor into common subroutine -- no behavior change 2010-10-19 07:50:23 -07:00
Andy2
994a73e28b return null, not empty list, when nothing found 2010-10-19 07:49:54 -07:00
Andy2
f31e28dbd7 menu and strings for check-server menu added to GamesList 2010-10-19 07:49:23 -07:00
Andy2
ab8c3f985e add generic info dialog that, with luck, can be reused. 2010-10-19 07:48:34 -07:00
Andy2
b718804a4b new AsyncTask for pinging server on demand 2010-10-19 07:47:05 -07:00
Andy2
b9e3ca212b turn off glib-dependant checksuming for non-linux builds 2010-10-18 22:08:04 -07:00
eehouse@eehouse.org
6e56fb3544 Merge branch 'relay_proxy' of ssh://xwords.git.sourceforge.net/gitroot/xwords/xwords into relay_proxy 2010-10-18 20:56:31 -07:00
Eric House
7b5d88cbba Merge branch 'relay_proxy' of ssh://xwords.git.sourceforge.net/gitroot/xwords/xwords into relay_proxy 2010-10-18 20:20:14 -07:00
Eric House
9ba2d2f177 default msgs entry timestamps to 'now' 2010-10-18 20:19:09 -07:00
Eric House
211e9ded7f TIMEOUT needs to be bigger for small NGAMES values 2010-10-18 20:18:24 -07:00
Eric House
3648c22bd4 fix long-standing bug where initial messages were not getting deleted
and multiplying; log md5 sums of messages in debug build.
2010-10-18 20:17:44 -07:00
Andy2
9cfb302a2f don't populate room name; better that people see the hint 2010-10-18 06:48:26 -07:00
Andy2
db3c4da01f set a default value that actually exists 2010-10-18 06:47:31 -07:00
Andy2
b4c1710c66 remove strings dropped with prev change 2010-10-18 06:31:19 -07:00
Andy2
62d054cd46 default show-robot-scores to true; move background-check-frequency
within existing PreferenceScreen
2010-10-18 06:30:56 -07:00
Andy2
a2f0ec232a put back RestartTimer call inadvertently removed 2010-10-18 06:23:24 -07:00
Andy2
dda6e056a0 set summary from the array of use-visible values 2010-10-18 06:18:37 -07:00
Andy2
2d66913323 populate public rooms list as soon as checkbox set -- and mention
language and number of players in failure message
2010-10-17 21:13:14 -07:00
Andy2
56e83bfc1c trim leading and trailing whitespace from roomnames. If somebody has
two spaces between words those will still matter.
2010-10-17 20:45:48 -07:00
Andy2
6b7a92534a make default relay port 10997 (and change key so it'll apply for everybody) 2010-10-17 20:37:51 -07:00
Andy2
332ff27d8a use same string for both 2010-10-17 20:30:43 -07:00
Andy2
a58e74b70a add play game button at bottom of game config dialog. 2010-10-17 20:27:21 -07:00
Andy2
5c958eaadb deal with null socket (e.g. if in airplane mode); deal with new public
rooms format.
2010-10-17 20:18:24 -07:00
Andy2
1621e5932a give label different text from dialog title 2010-10-17 20:00:41 -07:00
Andy2
8972df7b88 add explanatory title to phonies spinner 2010-10-17 18:55:09 -07:00
Andy2
885bfe4779 remove values button. Seven buttons is too much. Add back when have
means of assigning priority so it only shows up when there's space.
2010-10-17 18:42:44 -07:00
Andy2
2cd0bf8c24 add singleline and selectonfocus for roomname edit 2010-10-17 12:45:34 -07:00
Andy2
2bfb26cded sleep (in thread) before closing proxy socket. This works around
problem where, on PRX_HAS_MSGS path only, device reading socket gets
EOF early though logging here confirms additional bytes have been
written.  Gross but effective.
2010-10-17 06:38:28 -07:00
Andy2
b63d730b53 compare languages rather than actual dict names so can switch dicts
mid-game.
2010-10-16 15:05:46 -07:00
Andy2
60e4c624e4 implement reply button; clear message edit field each time 2010-10-16 15:05:16 -07:00
Andy2
21afd79751 make send message first rather than last menuitem 2010-10-16 15:04:12 -07:00
Andy2
26b777acf8 don't post notification when results list returns empty 2010-10-16 11:01:12 -07:00
eehouse@eehouse.org
5d9989eb1b Merge branch 'relay_proxy' of ssh://xwords.git.sourceforge.net/gitroot/xwords/xwords into relay_proxy 2010-10-16 10:50:23 -07:00
Andy2
a82051739b move interface; add some logging. 2010-10-16 10:49:25 -07:00
Andy2
91e95eb48b fix string (which should not be hard-coded!) and use new class. 2010-10-16 10:48:59 -07:00
Andy2
02ea8b13e0 move this functionality into RelayReceiver 2010-10-16 08:08:12 -07:00
Andy2
737b146093 Receiver replaces Activity as target of alarms. This seems to prevent
flasing to the front when alarms fire which was causing all kinds of
grief.  But: not yet tested on device.
2010-10-16 08:07:48 -07:00
Andy2
cd1ce339ed fix off-by-one error in reading from cursor 2010-10-16 07:57:47 -07:00
Eric House
38ae2faacc don't nuke bad files along with good 2010-10-14 22:17:34 -07:00
Eric House
34df149046 include age of room with info returned for open public rooms 2010-10-14 22:16:21 -07:00
Eric House
e5c7f476ba get rid of microseconds in timestamps 2010-10-14 22:15:41 -07:00
Eric House
c92d59fa53 games can be started with multiple dicts; saving of successful games/logs optional 2010-10-14 05:59:45 -07:00
Eric House
f246178b8f Merge branch 'relay_proxy' of ssh://xwords.git.sourceforge.net/gitroot/xwords/xwords into relay_proxy 2010-10-12 19:18:21 -07:00
Eric House
40a7a1b5a3 cleanup; track checked rooms rather than checking each time seen 2010-10-12 19:17:42 -07:00
Eric House
0cf94dda8b fix frequent assertion failure that dates from when no messages passed
outside of ALLCOND state.  With this fix the test script is running
all games to completion if given enough time.
2010-10-12 19:16:46 -07:00
Andy2
a52c18522c use HashSet rather than relying on nesting (which I can't) to track
whether I'm running
2010-10-12 18:53:19 -07:00
Andy2
34428b3460 new Activity class 2010-10-12 18:28:05 -07:00
Andy2
82d5f21d54 extend subclass of Activity or ListActivity 2010-10-12 18:27:50 -07:00
Andy2
c37ad2d650 register self with RelayService to be called directly if running when
there's something to update.  Use handler to do this from non-UI thread.
2010-10-12 18:27:13 -07:00
Andy2
8e8c4f4d31 if GamesList is frontmost when we have relayIDs to update then just
call the interface it's registered.  Otherwise post notification.
2010-10-12 18:25:29 -07:00
Andy2
ad9a249042 new files. Subclass Activity and ListActivity to track whether we're
running (yeah, WTF, but that's what Android dev support says you have
to do!).  Special-purpose Activity to be the target of notifications
so I have more control on how to handle them.
2010-10-12 18:21:18 -07:00
Andy2
673c9858cb fire every 30 for testing 2010-10-12 05:24:23 -07:00
eehouse@eehouse.org
ddb8f508f9 Merge branch 'relay_proxy' of ssh://xwords.git.sourceforge.net/gitroot/xwords/xwords into relay_proxy 2010-10-12 05:23:04 -07:00
Eric House
0d1542ca9d tweaks to logging 2010-10-12 05:18:44 -07:00
Eric House
8011eeec2c cleanup; fix off-by-one bug with NAMES that was breaking runs with
four-device games; check before run that there aren't already waiting
games in db.
2010-10-12 05:17:32 -07:00
Andy2
b124a3f438 add every-five-minutes option; change 10-seconds debug option to 60 2010-10-11 06:54:02 -07:00
Andy2
392aeff7ad replace FLAG_ONE_SHOT with FLAG_UPDATE_CURRENT; seems to fix failure
of notification to fire.
2010-10-11 06:52:26 -07:00
Andy2
86b57526df show game name in title if not hidden 2010-10-11 06:47:33 -07:00
Andy2
e637a64d96 Change param signage to fix compiler warning 2010-10-11 06:20:30 -07:00
Andy2
56cd161d8b Pass list of relayIDs through activity to onNewActivity() added to
GamesList, and inval those list elements that now have messages
pending so they redraw.  And add static method to be called from there
to cancel the status-bar notification now that it's been acted on.
2010-10-09 21:44:42 -07:00
Andy2
6ad074182f make GamesList singleTop so notifications go to existing activity 2010-10-08 17:33:44 -07:00
Andy2
7d9c143d15 string doesn't need localizing 2010-10-08 17:32:51 -07:00
Andy2
76258f609a make sure game is still over before calculating final scores. Fixes
assertion failure in server.c.
2010-10-08 17:30:26 -07:00
Andy2
97d96add5e add stubbed-out strings 2010-10-08 06:53:41 -07:00
Andy2
e855b51491 use new DB api to build list of relayIDs to send; set summary DB field
and post notification on response.
2010-10-08 06:52:43 -07:00
Andy2
3bbbd65077 use same 1.5-safe layout on all devices; add elem (a text field for
now) to be shown when messages are pending; show it.
2010-10-08 06:47:46 -07:00
Andy2
6ce5f36133 add msgsPending field set from new DB column; add methods to set
column and to fetch relayIDs for games where it's not set, and to get
path for game based on relayID.
2010-10-08 06:46:10 -07:00
Andy2
d5eff5af21 new column to track whether game has pending msgs 2010-10-08 06:42:51 -07:00
relay
680b2f31b3 use pid to avoid permission problems for logfile in /tmp 2010-10-07 19:48:38 -07:00
Eric House
f2ad6d92b4 use full paths so pidof doesn't pick up instances of xwrelay launched elsewhere 2010-10-07 19:41:02 -07:00
Eric House
86d73392d5 track bytes sent in db; use defaults to init ctime 2010-10-06 21:45:05 -07:00
eehouse@eehouse.org
46ff3c3b68 Merge branch 'relay_proxy' of ssh://xwords.git.sourceforge.net/gitroot/xwords/xwords into relay_proxy 2010-10-06 05:22:10 -07:00
Andy2
cb4092bb39 make relayID a String rather than a byte[]; log result of pending
messages query to confirm working.
2010-10-06 05:21:19 -07:00
Eric House
6c5b279946 respect TIMEOUT, and kill all remaining processes before exiting 2010-10-05 20:58:29 -07:00
Eric House
a444786a28 reduce logging 2010-10-05 20:57:19 -07:00
Eric House
f0b05da131 reduce logging 2010-10-05 20:57:07 -07:00
Andy2
a78c4b304e custom class for pref 2010-10-05 18:39:00 -07:00
Andy2
df939249e4 fix caps and add too-long string 2010-10-05 18:38:46 -07:00
Andy2
861de8d592 call new method to start polling timer 2010-10-05 18:38:06 -07:00
Andy2
81fb934e4a new custom class for resetting polling timer on prefs change 2010-10-05 18:36:56 -07:00
Andy2
cd0d14b1bb new class will own setting summary for relay-polling frequency so don't do it here 2010-10-05 18:36:15 -07:00
Andy2
ae6edf4ace add static methods for starting timer. 2010-10-05 18:35:35 -07:00
Andy2
ed95d2e794 add proxy port to list whose values are displayed 2010-10-05 06:17:35 -07:00
Andy2
31f3cbc6c8 complete rewrite: use bash's new associative arrays to track games and
pids etc. so that a single process can manage starting and stopping
all games.  Fixes race conditions where a game would be killed after
finishing but before it'd sent out the message that would allow other
games to finish.
2010-10-04 22:16:58 -07:00
Andy2
a13bb34419 plug memory leak 2010-10-04 22:14:44 -07:00
Eric House
2e844d798f replace single db connection protected by a mutex with one connection per thread kept in thread-local storage. 2010-10-04 20:04:14 -07:00
Eric House
d9ca6f5e11 block TERM and INT from all but the main thread. (Pretty much untested; doesn't fix hang-on-SIGINT.) 2010-10-04 20:03:19 -07:00
Eric House
1ff4d67bc0 block TERM and INT from all but the main thread. (Pretty much untested; doesn't fix hang-on-SIGINT.) 2010-10-04 20:03:00 -07:00
Eric House
43bf3cd50f improve log statement 2010-10-04 20:01:00 -07:00
Andy2
fae8faa0be add stubbed-out Reply button to msg received dialog. 2010-10-04 18:59:44 -07:00
Andy2
1ed8e7a66c fix crash: can't call dialog from non-UI thread 2010-10-04 18:53:33 -07:00
Andy2
89f967a016 pass remaining reconnect params in case connName's missing from db.
Should only matter if the relay's db's been deleted.
2010-10-04 18:39:26 -07:00
Eric House
b3c7cb3711 start on sending chat messages. Doesn't even compile -- committing to get onto another machine. 2010-10-04 05:38:05 -07:00
Eric House
1e13e92deb support for receiving and displaying chat messages. Compiles but not tested. 2010-10-03 18:32:39 -07:00
Eric House
d35bc7d748 refuse to store more than four messages at a time for a single
connName/hid pair.  This works around a problem where a device,
continuing to connect and send all pending messages for another device
that is not connecting, winds up with hundreds of identical messages
stored.
2010-10-03 18:18:15 -07:00
Eric House
14fd1f9023 add test code for chat feature: display incoming chat and send via
menu.  Sent message is hard-coded for now; should fix that.
2010-10-03 18:13:48 -07:00
Eric House
61b228f189 implement simple chat on top of current server-level protocol --
meaning it'll work on any tranport but relay doesn't know about it.
(If relay knew about it I could send a "shutting down for a minute"
message to every connected device, which would be cool.  But this is
easier.)  Written, BTW, enroute from Seattle with help from beer from
Chris in first class. :-)
2010-10-03 18:11:51 -07:00
Eric House
4a5de0a24c cleanup 2010-10-03 18:09:15 -07:00
Eric House
1f87379cd0 change default port 2010-09-29 07:37:26 -07:00
Eric House
1b93654f7e use stored procedure sum_array instead of C macro 2010-09-29 06:21:08 -07:00
eehouse@eehouse.org
d0797af6e5 Merge branch 'relay_proxy' of ssh://xwords.git.sourceforge.net/gitroot/xwords/xwords into relay_proxy 2010-09-28 21:11:17 -07:00
Andy2
f78b1747dd put up an alert when unable to find any public rooms 2010-09-28 18:58:05 -07:00
Andy2
0bfad7cd05 up timeout to 15 seconds. 2010-09-28 18:42:23 -07:00
Andy2
2610ef34ac move dict above connection settings since it provides a parameter 2010-09-28 18:38:47 -07:00
Andy2
978fa010f1 commented-out sleep positioned to give download progress time to come up. 2010-09-28 18:35:33 -07:00
Andy2
814f6887da put up a progress dialog while fetching public names that mentions
params passed.
2010-09-28 18:34:29 -07:00
Andy2
0b143efced add getLangName 2010-09-28 18:33:29 -07:00
Andy2
6b1dabd8e2 don't crash when public rooms list is empty 2010-09-28 18:32:43 -07:00
Eric House
bc65377cfd track device seeds in db. 2010-09-28 18:06:50 -07:00
Eric House
a6f5ea5f4a sync after saving. Seems to improve recovery from TERMs sent by test scripts. 2010-09-28 18:06:05 -07:00
Eric House
a89520a377 use __func__ 2010-09-28 18:04:31 -07:00
Andy2
953e4601b9 fetch public rooms using new class rather than hardcoding. With this
checkin game is possible based on public-room lookup.
2010-09-28 06:48:51 -07:00
Andy2
132321c9fd new AsyncTask subclass to fetch public rooms list from relay 2010-09-28 06:47:58 -07:00
Andy2
89d20578b8 new class to create socket for talking to proxy 2010-09-28 06:47:21 -07:00
Andy2
39827ec894 add new pref for relay's proxy/device port 2010-09-28 06:43:04 -07:00
Andy2
1de029f3f0 skip public rooms if full. (Should do this in the query....) 2010-09-28 06:42:01 -07:00
eehouse@eehouse.org
ac74cc36a5 Merge branch 'relay_proxy' of ssh://xwords.git.sourceforge.net/gitroot/xwords/xwords into relay_proxy 2010-09-26 20:25:30 -07:00
Andy2
986ac4413f parse reply to query for number of pending messages for games on
device.  Not doing anything with the info yet.
2010-09-26 20:25:00 -07:00
Eric House
ae53ce5ea9 Merge branch 'relay_proxy' of ssh://xwords.git.sourceforge.net/gitroot/xwords/xwords into relay_proxy 2010-09-24 20:19:50 -07:00
Eric House
1bfdd1978e move log directory away each time 2010-09-24 20:19:12 -07:00
Eric House
8f77886f72 make column name shorter 2010-09-24 20:18:20 -07:00
Andy2
14edbd7f18 implement setIsServer(). With this change I've been successful --
once -- having two games on the same device play against each other.
2010-09-24 18:49:34 -07:00
Andy2
31c594a06e everybody starts out as client by default, same as on linux 2010-09-24 18:48:52 -07:00
Andy2
63ac6542c6 add new action to be called when relay make me a client. Seems
necessary to get server_initClientConnection connection called when
all's in the right state.  It's not working consistently yet, though,
so may need changes.
2010-09-24 18:48:30 -07:00
Andy2
16001e61d0 image forgotten earlier -- for refresh public games list button 2010-09-24 18:46:14 -07:00
Andy2
4ea9ff8226 add server_reset and util_setIsServer to jni 2010-09-24 18:45:42 -07:00
Andy2
f7bad05390 send msg count query and print results 2010-09-24 05:51:42 -07:00
Andy2
b0c6e6da9c add db method to count messages for connName/hid pairs and handle
query using it.
2010-09-24 05:50:02 -07:00
Andy2
c3e1b243b6 add timestamp to msgs db and set it on adding new records. I will
likely need to add periodic culling on the server for games that will
never fetch their messages.
2010-09-24 05:46:30 -07:00
Andy2
35ff5a7835 exit on logdir being gone before grepping it 2010-09-23 06:41:37 -07:00
Andy2
c44324a32a log, for now as I've seen assertions failures suggesting a race, the
set of checked-out sockets at insert and remove time.
2010-09-23 06:34:18 -07:00
Andy2
40e1d29243 use new methods to store undeliverable messages in a db rather than in
memory.  Confirmed that devices can hookup without ever being
connected at the same time and that the messages survive a relay
reboot.  No further testing yet.
2010-09-23 06:32:57 -07:00
Andy2
74764a493b create the new db 2010-09-23 06:31:42 -07:00
Andy2
eee41377f4 new methods for storing/retrieving messages in new db. 2010-09-23 06:31:29 -07:00
Andy2
451ced44ba cleanup: shorter timeout; set aside games that finish correctly 2010-09-23 06:29:55 -07:00
Andy2
9a035c66ff add assertion 2010-09-23 06:28:13 -07:00
eehouse@eehouse.org
acb52d11dc Merge branch 'relay_proxy' of ssh://xwords.git.sourceforge.net/gitroot/xwords/xwords into relay_proxy 2010-09-23 05:34:43 -07:00
Andy2
85b4f3f075 move hostid assignment and tracking into db so it survives reboots and
recycling of crefs between when devices in a game connect.  This plus
movement of messages into the DB will re-enable games played without
the two devices ever being connected at the same time.
2010-09-23 05:33:27 -07:00
Eric House
82825365d4 Merge branch 'relay_proxy' of ssh://xwords.git.sourceforge.net/gitroot/xwords/xwords into relay_proxy 2010-09-22 05:46:10 -07:00
Eric House
659278448b changes to work against remote relay 2010-09-22 05:45:40 -07:00
Eric House
076b211cab tweak to allow to specify host/port for use against remote relay 2010-09-21 20:38:54 -07:00
Andy2
1d0c207521 add test command for proxy feature to fetch for connNames whether
there are messages pending for them.  Not handled yet on relay.
2010-09-21 18:28:31 -07:00
Andy2
e06baf566f get public rooms from the db rather than stubbing it out. 2010-09-21 06:54:47 -07:00
Andy2
be23e06b60 use read_packet to replace duplicate code 2010-09-21 06:38:43 -07:00
Andy2
e7b5923883 finish first pass at sending open public room names -- but with actual
list harvesting stubbed out.
2010-09-21 06:27:31 -07:00
Andy2
2ec67c8ed1 finish rq to work with current format; add to makefile 2010-09-21 06:26:49 -07:00
Eric House
4ad735124c add logging and assertions. There's a race condition in cref
recycling and may be one in tpool socket checking-out.
2010-09-20 22:11:13 -07:00
Eric House
b6ce74be1c add timeout after which all games are killed 2010-09-20 22:08:51 -07:00
Eric House
c671f2ab05 plug memory leak 2010-09-20 22:07:10 -07:00
Eric House
047f41b516 send cookieid as part of [RE]CONNECT_RESPONSE in addition to ALL_COND (where it's now redundant). 2010-09-20 22:06:35 -07:00
Andy2
0df651027f Merge branch 'android_branch' into relay_proxy
Conflicts:
	xwords4/relay/crefmgr.cpp
2010-09-20 19:55:53 -07:00
Andy2
bca8300495 changes for b16: version strings and changes summary text. 2010-09-20 19:48:52 -07:00
Andy2
ddedcee3eb remove commented out foo -- needed to save before prev submission. 2010-09-20 19:39:35 -07:00
Andy2
9b98d89722 add mimeType entry to data. This coupled with the right apache
AddType config means the browser doesn't get a chance to download
dicts, giving users one less way to get confused.
2010-09-20 19:38:26 -07:00
Andy2
0ac23458ba use constant 2010-09-20 18:42:43 -07:00
Andy2
a549ade1fa a bit more work on rc 2010-09-20 18:31:17 -07:00
Andy2
4e9d6e712e escape apostrophe -- new SDK requires it. 2010-09-20 06:18:53 -07:00
Andy2
15cd3af62a just a comment 2010-09-20 05:35:29 -07:00
Andy2
e1c99f53cd work on detecting duplicate packets and devices that have reconnected
on a different socket; print all present seeds for debugging.
2010-09-20 05:35:19 -07:00
Andy2
ac8891016f work on detecting duplicate packets and devices that have reconnected
on a different socket; print all present seeds for debugging.
2010-09-20 05:35:09 -07:00
Andy2
d199ec5168 account for possibility client apps won't exit on TERM 2010-09-20 05:33:58 -07:00
Andy2
84a26c2c1a more to ignore 2010-09-20 05:32:17 -07:00
Andy2
430b033ae0 a bit of progress on cmdline tool 2010-09-20 04:59:09 -07:00
Andy2
6d6ad96cde don't clear seed when changing roles from guest to host. 2010-09-20 04:56:19 -07:00
Andy2
00cdbc97d3 Install a no-op TERM handler at first then replace later with one that
just exits main loop.  Do cleanup/file saving on exit from mainloop.
Fixes occasional crash where TERM came in before we were setup to
cleanup.
2010-09-20 04:55:35 -07:00
Andy2
df1ec1628a replace killSocket(), which jumped right into crefmgr and could get
ahead of processing data arrived on the same socket, with EnqueueKill
that adds to same queue from which data's taken.  So if device dies
immediately after sending data there won't be a race between closing
the cref (if this is the last open socket) and handling the data.  I'm
still dying with assert fails when running 100 games at once, but much
less frequently
2010-09-18 08:47:56 -07:00
Andy2
a4913596db remove logging 2010-09-18 08:42:15 -07:00
Andy2
c5d113a8da remove _locked from name of method since it's not called when holding a lock. 2010-09-18 07:46:10 -07:00
Andy2
53b3d7c32f enque sockets in new object that contains type so later other events
(e.g. socket closes) can also be queued; track what sockets are
currently being handled so no two threads are ever processing events
on same socket.  This makes running 'NGAMES=50
./scripts/discon_ok2.sh' crash very infrequently rather than every
time, but the race condition in crefmgr remains.  Queuing socket
closes should help.
2010-09-18 07:44:14 -07:00
Andy2
54512b9e11 put logs in own dir 2010-09-18 07:35:16 -07:00
Andy2
eec07649a6 put logs in own dir; echo every time game ends successfully. 2010-09-18 07:35:02 -07:00
Andy2
9c8889b429 get rid of mutex guarding reconnect. There shouldn't be any need
since game slots are already assigned, and it's slowing down
reconnects in their race with kills.
2010-09-18 05:07:23 -07:00
Andy2
7e1066dbcc vary room names 2010-09-16 22:20:43 -07:00
Eric House
bb1e46fa81 Merge branch 'relay_proxy' of ssh://xwords.git.sourceforge.net/gitroot/xwords/xwords into relay_proxy 2010-09-16 20:13:54 -07:00
Eric House
d0e707a48e get started with test/cmdline app to query relay's new proxy interface. 2010-09-16 20:13:24 -07:00
Andy2
c5eef29bcc some suspicious crashes and subsequent reading say that multiple
threads can't share the same db connection.  So synchronize all
queries.  Multiple threads *can* access the db concurrently as long as
each has its own connection, so I could add connections to the tpool
threads.  But this will probably be performant enough for the first
10K simultaneous users. :-)
2010-09-16 20:08:32 -07:00
Andy2
1490b2def9 simplify state table, getting rid of a bunch of states: we never leave
ALLCOND until it's time to kill the cref.  When one device connects
and leaves the cref is recycled, so when a new device joins and is
assigned the same game and a new cref is initialized the number of
players already registered must be set from the db entry; do that.
2010-09-16 18:59:56 -07:00
Andy2
76e7459a6d various improvements, e.g. random sleeps before and after starting 2010-09-16 18:56:34 -07:00
Andy2
50c387d75e remove players from db as well as runtime when ack times out 2010-09-16 06:49:35 -07:00
Andy2
ca6039e890 new test script attempting to mimic real-world usage 2010-09-16 05:39:50 -07:00
Andy2
25c1824c45 fix broken assertion and add missing state transitions to fix crashes. 2010-09-16 05:39:25 -07:00
Andy2
2b702b48d6 need to clear CID of record in DB when killing corresponding in-memory
cref or reconnect will fail.
2010-09-16 04:47:17 -07:00
Andy2
452e3fc86b timeout in milliseconds instead of seconds 2010-09-16 04:46:04 -07:00
Andy2
fa50bd00f1 timeout final scores alert 2010-09-16 03:42:57 -07:00
Andy2
d1a9c3962a rename cookie->room in db; reposition columns. 2010-09-16 03:30:24 -07:00
Andy2
b25579b893 greatly simplify state machine for connections. Now (with DEVACK=20
on conf file) newrelay.sh will complete running 50 4-device gtk games.
Haven't tested reconnect case which I almost certianly broke.
2010-09-16 01:53:43 -07:00
Andy2
0d7165f881 add ability to run gtk from newrelay.sh. Trying to run 50 instances
crashes the relay as ACKs take too long to come back.
2010-09-16 01:44:54 -07:00
Andy2
06c8fdc67f stop tracking seeds separately until have a use for 'em separate from
HostRec.  This fixes failure to reconnect so that now a complete game
is possible (gtk version) without the two devices every being
connected at the same time.
2010-09-16 01:13:26 -07:00
Andy2
a870cac86d break connect and reconnect into separate paths to simplify. Be
consistent: nJoined in DB tracks players "ever seen and issued
connName" rather than "currently connected".  Next step: debug game
between two devices never connected at same time.
2010-09-15 14:05:51 -07:00
Andy2
8961910263 field name change 2010-09-15 14:03:59 -07:00
Eric House
b8a431cf01 fix bug in sql statement 2010-09-14 21:28:18 -07:00
Eric House
54d268b718 pass through to database whether room is public 2010-09-14 21:20:11 -07:00
Eric House
e3053370d0 add cmd to build the database and main table 2010-09-14 21:18:04 -07:00
Eric House
ddcc338ed7 don't break out of loop without unlocking mutex 2010-09-14 21:16:16 -07:00
Eric House
56a920740a remove unused funtion declaraion 2010-09-14 21:15:24 -07:00
Eric House
9fc39a55ed add params to set public-room-related booleans; add timeout option on
modal dialogs so gtk version can run unattended.
2010-09-14 21:13:45 -07:00
Andy2
3b5b5f0241 factor dbmgr code; add and call method to zero CIDs on boot. 2010-09-15 01:14:28 -07:00
Andy2
821e4d9c39 add ACK to protocol, returned by device after gets connName on initial
connection.  Space is held for device on assumption ack will come
back, then given up if it fails.
2010-09-14 13:54:52 -07:00
Andy2
f8c1c016cc remove special-case states and handling of first connect; track number
of players sought in the cref itself, adding in constructor, and not
in HostRec instances.  This is cleanup with no behavior change.
2010-09-13 13:49:13 -07:00
Andy2
100ed8532f timestamp records on creation 2010-09-12 05:04:52 -07:00
Andy2
ded6e22180 do finding of open games using database rather than cref list, which
requires updating the number of players when new devices join.  Drop
requirement that cid be unique.
2010-09-12 04:49:03 -07:00
Andy2
663551fcb5 improve db, adding uniqueness contraints. Pass in connName so can
meet that constraint.  Figure out next cid using a query at startup.
2010-09-12 03:57:23 -07:00
Andy2
86a1e943ca make dict settable too 2010-09-12 03:53:39 -07:00
Eric House
c1da64b96a instantiate and use the new dbmgr class 2010-09-11 19:45:04 -07:00
Eric House
87de53cf96 add new class to interface with postgres database in an experiment to
simplify things by using a db to survive a crash/reboot.  So far (with
next checkin) manages to update a db.  Next need to do queries instead
of searches through in-memory data.
2010-09-11 19:44:37 -07:00
eehouse@eehouse.org
0b46455044 Merge branch 'relay_proxy' of ssh://xwords.git.sourceforge.net/gitroot/xwords/xwords into relay_proxy 2010-09-12 02:34:20 -07:00
Andy2
54d49d450a add back state and table entries to get rid of an unused cref. 2010-09-11 01:40:40 -07:00
Andy2
8908ca5b1d ignore new test script's log files 2010-09-11 01:40:05 -07:00
Andy2
1cd2d542f7 new test script 2010-09-11 01:39:20 -07:00
Andy2
d5f2a72227 note that file's out-of-date 2010-09-11 01:28:04 -07:00
Andy2
463e9c3ccf pass langCode in reconnect case too 2010-09-11 01:23:39 -07:00
Andy2
bd71a15ddc turn off heartbeats on client side 2010-09-11 01:23:13 -07:00
Andy2
dc957e1a92 add match test on language code and number of players 2010-09-10 13:45:40 -07:00
Eric House
54611df679 nuke unused variable 2010-09-10 05:55:59 -07:00
Andy2
e60495ff93 read, pass, store and display langCode. Not yet used to route
connections to crefs.
2010-09-10 01:59:37 -07:00
Andy2
b3d3673dc9 read the langcode out of dict and into common struct 2010-09-10 01:57:22 -07:00
Andy2
2ee9031fdc langcode belongs in connect, not reconnect, message 2010-09-10 01:56:58 -07:00
Andy2
20312144dd tons of changes, still rough, snapshoted here: a gtk device vs device
game works to completion with both signing up as guests (no -s) with
one local and one remote player (identical commandlines.)  Not yet
tested: if any signs up as a host, reconnecting rather than
connecting, etc.  This is just a snapshot.
2010-09-10 01:30:40 -07:00
Andy2
34a94f23a0 fix error message to not specify host or guest 2010-09-10 01:24:42 -07:00
Andy2
f7c5ff619d turn off heartbeats 2010-09-10 01:24:03 -07:00
eehouse@eehouse.org
a79f50053b Merge branch 'relay_proxy' of ssh://xwords.git.sourceforge.net/gitroot/xwords/xwords into relay_proxy 2010-09-09 04:21:02 -07:00
Eric House
89e7a506a4 reduce amount of logging 2010-09-08 20:28:14 -07:00
Eric House
90d505abea call accept() in main thread rather than in thread proc to fix
long-standing bug where main thread kept finding socket to be readable
and forking new threads to call accept() on it and then block forever.
2010-09-08 20:24:36 -07:00
Eric House
a64b67a54f reduce amount of logging 2010-09-08 20:17:32 -07:00
Eric House
f8ca35f9b6 call accept() in main thread rather than in thread proc to fix
long-standing bug where main thread kept finding socket to be readable
and forking new threads to call accept() on it and then block forever.
2010-09-08 20:16:57 -07:00
Andy2
01fe388f85 remove logging accidentally checked in 2010-09-03 06:40:17 -07:00