Commit graph

189 commits

Author SHA1 Message Date
Eric House
34f68a435b include game name in nli when rematching 2022-11-18 21:52:10 -08:00
Eric House
92b02fccb7 cleanup 2022-11-18 11:09:22 -08:00
Eric House
6f57665da2 pass number of pending comms invites into informMissing() 2022-11-18 11:09:22 -08:00
Eric House
924695d3fb add new stream version that skips relay and allows longer string
And remove some dead code
2022-11-18 11:09:22 -08:00
Eric House
41d9d4a254 complete getUsername() impl to call into prefs for user choice 2022-11-18 11:09:22 -08:00
Eric House
12d8a092d7 move getUsername() to dutils to avoid crash
Being in util meant the default implementation got called, and that
returned a null string: boom.
2022-11-18 11:09:22 -08:00
Eric House
f5cc23f591 add assert 2022-11-18 11:09:22 -08:00
Eric House
f2b707ed4d add assert to test where param is unnecessary 2022-11-18 11:09:22 -08:00
Eric House
5a5a8e7db8 make games connect after creation from invitation 2022-11-18 11:09:22 -08:00
Eric House
3923a2d9a6 check for duplicate invites; don't create if found
Add dutil proc haveGame() and use it to detect duplicate
invitations. I'm passing, but ignoring on android, the channel, which
means that for now you can't invite yourself and on-device testing
requires having CrossWords and CrossDbg or a second user.
2022-11-18 11:09:22 -08:00
Eric House
980ba68297 fix stuff crashing android 2022-11-18 11:09:22 -08:00
Eric House
766554d3f5 snapshot: rematch and invitation handling most work from common
But curses will crash, duplicates and missing dicts aren't handled,
etc.
2022-11-18 11:09:22 -08:00
Eric House
8a64d53f61 cleanup 2022-11-18 11:09:22 -08:00
Eric House
b9c6551e8b merge android_branch changes to comms_make
Not tested at all on android
2022-11-18 11:09:22 -08:00
Eric House
d1a9c07adc fix so invites work, at least in simple case 2022-11-18 11:09:22 -08:00
Eric House
16857ab74a snapshot: comms_invite() call gets to jni 2022-11-18 11:09:22 -08:00
Eric House
fad2c7b3c1 add assert and a debugging aid 2022-10-06 08:45:03 -07:00
Eric House
e55212df9f improve new game creation
There was some confusion around host and self addresses, where they're
created, default values, removing conTypes from defaults that are not
in received host addr, etc. I left in some asserts to help understand
if code that seems wrong but hard to fix is still getting called.
2022-09-14 21:37:44 -07:00
Eric House
674c811a09 pass addresses to game on creation
Current networking, based on invitations rather than a relay that
plays matchmaker, allows host to know its address when a game is
created, and for guest to know its host's address in
addition. Enforcing this makes inviting and rematching in common
code (coming soon) easier. Big change on Android is I used to create a
new game prior to passing it to GameConfigDelegate, but now I have to
wait for user to configure (including choosing how to communicate)
before I can create it.
2022-09-06 18:21:53 -07:00
Eric House
e6d516ca1d remove assertion firing in dup mode
The assertion's clearly blocking testing, but I'm not sure it's not an
error for two move explanations to want to co-exist. For now they're
concatenated.
2022-08-01 13:05:19 -07:00
Eric House
b1b8644f8f cleanup: delete ref where it's last used 2022-07-11 17:47:57 -07:00
Eric House
dac0727c40 fix sig mismatch between jni and java 2022-07-11 17:47:57 -07:00
Eric House
51abc98647 use same variable name throughout 2022-07-08 21:57:42 -07:00
Eric House
a393a99c19 add ISOCode class
I was getting language name and iso code confused so adding a new type
to keep them separate. Keep string type for crossing JNI boundary and
passing as param e.g. in URLs and Bundles.
2022-07-07 10:00:24 -07:00
Eric House
9e835b90bf refactor jni code
Adding some utility functions
2022-07-07 10:00:24 -07:00
Eric House
a6a6523e9c cleanup: remove asserts and unused strings
Some asserts were firing in the very rare case where for some reason
relay couldn't be converted to mqtt.
2022-07-02 20:15:29 -07:00
Eric House
2dfc9129f3 add timestamp to saved msgs, modify mqtt header to include later
I want receiver to know when message was originally created. This adds
timestamp to messages and passes it via send proc. Client needs to
send it where possible. So far, MQTT format can't include it without
change, so I'm adding a new proto version. This change can read the
new version. Once that's well-enough distributed I can start sending
using it. Other transmission types than MQTT are for later.
2022-06-29 12:34:27 -07:00
Eric House
20908284f5 LangCode->ISOCode replacement, Android side
Now we use only ISOCode string internally to identify languages, and
since that's universal it can be built into an wordlist and used
without the build of CrossWords knowing about that language
specifically (though it'll have to know about it to have the language
name be localizable.) For legacy support, though, the old int codes
are transmitted in invitations and URLs IFF available, otherwise the
string's used. If a newer build invites and older build to play in a
too-new language there will be trouble.
2022-06-05 09:07:06 -07:00
Eric House
33b636b458 cleanup around lc code; add to JNI 2022-06-04 14:18:03 -07:00
Eric House
4190926c0a add isoCode to DictInfo, and load it 2022-06-04 14:18:00 -07:00
Eric House
df1606c8fb use ifdef to remove relay-only params 2022-05-15 12:10:37 -07:00
Eric House
66b94ce67b more cleanup 2022-05-10 20:54:26 -07:00
Eric House
5834125058 remove two relay-related prefs 2022-05-10 20:54:26 -07:00
Eric House
5f4dd46f72 rip out most devid stuff 2022-05-10 20:54:26 -07:00
Eric House
58cba766d3 remove RelayService and stuff that uses it 2022-05-10 20:54:26 -07:00
Eric House
3953ab19a4 remove more relay code (and undef XWFEATURE_RELAY) 2022-05-10 20:54:26 -07:00
Eric House
06583daf7d more removing relay 2022-05-10 20:54:25 -07:00
Eric House
bc31024647 assert relay calls not getting made 2022-05-10 20:54:25 -07:00
Eric House
da23bfe23b add debug pref to not add mqtt to all games
I want it for testing that stuff like NBS (data SMS) works for more
than connecting. MQTT works so well nothing ever gets used once it's
there.
2022-05-09 15:10:15 -07:00
Eric House
b209188077 make android supports 21x21 too
Only Dbg builds will see option to create for now
2022-04-04 11:46:22 +02:00
Eric House
2175600190 use new webapi to fetch mqttid to replace relayid
And drop relay once we have it. Makes perfecting RelayService backoff
less an issue.
2022-02-12 13:27:24 -08:00
Eric House
2e5f6128f2 post new msg message from relay2
This is to have a utility back, but mostly to start playing with being
able to send keepalives to a device that have nothing to do with moves.
2022-01-06 19:07:08 -08:00
Eric House
a85f5df4e3 another tweak: make version imply format 2021-12-29 07:35:43 -08:00
Eric House
694953c820 add support for trays with up to 9 tiles 2021-07-16 12:15:46 -07:00
Eric House
e667291da5 show invitee name where possible
When I've invited a Known Player, use that player's name in parens in
scoreboard and games list elem/summary until a remote device connects
(usually in response to an invitation) and provides an actual player
name. Makes it much easier to tell one pending game from another. And
doesn't really work (yet) where there's more than one remote player in
a game.
2021-05-30 13:31:33 -07:00
Eric House
be698069a4 cleanup of recent changes 2021-05-14 11:34:15 -07:00
Eric House
daf5894d79 call new web api to ack mqtt messages
This is toward debugging. Not sure it'll be use to add functionality yet.
2021-04-19 07:04:58 -07:00
Eric House
d74161958e cleanup: remove dead and use new code 2021-03-28 20:27:24 -07:00
Eric House
2a20caa6d7 fix breakage caused by merge 2021-03-27 11:00:06 -07:00
Eric House
64ff2e5f69 Merge branch 'android_branch' into wasm 2021-03-27 10:27:14 -07:00