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
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
smoogipoo
84ea279c94 Add test 2020-02-17 17:04:58 +09:00
smoogipoo
17e3470441 Replace hashcode override with local equality comparer 2020-02-16 00:23:52 +09:00
Dean Herbert
19d61c1255 Merge branch 'master' into match-subscreen-redesign 2020-02-15 15:29:33 +09:00
Dean Herbert
da68ae5461 Merge branch 'master' into match-songselect-playlist-logic 2020-02-15 12:27:51 +09:00
smoogipoo
61d539dc67 Fix first playlist item not getting selected 2020-02-14 23:39:39 +09:00
smoogipoo
b92f1ad68d Implement match subscreen re-design 2020-02-14 20:48:09 +09:00
smoogipoo
b762e5e8a5 Implement overlined components 2020-02-14 20:42:14 +09:00
smoogipoo
929eb4f035 Add match footer 2020-02-14 20:35:52 +09:00
smoogipoo
d5496321e2 Implement leaderboard chat display 2020-02-14 20:31:55 +09:00
smoogipoo
c75a774297 Extract participants list from the room inspector 2020-02-14 20:27:37 +09:00
smoogipoo
c0dba63278 Remove match info 2020-02-14 20:14:25 +09:00
smoogipoo
b0793b06ed Re-implement the match header 2020-02-14 20:10:36 +09:00
smoogipoo
1e80facfe8 Add subscreen test scene 2020-02-14 20:03:37 +09:00
smoogipoo
0b86825d71 Merge branch 'match-playlist' into match-songselect-playlist-logic 2020-02-14 19:57:35 +09:00
smoogipoo
f31220c1ee Fix exception when adding duplicate items 2020-02-14 19:56:43 +09:00
Dean Herbert
e6676ffa51 Merge branch 'match-playlist' into match-detail-area 2020-02-14 19:53:46 +09:00
smoogipoo
fbc5ffbadb Remove now unused members 2020-02-14 17:59:47 +09:00
smoogipoo
de646649de Use test beatmap instead of beatmap manager 2020-02-14 17:59:14 +09:00
smoogipoo
32fd713a9d Use test beatmap instead of beatmap manager 2020-02-14 17:57:25 +09:00
smoogipoo
f0f739707f Add playlist support to match song select 2020-02-14 17:51:42 +09:00
smoogipoo
5ec9f454d5 Implement the match beatmap detail area 2020-02-14 17:20:38 +09:00
smoogipoo
aceba8791c Clean up selection handling 2020-02-14 16:56:44 +09:00
smoogipoo
6a466ea2f5 Improve test cases 2020-02-14 16:48:30 +09:00
smoogipoo
d6768bba62 Make test playlist items unique 2020-02-14 16:09:30 +09:00
smoogipoo
5e871f9838 Make room playlist use the common rearrangeable design 2020-02-14 15:36:47 +09:00
smoogipoo
eb14dbcd77 Initial implementation of rearrangeable playlist 2020-02-14 15:01:45 +09:00
Dean Herbert
4a04b434a9
Merge branch 'master' into remove-current-item 2020-02-13 21:41:23 +09:00
Dean Herbert
28ca1a5bcc
Merge branch 'master' into participants-bindable 2020-02-13 19:31:50 +09:00
smoogipoo
bce9c8f3f3 Make room participants into a bindable list 2020-02-13 18:59:15 +09:00
smoogipoo
75bef15583 Remove "current" multiplayer room item 2020-02-13 18:48:28 +09:00
smoogipoo
91edadfe9d Make playlist beatmap and ruleset into bindables 2020-02-13 18:12:47 +09:00
Dean Herbert
49ec1d4a99 Fix braces style 2020-02-06 13:04:29 +09:00
Dean Herbert
43b22e3b63 Add a ruleset filtering test 2020-02-06 13:03:15 +09:00
Dean Herbert
d32bb79e5a Add simple filtering test 2020-02-06 13:03:04 +09:00
Dean Herbert
7f0a134bc8 Bring test scene structure up-to-date 2020-02-06 12:17:05 +09:00
Dean Herbert
19f516e710 Ensure OsuScreen level leases are taken out synchronously 2020-01-31 19:10:44 +09:00
smoogipoo
91735ff367 Update MathUtils namespace usages 2020-01-09 13:43:44 +09:00
Huo Yaoyuan
ecfc6dfa3d CA1825: use Array.Empty. 2019-12-17 12:59:48 +08:00
Dean Herbert
36224dca13 Fix multiplayer aggregate score inheriting from ScoreInfo 2019-12-05 01:45:28 +09:00
Dean Herbert
7cb79dd760 Fix incorrect DI usage of IAPIProvider in many tests 2019-09-13 17:15:33 +09:00
Dean Herbert
4df6bd5477
Merge branch 'master' into use-dummy-api-for-overall-tests 2019-09-05 14:27:01 +09:00
smoogipoo
7c9c9f1ce1 Simplify caching 2019-08-13 17:38:21 +09:00
Andrei Zavatski
5b68a2f34a Rename trackManager to previewTrackManager 2019-08-12 09:50:49 +03:00
Andrei Zavatski
9ab132520c Testcase improvements 2019-08-08 12:25:46 +03:00
Andrei Zavatski
460cf141de Add testing 2019-08-08 12:18:26 +03:00
Andrei Zavatski
a4459972b6 Remove ViewBeatmapButton 2019-08-08 07:15:30 +03:00
iiSaLMaN
849ed0c69d Acquire api access for online tests 2019-07-31 22:44:44 +03:00
Dean Herbert
609a82bc94 Update VisibilityContainer usage in line with framework 2019-06-11 15:13:58 +09:00
smoogipoo
4763a41c7e Cleanups 2019-06-04 11:25:18 +09:00
Dean Herbert
b52276c489 Pass individual components to DummyWorkingBeatmap, not game 2019-05-31 14:51:12 +09:00
Dean Herbert
f33a5bc54c Centralise and update WorkingBeatmap creation in test cases 2019-05-31 14:40:53 +09:00
Roman Kapustin
459a285cd8 Rename test cases to test scenes inline with the framework change 2019-05-14 22:37:25 +03:00
Dean Herbert
868367511e Add ManualInputManager to screen tests
Also sanitises content init order (ctor for content; bdl for other)
2019-03-26 13:26:55 +09:00
Dean Herbert
9a6576c0a1 Merge remote-tracking branch 'upstream/master' into multi-background-stack 2019-03-25 12:40:31 +09:00
Dean Herbert
a1c5eda05b Add grouping of visual tests 2019-03-25 01:02:36 +09:00