Salman Ahmed
f82ed64aa7
Fix participant panel null user test no longer functioning properly
...
I guess the changes that involved `MultiplayerTestScene` having a test
user lookup cache caused this test case to false-pass silently.
Added an explicit assert which ensures the added user indeed has a null
`User` value.
2021-08-16 09:07:00 +03:00
Dean Herbert
e6b3aba6e1
Fix incorrectly directed call in TestMultiplayerClient
2021-08-14 14:08:29 +09:00
Dan Balasescu
60e988aac3
Merge branch 'master' into multiplayer-kick-support
2021-08-12 11:46:56 +09:00
Dean Herbert
e8ad0fba75
Add required server methods for kicking users
2021-08-11 17:20:41 +09:00
Dean Herbert
ea6e441dec
Simplify method of marking players as playing in test scenes
2021-08-09 19:21:22 +09:00
Dean Herbert
551929cf5a
Simplify method of marking players as playing in test scenes
2021-08-09 19:18:13 +09:00
Dean Herbert
1e5d9003d3
Add the ability for tests to alter the room and user states which during testing
2021-08-09 16:58:36 +09:00
Dean Herbert
75426f84f1
Fire initial match user states in TestMultiplayerClient
2021-08-03 23:42:37 +09:00
Dean Herbert
9bfb0f1294
Add basic team vs handling to TestMultiplayerClient
...
Not sure this is the best place to do so... I can foresee this class
getting much larger than we want it to.
2021-08-03 23:42:37 +09:00
Dean Herbert
70da58323a
Drop MatchRuleset
terminology completely
2021-08-03 15:45:17 +09:00
Dean Herbert
9d1e95caf0
Add flow for sending match ruleset specific messages to the server
2021-08-02 18:47:26 +09:00
Dean Herbert
888954747c
Rename class, add commenting and avoid firing requests to create rooms for testing purposes
2021-07-26 15:47:13 +09:00
smoogipoo
d6aa15e5d7
Remove local APIRoom from test multiplayer client
2021-07-19 20:19:23 +09:00
smoogipoo
a5a0f12e19
Also copy password in test room manager
2021-07-19 20:07:56 +09:00
smoogipoo
26d0eea485
Set HasPassword correctly in the response room
2021-07-19 20:03:32 +09:00
smoogipoo
8c0daa89a0
Make test multiplayer client validate password
2021-07-19 20:03:27 +09:00
smoogipoo
063f14da98
Update test room manager to not return passwords
2021-07-19 20:03:27 +09:00
Dean Herbert
5148069efe
Update signatures in line with no-overload methods (unsupported by signalr)
2021-07-12 15:49:19 +09:00
smoogipoo
c93c615f5e
Also fix up interface names
2021-06-25 20:15:30 +09:00
smoogipoo
1ed61b9b98
Fix up dependencies class names
2021-06-25 20:11:38 +09:00
smoogipoo
a27a647ae7
Rename RoomDependencies -> OnlinePlayDependencies
2021-06-25 18:07:47 +09:00
smoogipoo
04279e7f5c
Add some xmldocs
2021-06-25 18:02:53 +09:00
smoogipoo
c0d2b41d4c
Move SpectatorClient into multiplayer dependencies
2021-06-25 17:55:16 +09:00
smoogipoo
7aefbe3da1
Move UserLookupCache inside dependencies
2021-06-25 17:37:02 +09:00
smoogipoo
81a812e216
Rework MultiplayerTestScene to make use of OnlinePlayTestScene
2021-06-25 15:00:10 +09:00
smoogipoo
aa5d22d04a
Remove "test container", make everything go through OnlinePlayTestScene
2021-06-25 13:02:19 +09:00
smoogipoo
5820793d11
Make TestMultiplayerRoomContainer inherit TestRoomContainer
2021-06-24 21:02:29 +09:00
smoogipoo
d197a7f6f5
Rename multiplayer client classes
2021-05-20 15:39:45 +09:00
smoogipoo
811282a975
Add failing test
2021-05-11 19:01:41 +09:00
Dean Herbert
120fb8974d
Combine more instances of test player IDs
2021-04-26 17:22:16 +09:00
smoogipoo
0ee73b8e53
Add failing test
2021-04-22 23:22:44 +09:00
smoogipoo
93c5935ebc
Add match subscreen support + test
2021-04-07 20:46:30 +09:00
smoogipoo
6be9c9f0f4
Link up ready button to spectate state
2021-04-07 16:35:50 +09:00
Dean Herbert
aeff9bd853
Add return bool to HandleRequest to better trigger failures
2021-03-23 18:17:29 +09:00
Dean Herbert
b1cd01ceb8
Apply ConfigureAwait changes to game side
2021-03-08 14:36:35 +09:00
smoogipoo
6affe33fb2
Fix another test scene
2021-03-03 19:40:19 +09:00
smoogipoo
30ff0b83c1
Fix test failures due to unpopulated room
2021-03-02 19:06:21 +09:00
smoogipoo
7adb33f40e
Fix beatmap getting nulled due to failing web request
2021-03-01 17:24:54 +09:00
smoogipoo
f7e4cfa4d0
Fix initial room settings not being returned correctly
2021-03-01 17:24:32 +09:00
smoogipoo
97bb217830
Fix test room playlist items not getting ids
2021-03-01 17:24:05 +09:00
Dean Herbert
5fbed05d04
Merge pull request #11551 from smoogipoo/fix-leave-room-race-2
...
Fix client potentially not leaving a room on exiting multiplayer
2021-02-08 19:23:14 +09:00
smoogipoo
dbea6d4cee
Remove unused using
2021-02-05 00:57:23 +09:00
smoogipoo
18e5081523
Fix test failures
2021-02-05 00:42:38 +09:00
smoogipoo
f538963607
Extra mods -> user mods
2021-02-01 17:57:32 +09:00
smoogipoo
ac2a995041
Add user and panel states
2021-02-01 17:54:56 +09:00
smoogipoo
964976f604
Use a task chain and fix potential misordering of events
2021-01-25 21:01:39 +09:00
Salman Ahmed
560b1e970c
Merge branch 'master' into user-beatmap-downloading-states
2021-01-13 22:31:31 +03:00
Salman Ahmed
90fb67b377
Update code in-line with decided direction
2021-01-11 20:52:24 +03:00
Bartłomiej Dach
8c3955d341
Improve safety of ongoing operation tracker
...
Finishing an operation started via
`OngoingOperationTracker.BeginOperation()` was risky in cases where the
operation ended at a callback on another thread (which, in the case of
multiplayer, is *most* cases). In particular, if any consumer registered
a callback that mutates transforms when the operation ends, it would
result in crashes after the framework-side safety checks.
Rework `OngoingOperationTracker` into an always-present component
residing in the drawable hierarchy, and ensure that the
`operationInProgress` bindable is always updated on the update thread.
This way consumers don't have to add local schedules in multiple places.
2021-01-09 22:45:24 +01:00
Bartłomiej Dach
ff60d652ed
Move out test ongoing operation tracker to higher level
2021-01-08 22:28:21 +01:00
Salman Ahmed
dfa8be9173
Add beatmap availability change state & event methods
2021-01-03 05:48:49 +03:00
Dean Herbert
046a76cb1d
Allow null users to still be displayed in the participant list
...
The fix here is correcting the access of `user.Country`. The deicision
to have null users display is because this is the best we can do (if
osu-web could not resolve the user). We still want the users in the
lobby to be aware of this user's presence, rather than hiding them from
view.
osu-stable does a similar thing, showing these users as `[Loading]`. I
decided to go with blank names instead because having *any* text there
causes confusion. We can iterate on this in future design updates.
2020-12-28 15:03:44 +09:00
Bartłomiej Dach
83fb7c7a1a
Re-namespace all files in OnlinePlay directory
2020-12-25 16:50:09 +01:00
Dean Herbert
5d4b73baa5
RealtimeMultiplayer -> Multiplayer
2020-12-25 14:10:59 +09:00