Bartłomiej Dach
42fada578e
Centralise and improve messaging around online state
...
When the server requests a disconnect due to a user connecting
via a second device, the client will now log the user out on the first
device and show a notification informing them of the cause of
disconnection.
2023-11-21 15:15:46 +09:00
Bartłomiej Dach
1c612e2e0c
Implement client-side disconnection flow
2023-11-21 15:15:45 +09:00
Dean Herbert
e48c4fa430
Add missing ConfigureAwait
calls
2023-10-12 18:15:15 +09:00
Dean Herbert
a591af2b97
Fix too many tasks in lookupRoom
method
2023-10-12 18:11:04 +09:00
Dean Herbert
361d70f68a
Rename callback to match standards
2023-10-12 17:59:47 +09:00
Dean Herbert
d2aa601912
Allow localisation of the invite notification
2023-10-12 17:59:08 +09:00
Dean Herbert
a1a9bb75b7
Remove unnecessary schedule logic
2023-10-12 17:55:58 +09:00
Dean Herbert
cde4fad610
Simplify async
lookup logic in Invited
handling
2023-10-12 17:55:14 +09:00
Marvin Schürz
74ed3bc4ff
Rename loadRoom
to lookupRoom
2023-10-04 08:31:50 +02:00
Marvin Schürz
8e73dbc894
Load api room before displaying notification
2023-10-03 01:22:25 +02:00
Marvin Schürz
3879775219
Add room name to invite notification
2023-10-02 23:20:24 +02:00
Marvin Schürz
e81695bcac
Display avatar in invitation notification
2023-10-02 23:10:51 +02:00
Marvin Schürz
574dc67a9e
Add Invited
task to multiplayer client
2023-10-02 22:53:28 +02:00
Marvin Schürz
d19cdbdefb
Add InvitePlayer
method to multiplayer server
2023-10-02 22:31:47 +02:00
timiimit
5d68701321
Copy StarRange when creating PlaylistItem
2023-05-14 12:08:37 +02:00
Dean Herbert
27c497145f
Fix the MOTHERLOAD of undetected issues that are now visible thanks to net6.0
2022-12-16 18:16:26 +09:00
Dan Balasescu
7bc8908ca9
Partial everything
2022-11-27 00:00:27 +09:00
Dan Balasescu
b0faa009c1
Add some debugging for multiplayer test failures
2022-11-18 14:52:11 +09:00
Dan Balasescu
700000b583
Use custom notification with timer
2022-09-20 15:54:18 +09:00
Dan Balasescu
92b2417d4c
Post notification when room joined
2022-09-16 21:10:11 +09:00
Dan Balasescu
433bb5ae24
Add ServerShuttingDownCountdown
2022-09-16 19:56:52 +09:00
Dean Herbert
13d9b2188b
Merge pull request #20145 from smoogipoo/multiple-countdowns
...
Implement support for multiple active countdowns in multiplayer
2022-09-08 19:15:30 +09:00
Dan Balasescu
2923c10cd8
Rewrite rooms to store multiple active countdowns
...
Update test to the new structure
2022-09-05 19:03:26 +09:00
Dan Balasescu
b5ec7d06dd
Add auto-skip setting
...
Default to auto skip
2022-08-31 20:24:06 +09:00
Dan Balasescu
4107049b08
Fix host room status showing ended after playing
2022-08-09 21:43:10 +09:00
Dean Herbert
55a8a3563b
Change MultiplayerMatchSubScreen
to not immediately leave the room on connection loss
...
Instead, we can rely on `MultiplayerClient.Room` going `null`.
2022-07-17 21:19:10 +09:00
Dan Balasescu
b64c0d011c
Isolate client's Room from TestMultiplayerClient
2022-07-01 19:23:25 +09:00
Dan Balasescu
f8830c6850
Automated #nullable processing
2022-06-17 16:37:17 +09:00
Dan Balasescu
06ac3c1ad3
Make MultiplayerClient update CurrentPlaylistItem
2022-06-03 21:17:23 +09:00
Dan Balasescu
59622deb1f
Add LoadAborted() event
2022-04-21 22:40:52 +09:00
Dan Balasescu
08d250fe58
Rename MatchStarted() -> GameplayStarted()
2022-04-21 22:39:24 +09:00
Dean Herbert
c0ad91796d
Fix gameplay start flow
2022-04-13 20:57:40 +09:00
Dean Herbert
2bb0d9e6d3
Expose required classes/properties for mocking
2022-04-13 17:02:33 +09:00
Dean Herbert
20eca9bf6a
Refactor TestSceneRankRangePill
to not depend on TestMultiplayerClient
2022-04-12 19:39:24 +09:00
Dean Herbert
34457b4742
Expose mocked members as virtual
on Multiplayer
and SpectatorClient
2022-04-11 19:04:15 +09:00
Dan Balasescu
9ea6f9b1fe
Remove some incorrectly-firing asserts
2022-04-08 21:44:44 +09:00
Dan Balasescu
62f5409191
Merge pull request #17725 from peppy/multiplayer-hotifx
...
Avoid multiplayer crashes when events arrive in unexpected order
2022-04-08 20:23:37 +09:00
Dean Herbert
5c571996d8
Avoid multiplayer crashes when events arrive in unexpected order
...
Intended to be a temporary fix for
https://github.com/ppy/osu/issues/17713 while a more permanent solution
is established. A proper fix is actually quite simple, but updating the
test to work with it is... *slightly* more complicated.
This hotfix will mean that if a `UserJoined` event arrives during the
unobserved window during room join (of the local user), the local user
still won't see the joining user, but the game won't crash as a result.
2022-04-08 17:55:47 +09:00
Dean Herbert
6bb8243212
Fix potential assert failure due to Room
access from disconnection event
2022-04-08 17:41:03 +09:00
Dean Herbert
933a722cfc
Remove secondary null checks which cannot exist (were on wrong thread)
2022-04-08 14:56:04 +09:00
Dean Herbert
64c63fe93a
Move null check in JoinRoom
on to update thread
2022-04-08 14:52:56 +09:00
Dean Herbert
d50f41225f
Rename scheduleAsync
to runOnUpdateThreadAsync
2022-04-08 14:43:53 +09:00
Dean Herbert
9ba99ed57d
Ensure all access to MultiplayerClient.Room
is on the update thread
...
This was an implicit requirement until now, but not well documented
everywhere. Adding this makes it much easier to understand the
requirement (and probably safer).
2022-04-08 14:42:56 +09:00
Dean Herbert
f92a31cd39
Merge pull request #17402 from smoogipoo/multiplayer-auto-countdown
...
Add multiplayer auto-start countdown timer
2022-03-25 20:31:14 +09:00
Dan Balasescu
0d88af19ae
Fix local setting not being updated
2022-03-24 20:23:58 +09:00
Dean Herbert
e889d93441
Add asserts of playlist being non-empty after client operations
2022-03-24 17:52:20 +09:00
Dan Balasescu
d0fee53e1f
Implement auto countdown timers
...
Change to using TimeSpan
2022-03-22 14:34:06 +09:00
Dan Balasescu
72843a6797
Add support for starting/stopping countdowns
2022-03-18 14:33:09 +09:00
Dan Balasescu
bdc3b76df0
Remove beatmap bindable from PlaylistItem
2022-02-15 23:50:08 +09:00
Dan Balasescu
efeba30b9f
Remove ruleset and mod bindables from PlaylistItem
2022-02-15 16:28:15 +09:00