Dean Herbert
187fa5eccd
Use full async
flow rather than ContinueWith
2024-10-22 18:48:01 +09:00
Bartłomiej Dach
5104f3e7ac
Switch multiplayer away from using UserLookupCache
...
After switching `UserLookupCache` to `GET /users/lookup` from `GET
/users`, multiplayer sort of breaks, since the former endpoint does not
return `ruleset_statistics`, which are used in multiplayer to show
users' ranks. Therefore, switch multiplayer to use the appropriate
request type directly.
2024-10-08 14:46:50 +02:00
Dean Herbert
4b279ecaa8
Fix mistake
2024-08-15 16:44:15 +09:00
Dean Herbert
26da2c0637
Update MultiplayerClient
test output with new knowledge
2024-08-15 16:16:48 +09:00
Dean Herbert
78ef436ea0
Update test debug output to test second scenario
2024-08-14 12:23:47 +09:00
Dean Herbert
3e634a14a4
Add temporary debug code for multiplayer test failures
2024-08-09 18:43:37 +09:00
Bartłomiej Dach
7d31af6f16
Fix room status not updating when password is changed while inside the room
2024-05-03 11:37:09 +02:00
Dean Herbert
7141177966
Better signify private rooms by showing a different status pill design
2024-05-03 17:17:35 +08:00
Dan Balasescu
a94180c8c6
Rename LoadAborted -> GameplayAborted, AbortGameplayReal -> AbortMatch
2023-12-01 18:26:59 +09:00
Dan Balasescu
894c31753b
Add initial support for aborting multiplayer games
2023-12-01 15:31:06 +09:00
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