1
0
mirror of https://github.com/ppy/osu.git synced 2024-12-16 22:22:54 +08:00
Commit Graph

3819 Commits

Author SHA1 Message Date
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
5fd644fc57 Unify variable names 2021-01-17 22:42:48 +09:00
Dean Herbert
addd463d26
Merge branch 'master' into explicit-search-control 2021-01-17 21:44:25 +09: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
Dean Herbert
b8c85ef017 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-15 15:19:12 +09:00
Dean Herbert
d023ad8ad1 Remove assert messages 2021-01-15 15:18:29 +09:00
Dean Herbert
51255033e2 Update some missed usages of KeyBindingContainer in tests 2021-01-15 14:57:01 +09:00
Roman Kapustin
0ea4e221b2 Merge branch 'master' into net5.0 2021-01-14 14:02:51 +03:00
Salman Ahmed
268f9d661f Dispose of local config on disposal 2021-01-13 13:00:14 +03:00
Salman Ahmed
a5f99ed8e6 Merge branch 'explicit-beatmap-markers' into explicit-search-control 2021-01-13 12:53:57 +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
Salman Ahmed
80fa2cf693 Add test coverage 2021-01-12 11:14:05 +03:00
Bartłomiej Dach
d110ed9e95 Merge branch 'master' into fix-mod-buttons-not-copying-settings 2021-01-10 15:42:33 +01:00
Dean Herbert
95ad324a39
Merge branch 'master' into fix-mod-buttons-not-copying-settings 2021-01-10 23:01:54 +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
375ecf92ed Merge remote-tracking branch 'upstream/master' into fix-mod-buttons-not-copying-settings 2021-01-09 00:26:18 +03:00
Bartłomiej Dach
924f91ed9b Fix song select test doing the completely wrong thing 2021-01-08 15:56:35 +01:00
Bartłomiej Dach
25b4628672
Merge branch 'master' into fix-transform-mutation-from-background 2021-01-06 11:04:51 +01:00
Bartłomiej Dach
52687fc37c Merge branch 'master' into fix-transform-mutation-loading-layer 2021-01-05 23:10:51 +01:00
Dean Herbert
0639429a23 Fix test (and remove no longer valid test) 2021-01-05 18:10:39 +09:00
Dean Herbert
54982dcdd7 Refactor LoadingLayer to avoid applying effects to external drawables
In theory this seemed like a good idea (and an optimisation in some
cases, due to lower fill rate), but in practice this leads to weird edge
cases.

This aims to do away with the operations on external drawables by
applying a dim to the area behind the `LoadingLayer` when required.
I went over each usage and ensured they look as good or better than
previously.

The specific bad usage here was the restoration of the colour on dispose
(if the `LoadingLayer` was disposed in a still-visible state).

I'm aware that the `BeatmapListingOverlay` will now dim completely during
load. I think this is fine for the time being.
2021-01-05 17:31:45 +09:00
Dean Herbert
5904e426eb Remove unused variable 2021-01-05 16:00:25 +09:00
Dean Herbert
b3f08b29ca Ensure that all changes to screen backgrounds are on the correct thread 2021-01-05 15:22:50 +09: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
924af58f5b Replace using static with explicit nested reference
This seems to be an inspectcode bug, as the code is correct and
compiles, but let's just work around it for now.
2021-01-02 12:25:59 +01:00
Salman Ahmed
ee664ad571 Add test coverage 2021-01-01 03:47:18 +03:00
mcendu
17abe90c27 move SkinnableHealthDisplay
Similar components are in osu.Game.Screens.Play.HUD while this is not
2020-12-31 20:23:13 +08: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
Dean Herbert
92d74a9343 Fix potential nullref in test scene 2020-12-28 20:48:14 +09: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
8f0413472c Add test coverage of null users in scoreboard 2020-12-28 20:30:08 +09:00
Bartłomiej Dach
20ae84a466
Merge branch 'master' into fix-user-lookup-failure-crashes 2020-12-28 12:15:06 +01: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
Dean Herbert
69fab7de77
Merge pull request #11307 from bdach/fix-account-creation-overlay-after-logout
Fix account creation overlay not showing up the first time after a log-out
2020-12-28 11:52:48 +09:00
Dean Herbert
1b7c72f03b
Merge branch 'master' into changelog-refactor 2020-12-28 11:00:14 +09:00
Dean Herbert
966a2151e3 Ensure the previous leaderboard is removed 2020-12-26 17:55:24 +09:00
Dean Herbert
2599e95335 Add test coverage 2020-12-26 12:11:19 +09:00
Dean Herbert
ff57562956 Fix multiplayer leaderboard not unsubscribing from quit users 2020-12-26 11:35:31 +09:00
Bartłomiej Dach
09b0a57290 Schedule all of setup to avoid headless test fail 2020-12-25 21:06:03 +01:00
Bartłomiej Dach
c32fc05f69 Improve test scene coverage of corner cases 2020-12-25 21:06:03 +01:00
Bartłomiej Dach
3ac618778f Handle all changelog entry types correctly 2020-12-25 21:06:03 +01:00
Bartłomiej Dach
dacf6d5a34 Decouple changelog test scene from web 2020-12-25 21:06:03 +01: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
9de1a67e03 Move PlaylistsResultsScreen to correct namespace 2020-12-25 23:47:32 +09:00
Dean Herbert
836d1491d0 PlaylistsMultiplayer -> Playlists 2020-12-25 23:47:18 +09:00
Dean Herbert
e421b6d34e Update some missed variables 2020-12-25 23:36:09 +09:00
Bartłomiej Dach
3a6a3a067b Rewrite test to cover failure case 2020-12-25 15:12:37 +01: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
Dean Herbert
4e21bd0108
Merge pull request #11286 from peppy/rename-timeshift
Rename "timeshift" to "playlists"
2020-12-25 00:45:06 +09:00
Bartłomiej Dach
6ec045f235 Distinguish primary multi screen titles in header 2020-12-24 16:18:35 +01:00
Dean Herbert
fa14438671
Merge pull request #11285 from peppy/resort-leaderboard-less
Re-sort the leaderboard order a maximum of once a second
2020-12-25 00:05:13 +09:00
Dean Herbert
3d28a0ccef
Merge pull request #11271 from peppy/dev-server
Prefer connecting to dev server when running in DEBUG
2020-12-24 23:01:19 +09:00
Dean Herbert
d0e8347968 Change asserts into until steps 2020-12-24 22:28:25 +09:00
Dean Herbert
66a23c22e5 Fix various tests failing due to dependence on specific online data 2020-12-24 21:28:24 +09:00
Dean Herbert
eb795a2127 Move all endpoint information to a configuration class 2020-12-24 17:58:38 +09:00
Dean Herbert
c35454081c Add sound when players change ready state 2020-12-24 17:17:45 +09:00
Bartłomiej Dach
47020c8887 Add failing test cases 2020-12-23 21:00:47 +01:00
Bartłomiej Dach
9843da59f4 Fix intermittent test fail due to duplicate user
`TestSceneRealtimeReadyButton` was manually adding `API.LocalUser`,
which wasn't actually needed. The base `RealtimeMultiplayerTestScene` by
default creates a new room as `API.LocalUser`, therefore automatically
adding that user to the room - and as such there is no need to add them
manually unless the `joinRoom` ctor param is specified as `false`.
2020-12-23 20:29:17 +01:00
Bartłomiej Dach
08d87ccb1e
Merge branch 'master' into present-recommended 2020-12-22 23:36:13 +01:00
Bartłomiej Dach
4a677ecc19 Make random state choice in test more robust
`RNG.Next(int, int)` is max-exclusive, so the random state choice would
actually never pick `MultiplayerUserState.Results` on its own. The only
reason why that state ever did show up was by a freak accident of sorts
(the logic in `TestRealtimeMultiplayerClient` would automatically
convert every `FinishedPlay` state to `Results`, up until seeing the
first player that was in the `Playing` state).
2020-12-22 21:49:42 +01:00
Endrik Tombak
668f89d8b2 Copy test from #11019 2020-12-22 17:33:11 +02: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
Dean Herbert
c6be969e33 Remove unnecessary resolved recommender in test 2020-12-22 14:42:12 +09:00
Dean Herbert
d229fbba6e
Merge branch 'master' into present-recommended 2020-12-22 13:52:29 +09:00
smoogipoo
f21b4a269f Reduce wait length 2020-12-21 18:42:55 +09:00
smoogipoo
56bd3d8a82 Add realtime multiplayer test scene 2020-12-21 18:42:31 +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
Dean Herbert
27623822c4
Merge branch 'master' into realtime-ready-button 2020-12-21 11:19:03 +09:00
Bartłomiej Dach
bcd140b8df
Merge branch 'master' into realtime-ready-button 2020-12-20 18:20:57 +01:00
Bartłomiej Dach
b76ec79a70
Merge branch 'master' into realtime-participants-list 2020-12-20 18:20:22 +01:00
smoogipoo
1fdc19ee0f Add realtime match subscreen and related components 2020-12-21 00:05:38 +09:00
smoogipoo
55cdff5be7 Renamespace ready button 2020-12-20 23:54:04 +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
fdfe3c2b36 Merge branch 'realtime-ready-button' into realtime-multiplayer-2 2020-12-20 23:11:06 +09:00
smoogipoo
a2ad0b0329 Merge branch 'realtime-participants-list' into realtime-multiplayer-2 2020-12-20 23:11:06 +09:00
smoogipoo
4ada0e17c0 Merge branch 'abstract-room-manager' into stateful-multiplayer-client 2020-12-20 23:10:05 +09:00
smoogipoo
c33e693b8e Refactor InitialRoomsReceived to avoid extra bindables 2020-12-20 23:05:17 +09:00
smoogipoo
a07a36793a Fix test not working 2020-12-20 18:44:41 +09:00
smoogipoo
45107280a0 Make TimeBetweenPolls into a bindable 2020-12-20 18:34:54 +09:00
smoogipoo
1e2b425f3f Fix incorrect test name + assertion 2020-12-20 18:24:23 +09:00
smoogipoo
3a4878558f Merge branch 'master' into abstract-room-manager 2020-12-20 17:35:01 +09:00
Dean Herbert
8ac76bd524
Merge pull request #11199 from smoogipoo/refactor-player-score-creation
Asyncify player score creation and submission
2020-12-20 17:30:11 +09:00
Bartłomiej Dach
f827b6c030 Use terser dictionary initialiser syntax 2020-12-19 21:26:40 +01:00
Bartłomiej Dach
631a0cea41 Fix intended random factor not being random in test 2020-12-19 21:25:04 +01:00
Bartłomiej Dach
afa6a86954 Remove unnecessary lookup incrementing 2020-12-19 19:00:05 +01:00
Dean Herbert
b3bff281ce
Merge branch 'master' into spectator-driven-leaderboard 2020-12-20 01:13:59 +09:00
Bartłomiej Dach
3de03d279e Merge branch 'master' into gameplay-leaderboard-update 2020-12-19 15:20:04 +01:00
smoogipoo
6efe24695b Add the realtime multiplayer ready button 2020-12-19 02:59:11 +09:00
smoogipoo
11a903a206 Add test for many users and disable scrollbar 2020-12-19 02:47:24 +09:00
smoogipoo
1e5c32410a Add the realtime multiplayer participants list 2020-12-19 02:41:37 +09:00
smoogipoo
109e6b4283 Add tests for creating/joining/parting multiplayer rooms 2020-12-19 02:20:02 +09:00
smoogipoo
e84ce80d6c Make test headless 2020-12-19 02:17:07 +09:00
smoogipoo
a593f588db Add a test for the realtime room manager 2020-12-19 02:03:44 +09:00
smoogipoo
4494bb1eb5 Abstract RoomManager and Multiplayer 2020-12-19 00:52:27 +09:00
Salman Ahmed
228acf25a7 Add test case creating leaderboard scores with existing users 2020-12-18 13:13:31 +03:00
smoogipoo
2958cab239 Remove GotoRanking 2020-12-18 17:47:33 +09:00
Dean Herbert
0abe2b36b2
Merge pull request #11197 from smoogipoo/refactor-multiplayer-test-scene
Refactor multiplayer test scenes
2020-12-18 17:30:50 +09:00
Dean Herbert
470c68d6a5 Merge branch 'gameplay-leaderboard-update' into spectator-driven-leaderboard 2020-12-18 17:30:21 +09:00
Dean Herbert
668536ce56 Fix vertical size potentially changing during relayout 2020-12-18 17:25:48 +09:00
Dean Herbert
bca4d83af7 Revert previous player add flow via interface 2020-12-18 17:19:55 +09:00
Dean Herbert
5e83605026 Merge branch 'gameplay-leaderboard-update' into spectator-driven-leaderboard 2020-12-18 17:07:43 +09:00
Dean Herbert
157a72ec5d Revert previous player add flow via interface 2020-12-18 17:07:38 +09:00
Dean Herbert
96f23a1135 Merge branch 'master' into gameplay-leaderboard-update 2020-12-18 16:56:21 +09:00
Dean Herbert
869cac819d Merge branch 'gameplay-leaderboard-update' into spectator-driven-leaderboard 2020-12-18 16:55:44 +09:00
smoogipoo
2db7433c0b Refactor player score creation and submission process 2020-12-18 16:51:59 +09:00
Dean Herbert
07a8ffa4aa Fix failing tests due to ignoring the lookup ID 2020-12-18 16:50:25 +09:00
Dean Herbert
9226a67f16 Merge branch 'master' into spectator-driven-leaderboard 2020-12-18 16:47:46 +09:00
Dean Herbert
99f2032fdf
Merge branch 'master' into gameplay-leaderboard-update 2020-12-18 16:44:52 +09:00
Dean Herbert
9618f512d7
Merge pull request #11190 from frenzibyte/api-friends-list
Add global friends list to API providers
2020-12-18 16:44:29 +09:00
Dean Herbert
ceb2e4762d Add test covering a more consistent spread of player scores 2020-12-18 16:20:42 +09:00
Dean Herbert
20175a884a Merge branch 'api-friends-list' into gameplay-leaderboard-update 2020-12-18 15:28:07 +09:00
smoogipoo
bdfeb55dec Fix room status test scene not working 2020-12-18 15:18:06 +09:00
Dean Herbert
206bf3713e Make IAPIProvider read-only bindables into IBindables 2020-12-18 15:16:36 +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
Salman Ahmed
a8abefcd66 Make GameplayLeaderboardScore a model class 2020-12-18 03:34:33 +03:00
Salman Ahmed
9c22753f3f Remove unnecessary inheritance to OverlayView 2020-12-18 02:51:19 +03:00
Salman Ahmed
0faf3fdfd3 Update gameplay leaderboard scores with the new design 2020-12-17 15:19:10 +03:00
Dean Herbert
cc3dddf59f Fix test scene crashing on second run of SetUp
Also correctly support LongRunningLoad
2020-12-17 16:02:07 +09:00