Commit graph

4866 commits

Author SHA1 Message Date
Andy2
c67e92ea2c log sends for a while. I want to fix the occasional stall. 2011-08-09 06:44:09 -07:00
Andy2
8adb925cca only load and pass in dict as byte[] when path isn't available
(i.e. when it's a builtin), and use mmap in that case.  Works!  Still
need to try a speed test.
2011-08-08 20:27:42 -07:00
Andy2
35f059e14c remove logging 2011-08-08 20:21:55 -07:00
Andy2
755d3e5bb2 as first step in using mmap for dictionaries instead of passing byte
arrays into the jni, pass the full file paths in in addition to the
byte arrays.  This isn't possible with the built-in dicts, but does
work for the downloaded ones (which are usually larger).  This checkin
does the mmap and uses memcmp to verify that the bytes are the same as
passed in.  Next step is to not pass the bytes when the path will do
and to actually use the mmap'd ptr.
2011-08-08 19:41:45 -07:00
Andy2
ab64d57f5c adapt a couple of icons as placeholders for standalone and networked
games.  Every games-list item now has an icon.  The networked game
icon is replaced by the sync icon when there's new information.
2011-08-08 18:56:19 -07:00
Andy2
d08eacc4c0 comment: reminder of possible icon for archiving 2011-08-08 18:53:58 -07:00
Andy2
556b78baad remove logging 2011-08-07 20:22:33 -07:00
Andy2
4345fc1543 fix failure of renamegame feature when orientation changes while
dialog is up.  I'm making two fixes, either of which is enough: saving
the rowid across teardown of the activity; and changing the manifest
to not tear down the activity.  The reason for the latter is that the
teardown is unnecessary and wasteful.  The former's just safer coding.
2011-08-07 20:22:11 -07:00
Andy2
f8715feea6 update version and changelog for b32 2011-08-06 23:08:42 -07:00
Andy2
6f7279a6b0 fix crash that happens whenever orientation changes while there's a
dialog up in DictsActivity.  (There are still problems updating the
UI, e.g.  indicating the current loc of a moved dict.)
2011-08-06 23:03:11 -07:00
Andy2
fd61c0af02 'final' not needed 2011-08-06 22:30:48 -07:00
Andy2
c47189e81f fix crasher introduced with eeac03d40f:
update delegate's dialog id constants.
2011-08-06 21:30:38 -07:00
Andy2
b20584b74e fix bug moving dicts: location wasn't getting updated when the move
was successful and so subsequent moves reported wrong location.
2011-08-06 20:06:21 -07:00
Andy2
fc650ef317 fix assertion failure reported by google when unable to create
directory on SD card.  Just return null and carry on as if SD card not
writable.
2011-08-06 20:05:30 -07:00
Andy2
ed832f9545 update database from any version, not just two adjoining. 2011-08-06 19:26:36 -07:00
Andy2
011b283566 tweak copy dialog to suggest using new-from. 2011-08-06 16:18:32 -07:00
Andy2
719fd314a5 move net msg icon outside of hideable part of game list item layout so
it remains visible when not expanded.  Otherwise people won't see that
something happened to a closed game.
2011-08-06 16:03:38 -07:00
Andy2
eeac03d40f query user for html vs text before creating new networked game so it
isn't left sitting if [s]he cancels.
2011-08-06 15:49:55 -07:00
Andy2
66a673c478 make the game name green when it's somebody's turn and player names
are hidden.
2011-08-06 15:46:49 -07:00
Andy2
6cde6be6a5 up version and changelog for beta 31 2011-08-06 14:29:58 -07:00
Andy2
1c28433bd0 store expandedness in DB rather than a class static, which will
eventually die.  Generalize DBUtils methods int get/setInt().  Adds
new column to DB, the second for this version number.
2011-08-06 14:19:07 -07:00
Andy2
13cbca3368 cleanup 2011-08-06 14:03:50 -07:00
Andy2
35a5aad477 make name text larger -- button is anyway. 2011-08-06 13:19:48 -07:00
Andy2
d7dfb89f65 query user before sending invite whether to use html or text and
format differently depending on the answer.  With html only I couldn't
invite using SMS, which bites.
2011-08-06 13:01:40 -07:00
Andy2
560208f516 roll my own expandable list items. (The stupid built-in ones don't
allow any control over whether the initial state is expanded.)
Getting click to work is a bit of a hack, requiring a callback from
the adapter back to the activity, but it works well on emulator.  Need
to test on device then try to shrink the ImageButton.
2011-08-06 11:29:41 -07:00
Andy2
017f4da29d fix formatting 2011-08-06 03:22:26 -07:00
Andy2
58f1618586 put oft-used menuitems up higher 2011-08-06 03:19:59 -07:00
Andy2
9c298a16e7 The email apps won't display non-http schemes as clickable links, so
go with html and encode both the invite and install links as php refs
that get redirected.  Works, but eliminates SMS as sending mechanism.
2011-08-06 02:57:14 -07:00
Andy2
cd6aa8fe98 fix crasher using Copy menuitem: when summary is copied out of a db it
doesn't have a gi, but it does have the summaries values copied in so
use those.
2011-08-05 22:38:01 -07:00
Andy2
e8b66e230c add title to context menu that includes game name 2011-08-04 18:16:32 -07:00
Andy2
97d5e3cc6d remove old FILE_NAME DB column for new DBs; ignore it elsewhere. Move
default name creation from DBUtils to GameUtils.
2011-08-04 06:15:00 -07:00
Andy2
9aeb8858fe add menuitem and dialog it triggers to rename games. Add new DB field
to hold game name, and getter and setter.  Replace existing gameName()
method with call to new getter.
2011-08-03 18:59:32 -07:00
Andy2
173e2e8423 track games by row id (an sqlite built-in) rather than name (so that
names can be changed without constraints)
2011-08-03 06:53:42 -07:00
Andy2
294df7055e log rowid -- step one to using it instead of name as unique
identifier.
2011-08-01 18:13:10 -07:00
Eric House
cbfdf992bd add compile-time option to allow passing game seed from commandline.
This should allow testing relay changes to deal better with duplicate
seeds.
2011-07-31 22:23:46 -07:00
Eric House
1c227c8921 remove code for engine progress -- it's been disabled for a while
anyway as it gave away whether robot had blanks.
2011-07-31 20:52:27 -07:00
Andy2
f642a0972f replace all ancient logf calls that were doing concatenation (with +)
with calls using formatting -- for consistency and effeciency in the
case where logging is disabled.  There should be no discernable
change, though if I got and percent-format specifiers wrong I'll get
runtime exceptions.
2011-07-29 07:45:32 -07:00
Andy2
c8c1fe6f70 fix failure to save when exiting, e.g. by pressing Home when when a
blocking dialog is up, by always saving on exiting the jni loop
instead of exiting after pushing a SAVE event which was getting
dropped.
2011-07-29 07:31:46 -07:00
Andy2
8d9aa5ae0e failing to post a blocking dialog means the jni thread hangs forever.
Bad.  So test if we can post (if the handler's still available) and
drop the request, freeing the thread, if not.  (Access to m_handler
should probably be synchronized now that it's getting cleared, but
that's another bug.)
2011-07-29 07:19:33 -07:00
Andy2
704b08f733 use bundle to save/restore dialog-related ivars. This should fix very
rare crash where class is reloaded (e.g. after long period of non-use)
after being taken down with a dialog in mid-load.  The OS tries to put
the dialog back up but the dialog title string ID, passed to
setTitle() in onCreateDialog(), is 0.
2011-07-28 06:42:57 -07:00
Andy2
acafc0a2df remove assert that was there just to prove a fix; use %b in logging. 2011-07-22 10:55:03 -07:00
Andy2
3563ca5855 finish changes list 2011-07-22 10:54:06 -07:00
Andy2
698d549fd1 assert fired for unknown reason. Fix behavior in non-assert-enabled
build to do the right thing in that case.
2011-07-21 05:07:41 -07:00
Andy2
5fc7836eca when not using FLAG_ACTIVITY_NEW_TASK need to look for invite-launched
intents in onCreate too.
2011-07-21 04:52:12 -07:00
Andy2
9bf22c12f4 erase the static bitmap so we don't show the previous board prior to
drawing the new one.
2011-07-20 18:48:50 -07:00
Andy2
de16ee93d7 get rid of some logging 2011-07-20 18:46:55 -07:00
Andy2
00e4dfd09e FOR DEBUGGING ONLY: test theory about dropped dialogs. 2011-07-20 18:25:14 -07:00
Andy2
4f29048f49 fix format specifier to not crash (use %h); remove redundant logging. 2011-07-20 18:23:30 -07:00
Andy2
84502a89bf FOR DEBUGGING ONLY: %p segfaults! 2011-07-20 18:23:05 -07:00
Andy2
348af5a935 FOR DEBUGGING ONLY: add remaining Activity lifecycle methods so
they'll get logged, and log this ptr as well.
2011-07-20 18:22:14 -07:00
Andy2
04a80fca07 Remove FLAG_ACTIVITY_NEW_TASK to fix duplication of root
activity. Explanation in code.
2011-07-20 18:20:22 -07:00
Andy2
ba40d96fea remove unused variable 2011-07-20 05:39:52 -07:00
Andy2
1f89eb0238 start on changes list 2011-07-19 18:37:23 -07:00
Andy2
30b9df399c Address crash that happened when runnable ran too late by nulling out
m_handler in onPause() and adding new methods that check if it's null
before calling post(), postDelayed() or removeCallbacks() on it.
2011-07-19 18:31:20 -07:00
Andy2
ea853e2e51 replace hard-coded list of preferences whose summaries are their
values and code to enforce that with custom subclasses that do the
right thing automatically.
2011-07-19 18:21:52 -07:00
Andy2
e4ba5fb5fd log svn rev 2011-07-19 18:14:32 -07:00
Andy2
39e752cbc9 add comment explaining change 2011-07-19 06:24:15 -07:00
Andy2
1d2c63d50f Duh. Make it f*cking compile 2011-07-19 06:21:04 -07:00
Andy2
5dd181398d test theory about dropped moves 2011-07-19 06:20:51 -07:00
Andy2
ecaca66a96 move turn-in-range assert to where it won't fail 2011-07-19 06:17:50 -07:00
eehouse@eehouse.org
6477147854 Merge branch 'android_branch' of ssh://xwords.git.sourceforge.net/gitroot/xwords/xwords into android_branch 2011-07-18 18:11:08 -07:00
Eric House
0548f6be66 get rid of some logging 2011-07-18 18:08:56 -07:00
Eric House
47da43a581 use new param to turn on mmap 2011-07-18 18:08:31 -07:00
Eric House
4093e1c947 add option to switch between mmap and malloc for dict runtime access. 2011-07-18 18:07:15 -07:00
Andy2
5deb68486c add a ton of asserts (no code change otherwise) 2011-07-18 06:44:17 -07:00
Andy2
c482df300b better value for RESIGN_RATIO 2011-07-15 18:24:26 -07:00
Andy2
d81458c34c use nmap -- as test case for doing same in jni 2011-07-15 18:24:08 -07:00
Eric House
febb640049 add name of remote player to notification that remote player moved.
And remove a few dead strings.
2011-07-15 18:13:55 -07:00
Eric House
aec3400677 trivial cleanup 2011-07-15 18:09:40 -07:00
Eric House
8ba7861a7c fix to actually do something 2011-07-15 18:09:13 -07:00
Andy2
9bed15179d version update -- getting ready for next beta! 2011-07-14 18:53:45 -07:00
Andy2
b1f14972e0 remove commented-out foo 2011-07-14 18:53:22 -07:00
Andy2
f1a23a13a8 use a market URL to go directly to the download page 2011-07-14 18:52:59 -07:00
Andy2
4a03867369 add icon; center everything 2011-07-14 18:47:45 -07:00
Andy2
86d17dc615 for now, point at downloadable local rather than market. 2011-07-14 06:42:37 -07:00
Andy2
a4420e130a fix NPEs: not all intents contain all possible elements 2011-07-14 06:18:26 -07:00
Andy2
1dbef02ef6 trim some logging 2011-07-13 21:48:06 -07:00
Andy2
806745683c removed unused param. 2011-07-13 18:42:16 -07:00
Andy2
cd15a9e6e3 fix, I think, problems with launch mode and non-main activities.
singleTop is necessary, as with singleTask we get the whole actvity
stack nuked on every launch.  Open a game into BoardActivity then
background Crosswords; when you re-launch from the launcher or hold
the home key you're back to GamesList.  But with singleTop incoming
invite schemes would launch a second instance because though there was
one running it wasn't in the same task as the browser firing the url
to redir.php.  The solution there is to move the scheme intent from
GamesList to DispatchNotify, which is already handling notifications.
There the addition of a second launch flag means that an existing
instance will always see the launch through its onNewIntent -- under
tests I've come up with so far, anyway.
2011-07-13 18:42:03 -07:00
Andy2
ea205ebf97 when blocking dialogs want to stack, rather than assert, just drop the
second one.  I'm not sure this is the right thing to do, but it won't
matter except when the assert was firing.
2011-07-13 06:13:38 -07:00
Andy2
1686f3d9a8 make --skip-confirm do what it says, and include it in test script. 2011-07-12 07:13:58 -07:00
Andy2
f4a11d2be5 ignore commit turn request when player has 0 tiles. This catches,
awkwardly, the case in a networked game where a player runs out of
tiles in his turn but the server hasn't responded yet to kill the
game.  It remains the player's turn and he can make lots of 0-point
moves while waiting.  (Making it the next player's turn would be the
right thing to do if that player were always on a different device.)
2011-07-12 07:13:21 -07:00
Andy2
42e7a113b9 tweak logging 2011-07-12 07:09:40 -07:00
Andy2
b28a818a1d start games via invite in onNewIntent -- required now that singleTask
is the mode and working.
2011-07-11 20:06:28 -07:00
Andy2
29c2e0bfd6 fold intent filters together 2011-07-11 20:05:45 -07:00
Andy2
f7a0255dc4 needs to be singleTask, not singleTop, to avoid having a new GamesList
activity launched when launch-by-scheme happens when responding to an
invite.
2011-07-11 19:54:41 -07:00
Andy2
7022dbf8d5 set default user name before summoning dialog to change it. For some
reason the GamesList activity is being stopped then recreated
occasionally.  This prevents the dialog from coming up a second time
when that happens.
2011-07-11 18:37:37 -07:00
Andy2
bd7d608c64 combine the two GamesList Activity elements. For some reason it
didn't work before to have the custom URL launch stuff in the existing
one but it does now.
2011-07-10 10:36:14 -07:00
eehouse@eehouse.org
a0ddf2547b Merge branch 'android_invite' of ssh://xwords.git.sourceforge.net/gitroot/xwords/xwords into android_invite 2011-07-08 21:52:57 -07:00
Andy2
6bb6107b1a remove logging 2011-07-08 21:50:03 -07:00
Andy2
55376567f6 make main board bitmap static in an attempt to remove, or at least
postpone running up against, a memory leak that appears to be in the
java side of things.  Googling suggests lots of folks are having
problems with createBitmap (though I can put the createBitmap() call
in a 50-iteration loop and not crash -- may not be the problem after
all.)  Without this change I crash the 14th time opening a game.  With
it I go 30 and run out of patience.  Now that the board is locked in
vertical mode there's little point in recreating the bitmap anyway.
2011-07-08 21:49:51 -07:00
Andy2
8c36727578 tweak new-game dialog strings. 2011-07-08 18:45:41 -07:00
Andy2
7d1a475e61 make players remote by default when adding them to networked games. 2011-07-08 06:25:10 -07:00
Eric House
a6ba233790 Merge branch 'android_invite' of ssh://xwords.git.sourceforge.net/gitroot/xwords/xwords into android_invite 2011-07-08 05:54:34 -07:00
Eric House
421e2a4ae3 fix uninitialized variable 2011-07-08 05:53:08 -07:00
eehouse@eehouse.org
dd8950a826 Merge branch 'android_invite' of ssh://xwords.git.sourceforge.net/gitroot/xwords/xwords into android_invite 2011-07-07 18:51:50 -07:00
Andy2
0c4191805f Merge branch 'android_branch' into android_invite
Conflicts:
	xwords4/android/XWords4/res/values/common_rsrc.xml
	xwords4/android/XWords4/res/values/strings.xml
	xwords4/android/XWords4/src/org/eehouse/android/xw4/jni/CurGameInfo.java
	xwords4/linux/scripts/discon_ok2.sh
2011-07-07 18:50:22 -07:00
Andy2
19ba4d8dea check for null (fixing occasional NPE) 2011-07-07 18:08:09 -07:00
Andy2
2692a8333f restart screen-on timer when activity resumed -- just in case. 2011-07-07 06:44:58 -07:00
Andy2
7376161dd5 change screen-on preference to a 10-minute interval rather than
forever.  Should be long enough to allow a move without risking
battery death.
2011-07-07 06:41:44 -07:00
Andy2
23831a1910 forgot a change 2011-07-07 06:27:28 -07:00
Eric House
4f0f3576ff Merge branch 'android_invite' of ssh://xwords.git.sourceforge.net/gitroot/xwords/xwords into android_invite 2011-07-06 20:04:17 -07:00
Eric House
abf60e027d fix pattern to pick the right hostid. 2011-07-06 20:02:51 -07:00
eehouse@eehouse.org
ba4d898de1 Merge branch 'android_invite' of ssh://xwords.git.sourceforge.net/gitroot/xwords/xwords into android_invite 2011-07-06 19:12:16 -07:00
Andy2
3ccc323465 update version and change info for next beta 2011-07-06 19:00:06 -07:00
Andy2
7fa86f8007 tweak summary 2011-07-06 18:59:47 -07:00
Andy2
ebdf4cce87 add new preference to keep the screen on when the board's visible (per
request).  Off by default, of course.
2011-07-06 18:50:11 -07:00
Andy2
b233136df3 copy in manually from android_invite: need the new enums to compile 2011-07-06 18:37:08 -07:00
Andy2
248b341aac move socket creation inside Thread's run() in attempt to fix too-long
UI freeze when deleting individual games.
2011-07-06 18:32:33 -07:00
Andy2
ae0860a047 add a newbie-info for new-from menuitem. Still need one for reset. 2011-07-06 18:24:46 -07:00
Andy2
3fdf15955e Bug: don't refuse to update preference summary just because it's empty. 2011-07-06 18:21:24 -07:00
Andy2
82552e681a add timestamps to jni logs 2011-07-06 18:15:34 -07:00
Andy2
d76ca5938b fix sync-with-relay menu items to work even if timed syncing is
disabled.
2011-07-06 18:15:00 -07:00
Andy2
6b773460ec call server_do before passing message to server to give it a chance to
get any pending work done.
2011-07-06 18:14:31 -07:00
Andy2
52510b0b10 force XW_STATE to be 1 byte. 2011-07-06 18:13:59 -07:00
Andy2
859283a8d0 save stateAfterShow as part of serialized game state. Fixes problem
where games with more than two devices would hang because server.c
code was dropping messages that comms.c code thought were good and so
ACK'd preventing them from being sent again.  They were being dropped
because the game was in the wrong state after displaying a move-made
dialog because the state it was to move to after doing that display
had not been saved.
2011-07-06 18:11:56 -07:00
Andy2
63799a5f4a add new error message to DEBUG-only printing code.
Conflicts:

	xwords4/common/comms.c
2011-07-06 18:10:42 -07:00
Andy2
a975a405aa handle new "no-connect-dead-game" error code the same as an in-play
"deleted" message: put up existing dialog offering to delete the game.
2011-07-06 06:50:56 -07:00
Andy2
9ec72d6015 handle new "no-connect-dead-game" error code the same as an in-play
"deleted" message: put up existing dialog offering to delete the game.
2011-07-06 06:49:19 -07:00
Andy2
f3ab40519d add new error message to DEBUG-only printing code. 2011-07-06 06:47:56 -07:00
Andy2
86e3cc7286 When device reconnects to a dead game, just deny the connection with a
new error message rather than allow it as if it were a normal game
only to send a game-dead message after.  This solves the problem of
how device knows not to put up welcoming message or suggestion to
invite to a game that's suddenly missing players.  BUT: this change is
incompatible with existing versions and so needs to get pushed out
before the in-use relay can be upgraded to include this code.
2011-07-06 06:47:25 -07:00
Andy2
928404be50 remove unused enum 2011-07-06 06:15:25 -07:00
Eric House
a3dbde9b88 more dealing with edge cases. 2011-07-05 21:42:03 -07:00
Eric House
98a65d82ed fix crash in rare edge case 2011-07-05 21:40:13 -07:00
Eric House
d3108aac79 split method in two to provide new API (I'm not using yet) 2011-07-05 21:39:38 -07:00
Andy2
4789bac85e add new mode that only launches games after the relay says there's a
message for them.  This is to mimic a common way games are played on
Android and to ensure that there are no points where that style of
play hangs because no device in the game will be "up".
2011-07-04 19:46:12 -07:00
Andy2
999d4c11e7 simple script for watching what messages the relay has pending for a
game.
2011-07-04 12:51:27 -07:00
Andy2
4b75174170 save stateAfterShow as part of serialized game state. Fixes problem
where games with more than two devices would hang because server.c
code was dropping messages that comms.c code thought were good and so
ACK'd preventing them from being sent again.  They were being dropped
because the game was in the wrong state after displaying a move-made
dialog because the state it was to move to after doing that display
had not been saved.
2011-07-04 12:51:00 -07:00
Andy2
0eec455119 change one return type; improve logging 2011-07-04 12:46:48 -07:00
Andy2
8904f37e1a force XW_STATE to be 1 byte. 2011-07-04 12:45:51 -07:00
Andy2
ab8e4e437b call server_do before passing message to server to give it a chance to
get any pending work done.
2011-07-04 12:37:23 -07:00
Andy2
66d42faead fix sync-with-relay menu items to work even if timed syncing is
disabled.
2011-07-04 12:28:17 -07:00
Andy2
7024718c87 add timestamps to jni logs 2011-07-04 09:38:22 -07:00
eehouse@eehouse.org
8f782070ac Merge branch 'android_invite' of ssh://xwords.git.sourceforge.net/gitroot/xwords/xwords into android_invite 2011-07-03 09:28:36 -07:00
Eric House
e207e0e142 add option to run only one game at a time in a given room. The idea
was to mimic conditions that are creating a bug on-device but it
didn't work.  Still, a useful test case....
2011-07-02 23:12:16 -07:00
Andy2
175aace629 fix a couple of rare failures due to race conditions testing or
valgrind flushed out.
2011-07-02 13:28:24 -07:00
Eric House
35bfdb1dd6 Merge branch 'android_invite' of ssh://xwords.git.sourceforge.net/gitroot/xwords/xwords into android_invite 2011-06-30 19:44:46 -07:00
Eric House
09b81c6ad7 fix rare crash: don't call PQgetvalue when there are no results. 2011-06-30 19:39:00 -07:00
Eric House
5c5708fa66 try to fix race condition that sometimes means script detects game is
over but doesn't communicate to relay: don't consider file done until
have info to sent to relay.
2011-06-30 19:37:37 -07:00
eehouse@eehouse.org
3db7fccb53 Merge branch 'android_invite' of ssh://xwords.git.sourceforge.net/gitroot/xwords/xwords into android_invite 2011-06-30 18:57:53 -07:00
Andy2
ada84cccb3 make invites work with games having more than two players. But: the
games themselves don't work!  Fix this or disable 3- and 4-device
networked games.
2011-06-30 18:56:51 -07:00
Andy2
36287870d4 add np (num players) param 2011-06-30 18:22:42 -07:00
Andy2
546791d215 custom message when more than one player missing reminding to invite
more than one person.
2011-06-30 06:30:05 -07:00
Andy2
0c42da905a plug memory leak flushed out by auto-juggle code: null dict doesn't
mean the end of the list.
2011-06-29 21:43:50 -07:00
Eric House
48ea9e2b28 add preference to juggle players when creating a new game
Conflicts:

	xwords4/android/XWords4/src/org/eehouse/android/xw4/jni/CurGameInfo.java
2011-06-29 21:43:44 -07:00
Eric House
ef9d359ab9 tweak default param values 2011-06-29 21:38:54 -07:00
Eric House
b4a513ce87 reduce logging; log errno on syscall failure 2011-06-29 21:38:31 -07:00
Eric House
8e31fd88c3 reduce logging; and fix valgrind-found problem using wrong
synchronization primative.
2011-06-29 21:37:33 -07:00
Eric House
04740486fb wrap more logging in ifdefs 2011-06-29 21:35:21 -07:00
Eric House
2b4f439a2f rough script to parse logs looking for threads that have hung (stopped logging) 2011-06-29 21:32:18 -07:00
Andy2
57cfefb6a9 fix leaks -- that don't really matter as process is exiting, but
quiets valgrind.
2011-06-29 18:45:02 -07:00
Andy2
f3a4ff9dfc use cid for variables of type CookieID everywhere instead of almost
everywhere
2011-06-29 18:42:41 -07:00
Andy2
4cb45d3b82 juggle before setting language (makes sense though not demonstrable
difference)
2011-06-29 18:30:08 -07:00
Andy2
cd844a5bad plug memory leak flushed out by auto-juggle code: null dict doesn't
mean the end of the list.
2011-06-29 18:28:55 -07:00
Andy2
632980dc98 add preference to juggle players when creating a new game 2011-06-29 06:16:58 -07:00
Andy2
413b2f5b2e include default language in text in new game dialog. 2011-06-28 19:01:03 -07:00
Andy2
5dd524ef2f param name for clarity 2011-06-28 19:00:21 -07:00
Andy2
a9d1dc7bdc add default room name in configure-first case too. 2011-06-28 18:32:32 -07:00
Andy2
363acc228a use printf so rooms sort numerically 2011-06-28 17:38:59 -07:00
Andy2
b2a7acbdf1 remove echo 2011-06-27 18:59:36 -07:00
Andy2
3db0543994 work in absence of drop-nth-packet param 2011-06-27 18:57:27 -07:00
Andy2
ceeee39c2d fold it what can from android_invite branch to make relay upgrade test
easier
2011-06-27 18:43:42 -07:00
Andy2
8673c6a001 toward being able to verify that upgrading the relay won't hurt
in-play games: add ability to pick up games mid-play; don't sleep
before killing a device unless it's only been running less that the
minimum.
2011-06-27 18:32:30 -07:00
Andy2
a96dfb57f6 drop-packet test got an assert because we assumed the effects of a
dropped packet.  Instead, now treat the connection as broken and
restart.
2011-06-27 18:30:52 -07:00
Andy2
e122953fd5 clean up logging 2011-06-27 18:27:07 -07:00
Andy2
c84722fc22 add ack 2011-06-27 06:45:14 -07:00
Andy2
fffcbb677e under testing I'm running up against the 1024-files-open limit and
dying with an assert.  Log something -- but still die as there's
nothing to be done in code except hope some connections don't
reconnect right away.  Fixes: 'ulimit -n' or edit 'nofile' param in
/etc/security/limits.conf on the relay host.
2011-06-27 06:20:51 -07:00
Andy2
c2cd3a709a specify name of database in config file rather than hard-coding it. 2011-06-25 21:32:18 -07:00
Andy2
ffeb94e4bd start getting rid of super-verbose logging 2011-06-25 21:30:32 -07:00
Andy2
cdc16ee974 variable/method name change only: cookieid->cid 2011-06-25 15:43:52 -07:00
Andy2
38ad3aa81c cleanup; and: collapse HostRec and socket set into map of socket to
HostRec, protecting all accesses with ReadWrite locks.
2011-06-25 15:40:12 -07:00
Andy2
6c121dac57 final set of changes -- all test cases now seem to be passing. Stop
duplicating set of sockets owned by a cref, moving it from cinfo into
cref and caching a copy outside when cref is unclaimed (after which no
change is possible until it's claimed again.)
2011-06-24 18:34:34 -07:00
Andy2
df60ec648b Don't return new error XWRELAY_ERROR_NORECONN as devices don't have it
yet.
2011-06-24 18:32:53 -07:00
Andy2
e44ed96691 fix logging: calling read(), not recv() 2011-06-24 18:28:18 -07:00
Andy2
9ff149fe2d fix race: if we get a cid from the DB while another thread has claimed
that cid, then by the time we can claim it there's no longer space for
us.  Call new method after the claim succeeds to make sure there's
still room, and if not relinquish and loop back to the DB for another
try.
2011-06-23 19:00:32 -07:00
Andy2
c51e5e41f4 fix ClaimSocket: it was neither marking claims nor checking for marks. 2011-06-23 18:58:50 -07:00
Andy2
63a4e6c953 get rid of per-cref mutex: it's redundant now that access is
synchronized.  Add method to check if new players are still welcome to
allow fix for race.
2011-06-23 18:57:48 -07:00
Andy2
a5bab1232f deal with changing connnames: use the last 2011-06-23 18:12:38 -07:00
Andy2
e886a1aefe lots more changes -- another snapshot, this, rather than stuff
carefully polished and reviewed.  Shows progress, though, in getting
through tests.
2011-06-23 07:12:50 -07:00
Andy2
b4381e8403 drop-packets off, not on, by default 2011-06-22 18:17:47 -07:00
Andy2
3ebcc01e86 beginning -- this is a snapshot -- of rewrite of how relay keeps
multiple thread out of a single game.  Add new class that locks
per-cid and start using it.  Very incomplete.
2011-06-22 06:51:26 -07:00
Andy2
c87df3ce16 add option to drop incoming packets randomly (rather than 1st, then
2nd, then 3rd etc.)
2011-06-20 18:55:57 -07:00
Andy2
aecdd8922f don't show times -- not interesting for debugging right now 2011-06-20 18:55:17 -07:00
Eric House
85d484a881 major mod to deal with devices that fail to receive ACK and then
reconnect.  I was putting both (i.e. the same device twice) in the
same game.  Now I detect this based on the seed being duplicated and
treat the device as having failed to ACK then proceed with the CONNECT
as if it were new.  Tested pretty heavily but only with two-device
games.
2011-06-20 18:13:15 -07:00
Eric House
44af266db6 add logging 2011-06-20 18:10:42 -07:00
Eric House
238fac3696 add new ack column to track whether devices have ACKd yet. 2011-06-20 18:10:07 -07:00
Andy2
9b4034f409 fix undefined variable by updating script before possibly deleting it 2011-06-16 18:35:08 -07:00
Andy2
7eb099d3a6 show seeds 2011-06-15 06:49:32 -07:00
Andy2
3f7cd851f2 use new drop-nth-packet option, incrementing by 1 each time.
Currently this breaks the relay -- which must be fixed.
2011-06-15 06:49:15 -07:00
Andy2
2d7a1f13b8 add drop-nth-packet option 2011-06-15 06:47:08 -07:00
Andy2
cb5fa56a90 Tweak a couple of messages. Bye Luke! 2011-06-14 06:40:10 -07:00
Andy2
ecc5211791 Bug: don't refuse to update preference summary just because it's empty. 2011-06-14 06:16:11 -07:00
Eric House
5fc430c6da Merge branch 'android_invite' of ssh://xwords.git.sourceforge.net/gitroot/xwords/xwords into android_invite 2011-06-14 05:47:16 -07:00
Eric House
cb3e33ef72 update for months-old param name changes 2011-06-14 05:46:27 -07:00
Andy2
7a5549cc43 set selectAllOnFocus on player name edit. Can't figure out how to
force focus to that field though....
2011-06-14 05:38:37 -07:00
Andy2
d470a1c1e0 add a newbie-info for new-from menuitem. Still need one for reset. 2011-06-13 18:47:42 -07:00
Andy2
a318021308 title that won't surprise on upgrade 2011-06-13 18:26:12 -07:00
Andy2
d18ac741b7 add new debug pref for redirecting host so it and relay can live on
different machines.
2011-06-13 18:17:37 -07:00
Andy2
c9c470b724 remove logging 2011-06-13 06:27:55 -07:00
Andy2
5232186b1d path starts with //, not / 2011-06-13 05:28:06 -07:00