Commit graph

13169 commits

Author SHA1 Message Date
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
Eric House
31593aaeda call setRetained on all outbound messages 2022-12-13 17:41:48 -08:00
Eric House
e051fa04f9 fix robot having human name in config dialog 2022-12-13 06:13:03 -08:00
Eric House
988cf7f175 remove mistaken assert 2022-12-11 21:08:24 -08:00
Eric House
53e1a68d6d track, and offer to display, comms-sent invites like others
I'm only keeping the most recent since they're sent every time a game
opens, app launches, etc.
2022-12-10 22:17:14 -08:00
Hosted Weblate
b8a9e1715a
Update translation files
Updated by "Cleanup translation files" hook in Weblate.

Translation: Crosswords/Android
Translate-URL: https://hosted.weblate.org/projects/xwords/android/
2022-12-10 17:09:33 +01:00
Hosted Weblate
693ded041b
Merge branch 'origin/android_branch' into Weblate. 2022-12-10 17:09:32 +01:00
Viktória Nagy
df70b0dbb5
Translated using Weblate (Hungarian)
Currently translated at 10.5% (93 of 883 strings)
2022-12-10 17:09:31 +01:00
Eric House
ed21fe01f4 remove dead string 2022-12-10 08:09:19 -08:00
ssantos
497bac22dd
Translated using Weblate (German)
Currently translated at 99.8% (882 of 883 strings)
2022-12-09 15:48:20 +01:00
Wellington Terumi Uemura
89d0572fd7
Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (883 of 883 strings)
2022-12-07 14:48:29 +01:00
Eric House
aea7c3fd92 always save known player game start time
Was only saving it in case of conflict, which is rare
2022-12-06 07:45:10 -08:00
Hosted Weblate
a14e08240f
Update translation files
Updated by "Cleanup translation files" hook in Weblate.

Translation: Crosswords/Android
Translate-URL: https://hosted.weblate.org/projects/xwords/android/
2022-12-06 06:21:59 +01:00
Eric House
a2806f1c3f show known player name of missing host
This is for debugging use only for now, but it's useful when a host
seems non-responsive to know which it is.
2022-12-05 21:21:46 -08:00
Hosted Weblate
ce8372f46a
Update translation files
Updated by "Cleanup translation files" hook in Weblate.

Translation: Crosswords/Android
Translate-URL: https://hosted.weblate.org/projects/xwords/android/
2022-12-05 22:57:20 +01:00
Hosted Weblate
9c0ec79424
Merge branch 'origin/android_branch' into Weblate. 2022-12-05 22:57:19 +01:00
Wellington Terumi Uemura
cbaee81ec9
Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (886 of 886 strings)
2022-12-05 22:57:19 +01:00
Eric House
48748110ed get rid of banned-nbs info -- been long enough 2022-12-05 13:56:12 -08:00
Eric House
47a5e66d72 perms now needed for NBS 2022-12-05 13:56:12 -08:00
Eric House
3826ddfbff don't ask for phone permissions if can't send NBS 2022-12-05 13:56:12 -08:00
Eric House
af8c7b9900 remove notion of banned permissions 2022-12-05 13:56:12 -08:00
Eric House
e5d91be4c4 add another bt perms test 2022-12-05 13:56:12 -08:00
Eric House
871a45d3d3 add permissions 2022-12-05 13:56:12 -08:00
Eric House
f72a6c1b88 default nbs_port to 0
Shouldn't be referenced at all on GPlay builds, but that's more work
2022-12-05 13:54:49 -08:00