Commit Graph

4667 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
05ba5d4c31 Merge pull request #11438 from bdach/difficulty-adjust-defaults
Fix difficulty adjust mod treating default values as user overrides
2021-01-09 01:18:34 +09:00
924f91ed9b Fix song select test doing the completely wrong thing 2021-01-08 15:56:35 +01:00
2cfd1e8b47 Merge branch 'master' into fix-control-point-pollution 2021-01-08 00:02:45 +09: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
60fc60fa00 Merge pull request #11415 from frenzibyte/fix-ready-button-crash
Fix multiplayer ready button crashing when deleting selected beatmap set
2021-01-05 15:58:09 +09:00
b3f08b29ca Ensure that all changes to screen backgrounds are on the correct thread 2021-01-05 15:22:50 +09:00
385c9cd2e2 Add test coverage 2021-01-05 13:14:16 +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
20d04d6933 Fix Storyboard's FirstEventTime not finding the true earliest event 2021-01-04 15:16:01 +09:00
cb7df0fe11 Add failing test for storyboard start time ordering 2021-01-04 15:15:23 +09:00
ca5f2bcd4c Revert database-side changes 2021-01-04 08:50:30 +03:00
df04dd21de Add failing test case 2021-01-04 07:45:29 +03: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
0fd2e368c1 Bump Microsoft.NET.Test.Sdk from 16.8.0 to 16.8.3
Bumps [Microsoft.NET.Test.Sdk](https://github.com/microsoft/vstest) from 16.8.0 to 16.8.3.
- [Release notes](https://github.com/microsoft/vstest/releases)
- [Commits](https://github.com/microsoft/vstest/compare/v16.8.0...v16.8.3)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2021-01-01 17:53:41 +00: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
f7407347f7 Add test coverage of PlayingUsers tracking 2020-12-28 20:07:05 +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