Commit graph

13475 commits

Author SHA1 Message Date
Hosted Weblate
7da80cf096
Merge branch 'origin/android_branch' into Weblate. 2024-01-12 08:23:53 +01:00
gallegonovato
c2b5938b44
Translated using Weblate (Spanish)
Currently translated at 100.0% (898 of 898 strings)
2024-01-12 08:23:53 +01:00
Eric House
668e0ffb7f up copyright year 2024-01-11 23:03:02 -08:00
Eric House
f84bb85f22 Don't offer to rematch game that can't (yet) be rematched 2024-01-11 22:59:28 -08:00
Eric House
86def1ca9a provide a default rematch order preference 2024-01-11 13:20:05 -08:00
Eric House
90456a824d move rematch order strings into translatable space (and add German) 2024-01-11 10:50:21 -08:00
Eric House
01ec8395d3 don't build a whole new client when mqtt disconnects 2024-01-11 10:50:21 -08:00
Eric House
a16a34adc9 cleanup comms ack fix 2024-01-11 10:50:21 -08:00
CloneWith
d1033e1592
Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (891 of 891 strings)
2024-01-10 16:06:16 +01:00
Eric House
16f525f7b9 don't ACK ACKs 2024-01-09 18:17:36 -08:00
Eric House
1ae714d834 start to remove obsolete XWFEATURE_STANDALONE_ONLY 2024-01-09 18:17:36 -08:00
gallegonovato
c693df7408
Translated using Weblate (Spanish)
Currently translated at 100.0% (891 of 891 strings)
2024-01-08 15:06:23 +01:00
ssantos
208931ff74
Translated using Weblate (Portuguese)
Currently translated at 99.7% (889 of 891 strings)
2024-01-08 15:06:22 +01:00
ssantos
4ab22c209b
Translated using Weblate (German)
Currently translated at 99.8% (890 of 891 strings)
2024-01-08 15:06:22 +01:00
Eric House
24e1085b30 clarify old app start percentage option 2024-01-05 12:58:58 -08:00
Eric House
f58c567492 improve debug-release build script 2024-01-05 11:22:50 -08:00
Eric House
b8e29423c4 cleanup 2024-01-05 08:46:19 -08:00
Eric House
6018392160 send/handle all invitations at once
I'm trying to reproduce with initial invitations the stalls I'm seeing
with rematches (rarely)
2024-01-04 20:28:49 -08:00
Eric House
8388b27002 add comments about problems with signed gameIDs 2024-01-04 18:03:38 -08:00
Eric House
ac71aac787 add tile count to summary 2024-01-04 11:14:30 -08:00
Eric House
f5526652b5 remove old ifdef'd-out code 2024-01-04 09:50:24 -08:00
Eric House
c91865c991 use invite's channelNo for first incoming message
A rare stall resulted when the invitee on channel 2 responded
first. It would get assigned channel 1 and so the invitation on that
channel would get deleted. If it hadn't already reached the mqtt
server it would never be delivered. My fix is to use an invitation's
channel instead IFF its address matches the return address of the
incoming message. I'm not sure what happens if there's somehow a mix
of invited (via rematch) and invited-some-other-way players. None of
this matters for two-device games anyway.
2024-01-04 09:50:24 -08:00
Eric House
7219206214 get rid of ancient ifdef 2024-01-04 09:50:24 -08:00
Eric House
c68050e190 add summary 2024-01-04 09:50:24 -08:00
Eric House
6f6714596a add board size tests
These fail in a way that I think is unique to the curses app, so I'm
not fixing them right away.
2024-01-04 09:50:24 -08:00
Eric House
fcf1e49c16 fix double dispose in curses app 2024-01-04 09:50:24 -08:00
Eric House
4ffaa5dd73 cleanup -- should be no behavior/code change 2024-01-04 09:50:24 -08:00
Eric House
c167183e37 add core detection and board/tray size to test script 2024-01-04 09:50:24 -08:00
Eric House
78cbf7aa7b add upgrading of app mid-script 2024-01-04 09:50:24 -08:00
Eric House
d1061327c7 add ability to use new and old versions of app
TODO: upgrade mid-game
2024-01-04 09:50:24 -08:00
Eric House
bfa1c73b5e log sum of incoming invites 2024-01-04 09:50:24 -08:00
Eric House
9443bf14a4 make it work on android too 2024-01-04 09:50:24 -08:00
Eric House
5794cc43e3 log gameID wherever possible in comms.c and server.c 2024-01-04 09:50:24 -08:00
Eric House
52a1de0463 add fromRematch to existing api to avoid race condition 2024-01-04 09:50:24 -08:00
Eric House
b5de43e3dc fix assertion failure in mixed-version rematch case 2024-01-04 09:50:24 -08:00
Eric House
ffc64bc5dd cleanup/refactor 2024-01-04 09:50:24 -08:00
Eric House
f2c1f21da2 refactor 2024-01-04 09:50:24 -08:00
Eric House
7275569842 fix crash assuming wrong stream version 2024-01-04 09:50:24 -08:00
Eric House
713ce151e9 don't print duplicate status line 2024-01-04 09:50:24 -08:00
Eric House
e2414ff3bd fix NPE crash
Not sure why it happens with one old game...
2024-01-04 09:50:24 -08:00
Eric House
0ba0dcff19 replace 'make default' with remembering last choice as default
Decided it's too difficult to unset the default and not bad to just
click "ok" a second time.
2024-01-04 09:50:24 -08:00
Eric House
3d8f2886f2 more test scripts tweaks 2024-01-04 09:50:24 -08:00
Eric House
35ef711c42 print gameid as hex 2024-01-04 09:50:24 -08:00
Eric House
87557ce769 support more devices, and look for stalls 2024-01-04 09:50:24 -08:00
Eric House
f0ca490b3c fix stuff test script found 2024-01-04 09:50:24 -08:00
Eric House
3e6edd3ec4 remove the offer to reinvite from rematched games
Now that rematching creates all the invitations and an expectation of
how the invitees will be ordered it'll confuse things if unexpected
players show up. So don't allow players to send additional
invitations.
2024-01-04 09:50:24 -08:00
Eric House
1181e908dc Add option to choose how rematch-game players will be ordered
When rematching, some users have a convention that e.g. lowest scoring
player in the "parent" game goes first. So allow that, providing the
choice on each rematch until a default has been chosen. Support
changing that default in a new prefs setting.

The place I chose to enforce the order was on the host as invitees are
registering and being assigned slots. But by then there's no longer
any connection to the game that was rematched, e.g. to use its
scores. So during the rematched game creation process I create and
store with the new game the necessary ordering information. For the
3-and-4 device case, it was also necessary to tweak the information
about other guests that the host sends guests (added during earlier
work on rematching.)
2024-01-04 09:50:24 -08:00
Eric House
2936869b45 show host as part of each game display 2024-01-04 09:50:24 -08:00
Eric House
7b4f9ede41 cleanup: renaming only (server->host) 2024-01-04 09:50:24 -08:00
perro tuerto
8f6b4e1d86
Translated using Weblate (Spanish)
Currently translated at 100.0% (890 of 890 strings)
2024-01-04 15:09:45 +01:00
perro tuerto
5462f69591
Translated using Weblate (Spanish)
Currently translated at 100.0% (890 of 890 strings)
2024-01-03 00:11:00 +00:00
复予
80fa685576
Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (890 of 890 strings)
2023-12-24 14:21:30 +00:00
复予
772850ccb7
Translated using Weblate (Chinese (Simplified))
Currently translated at 91.4% (814 of 890 strings)
2023-12-22 04:13:53 +01:00
复予
39add62d77
Translated using Weblate (Chinese (Simplified))
Currently translated at 86.2% (768 of 890 strings)
2023-12-20 13:08:51 +01:00
joaooliva
d691967889
Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (890 of 890 strings)
2023-12-16 05:10:31 +00:00
ssantos
004b88700c
Translated using Weblate (German)
Currently translated at 100.0% (890 of 890 strings)
2023-12-16 05:10:30 +00:00
Eric House
f377ec6bef add missing package 2023-12-05 19:33:01 -08:00
Eric House
57b78141e9 remove dead (relay) code 2023-12-04 09:31:11 -08:00
Eric House
434096046b log to file even if --debug not on 2023-12-03 21:09:33 -08:00
Eric House
c31bc3c0eb improve rematch test 2023-12-02 14:45:25 -08:00
Eric House
c726477878 cleanup 2023-11-30 11:03:27 -08:00
Eric House
d021bb4029 add test for rematch (once for now) 2023-11-29 17:11:51 -08:00
Eric House
be9159fc35 add support for tray and board sizes 2023-11-29 11:33:12 -08:00
Eric House
b3123c5a48 add better status printing 2023-11-29 11:12:18 -08:00
Eric House
c099ea30e6 remove unnecessary saves
all games are saved on app-shutdown now
2023-11-27 21:32:48 -08:00
Eric House
55e36e10a7 new script to run many games per device
I need it to be much closer to Android....
2023-11-27 21:32:43 -08:00
Eric House
47004a0e08 linux: remove ask to accept duplicate invitations 2023-11-26 19:58:07 -08:00
Eric House
e2f9c1c699 implement mqtt msg ack for linux 2023-11-26 19:58:07 -08:00
Ranforingus
63b3517135
Translated using Weblate (Dutch)
Currently translated at 56.1% (500 of 890 strings)
2023-11-23 17:05:26 +00:00
ssantos
ee38db0c6a
Translated using Weblate (Portuguese)
Currently translated at 100.0% (890 of 890 strings)
2023-11-20 22:06:10 +00:00
Olga Akhtirskaia
dc61e8c11f
Translated using Weblate (Ukrainian)
Currently translated at 1.9% (17 of 890 strings)
2023-11-18 10:04:08 +01:00
Eric House
3b7994c291 changelog and version strings for release 2023-11-09 17:52:26 -08:00
Eric House
bdfe98a990 warn user when opening quashed game 2023-11-09 17:52:26 -08:00
Eric House
738552da2e remove dead code 2023-11-09 17:52:26 -08:00
gallegonovato
acc4b27137
Translated using Weblate (Spanish)
Currently translated at 100.0% (890 of 890 strings)
2023-11-08 21:33:46 +01:00
Eric House
c9f1863c1e remove posts to noSuchGame()
Looks like ack() does all we need, with new param
2023-11-07 19:55:36 -08:00
Eric House
67cf8518de pass topic to ack() (so unretain can work) 2023-11-07 19:55:32 -08:00
Eric House
b962b18dff include devid in ack payload
So server can choose to unretain.
2023-11-06 17:24:20 -08:00
Eric House
e78d9fbc33 add quashed to summary, and show as part of games-list state 2023-11-06 13:11:34 -08:00
Eric House
e44584e652 linux: add option to delete orphaned game 2023-11-06 13:11:34 -08:00
Eric House
3dcac063b5 show quashed state in net state icon (DEBUG only) 2023-11-06 13:11:34 -08:00
gallegonovato
14d66e7851
Translated using Weblate (Spanish)
Currently translated at 100.0% (889 of 889 strings)
2023-11-06 00:33:05 +01:00
Eric House
259357a818 reduce sending of dead-game mqtt messages
Two cases dealt with here. First, if my opponent deletes the game when
I have an un-ack'd message, I'll keep sending it forever. Fix is to
flip a bit in comms in response to a game_gone event so no more
sending will happen. (Better than emptying the queue, as it leaves
open the possibility of resurrecting the game with code changes
later.) Second, if there's a retained message from a dead game I'll
keep receiving it until it's replaced, and if the game's dead it never
will be. Fix is to add a new api endpoint noSuchGame() to the relay2
server and to call it on receiving a message for which I have no game
to deliver it to. The endpoint "unretains" the message so I won't get
it again unless it's resent.
2023-11-05 12:01:43 -08:00
Alejandro Rodriguez
0528e5b5fd
Translated using Weblate (Spanish)
Currently translated at 100.0% (889 of 889 strings)
2023-11-05 00:10:04 +01:00
gallegonovato
36e1157e06
Translated using Weblate (Spanish)
Currently translated at 100.0% (889 of 889 strings)
2023-11-05 00:10:04 +01:00
Eric House
28318eb38a shorten file path in logs
Couldn't figure out how to do it at compile-time on Android.
2023-10-29 08:09:37 -07:00
Eric House
2331cde2e7 fix to work on python3-only system
Note: I haven't actually verified that it still works.
2023-10-28 11:41:42 -07:00
Eric House
26ea25c011 fix to compile with old and new glib versions 2023-10-28 11:31:07 -07:00
Eric House
a73e2c02eb script to build github head (while travis builds broken) 2023-10-27 11:39:49 -07:00
Eric House
b876ae1ff8 add restart menuitem (debug builds only) 2023-10-27 09:05:13 -07:00
Eric House
7ca5fe7cc9 don't run off end of array
I can't reproduce what this fixes, but if I could it'd be a crash for
sure.
2023-10-26 19:31:47 -07:00
Eric House
ee2a4aaf72 fix failure to deliver ACKs on MQTT
My combining messages logic failed for ACKs, sending the queue but not
the ACK unless the ACK was in the queue. Appending it at send time is
fraught, so I am instead adding ACKs to the queue, but not persisting
them, so they only last long enough to be sent after they're
added. Seems to fix a common problem of games failing to get ACKs for
their final messages after they finish.
2023-10-26 15:37:50 -07:00
Eric House
dabb812cab fix assertions where env can't be looked up
use AttachCurrentThread(), but also fix a refcounting error in rematch
that was likely triggering the need to use it. This is all DEBUG code
so low-risk.
2023-10-26 12:28:41 -07:00
Eric House
2a9b999b99 cleanup 2023-10-25 13:55:51 -07:00
Eric House
629696144f Fix ARM compile by copying rather than casting struct ptr 2023-10-25 13:55:51 -07:00
gallegonovato
50ec6abb99
Translated using Weblate (Spanish)
Currently translated at 99.8% (887 of 888 strings)
2023-10-25 12:02:37 +00:00
eulalio
732733fc89
Translated using Weblate (Spanish)
Currently translated at 99.7% (886 of 888 strings)
2023-10-20 04:20:43 +00:00
gallegonovato
819b329ee5
Translated using Weblate (Spanish)
Currently translated at 99.7% (886 of 888 strings)
2023-10-20 04:20:42 +00:00
gallegonovato
3866763b6f
Translated using Weblate (Spanish)
Currently translated at 80.9% (719 of 888 strings)
2023-10-18 06:06:04 +02:00
eulalio
1cb4591f21
Translated using Weblate (Spanish)
Currently translated at 80.9% (719 of 888 strings)
2023-10-18 06:06:03 +02:00
eulalio
b934838224
Translated using Weblate (Spanish)
Currently translated at 69.5% (618 of 888 strings)
2023-10-11 17:01:17 +02:00
Max Digital
e3dea4552c
Translated using Weblate (Ukrainian)
Currently translated at 0.9% (8 of 888 strings)
2023-10-11 17:01:16 +02:00
eulalio
753d8788e5
Translated using Weblate (Spanish)
Currently translated at 65.0% (578 of 888 strings)
2023-10-03 12:11:12 +02:00
eulalio
fd13691f4c
Translated using Weblate (Spanish)
Currently translated at 63.5% (564 of 888 strings)
2023-09-30 17:00:18 +02:00
eulalio
44dd33c47a
Translated using Weblate (Spanish)
Currently translated at 61.8% (549 of 888 strings)
2023-09-26 17:00:25 +02:00
eulalio
cd65b9a321
Translated using Weblate (Spanish)
Currently translated at 61.2% (544 of 888 strings)
2023-09-24 19:00:24 +02:00
eulalio
391dbb462c
Translated using Weblate (Spanish)
Currently translated at 60.6% (539 of 888 strings)
2023-09-23 18:00:13 +02:00
eulalio
b1e0f0edfe
Translated using Weblate (Spanish)
Currently translated at 60.0% (533 of 888 strings)
2023-09-21 16:02:15 +00:00
eulalio
385a29a8e3
Translated using Weblate (Spanish)
Currently translated at 59.2% (526 of 888 strings)
2023-09-20 15:59:52 +02:00
ssantos
aa3d73db8c
Translated using Weblate (Portuguese)
Currently translated at 100.0% (888 of 888 strings)
2023-09-20 15:59:52 +02:00
eulalio
27164c5065
Translated using Weblate (Spanish)
Currently translated at 58.2% (517 of 888 strings)
2023-09-17 16:00:48 +00:00
ssantos
1ef6419703
Translated using Weblate (German)
Currently translated at 99.7% (886 of 888 strings)
2023-09-17 16:00:47 +00:00
eulalio
54c630447d
Translated using Weblate (Spanish)
Currently translated at 56.5% (502 of 888 strings)
2023-09-14 16:51:42 +02:00
eulalio
563e61f142
Translated using Weblate (Spanish)
Currently translated at 56.1% (499 of 888 strings)
2023-09-13 13:50:06 +02:00
eulalio
3310d9dba1
Translated using Weblate (Spanish)
Currently translated at 55.1% (490 of 888 strings)
2023-09-10 16:59:53 +02:00
eulalio
1dad3d44a8
Translated using Weblate (Spanish)
Currently translated at 54.6% (485 of 888 strings)
2023-09-10 15:19:45 +02:00
eulalio
a5fa57e3dc
Translated using Weblate (Spanish)
Currently translated at 54.0% (480 of 888 strings)
2023-09-07 14:55:50 +02:00
eulalio
51b724f5d5
Translated using Weblate (Spanish)
Currently translated at 53.0% (471 of 888 strings)
2023-09-04 22:40:02 +02:00
eulalio
8b769dd598
Translated using Weblate (Spanish)
Currently translated at 50.7% (451 of 888 strings)
2023-09-01 14:56:36 +02:00
eulalio
38db42564d
Translated using Weblate (Spanish)
Currently translated at 49.6% (441 of 888 strings)
2023-08-30 14:59:07 +02:00
eulalio
80dde1a158
Translated using Weblate (Spanish)
Currently translated at 49.0% (436 of 888 strings)
2023-08-27 19:53:52 +02:00
eulalio
98d06394fa
Translated using Weblate (Spanish)
Currently translated at 48.6% (432 of 888 strings)
2023-08-26 14:51:09 +02:00
eulalio
490ef00983
Translated using Weblate (Spanish)
Currently translated at 48.0% (427 of 888 strings)
2023-08-24 13:53:22 +02:00
eulalio
9965ebbc8e
Translated using Weblate (Spanish)
Currently translated at 46.9% (417 of 888 strings)
2023-08-22 13:52:28 +02:00
eulalio
08c3f9438b
Translated using Weblate (Spanish)
Currently translated at 45.8% (407 of 888 strings)
2023-08-20 17:50:33 +02:00
Eric House
892edc098b cleanup and move strings 2023-08-14 11:34:43 -07:00
Eric House
cae91d20cb Preliminary sketch of how cmd callbacks work 2023-08-14 08:11:01 -07:00
Prod User
7f1eec654c fix linux client test to compile and run on Anlinux proot on Android tablet 2023-08-14 08:11:01 -07:00
eulalio
e4ea888966
Translated using Weblate (Spanish)
Currently translated at 43.1% (382 of 885 strings)
2023-08-14 14:50:35 +02:00
eulalio
46d0bdc3c7
Translated using Weblate (Spanish)
Currently translated at 42.1% (373 of 885 strings)
2023-08-12 17:49:27 +02:00
eulalio
665caf9b88
Translated using Weblate (Spanish)
Currently translated at 41.1% (364 of 885 strings)
2023-08-10 13:50:41 +02:00
Eric House
53ce78e1ed initial changes toward a new test script
Android has lots of games on a single device. My current test has one
device per game. I'm hoping to fix that, and am starting with figuring
out how the script and "device" instances will communicate.
2023-08-08 12:09:47 -07:00
Eric House
e708b14c59 remove assert until I can fix it 2023-08-08 12:09:47 -07:00
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