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