Commit Graph

1374 Commits

Author SHA1 Message Date
3d28a0ccef Merge pull request #11271 from peppy/dev-server
Prefer connecting to dev server when running in DEBUG
2020-12-24 23:01:19 +09:00
d5c348b568 Remove explicit public access modifier from interface 2020-12-24 13:44:46 +01:00
66a23c22e5 Fix various tests failing due to dependence on specific online data 2020-12-24 21:28:24 +09:00
4fb2610c82 Merge branch 'master' into frame-bundle-accuracy 2020-12-24 11:20:06 +01:00
323da82477 Add website root URL and update most links to use it
For what it's worth, I intentionally didn't include news / changelog /
supporter, because these should never change.
2020-12-24 18:11:42 +09:00
eb795a2127 Move all endpoint information to a configuration class 2020-12-24 17:58:38 +09:00
1f80f01b53 Add accuracy to frame bundle header 2020-12-24 14:46:52 +09:00
43370d7021 Merge pull request #11273 from bdach/duplicate-user-in-mp-room
Improve reliability of handling user joined messages
2020-12-24 14:31:44 +09:00
b29a5e2073 Merge pull request #11270 from bdach/better-error-handling
Improve error handling at realtime room settings screen
2020-12-24 13:23:49 +09:00
a71496bc4e Sanity check received user joined messages
While test failures fixed in 9843da5 were a shortcoming of the test,
they exposed a potential vulnerable point of the multiplayer client
logic. In case of unreliable message delivery it is not unreasonable
that duplicate messages might arrive, in which case the same scenario
that failed in the tests could crash the game.

To ensure that is not the case, explicitly screen each new joined user
against the room user list, to ensure that duplicates do not show up.
`UserLeft` is already tolerant in that respect (if a user is requested
to be removed twice by the server, the second removal just won't do
anything).
2020-12-23 21:00:49 +01:00
e89583d732 Prefer connecting to dev server when running in DEBUG 2020-12-24 01:33:19 +09:00
3b0bf11366 Fix JoinRoom failing to return canceled token
As it turns out, `Task.FromCanceled` expects to receive an already
cancelled `CancellationToken`, which `CancellationToken.None` is not.
2020-12-23 17:01:01 +01:00
4296f61d6c Tidy up event flow of change settings call 2020-12-23 22:39:14 +09:00
94e4928c4b Bring back accidentally-removed license header 2020-12-23 11:27:15 +01:00
0ddcab574f Rename method to avoid weird code analysis rule 2020-12-23 17:14:58 +09:00
7cc38f03d1 Use extension method in all call sites of fire-and-forget async usage 2020-12-23 17:10:34 +09:00
569c4092ef Move notification to stateful client so it is only shown to the user from one location 2020-12-23 16:35:39 +09:00
00d50150de Ensure the current room is left at a mutliplayer client level on client disconnection 2020-12-23 16:35:39 +09:00
08d87ccb1e Merge branch 'master' into present-recommended 2020-12-22 23:36:13 +01:00
12876d7fb6 Add very basic error handling on ChangeSettings calls 2020-12-22 16:50:30 +09:00
3f966386ed Fix compile time failure due to potentially null connection 2020-12-22 15:15:32 +09:00
d229fbba6e Merge branch 'master' into present-recommended 2020-12-22 13:52:29 +09:00
c07b2d89e6 Merge branch 'master' into realtime-multiplayer-2 2020-12-21 18:44:03 +09:00
3e3d5b2e37 Merge pull request #11235 from smoogipoo/fix-apibeatmapset-deserialisation
Fix metadata lost in beatmapset deserialisation
2020-12-21 18:03:30 +09:00
44af32dc47 Merge pull request #11234 from smoogipoo/fix-category-serialisation
Fix room category being serialised as int
2020-12-21 18:03:10 +09:00
5ec64c0348 Merge pull request #11232 from smoogipoo/participant-count-serialisation
Make participant count non-nullable
2020-12-21 17:34:01 +09:00
93cac000e5 Merge branch 'fix-apibeatmapset-deserialisation' into realtime-multiplayer-2 2020-12-21 17:16:28 +09:00
eb46c9ce9b Fix metadata lost in beatmapset deserialisation 2020-12-21 17:11:30 +09:00
04af072da7 Merge branch 'fix-category-serialisation' into realtime-multiplayer-2 2020-12-21 16:57:22 +09:00
e23d81bfc6 Use enum property 2020-12-21 16:56:45 +09:00
a021aaf546 Fix room category being serialised as ints 2020-12-21 16:42:21 +09:00
5d73359bd7 Make participant count non-nullable 2020-12-21 16:35:19 +09:00
64a32723f3 One more case 2020-12-21 16:23:42 +09:00
14ea49a14d Merge branch 'nullable-endsat' into realtime-multiplayer-2 2020-12-21 16:22:16 +09:00
a59124dd93 Make room duration/endsat nullable 2020-12-21 16:18:39 +09:00
bcd140b8df Merge branch 'master' into realtime-ready-button 2020-12-20 18:20:57 +01:00
b31f4e9e85 Merge branch 'stateful-multiplayer-client' into realtime-multiplayer-2 2020-12-21 00:41:42 +09:00
a893360c0e Reword comment 2020-12-21 00:41:14 +09:00
536df074a9 Don't attempt to re-map existing beatmap/ruleset (for testing) 2020-12-21 00:02:49 +09:00
1d7d8bd6fc Hook up a realtime multiplayer client 2020-12-20 23:26:31 +09:00
fdfe3c2b36 Merge branch 'realtime-ready-button' into realtime-multiplayer-2 2020-12-20 23:11:06 +09:00
4ada0e17c0 Merge branch 'abstract-room-manager' into stateful-multiplayer-client 2020-12-20 23:10:05 +09:00
9d13a5b06a Fix potential cross-thread list access 2020-12-20 22:53:07 +09:00
f876a329b1 Fire-and-forget leave-room request 2020-12-20 22:51:33 +09:00
45107280a0 Make TimeBetweenPolls into a bindable 2020-12-20 18:34:54 +09:00
0cf078562d Split method up and remove nested scheduling 2020-12-20 18:30:00 +09:00
508f73d949 Fix up comment 2020-12-20 18:25:54 +09:00
8b1f5ff492 Only instantiate ruleset once 2020-12-20 18:25:23 +09:00
724e4b83fe Fix nullability and remove early check 2020-12-20 18:21:03 +09:00
d392e0f27e Extract shared rank-formatting helper 2020-12-19 15:04:22 +01:00