Commit graph

13392 commits

Author SHA1 Message Date
eulalio
2624030bbf
Translated using Weblate (Spanish)
Currently translated at 38.8% (344 of 885 strings)
2023-08-07 18:49:14 +02:00
eulalio
de4de3cece
Translated using Weblate (Spanish)
Currently translated at 37.1% (329 of 885 strings)
2023-08-04 14:05:16 +02:00
Eric House
c488235ca7 make new compiler happy 2023-08-03 23:47:05 -07:00
Eric House
280fc3bfe1 fix failure to correctly pass devids into linux client 2023-07-18 21:35:17 -07:00
Eric House
76c0ce3a2e add common/ to saved logs
This is risky because requires that the untested way I map threads to
env always work -- but the risk is to DEBUG builds only.
2023-07-18 16:07:26 -07:00
Eric House
cc2f145fc2 deal better with unset variable 2023-07-01 12:32:04 -07:00
Eric House
185f25953d cleanup: add an assert and remove some logging 2023-07-01 12:14:07 -07:00
Wellington Terumi Uemura
1c24b5112e
Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (885 of 885 strings)
2023-06-23 22:35:03 +02:00
Eric House
99b4af8e53 get dict info immediately after install
I want Custom to show up as soon as you install a BYOD wordlist.
2023-05-29 17:03:53 -07:00
Eric House
e3f9e6f32b include name in warning about custom wordlists 2023-05-29 17:03:40 -07:00
Eric House
bd912ce962 discourage inviting to wordlists not from server
If I get an invitation to a wordlist I can't download, hilarity
ensues. I get asked over and over to download it, and because in the
MQTT case the invitation is persisted it'll happen a lot. First step
is to discourage sending those invitations. This change interacts with
the server to flag not-on-server wordlists, and shows the flag in the
wordlist browser and also shows warnings when invitations are about to
be sent.
2023-05-29 16:55:14 -07:00
Eric House
e8beb103cb add col to dictinfo telling whether dict is available on server 2023-05-29 16:55:14 -07:00
Eric House
9680733899 tweak xwd header output 2023-05-29 16:55:14 -07:00
Eric House
69afe41040 add git rev to display 2023-05-29 16:55:14 -07:00
ssantos
b3a3bd7a37
Translated using Weblate (Portuguese)
Currently translated at 100.0% (885 of 885 strings)
2023-05-29 00:49:20 +02:00
ssantos
4edd5c2e7c
Translated using Weblate (German)
Currently translated at 100.0% (885 of 885 strings)
2023-05-29 00:49:19 +02:00
Wellington Terumi Uemura
b8522d8f20
Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (885 of 885 strings)
2023-05-25 07:49:28 +02:00
Eric House
b316feb367 changelog and version strings 2023-05-24 21:49:48 -07:00
Eric House
0a912db347 move strings 2023-05-21 20:43:12 -07:00
Eric House
bc0478abbf include player-specific dicts in gi_copy 2023-05-21 08:40:59 -07:00
Eric House
f9914c0fac fix assertion by copying new field with the rest 2023-05-21 08:06:24 -07:00
ssantos
8c43e63637
Translated using Weblate (Portuguese)
Currently translated at 100.0% (883 of 883 strings)
2023-05-07 11:50:26 +02:00
ssantos
bb0a16bfef
Translated using Weblate (German)
Currently translated at 100.0% (883 of 883 strings)
2023-05-07 11:50:25 +02:00
Wellington Terumi Uemura
6fd4b53fc6
Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (883 of 883 strings)
2023-05-05 23:50:19 +02:00
Eric House
93477ae744 show warnings for backup/restore on Android 9
Restore doesn't work there, so warn appropriately
2023-05-04 13:31:35 -07:00
Eric House
869967d1ec move strings to where they'll be localizable 2023-05-04 11:33:53 -07:00
Eric House
4dbb7362dd add dbg-only menuitem to set mqtt devid 2023-04-26 13:57:21 -07:00
Eric House
2c79df2f78 remove 255-char limit on chat messages.
If people wanna spew, let them.
2023-04-21 18:04:21 -07:00
Eric House
3c56490c01 fix to read any length string from stream 2023-04-21 17:50:01 -07:00
Eric House
dc0c63dc24 don't crash if chat message length > 255 bytes
Crash instead if exceeds 1K. That needs a more complex fix.
2023-04-21 16:51:52 -07:00
Eric House
8c60b99e82 remove some asserts Frank's seeing 2023-04-20 14:24:10 -07:00
Eric House
eab9068d89 sleep between logging assert and letting android kill the process 2023-04-20 13:15:42 -07:00
Eric House
f9d3f9fd4e fix assertions around dropped (because ancient) messages
I'm seeing these only when opening games several years old, and they
shouldn't matter on release builds. Still....
2023-04-18 20:55:46 -07:00
Eric House
f8c5a4ea58 add assert 2023-04-18 20:55:46 -07:00
Çağkan Ünver
7b1eaf438e
Translated using Weblate (Turkish)
Currently translated at 10.3% (91 of 879 strings)
2023-04-15 19:48:50 +02:00
Eric House
41e8cbf20c fix concurrency issues with mqttcon's msg queue 2023-04-07 10:14:40 -07:00
Eric House
b46b34cd70 changelog and version change 2023-04-07 10:14:40 -07:00
Hosted Weblate
ea7eccf426
Update translation files
Updated by "Cleanup translation files" hook in Weblate.

Translation: Crosswords/Android
Translate-URL: https://hosted.weblate.org/projects/xwords/android/
2023-04-07 05:23:09 +02:00
Eric House
021fa4e303 fix changelog not being shown 2023-04-06 20:22:29 -07:00
Eric House
131826d34f fix release build 2023-04-06 20:22:29 -07:00
Hosted Weblate
fbd45b6a03
Update translation files
Updated by "Cleanup translation files" hook in Weblate.

Translation: Crosswords/Android
Translate-URL: https://hosted.weblate.org/projects/xwords/android/
2023-04-07 04:55:30 +02:00
Eric House
4a20e3d664 remove dead strings 2023-04-06 19:54:50 -07:00
Eric House
9a5b1d466d send invites as invites, not messages
Fixes sending of invitations on Android
2023-04-06 19:54:50 -07:00
Eric House
e09fb6776a don't report game as deleted until it's at least connected
Otherwise remote might not have even saved it yet so of course it
won't exist.
2023-04-04 19:55:55 -07:00
Eric House
40f8f316fe remove bogus assertion 2023-04-03 11:46:55 -07:00
FastAct
e7b81f240d
Translated using Weblate (Dutch)
Currently translated at 56.6% (500 of 882 strings)
2023-03-30 09:38:06 +02:00
Eric House
d0a53ab3ff send invites as invites, not messages
Fixes sending of invitations on Android
2023-03-27 14:33:14 -07:00
Eric House
50ac11970e fix assertion failure when sending single unqueued message 2023-03-26 10:37:45 -07:00
Eric House
885a20845a don't send null msg queue 2023-03-25 15:31:15 -07:00
Eric House
1a8f91203e Send MQTT messages in batches
Resend sends all types in batches. Send of new messages goes back for
MQTT only and sends the whole un-ack'd queue.
2023-03-25 10:24:39 -07:00
Eric House
326624e942 on linux, keep a queue of mqtt messages
Was dropping invitations that were posted before I connected to the
remote broker. Now they're kept, and sent until the broker says
publish succeeded. Better would be to have comms resend when mqtt
connects, but I'm not set up for that.
2023-03-25 10:24:39 -07:00
Eric House
9144fbae59 fix to work with recent API changes 2023-03-25 10:24:39 -07:00
Eric House
6828416b05 move some mqtt msg formatting into c code
Avoid a round-trip across the jni boundary to improve effeciency,
especially when multiple messages are involved (which is next)
2023-03-25 10:24:39 -07:00
Eric House
7b2c327ba8 change send method to take list instead of array 2023-03-25 10:24:39 -07:00
Eric House
22d0d50130 add a public part of MsgQueueElem to simplify passing outside 2023-03-25 10:24:39 -07:00
Eric House
6ec0e64657 toward changing APIs to allow combined messages for mqtt 2023-03-25 10:24:39 -07:00
Eric House
f5f8ae9908 report negative tile count when games not started 2023-03-25 10:24:39 -07:00
Eric House
b811653c89 remove ifdef-d out code storing all messages in one queue 2023-03-25 10:24:39 -07:00
Eric House
7929ddea47 cleanup comms 2023-03-25 10:24:39 -07:00
Eric House
9cd8264e12 script change to build android from anywhere 2023-03-17 09:22:54 -07:00
Eric House
daac5ca098 store messages in channel rather than a single queue
Moving toward being able to send in groups per device for MQTT
optimization
2023-03-16 07:44:14 -07:00
Eric House
b27384df63 print caller in logging func 2023-03-16 07:44:14 -07:00
Eric House
fb04a6ad0a fix server_getOpenChannel()
Only used by gtk for now but meant to replace hardcoded invitation
code everywhere.
2023-03-16 07:44:14 -07:00
Eric House
e849d628d9 log when messages could be combined 2023-03-16 07:43:51 -07:00
Thunderstrike116
0b8f97afaf
Translated using Weblate (Greek)
Currently translated at 3.6% (32 of 882 strings)
2023-03-15 19:38:53 +01:00
Eric House
cc0e5d978f add 21x21 info for German 2023-03-10 10:30:56 -08:00
Creeper0k
a7449033ec
Translated using Weblate (Russian)
Currently translated at 16.6% (147 of 882 strings)
2023-03-10 10:42:33 +01:00
Eric House
bb2a2dacae cleanup 2023-03-08 20:48:55 -08:00
Eric House
073271fe61 tweak test script to better test rematching 2023-03-08 20:48:55 -08:00
Creeper0k
3c72df29a9
Translated using Weblate (Russian)
Currently translated at 12.9% (114 of 882 strings)
2023-03-08 12:40:50 +01:00
Eric House
1083cbd525 improve test script and fix rematching bug it found
Server needs to not rematch if any device has more than one
player (for now, as I'm too lazy to fix this rare condition.) I'm
moving toward having the linux client write status to a unix socket on
exit rather than having the test script parse the log file for
status. GameOver is there now. Tile counts should follow.
2023-03-05 10:23:48 -08:00
Eric House
ca62d29bc4 change button text 2023-03-05 08:09:34 -08:00
Eric House
8f1dfc9817 include rematching in test script
Add new script param setting a timeout before which games will be
rematched on finishing. Add new param to ncurses version telling it to
try to rematch when finishing. This introduces a new problem because
now there are multiple games per "device", and various log-grepping
stuff like listing the number of tiles in play or determing whether
device is finished all assumed one game. I addressed the latter by
adding a way to query the DB to see if all games are done, but that's
not quite right because the number of pending messages is increasing
after a game completes. Still, the testing is useful so I'm pushing
this.
2023-03-04 09:36:42 -08:00
Eric House
ac75da2028 fix leak rematching games on 3+ devices 2023-03-04 09:30:58 -08:00
Eric House
4ec6cfe17d plug memory leak 2023-03-04 08:54:31 -08:00
Eric House
eb5ed2b96d tweak German 2023-03-02 13:13:32 -08:00
Eric House
9533fbd0d9 add alert to name or cancel rematch 2023-03-01 19:39:40 -08:00
Eric House
e5d4ecea7d add option to enable duplicate mode (which seems to work) 2023-03-01 07:41:42 -08:00
ssantos
d7fa8d7af8
Translated using Weblate (German)
Currently translated at 100.0% (882 of 882 strings)
2023-03-01 14:40:39 +01:00
Eric House
07cd95e715 use github code to implement md5sum for mqtt msg ack (wasm only) 2023-02-26 19:53:12 -08:00
Eric House
22bf6c596a as copied from https://github.com/Zunawe/md5-c 2023-02-26 19:53:12 -08:00
Eric House
d0cf7fd318 fix one German string 2023-02-26 19:53:12 -08:00
Eric House
4c76dd7470 add link to public gameinfo page 2023-02-26 19:53:12 -08:00
Eric House
b758cd3f0f respond to invitations coming in as argv params
including downloading wordlist if necessary
2023-02-26 19:53:12 -08:00
Camille
8b80e9dfd5
Translated using Weblate (French)
Currently translated at 91.6% (808 of 882 strings)
2023-02-26 18:36:46 +01:00
Eric House
a6e912c6ae cleanup 2023-02-23 16:38:08 -08:00
Eric House
8ceaf39fe5 put up game picker after deleting current game 2023-02-23 16:24:55 -08:00
Eric House
32275017a6 implement rematch 2023-02-23 15:51:40 -08:00
Eric House
a95b59b3ea add pending messages count to display 2023-02-23 12:58:31 -08:00
Eric House
a0f5e2d5d4 remove dead code 2023-02-23 10:55:05 -08:00
Eric House
4941c258c8 tweaks to show gameID more 2023-02-23 08:47:57 -08:00
Eric House
a0be9adc12 fix self address
not sure why it didn't seem to be a problem...
2023-02-22 21:06:48 -08:00
Eric House
95e9647ff0 receipt of invitations works 2023-02-22 20:54:21 -08:00
Eric House
5382941f63 snapshot: play via MQTT works for a while 2023-02-22 19:52:45 -08:00
Eric House
4bc24b41f6 snapshot: saved games open now 2023-02-22 19:04:05 -08:00
Eric House
78d84a941e compiles, but untested
And certainly won't work!
2023-02-22 19:04:05 -08:00
Eric House
cc481373d8 use new public gameinfo api 2023-02-21 19:15:21 -08:00
Eric House
fd36590e7f fix assertions that assumed multi-device 2023-02-21 17:32:21 -08:00
Eric House
ef9ff71d8a fix log formatting problems 2023-02-21 17:32:21 -08:00
ssantos
28f86e37c2
Translated using Weblate (Portuguese)
Currently translated at 100.0% (882 of 882 strings)
2023-02-19 17:39:00 +01:00
ssantos
670f2bc483
Translated using Weblate (German)
Currently translated at 100.0% (882 of 882 strings)
2023-02-19 17:38:59 +01:00
Eric House
89afb411bd update INSTALL read-me file 2023-02-18 13:09:49 -08:00
Eric House
c94c7c5d35 fix offering Rematch when multiple games are selected 2023-02-18 13:09:49 -08:00
Wellington Terumi Uemura
05b463f3fb
Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (882 of 882 strings)
2023-02-18 07:36:58 +01:00
Eric House
9ca291cf0d enable rematch for 3- and 4-device games
Because only the host/inviter knows the addresses of all the devices
in a game it's hard for guests to rematch (unless it's a 2-device
game, as they know the host's address.) So now, as part of telling
guests the game is ready to play, include the addresses of other
guests. It's usually only 9 bytes per device, and only happens when
more than two devices are in a game.
2023-02-16 21:36:46 -08:00
Eric House
dcc9cd553c move string into resources 2023-02-16 21:33:42 -08:00
Eric House
ee859a6c6a cleanup: remove dead code 2023-02-15 08:31:51 -08:00
Wellington Terumi Uemura
8613973b67
Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (881 of 881 strings)
2023-02-15 11:36:15 +01:00
Thunderstrike116
94c934a241
Translated using Weblate (Greek)
Currently translated at 1.0% (9 of 881 strings)
2023-02-15 11:36:14 +01:00
ssantos
1b6e7b706b
Translated using Weblate (Portuguese)
Currently translated at 100.0% (881 of 881 strings)
2023-02-15 11:36:14 +01:00
ssantos
16f43fee44
Translated using Weblate (German)
Currently translated at 100.0% (881 of 881 strings)
2023-02-15 11:36:13 +01:00
Eric House
dc4032faf8 for debugging, add ability to invite via text mqtt devid
Add ability to copy to clipboard and then to invite by pasting from
clipboard. Makes it much easier to connect two emulator instances
where neither can camera the other's QR code.
2023-02-12 19:47:06 -08:00
Eric House
840abb4037 up version strings and changelog 2023-02-11 07:58:51 -08:00
Eric House
34ba254e64 cleanup 2023-02-11 07:50:53 -08:00
Eric House
0e14783d3b use negotiated streamVersion to decide what to send via MQTT
No point in sending the old-topic-format MQTT messages to clients that
know about the new one, and in fact it's harmful. Devices in a game
already agree on the stream version to use and communicate it, so pass
that into comms once it's known and from there on to the device code
that builds mqtt messages.
2023-02-09 16:53:18 -08:00
Eric House
d924776a84 make invitation to three-device games work on gtk/linux 2023-02-08 10:28:00 -08:00
Eric House
ad5514ac17 clean up error reporting for linux sqlite3 2023-02-05 09:09:26 -08:00
Eric House
646e806ae4 get rid of stream_open(), which was a NO-OP 2023-02-04 07:44:57 -08:00
Eric House
cea0b9659d remove unused files 2023-02-04 07:33:36 -08:00
Eric House
4a57b76817 cleanup: pass xwe with closeProc rather than to destroy
It's only needed when there's a close proc, and that's rare.
2023-02-03 22:00:47 -08:00
Eric House
6584be9ec6 resendAll after mqtt host config changes 2023-02-03 17:15:02 -08:00
Eric House
4e029a0fda optimize haveWithGameID() 2023-02-03 10:18:54 -08:00
Eric House
e79450ab4c refactor message queue access
Cleanup to reduce changes when queue storage changes, which is coming
to optimize mqtt sends.
2023-02-03 10:18:54 -08:00
Eric House
c820abb514 remove unused params 2023-02-03 10:18:54 -08:00
JL Pilgram
a61725f934
Translated using Weblate (Italian)
Currently translated at 81.8% (720 of 880 strings)
2023-02-01 21:50:51 +01:00
Wellington Terumi Uemura
641c60779d
Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (880 of 880 strings)
2023-02-01 21:50:51 +01:00
ssantos
516019a605
Translated using Weblate (Portuguese)
Currently translated at 100.0% (880 of 880 strings)
2023-02-01 21:50:51 +01:00
ssantos
57a54d2007
Translated using Weblate (German)
Currently translated at 100.0% (880 of 880 strings)
2023-02-01 21:50:50 +01:00
Hosted Weblate
bc238299c2
Update translation files
Updated by "Cleanup translation files" hook in Weblate.

Translation: Crosswords/Android
Translate-URL: https://hosted.weblate.org/projects/xwords/android/
2023-01-31 17:51:40 +01:00
Eric House
8cb0e83885 up version number
I already pushed the tag so it needs to change. No need to change
version code though and it already fails to track tag.
2023-01-31 08:43:21 -08:00
Eric House
84349cddec fix jni crash by removing (unused) constructor
Older Android required a default constructor be explicily declared
unless there was none other, and the other was unused so just removed
it.
2023-01-31 08:37:04 -08:00
Eric House
d6a2004bdb name change only 2023-01-31 08:36:49 -08:00
Hosted Weblate
19835d8dba
Update translation files
Updated by "Cleanup translation files" hook in Weblate.

Translation: Crosswords/Android
Translate-URL: https://hosted.weblate.org/projects/xwords/android/
2023-01-31 02:14:35 +01:00
Eric House
71dc5944bc Translated using Weblate (Portuguese)
Currently translated at 100.0% (882 of 882 strings)
2023-01-30 17:14:11 -08:00
Eric House
c4167112c8 Translated using Weblate (German)
Currently translated at 100.0% (882 of 882 strings)
2023-01-30 17:13:51 -08:00
Eric House
fcff8dab35 send from inside comms_invite on Linux but not Android
This is probably a temporary fix for Linux not being aggressive enough
about calling comms_resendAll() when opening a game. For now, though,
test scripts fail without it.
2023-01-30 12:02:46 -08:00
Eric House
18973675d0 don't send invite from inside comms_invite() 2023-01-27 21:07:39 -08:00
Eric House
a6d1736a7e replace assertion with logging 2023-01-26 11:20:40 -08:00
Eric House
de3ebe5113 cleanup 2023-01-26 10:17:42 -08:00
Eric House
01c19d8f06 tweak getting permissions for phone and NBS
Use my set of permissions more than trying for individual ones, as
that's not enough on newer OS versions. Seems to work sometimes at
least, but maybe only after a new install.
2023-01-25 11:59:34 -08:00
Eric House
d863208118 make selfAddress for invitee reflect types in invitation 2023-01-25 11:55:47 -08:00
Eric House
60bc43724d add NFC to selfAddress of new games (when supported) 2023-01-25 10:29:27 -08:00
Eric House
a18e19e574 logging change 2023-01-24 17:38:51 -08:00
Eric House
863a54bfe1 Once received, nuke invite on mqtt broker
To prevent deleted games' ghost invitations from remaining as
persisted on a topic and so being received over and over, have
recipient of invitation send an empty message on the same topic to
remove them. Any message sent once the game start would have replaced
the invitation, but sometimes if the sender is deleted at the right
time there's none.
2023-01-24 17:23:30 -08:00
Eric House
6bb14548c9 fix TransportSendInvt to include type
In failing to pass the type into TransportSendInvt I was forcing
implementations to send to all types, which led to a lot of duplicate
invitations.
2023-01-24 17:11:05 -08:00
Eric House
295ca02c84 fix race condition leading to thrashing MQTT clients 2023-01-24 12:06:06 -08:00
Eric House
ffe571664c remove asserts flagging problems I can't fix yet 2023-01-24 11:38:11 -08:00
Eric House
7fdf43eba6 add logging 2023-01-23 22:08:50 -08:00
Eric House
873501f8da changes for better testing invites and sms 2023-01-17 18:01:30 -08:00
Eric House
f1262e49e7 remove unused util method 2023-01-16 10:10:01 -08:00
Eric House
c620f9bc75 Don't allow comms types that aren't in selfAddress
(Likely crashes on android)
2023-01-15 16:18:26 -08:00
Eric House
efb6c2d0a6 remove mistaken assertion 2023-01-15 07:27:17 -08:00
Eric House
74d358a0ae fix another mistaken int->long promotion
and change method names to avoid confusion later
2023-01-14 22:30:19 -08:00
Eric House
49e78f8666 tweak haveGame fix and add to changelog 2023-01-14 09:12:37 -08:00
Eric House
b003744645 provide haveGame() for gameIDs
Was getting false negatives when BT and WifiDir game-exists tests
passed gameID to method expecting rowid.
2023-01-13 22:15:33 -08:00
Eric House
514ca45e4f change copyright date -- Happy New Year! 2023-01-11 20:38:40 -08:00
Eric House
a02ea95600 remove dead code: game_reset and friends 2023-01-11 12:28:09 -08:00
Eric House
8c8561e2ea linux: subscribe only after connect succeeds 2023-01-11 11:10:45 -08:00
Eric House
baf02f6800 don't crash forever if mqtt host name mistyped 2023-01-10 22:36:52 -08:00
Eric House
52d2543812 remove IP_DIRECT from Linux
If I support it in android it'll likely look different and I'll want
to start over.
2023-01-06 10:01:59 -08:00
Eric House
08ea648a3f changelog and version codes 2023-01-06 07:53:10 -08:00
Eric House
a5b0f3dd20 add debug-only code to check for thread-safety 2023-01-06 07:53:10 -08:00
Eric House
df5da2c4aa add assert toward removing (redundant) method 2023-01-05 21:53:22 -08:00
Eric House
3921da97b9 use new topic format for invitations too 2023-01-05 21:53:22 -08:00
Eric House
e2a13a0ec1 Clean up API (new objects in jni no longer scare me) 2023-01-04 20:41:45 -08:00
Eric House
4caf660c1c cleanup 2023-01-04 14:13:53 -08:00
Eric House
f1ab7be1a3 remove assertion 2023-01-01 18:35:09 -08:00
Eric House
16ced1dd49 fix linux compile; log gameID as %X everywhere 2022-12-30 16:15:03 -08:00
Eric House
9e5b074f7e remove dead strings; stage new ones 2022-12-30 15:49:06 -08:00
Eric House
837991feb4 remove timestamps from mqtt header and procs that feed it
It belongs in comms msg header. Also remove PROTO_2, which shipping
code can read but never could send.
2022-12-30 15:35:01 -08:00
Eric House
310e1cea4f remove bad assert 2022-12-30 15:35:01 -08:00
Eric House
550248bce0 fix assertions from missing timestamps 2022-12-29 22:39:26 -08:00
Eric House
bba8e99098 require that timestamp be set
MQTT must create the same header for each message, so having it set
the current timestamp is bad. I actually think it belongs in the comms
header, not in each transport.
2022-12-29 21:24:59 -08:00
Eric House
2942c140ee consider channel when deciding if a game's present (and fix assign)
Rematch against self didn't work, and is useful for testing. So in
dutil method hasGame(), check if games with the same gameID are also
for the same channel. And when creating a new game for rematch, make
sure it's channel is 0.
2022-12-29 21:21:39 -08:00
Eric House
2b8c0194a2 fix string formatting mismatch 2022-12-29 07:22:54 -08:00
Eric House
ae9d576bad fix crash when 0-length mqtt buffers arrive
Which is what happens when you "clear" retained messages
2022-12-28 23:21:32 -08:00
Eric House
5175775b1d don't truncate gameID
In some cases games were created with 32-bit ids, and sometimes only
20 bits were used.
2022-12-27 17:38:26 -08:00
Eric House
fdbd404f37 cleanup 2022-12-27 17:38:20 -08:00
Eric House
9e675d49ba log info about an assert I've seen 2022-12-26 20:30:46 -08:00
Eric House
30136e22a1 remove relay options from test script 2022-12-26 19:40:57 -08:00
Eric House
1ae4f2d774 make relay-related commandline options compile conditionally 2022-12-26 19:31:23 -08:00
Eric House
6648a25dd0 tweak logging 2022-12-26 19:24:39 -08:00
Eric House
3faf4687db don't call a game over until message count drops to 0
I'm looking for a test case to reproduce the Andorid situation where
invitations are never deleted from comms' queue and so prevent the
game from being considered over. Doesn't seem to happen in Linux, but
more tests are good.
2022-12-26 17:15:44 -08:00
Eric House
5fe02a0888 set initial flags to reflect new version for invites
Creating an address record without having heard from the remote is
new, and setting it to an old version was preventing using new msg
format. So set to new by default. Not sure how it'll get downgraded
facing an old client, but a 100-game upgrade test passes.....
2022-12-21 16:11:55 -08:00
Eric House
5887140d9b use hex for gameID in games list; fix compile error 2022-12-21 10:38:31 -08:00
Eric House
9b1fe83b61 fix to compile without DEBUG set 2022-12-21 10:29:48 -08:00
Eric House
7764c17705 resend all even if some unsendable
Looks like invitations become unsendable before they're deleted
sometimes and so block sending real messages. This fixes device
accepting invitation but never hearing back from host.
2022-12-21 10:21:41 -08:00
Eric House
8ce145f1fd don't try to send invite via BT without an address 2022-12-21 08:30:09 -08:00
Eric House
933da2de07 API cleanup and all done
This should complete sending to multiple topics (for backwards
compatibility) and supporting combined messages in the future (sending
them is hard; receiving not so much.)
2022-12-20 11:55:30 -08:00
Eric House
6b029d5a85 invitations work on linux 2022-12-20 09:20:02 -08:00
Eric House
233a9c465d snapshot: message sending works on android 2022-12-20 09:02:17 -08:00
Eric House
af4e39d921 snapshot: new mqtt msg format allowing multiple messages 2022-12-19 19:53:57 -08:00
Eric House
b179a0bade remove dead code 2022-12-18 18:50:05 -08:00
Eric House
3b6132d8a1 remove stuff that wasn't meant to get pushed 2022-12-18 16:21:51 -08:00
Eric House
096c13614a use ifdefs to go back to using only old-style per-device topics 2022-12-18 16:17:05 -08:00
Eric House
cf2d49e249 more 2022-12-18 10:23:36 -08:00
Eric House
ef39a2fa62 add debugging stuff -- don't push 2022-12-18 09:42:31 -08:00
Eric House
d799b94169 use persist flag and new per-game mqtt topics (too)
I didn't understand MQTT at all. Per the docs anyway it only keeps a
message around if its "persist" flag is set, and then it only keeps
the most recent per topic. I expected that when a device connected,
messages would be waiting for it, but that's apparently not true (some
evidence to the contrary.) But having all games on a device share the
same topic means only one message can be waiting. So switch to
including gameID in the topic, subscribing to a wildcard topic and
sending to a different one per game. For now, for legacy purposes,
we'll keep sending to the old per-device topic.
2022-12-16 14:35:22 -08:00
ssantos
6c64d29956
Translated using Weblate (Portuguese)
Currently translated at 100.0% (882 of 882 strings)
2022-12-16 19:47:42 +01:00
ssantos
41e4da2b04
Translated using Weblate (Portuguese)
Currently translated at 99.8% (881 of 882 strings)
2022-12-14 22:50:35 +01:00