1
0
mirror of https://github.com/ppy/osu.git synced 2024-11-06 16:57:25 +08:00
Commit Graph

214 Commits

Author SHA1 Message Date
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