Commit Graph

47094 Commits

Author SHA1 Message Date
d6e68feadc Merge pull request #15948 from bdach/beatmap-card/difficulty-dropdown
Add difficulty dropdown to beatmap card
2021-12-07 23:40:06 +09:00
a8c20368c0 Merge pull request #15976 from smoogipoo/add-modes-to-room-panels
Add match type and queue mode to multiplayer room panels
2021-12-07 22:08:30 +09:00
4683193f09 Move implementation to base class 2021-12-07 20:36:39 +09:00
4078372480 Merge pull request #15975 from peppy/update-framework
Update framework
2021-12-07 19:23:16 +09:00
5ffe702dd6 Add match type and queue mode to multiplayer room panels 2021-12-07 18:57:13 +09:00
9978caab12 Update framework 2021-12-07 18:37:30 +09:00
08dac3fcda Merge pull request #15974 from peppy/fix-participant-list-state-desync
Fix multiplayer user panels potentially getting out of sync with player's state
2021-12-07 18:01:11 +09:00
dea7f2308c Fix participant panels potentially keeping a reference to an old user
If a user leave and then rejoins a multiplayer match while another user
is not at the lobby screen, there is a potential the `ParticipantPanel`
tracking the user will not correctly be recreated to reference the new
instance of the `MultiplayerUser`.

This happens because the `OnRoomUpdated` call is scheduled, which means
it is not running in the background, coupled with the local logic that
relies on `IEquatable(MultiplayerRoomUser)` (which in turn falls back to
a UserID comparison).

Changing this to a reference comparison is the easiest way to resolve
this. Whether we change the `IEquatable` implementation is up for
discussion.

Closes https://github.com/ppy/osu/issues/15970.
2021-12-07 17:24:04 +09:00
9f77529e35 Merge pull request #15972 from peppy/cancellation-woes
Fix `GetPlayableBeatmap` timeout not being applied when no `CancellationToken` is provided to difficulty calculations
2021-12-07 14:31:56 +09:00
cfa712473d Use default timeout in GetPlayableBeatmap when provided CancellationToken is default 2021-12-07 13:33:41 +09:00
f3e9fb76fc Add the ability to pass a CancellationToken through DifficultyCalculator.CalculateAll
Was weirdly missing from this one method.
2021-12-07 13:32:47 +09:00
a62beb3c59 Merge pull request #15968 from frenzibyte/move-log-to-network
Move API request response size log to correct logging target
2021-12-07 10:32:53 +09:00
974987550f Move API request response size log to correct logging target 2021-12-07 04:01:56 +03:00
8dc76964a3 Merge pull request #15959 from bdach/fix-skins-resetting
Fix skin setting resetting every launch
2021-12-07 09:34:17 +09:00
999bba439f Clarify usages of reverse child ID flow with inline comments 2021-12-06 21:02:40 +01:00
82ed8eae6b Ensure hover handling container always calls base on hover events 2021-12-06 21:02:40 +01:00
ccfc361626 Apply naming suggestions 2021-12-06 21:02:38 +01:00
4278a320e4 Fix skin setting resetting every launch
The reason this was happening was an unfortunate oversight in the
migration logic. The code that was attempting to parse the skin settings
as `int` was firing regardless of whether a skin migration from EF to
realm had already occurred. If it had occurred, the skin setting would
contain a GUID rather than an integer, and therefore fail to parse, and
therefore implicitly fallback to a EF skin ID of 0 which would be the
default skin.

Fix by not running the setting migrating logic at all when there are no
EF skins to migrate.
2021-12-06 20:12:02 +01:00
79b8cb41f2 Merge pull request #15953 from smoogipoo/update-test-multiplayer-client
Update test multiplayer client implementation
2021-12-07 01:15:28 +09:00
d5cdb1bb87 Update test multiplayer client implementation 2021-12-07 00:01:07 +09:00
91ff20a610 Merge pull request #15952 from peppy/update-framework
Update framework
2021-12-06 23:37:12 +09:00
3e27859e4f Update framework 2021-12-06 22:47:07 +09:00
7ef960839b Merge pull request #15898 from peppy/skin-export-instntiation-info
Serialise and deserialise `SkinInfo.InstantiationInfo` to allow for more correct imports
2021-12-06 22:08:20 +09:00
9033169177 Merge pull request #15951 from peppy/fix-failing-recorder-tests-w
Fix intermittent test failures in scenes using `SpectatorClient`
2021-12-06 18:40:27 +09:00
bab9e0542b Merge pull request #15883 from peppy/realm-integration/skins-filename-lookup-performance
Optimise skin filename lookups post realm migration
2021-12-06 18:40:12 +09:00
568364b604 Fix indentation 2021-12-06 17:38:57 +09:00
07abcf04b4 Merge branch 'master' into realm-integration/skins-filename-lookup-performance 2021-12-06 17:13:33 +09:00
68b482fc48 Merge branch 'master' into skin-export-instntiation-info 2021-12-06 17:12:42 +09:00
cf34b3f70e Merge pull request #15859 from peppy/realm-integration/skins-rebase
Use realm for skins
2021-12-06 17:12:23 +09:00
0d3d22d3e1 Update TestSceneReplayReocorder to be safer about disposal 2021-12-06 17:09:12 +09:00
50a5f52f92 Remove duplicated test scene (see TestSceeneReplayRecorder) 2021-12-06 17:09:11 +09:00
d58b85b381 Refactor TestScenSpectatorPlayback to properly clean up without async disposal 2021-12-06 17:09:11 +09:00
7a333ffdcc Add a paired schedule in SpectatorClient.BeginPlaying
Optimally, I would like to remove the `Schedule` in `EndPlaying`, but it
turns out quite a few test are relying on this at very least. Adding a
paired schedule ensure that order of operations is correct, at least.
2021-12-06 17:07:19 +09:00
310e503b85 Merge pull request #15950 from peppy/fix-incorrect-match-current-beatmap
Ensure user is returned to the `RoomSubScreen` before gameplay is started
2021-12-06 16:34:46 +09:00
991becdfa7 Merge branch 'master' into realm-integration/skins-rebase 2021-12-06 16:34:31 +09:00
a13067eaa4 Merge pull request #15929 from smoogipoo/update-test-multiplayer-client
Update test multiplayer client to match server implementation
2021-12-06 15:57:08 +09:00
452fa93444 Merge branch 'master' into realm-integration/skins-rebase 2021-12-06 15:21:02 +09:00
fae41b2182 Remove one more piece of code 2021-12-06 15:17:33 +09:00
5be74af8fe Update addItem() implementation 2021-12-06 15:09:06 +09:00
0fa1a96e9d Wait for beatmap sets to finish loading to avoid test failures
Co-authored-by: Dan Balasescu <smoogipoo@smgi.me>
2021-12-06 15:03:17 +09:00
0ea7a69084 Ensure user is returned to the RoomSubScreen before gameplay is started
This covers the scenario where a user may be at the song select screen
while another user (the room host) starts the match. This was only made
possible with the new queue modes, so is quite a recent regression.
2021-12-06 14:03:52 +09:00
a76cfbea21 Add test coverage of incorrect beatmap being used in multiplayer when match started from song select 2021-12-06 14:03:33 +09:00
ffbab0014b Merge pull request #15949 from peppy/playlist-order-documentation
Reword xmldoc of `MultiplayerPlaylistItem.PlaylistOrder` to better match actual behaviour
2021-12-06 13:28:11 +09:00
ca1f96d2c2 Reword xmldoc of MultiplayerPlaylistItem.PlaylistOrder to better match actual behaviour 2021-12-06 13:03:14 +09:00
0f74389389 Add scrolling for long difficulty lists in beatmap card 2021-12-05 20:17:59 +01:00
af35652b8b Disable beatmap card expansion on solo spectator screen 2021-12-05 20:07:58 +01:00
af10223ac4 Add reverse fill flows & depth specs at usage sites for correct Z-ordering 2021-12-05 20:07:46 +01:00
e451e43b90 Implement input handling behaviour of beatmap card dropdown 2021-12-05 16:31:45 +01:00
250e5b47b7 Move "extra info" beatmap card row to separate component 2021-12-05 15:52:19 +01:00
3fea8d5e62 Implement visual behaviour of expanded card state 2021-12-05 15:48:02 +01:00