Commit Graph

3702 Commits

Author SHA1 Message Date
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
d110ed9e95 Merge branch 'master' into fix-mod-buttons-not-copying-settings 2021-01-10 15:42:33 +01:00
95ad324a39 Merge branch 'master' into fix-mod-buttons-not-copying-settings 2021-01-10 23:01:54 +09:00
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
b69fe8a274 Merge branch 'master' into disable-repeat-multi-actions 2021-01-09 10:15:20 +09:00
ff60d652ed Move out test ongoing operation tracker to higher level 2021-01-08 22:28:21 +01:00
375ecf92ed Merge remote-tracking branch 'upstream/master' into fix-mod-buttons-not-copying-settings 2021-01-09 00:26:18 +03:00
924f91ed9b Fix song select test doing the completely wrong thing 2021-01-08 15:56:35 +01:00
25b4628672 Merge branch 'master' into fix-transform-mutation-from-background 2021-01-06 11:04:51 +01:00
52687fc37c Merge branch 'master' into fix-transform-mutation-loading-layer 2021-01-05 23:10:51 +01:00
0639429a23 Fix test (and remove no longer valid test) 2021-01-05 18:10:39 +09:00
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
5904e426eb Remove unused variable 2021-01-05 16:00:25 +09:00
b3f08b29ca Ensure that all changes to screen backgrounds are on the correct thread 2021-01-05 15:22:50 +09:00
81355652fa Add simple test coverage 2021-01-05 06:00:15 +03:00
deb1ad7bca Merge branch 'master' into disable-repeat-multi-actions 2021-01-04 23:38:29 +09:00
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
ee664ad571 Add test coverage 2021-01-01 03:47:18 +03:00
17abe90c27 move SkinnableHealthDisplay
Similar components are in osu.Game.Screens.Play.HUD while this is not
2020-12-31 20:23:13 +08:00
f800448c87 Move game start logic to a higher level 2020-12-30 18:15:48 +01:00
d34609b98e Rename On{ToggleReady -> ReadyClick} 2020-12-30 16:29:36 +01:00
f2163a471a Trim missed reference to deleted member 2020-12-29 11:53:42 +01:00
274730de34 Cache tracker in test scene to resolve test fails 2020-12-29 09:16:08 +01:00
e9b0652359 Move ready-up operation logic again to client
To salvage ready up button tests.
2020-12-29 09:16:02 +01:00
db52255bbe Adjust tracker usages to match new API 2020-12-29 08:20:43 +01:00
f68e4fc88f Merge branch 'master' into disable-repeat-multi-actions 2020-12-29 07:42:20 +01:00
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
af66e45311 Disable create room button after triggering join 2020-12-28 22:48:03 +01:00
47ab7c9fd6 Disable ready button after host click 2020-12-28 22:48:03 +01:00
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
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
a376a23ed7 Merge branch 'master' into fix-leaderboard-user-handling 2020-12-28 13:43:53 +01:00
92d74a9343 Fix potential nullref in test scene 2020-12-28 20:48:14 +09:00
fb21b7c016 Add failing test cases 2020-12-28 12:35:16 +01:00
6254907ef9 Move multiplayer leaderboard test to correct namespace 2020-12-28 20:31:08 +09:00
8f0413472c Add test coverage of null users in scoreboard 2020-12-28 20:30:08 +09:00
20ae84a466 Merge branch 'master' into fix-user-lookup-failure-crashes 2020-12-28 12:15:06 +01:00
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
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
1b7c72f03b Merge branch 'master' into changelog-refactor 2020-12-28 11:00:14 +09:00
966a2151e3 Ensure the previous leaderboard is removed 2020-12-26 17:55:24 +09:00
2599e95335 Add test coverage 2020-12-26 12:11:19 +09:00
ff57562956 Fix multiplayer leaderboard not unsubscribing from quit users 2020-12-26 11:35:31 +09:00
09b0a57290 Schedule all of setup to avoid headless test fail 2020-12-25 21:06:03 +01:00
c32fc05f69 Improve test scene coverage of corner cases 2020-12-25 21:06:03 +01:00
3ac618778f Handle all changelog entry types correctly 2020-12-25 21:06:03 +01:00
dacf6d5a34 Decouple changelog test scene from web 2020-12-25 21:06:03 +01:00
4c43a67b68 Rename I{Multiplayer -> OnlinePlay}SubScreen 2020-12-25 18:07:34 +01:00
83fb7c7a1a Re-namespace all files in OnlinePlay directory 2020-12-25 16:50:09 +01:00
9de1a67e03 Move PlaylistsResultsScreen to correct namespace 2020-12-25 23:47:32 +09:00