Bartłomiej Dach
|
1c612e2e0c
|
Implement client-side disconnection flow
|
2023-11-21 15:15:45 +09:00 |
|
Dean Herbert
|
56e27f1c27
|
Merge branch 'master' into multiplayer-invites
|
2023-10-12 18:17:15 +09:00 |
|
Marvin Schürz
|
574dc67a9e
|
Add Invited task to multiplayer client
|
2023-10-02 22:53:28 +02:00 |
|
Dean Herbert
|
56b5f52e83
|
Update all dependencies (except for Moq)
|
2023-09-16 15:37:31 +09:00 |
|
Bartłomiej Dach
|
474f7c2bc0
|
Fix code quality inspection
|
2023-06-03 16:50:58 +02:00 |
|
Dean Herbert
|
7a5349d747
|
Remove constructor from MultiplayerPlaylistItem which is only used in tests
|
2023-05-25 20:09:40 +09:00 |
|
Dean Herbert
|
4a7d7c6ed9
|
Use MaxBy in all locations that can and update inspection level to match dotnet-build
|
2022-12-19 16:47:10 +09:00 |
|
Dan Balasescu
|
7bc8908ca9
|
Partial everything
|
2022-11-27 00:00:27 +09:00 |
|
Dean Herbert
|
770c1ade2f
|
Add test coverage of track rate adjusting during multi spectator
|
2022-09-07 20:00:24 +09:00 |
|
Dan Balasescu
|
084a65578c
|
Always clone messages incoming from client-side
|
2022-07-01 19:36:37 +09:00 |
|
Dan Balasescu
|
37acec1952
|
Isolate client's LocalUser from TestMultiplayerClient
|
2022-07-01 19:23:41 +09:00 |
|
Dan Balasescu
|
b64c0d011c
|
Isolate client's Room from TestMultiplayerClient
|
2022-07-01 19:23:25 +09:00 |
|
Dan Balasescu
|
0be858b5bf
|
Rename APIRoom -> ClientAPIRoom, remove unused asserts
|
2022-07-01 19:21:59 +09:00 |
|
Dan Balasescu
|
1c2ffb3bc4
|
Fix server-side objects being sent to client
|
2022-07-01 19:21:53 +09:00 |
|
Dean Herbert
|
158f0a1f23
|
Remove remaining Room!=null checks in TestMultiplayerClient where possible
|
2022-06-23 17:38:34 +09:00 |
|
Dean Herbert
|
bc557bacf0
|
Remove room null assertion in TestMultiplayerClient.ChangeState to avoid assert
This method is run from async contexts, but `get_Room` asserts update
thread which is not the case. Was causing silent test failures (showing
as pass but failing `dotnet-test` via return code):
TestSceneMultiplayer.TestGameplayFlow
```
[13:13:17] : [dotnet test] [runtime] 2022-06-22 13:13:16 [error]: Score preparation failed!
[13:13:17] : [dotnet test] [runtime] 2022-06-22 13:13:16 [error]: NUnit.Framework.AssertionException: :
[13:13:17] : [dotnet test] [runtime] 2022-06-22 13:13:16 [error]: at osu.Framework.Logging.ThrowingTraceListener.Fail(String message1, String message2)
[13:13:17] : [dotnet test] [runtime] 2022-06-22 13:13:16 [error]: at System.Diagnostics.TraceInternal.Fail(String message, String detailMessage)
[13:13:17] : [dotnet test] [runtime] 2022-06-22 13:13:16 [error]: at System.Diagnostics.TraceInternal.TraceProvider.Fail(String message, String detailMessage)
[13:13:17] : [dotnet test] [runtime] 2022-06-22 13:13:16 [error]: at System.Diagnostics.Debug.Fail(String message, String detailMessage)
[13:13:17] : [dotnet test] [runtime] 2022-06-22 13:13:16 [error]: at osu.Game.Online.Multiplayer.MultiplayerClient.get_Room() in /opt/buildagent/work/ecd860037212ac52/osu.Game/Online/Multiplayer/MultiplayerClient.cs:line 98
[13:13:17] : [dotnet test] [runtime] 2022-06-22 13:13:16 [error]: at osu.Game.Tests.Visual.Multiplayer.TestMultiplayerClient.ChangeState(MultiplayerUserState newState) in /opt/buildagent/work/ecd860037212ac52/osu.Game/Tests/Visual/Multiplayer/TestMultiplayerClient.cs:line 275
[13:13:17] : [dotnet test] [runtime] 2022-06-22 13:13:16 [error]: at osu.Game.Screens.OnlinePlay.Multiplayer.MultiplayerPlayer.PrepareScoreForResultsAsync(Score score) in /opt/buildagent/work/ecd860037212ac52/osu.Game/Screens/OnlinePlay/Multiplayer/MultiplayerPlayer.cs:line 223
[13:13:17] : [dotnet test] [runtime] 2022-06-22 13:13:16 [error]: at osu.Game.Screens.Play.Player.prepareScoreForResults() in /opt/buildagent/work/ecd860037212ac52/osu.Game/Screens/Play/Player.cs:line 747
```
|
2022-06-23 14:10:20 +09:00 |
|
Dan Balasescu
|
f8830c6850
|
Automated #nullable processing
|
2022-06-17 16:37:17 +09:00 |
|
Dan Balasescu
|
08d250fe58
|
Rename MatchStarted() -> GameplayStarted()
|
2022-04-21 22:39:24 +09:00 |
|
Dean Herbert
|
9b433280bd
|
Remove countdown implementation from TestMultiplayerClient
|
2022-04-13 21:24:33 +09:00 |
|
Dan Balasescu
|
e1f147a207
|
Mutate playlist in EditUserPlaylistItem
|
2022-04-04 13:46:41 +09:00 |
|
Dan Balasescu
|
6e6271d0c0
|
Fix "server-side" room playlist not updated
Remove unused using
|
2022-04-01 18:32:10 +09:00 |
|
Dan Balasescu
|
2553cfed75
|
Match new server ready/unready logic
|
2022-03-25 17:04:45 +09:00 |
|
Dean Herbert
|
b1f0f89fdd
|
Simplify AutoStart and Host checks
|
2022-03-25 15:41:01 +09:00 |
|
Dan Balasescu
|
d3a957d64e
|
Fix test client not receiving initial value
|
2022-03-24 20:24:09 +09:00 |
|
Dan Balasescu
|
f80692f342
|
Add missing TestMultiplayerClient coverage
|
2022-03-24 20:19:05 +09:00 |
|
Dan Balasescu
|
5fe46a73cb
|
Update room state in more situations
|
2022-03-24 20:17:16 +09:00 |
|
Dan Balasescu
|
209de886ce
|
Add method to stop countdown
|
2022-03-24 20:17:16 +09:00 |
|
Dan Balasescu
|
ea9de0199d
|
Split countdown start into separate method
|
2022-03-24 20:09:32 +09:00 |
|
Dan Balasescu
|
dfa076c169
|
Refactor cancellation logic
|
2022-03-24 16:29:59 +09:00 |
|
Dan Balasescu
|
4c0d76573c
|
Asserate code is running on update thread
|
2022-03-24 15:51:30 +09:00 |
|
Dan Balasescu
|
f0d132b16e
|
Rename FinishCountdown() -> SkipToEndOfCountdown()
|
2022-03-24 15:21:46 +09:00 |
|
Dan Balasescu
|
d2ecc100e5
|
Revert unnecessary async change
|
2022-03-24 15:07:24 +09:00 |
|
Dan Balasescu
|
8f3a4df70a
|
Add explanation for try-catch
|
2022-03-24 15:07:24 +09:00 |
|
Dan Balasescu
|
d36944ac95
|
Dispose token manually
Cover more branches with cancellation source disposal
|
2022-03-24 15:07:24 +09:00 |
|
Dan Balasescu
|
a83a90e675
|
Rename countdown Delay -> Duration
|
2022-03-23 15:21:16 +09:00 |
|
Dan Balasescu
|
f7c0047206
|
Send time remaining in countdowns instead
|
2022-03-23 15:19:43 +09:00 |
|
Dean Herbert
|
483fb84b56
|
Fix typo in FinishCountdown method
|
2022-03-22 16:50:13 +09:00 |
|
Dan Balasescu
|
4630aa15cc
|
Apply refactorings according to reviews
|
2022-03-22 12:54:19 +09:00 |
|
Dan Balasescu
|
04f4e81852
|
Rename start countdown request
|
2022-03-18 21:05:19 +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 |
|
Dean Herbert
|
e74a5022c9
|
Fix multiple tests via null checks and changing ToLive to Detach
flow
|
2022-01-12 17:00:17 +09:00 |
|
Dean Herbert
|
031a40af6a
|
Replace usages of Wait with WaitSafely
|
2022-01-04 11:51:41 +09:00 |
|
Dan Balasescu
|
998b07db90
|
Fix TestMultiplayerClient referencing the wrong room
|
2021-12-23 19:14:09 +09:00 |
|
Dan Balasescu
|
9316abc278
|
Better fix for intermittent multiplayer tests
|
2021-12-20 13:10:13 +09:00 |
|
Dean Herbert
|
33cf4ba7f6
|
Merge pull request #16075 from smoogipoo/prevent-idle-transition-during-load
Add AbortGameplay() to fix state transition race conditions during multiplayer load
|
2021-12-15 19:59:19 +09:00 |
|
Dan Balasescu
|
9ade8069a1
|
Rename to AbortGameplay() and handle additional states
|
2021-12-15 06:40:28 +09:00 |
|
Dan Balasescu
|
750bfae909
|
Fix TestMultiplayerClient not handling all users bailing from gameplay
|
2021-12-14 11:35:56 +09:00 |
|
Dan Balasescu
|
2f1dc91211
|
Add AbortLoad() method to abort gameplay loads
|
2021-12-14 11:30:42 +09:00 |
|
Dan Balasescu
|
6057037e35
|
Move playlist item beatmap population to MatchSubScreen
|
2021-12-10 20:08:59 +09:00 |
|