1
0
mirror of https://github.com/ppy/osu.git synced 2024-09-23 00:07:24 +08:00
Commit Graph

305 Commits

Author SHA1 Message Date
Dean Herbert
ee9e6fff40 Add bindable flow for expanded leaderboard state 2021-02-19 15:09:41 +09:00
Salman Ahmed
a845e96b7a Replace Ranks.Global completely with a GlobalRank property 2021-02-17 08:52:04 +03:00
Salman Ahmed
d7c91a7c6f Merge branch 'fix-tournament-user-population' into multiplayer-participant-rank 2021-02-17 08:42:59 +03:00
Dean Herbert
e82922f8c5 Add the ability to deselect the currently selected room via clicking away
Always felt wrong that you couldn't do this until now.
2021-02-16 13:44:37 +09:00
Salman Ahmed
0e7f52b5cc Always use JSON property global_rank for global ranks instead 2021-02-16 07:33:16 +03:00
Salman Ahmed
5b4999e8af Update user statistics retrieval with API changes 2021-02-16 07:33:13 +03:00
Salman Ahmed
d15ffff9a5 Simplifiy user statistics retrieval to one-time on deserialization 2021-02-16 04:48:36 +03:00
Salman Ahmed
a1496cd8f3 Remove necessity of using CurrentModeRank as a fallback 2021-02-16 04:48:36 +03:00
Dean Herbert
9ad38ab20e Move HubClientConnector retrieval to IAPIProvider 2021-02-15 16:43:56 +09:00
Salman Ahmed
d3c1b47592 Replace nullable API with null connector instead 2021-02-11 12:34:39 +03:00
Salman Ahmed
0c5e66205b Merge branch 'master' into abstract-hub-connection 2021-02-11 02:14:22 +03:00
Dean Herbert
9e400acd1a Merge branch 'master' into fix-mod-settings-fuckery 2021-02-10 17:43:03 +09:00
Dan Balasescu
92599aa02b
Merge branch 'master' into user-beatmap-downloading-states-2 2021-02-09 21:06:09 +09:00
Dean Herbert
4e3bb27cd5
Merge branch 'master' into fix-mod-settings-fuckery 2021-02-09 16:47:39 +09:00
Dean Herbert
b87327841d Add test covering initial state propagation 2021-02-09 15:46:23 +09:00
Salman Ahmed
a0ead38496 Prevent test spectator clients from attempting hub connections 2021-02-09 08:02:51 +03:00
Salman Ahmed
f04d6d5e5e Update hub clients with changes to connecotr 2021-02-09 08:02:32 +03:00
Dean Herbert
3133ccacfa Reset selected mods between each test method
This doesn't actually fix or change behaviour, but does seem like
something we probably want to do here.
2021-02-09 13:09:40 +09:00
Salman Ahmed
f76f92515e Clean up spectator streaming client with new hub connector 2021-02-09 02:15:56 +03: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
6e34e7d750 Merge branch 'master' into user-beatmap-downloading-states-2 2021-02-08 19:08:53 +09:00
Dean Herbert
42c169054a Revert "Disable failing test temporarily pending resolution"
This reverts commit 10142a4471.
2021-02-08 17:46:34 +09:00
Dean Herbert
10142a4471 Disable failing test temporarily pending resolution 2021-02-08 16:59:21 +09:00
Dean Herbert
1368d55152 Add test coverage of precedence of display 2021-02-05 15:58:27 +09:00
Dean Herbert
98c4573240 Add assertions covering new test 2021-02-05 15:52:49 +09:00
Dean Herbert
9e9e382bee Merge branch 'master' into user-beatmap-downloading-states-2 2021-02-05 15:27:17 +09:00
Dean Herbert
2fc3a97f56
Merge pull request #11516 from frenzibyte/ready-button-clean-up
Replace ready button beatmap logic with using `MultiplayerBeatmapTracker` instead
2021-02-05 15:09:25 +09:00
Salman Ahmed
78ea2d50bb Merge branch 'master' into ready-button-clean-up 2021-02-05 07:23:11 +03:00
Bartłomiej Dach
cb87da2bb8
Merge branch 'master' into freemod-select-overlay 2021-02-03 22:19:35 +01:00
smoogipoo
8bb1391515 Fix inspection 2021-02-03 14:53:55 +09:00
Dan Balasescu
2a4488c11b
Merge branch 'master' into freemods 2021-02-03 14:12:39 +09:00
smoogipoo
6453367a9c Merge branch 'freemod-select-overlay' into freemods 2021-02-02 21:43:35 +09:00
smoogipoo
643c0605d8 Implement the freemod selection overlay 2021-02-02 21:14:38 +09:00
Dean Herbert
bc8a4f4111 Update test handling 2021-02-02 17:21:54 +09:00
Dean Herbert
6d9ac4d0f0 Increase darkness of gradient on buttons to make text readability (slightly) better 2021-02-02 16:57:27 +09:00
smoogipoo
f166c4c414 Rename test 2021-02-02 11:04:09 +09:00
smoogipoo
97e3023df9 Renamespace/rename MatchSongSelect -> PlaylistsSongSelect 2021-02-01 20:16:58 +09:00
smoogipoo
89a42d60fb General cleanup 2021-02-01 18:50:32 +09:00
smoogipoo
3a906a89fc Pin mod position in participant panels 2021-02-01 18:27:15 +09:00
smoogipoo
3cd30d284e Renamespace 2021-02-01 18:08:49 +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
45e41aaeac Initial implementation of freemod selection overlay 2021-01-27 22:15:53 +09:00
smoogipoo
5ff76be052 Fix potential test failures due to timing 2021-01-20 19:43:51 +09:00
Salman Ahmed
4a1acdece2 Merge branch 'multiplayer-beatmap-tracker' into ready-button-clean-up 2021-01-18 20:06:47 +03:00
Salman Ahmed
5f2e9c5485 Add visual test case for displaying beatmap availability states 2021-01-18 11:49:27 +03:00
Bartłomiej Dach
2b23c8eabd Use alpha directly for checking visibility in test
`IsPresent` is no longer synonymous with being visible, after applying
the fix to the issue in question.
2021-01-17 18:08:58 +01:00
Salman Ahmed
585aa87c53 Fix playlist item download button never shown back after hiding 2021-01-17 19:17:14 +03:00
Dean Herbert
edb6d3907b
Merge pull request #11472 from frenzibyte/explicit-beatmap-markers
Add explicit content markers to beatmap panels and overlay
2021-01-17 21:44:10 +09:00
Salman Ahmed
63c0dc9bd9 Update ready button test scene with new logic 2021-01-17 01:11:03 +03:00
Salman Ahmed
7fd55efc43 Add test cases for displaying explicit beatmaps 2021-01-13 12:27:15 +03:00
Dean Herbert
422260797b Revert polling changes to fix participant list display
It turns out this polling was necessary to get extra data that isn't
included in the main listing request. It was removed deemed useless, and
in order to fix the order of rooms changing when selecting a room.
Weirdly, I can't reproduce this happening any more, and on close
inspection of the code can't see how it could happen in the first place.

For now, let's revert this change and iterate from there, if/when the
same issue arises again.

I've discussed avoiding this second poll by potentially including more
data (just `user_id`s?) in the main listing request, but not 100% sure
on this - even if the returned data is minimal it's an extra join
server-side, which could cause performance issues for large numbers of
rooms.
2021-01-12 17:26:00 +09: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
Dean Herbert
b69fe8a274
Merge branch 'master' into disable-repeat-multi-actions 2021-01-09 10:15:20 +09:00
Bartłomiej Dach
ff60d652ed Move out test ongoing operation tracker to higher level 2021-01-08 22:28:21 +01:00
Salman Ahmed
81355652fa Add simple test coverage 2021-01-05 06:00:15 +03:00
Dean Herbert
deb1ad7bca
Merge branch 'master' into disable-repeat-multi-actions 2021-01-04 23:38:29 +09:00
Bartłomiej Dach
f800448c87 Move game start logic to a higher level 2020-12-30 18:15:48 +01:00
Bartłomiej Dach
d34609b98e Rename On{ToggleReady -> ReadyClick} 2020-12-30 16:29:36 +01:00
Bartłomiej Dach
f2163a471a Trim missed reference to deleted member 2020-12-29 11:53:42 +01:00
Bartłomiej Dach
274730de34 Cache tracker in test scene to resolve test fails 2020-12-29 09:16:08 +01:00
Bartłomiej Dach
e9b0652359 Move ready-up operation logic again to client
To salvage ready up button tests.
2020-12-29 09:16:02 +01:00
Bartłomiej Dach
db52255bbe Adjust tracker usages to match new API 2020-12-29 08:20:43 +01:00
Bartłomiej Dach
f68e4fc88f Merge branch 'master' into disable-repeat-multi-actions 2020-12-29 07:42:20 +01:00
Dean Herbert
e3a41f6118 Rename variable to make more sense
It needs to be explicitly stated that the users in this list are related
to the *joined* room. Especially since it's sharing its variable name
with `SpectatorStreamingClient` where it has the opposite meaning (is a
list of *globally* playing players).
2020-12-29 14:27:35 +09:00
Bartłomiej Dach
af66e45311 Disable create room button after triggering join 2020-12-28 22:48:03 +01:00
Bartłomiej Dach
47ab7c9fd6 Disable ready button after host click 2020-12-28 22:48:03 +01:00
Dean Herbert
9155671557
Merge pull request #11341 from peppy/fix-leaderboard-user-handling
Fix incorrect null handling in GameplayLeaderboard
2020-12-28 22:44:55 +09:00
Dean Herbert
2e88036f39
Merge pull request #11342 from bdach/fix-beatmap-not-reverting
Fix user changes in multi song select not reverting on exit without confirmation
2020-12-28 21:56:07 +09:00
Bartłomiej Dach
a376a23ed7
Merge branch 'master' into fix-leaderboard-user-handling 2020-12-28 13:43:53 +01:00
Bartłomiej Dach
fb21b7c016 Add failing test cases 2020-12-28 12:35:16 +01:00
Dean Herbert
6254907ef9 Move multiplayer leaderboard test to correct namespace 2020-12-28 20:31:08 +09: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
4c43a67b68 Rename I{Multiplayer -> OnlinePlay}SubScreen 2020-12-25 18:07:34 +01:00
Bartłomiej Dach
83fb7c7a1a Re-namespace all files in OnlinePlay directory 2020-12-25 16:50:09 +01:00
Dean Herbert
e421b6d34e Update some missed variables 2020-12-25 23:36:09 +09:00
Bartłomiej Dach
da8365f9d0 Fix other missed cases of changing inheritance 2020-12-25 14:34:47 +01:00
Bartłomiej Dach
13c38c9b55 Fix tests failing due to wrong inheritance 2020-12-25 14:18:21 +01:00
Dean Herbert
5d4b73baa5 RealtimeMultiplayer -> Multiplayer 2020-12-25 14:10:59 +09:00
Dean Herbert
12e4bbdc5b Reorganise test scenes into playlists specific namespace 2020-12-25 13:20:37 +09:00
Dean Herbert
a1384942b1 Timeshift -> Playlists at a code level 2020-12-25 13:11:21 +09:00
Bartłomiej Dach
6ec045f235 Distinguish primary multi screen titles in header 2020-12-24 16:18:35 +01:00
Dean Herbert
23bf9c372c Fix naming conflict with test scenes 2020-12-22 18:26:39 +09:00
Dean Herbert
ce806dd880 Replace the ready mark display with a state display, showing all participant states 2020-12-22 18:25:45 +09:00
Dean Herbert
17d924c755 Move timeshift settings overlay to correct namespace 2020-12-22 15:52:47 +09:00
Dean Herbert
8201fa8e34 Split out common implementation and private classes in MatchSettingsOverlay 2020-12-22 15:51:24 +09:00
smoogipoo
14ea49a14d Merge branch 'nullable-endsat' into realtime-multiplayer-2 2020-12-21 16:22:16 +09:00
smoogipoo
a59124dd93 Make room duration/endsat nullable 2020-12-21 16:18:39 +09:00
smoogipoo
a1ba4b6979 Split MatchSubScreen into abstract component + timeshift implementation 2020-12-20 23:40:19 +09:00
smoogipoo
b9e4a7196e Add realtime lounge subscreen 2020-12-20 23:36:56 +09:00
smoogipoo
c33e693b8e Refactor InitialRoomsReceived to avoid extra bindables 2020-12-20 23:05:17 +09:00
smoogipoo
4494bb1eb5 Abstract RoomManager and Multiplayer 2020-12-19 00:52:27 +09:00
smoogipoo
bdfeb55dec Fix room status test scene not working 2020-12-18 15:18:06 +09:00
smoogipoo
8c5e25b990 Remove overlined test scenes 2020-12-18 15:11:11 +09:00
smoogipoo
f0e91ba431 Fix overlined playlist test scene not working 2020-12-18 15:09:11 +09:00
smoogipoo
a4f7eb83c7 Fix overlined participants test scene not working 2020-12-18 15:07:39 +09:00
smoogipoo
208a9e596e Set new room for each test iteration 2020-12-18 14:58:58 +09:00
smoogipoo
f599427080 Implement TimeshiftFilterControl 2020-12-07 22:04:35 +09:00
Joehu
ef3c918a3c Simplify input buttons/keys in tests 2020-11-09 14:18:20 -08:00
Bartłomiej Dach
164370bc7d Resolve more CA1805 inspections 2020-11-01 20:51:23 +01:00
Dean Herbert
dbfaa4a0df Remove beatmap paths from tests where they would result in exceptions 2020-09-15 22:50:44 +09:00
smoogipoo
4399f5976c Fix global mods being retained by rooms 2020-09-04 15:20:55 +09:00
Bartłomiej Dach
dcce7a2130 Cache local music controller to resolve failure 2020-08-20 21:03:27 +02:00
Bartłomiej Dach
bd4acdce78 Add until step to ensure failure 2020-08-20 21:01:58 +02:00
smoogipoo
0500d82b5b Fix playlist items sharing mod instances 2020-08-13 19:48:41 +09:00
smoogipoo
4f3795486d Post-process responses to populate positions 2020-07-31 22:36:44 +09:00
smoogipoo
f1e721e396 Rewrite test scene and add more tests 2020-07-31 21:39:50 +09:00
smoogipoo
88e179d8aa Split out index-only response 2020-07-31 17:40:58 +09:00
smoogipoo
568fb51ce2 Remove RoomPlaylistScores intermediate class 2020-07-22 20:24:42 +09:00
smoogipoo
d9633fee64 Rename request 2020-07-22 18:47:09 +09:00
smoogipoo
e423630b7c Rename RoomScore -> MultiplayerScore 2020-07-22 18:37:00 +09:00
smoogipoo
0957c5f74c Re-namespace multiplayer requests/responses 2020-07-22 18:34:04 +09:00
Dean Herbert
64e8dce1ad Highlight spotlight rooms with a different colour 2020-07-10 19:38:33 +09:00
Dean Herbert
24132c7cf9 Merge branch 'master' into multiplayer-categories 2020-07-10 19:00:57 +09:00
smoogipoo
926279e39b Implement category dropdown for multiplayer 2020-07-10 17:26:42 +09:00
smoogipoo
1f2689f7cb Merge branch 'master' into un-nest-overlined-display 2020-07-10 15:37:43 +09:00
Dan Balasescu
14eaf75009
Merge branch 'master' into un-nest-overlined-display 2020-07-10 14:41:31 +09:00
Dan Balasescu
b02777f9f6
Merge branch 'master' into lounge-keyboard-selection 2020-07-10 14:36:40 +09:00
Dan Balasescu
e6a759334d
Merge pull request #9476 from peppy/lounge-scroll-selected-into-view
Scroll selected room into view on selection
2020-07-10 10:45:16 +09:00
smoogipoo
4c24388fc0 Apply review fixes 2020-07-10 10:16:44 +09:00
Dean Herbert
43624381bf Change multiplayer tests to have null room by default 2020-07-09 18:55:53 +09:00
Dean Herbert
0bc5452801 Add test coverage 2020-07-09 18:55:18 +09:00
Dean Herbert
25ddc5784d Change multiplayer tests to have null room by default 2020-07-09 18:55:10 +09:00
Dean Herbert
95096cbf5e Use better screen load logic 2020-07-09 18:25:07 +09:00
Dean Herbert
1ded94e5be Add test coverage 2020-07-09 18:07:34 +09:00
Dean Herbert
35d3292200 Remove nesting of components inside overlined component
I think this makes things a bit more readable. The only weird case is
the transfer of details from the component to the `OverlinedHeader`, but
bindables make it not too bad.
2020-07-08 14:45:51 +09:00
smoogipoo
01fa664b7d Add recent participants 2020-06-25 20:53:48 +09:00
smoogipoo
54f087b933 Re-layout match subscreen columns 2020-06-25 20:40:15 +09:00
smoogipoo
05b1edb9d8 Fix incorrect beatmap showing 2020-06-09 19:01:02 +09:00
smoogipoo
4fd5ff61eb Add loading spinner 2020-06-09 18:53:55 +09:00
smoogipoo
7f05c16c9f Merge branch 'master' into timeshift-results-2 2020-06-09 15:59:13 +09:00
Dean Herbert
9d68a95f3f
Merge branch 'master' into multi-room-load-spinner 2020-06-09 10:56:56 +09:00
smoogipoo
bb89114b70 Show a loading spinner on multiplayer lounge loads 2020-06-05 20:52:27 +09:00
smoogipoo
13622eff1f Fix response value 2020-06-03 12:54:07 +09:00
smoogipoo
fac96f6ddd Fix match beatmap not updating after re-download 2020-06-02 17:02:01 +09:00
smoogipoo
3c85561cdc Add tests 2020-06-02 14:31:43 +09:00
smoogipoo
a606f41297 Add button to open results 2020-05-28 22:25:00 +09:00
smoogipoo
0f373acacb Add test scene 2020-05-28 22:09:11 +09:00
smoogipoo
6d3ca4ec43 Fix failing tests 2020-05-19 13:16:46 +09:00
smoogipoo
648999a2de Remove all RequiredTypes usages 2020-05-16 18:17:12 +09:00
Dean Herbert
0b728f483f Rename base test class to help avoid incorrect reference 2020-03-23 10:01:33 +09:00
smoogipoo
1c4296f5e7 Implement the new results screen 2020-03-17 17:43:16 +09:00
Dean Herbert
927115a085
Merge branch 'master' into room-inspector-redesign 2020-02-20 17:41:16 +09:00
Dean Herbert
e48166858c
Merge branch 'master' into overlined-display-refactor 2020-02-20 17:38:04 +09:00
smoogipoo
177935d644 Remove unused using 2020-02-20 14:45:35 +09:00
smoogipoo
c5fd969568 Fix 0 size in test scene 2020-02-20 14:33:13 +09:00
smoogipoo
b2d9004212 Fix possible test failures due to async loads 2020-02-20 08:37:23 +09:00
smoogipoo
ac416ae743 Implement new room inspector redesign 2020-02-19 17:47:59 +09:00
smoogipoo
ec73e8f0c7 Allow different sizing modes for OverlinedParticipants 2020-02-19 17:40:38 +09:00
smoogipoo
e3d37b808d Move overlined displays to a higher namespace 2020-02-19 17:33:09 +09:00