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