Commit Graph

22573 Commits

Author SHA1 Message Date
7298adc9d9 Fix non-threadsafe usage of MultiplayerClient.IsConnected 2021-01-12 19:04:16 +09:00
b51b07c3a9 Fix unstable multiplayer room ordering when selection is made 2021-01-12 18:05:29 +09:00
9a22df2b88 Fix BPM multiplier not working in all cases 2021-01-12 17:50:22 +09:00
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
24c1839739 Add global web setting for allowing explicit content 2021-01-12 11:10:25 +03:00
249be461d5 Add "explicit maps" search filter control 2021-01-12 11:09:55 +03:00
0d5fbb15ac Fix up code comments
Default value restated in xmldoc was snipped because it's made redundant
by the initialiser and possibly bound to be outdated at some point.
2021-01-11 20:31:52 +01:00
90fb67b377 Update code in-line with decided direction 2021-01-11 20:52:24 +03:00
dd809df076 Merge pull request #11118 from MiraiSubject/tourney-switching-ui
Add the ability to switch tournaments to the SetupScreen
2021-01-11 16:36:45 +09:00
2286e3679f Downloaded -> Importing 2021-01-11 08:21:07 +03:00
a8dfa5e2a9 Rename typo'd method 2021-01-11 08:04:00 +03:00
e99310b59c Add JsonConstructor attribute 2021-01-11 08:02:57 +03:00
d2ca6da0fd Remove unused constant 2021-01-11 01:56:09 +09:00
bd37723788 Expose as IBindable for added safety 2021-01-11 01:55:54 +09:00
e4eb44df6e Merge branch 'master' into fix-play-button-crashes 2021-01-11 01:46:41 +09:00
959696c296 Merge branch 'master' into tourney-switching-ui 2021-01-10 17:34:03 +01:00
e5c670f843 Merge branch 'master' into tourney-switching-ui 2021-01-10 17:33:52 +01:00
d110ed9e95 Merge branch 'master' into fix-mod-buttons-not-copying-settings 2021-01-10 15:42:33 +01:00
4b4adc927c Rename param to match method body 2021-01-10 15:35:53 +01:00
4e32b0d6de Merge branch 'master' into ongoing-operation-tracker-safety 2021-01-10 23:05:03 +09:00
95ad324a39 Merge branch 'master' into fix-mod-buttons-not-copying-settings 2021-01-10 23:01:54 +09:00
e81f9e358e Merge pull request #11448 from bdach/fix-editor-enter-crash
Fix editor crashing on enter if login overlay was previously opened
2021-01-10 12:59:47 +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
0aad0c7c6c Target logic at this and adjust variables 2021-01-09 00:31:18 +03: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
c2eeb822b8 Rename {joiningRoom -> operationInProgress} 2021-01-08 22:23:38 +01:00
dad5dd3667 Remove unnecessary permissiveness wrt null 2021-01-08 22:21:54 +01:00
284d30d336 Move screen activity update to LoadComplete()
Fixes a potential crash when moving from main menu to editor after
having previously opened the login settings overlay. Setting the
activity in BDL as done before is unsafe, as that set can trigger value
change callbacks, which in turn can trigger adding transforms, which
should always be done on the update thread.

Semantically it also makes sense, as the user activity should change
once the screen they're moving to has actually loaded and displayed to
the user.
2021-01-08 21:18:15 +01:00
274a045d8d Remove Dispose() override
Culls another non-thread-safe mutation of the `Playing` bindable.
It seems to be a weird vestige from an earlier revision of the old
"direct" panel, which relied on `DisposeOnDeathRemoval` to finish track
playback (and then was removed in
6c150c9ed7). The play button is no longer
responsible for managing preview track lifetime anyway;
`PreviewTrackManager`'s method are intended for that.
2021-01-08 20:08:19 +01:00
52789118a3 Schedule play button state update
Revealed by the framework-side transform thread safety checks. `Stopped`
is even annotated as not being thread-safe (but was annotated as such
long after the class's nascence).
2021-01-08 20:08:19 +01:00
8a7a1fc40a Merge pull request #11439 from peppy/improve-hover-sounds-debounce
Improve hover sounds playback (to reduce volume saturation and delay)
2021-01-09 02:31:02 +09:00
49c6abcb5c Remove mention of default value in xmldoc
Just bound to get outdated with every change anyway. Look at the actual
default value declaration to see what the default is.
2021-01-08 18:26:41 +01:00
d507a08951 Start with null last hover playback time 2021-01-08 18:16:03 +01:00
3bb71e4b77 Merge branch 'master' into fix-transform-mutation-mod-selection 2021-01-09 01:44:52 +09:00
8feaf3fb6a Update framework 2021-01-09 01:24:18 +09: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
0cf5be3ef4 Fix selection change event being invoked with wrong mod 2021-01-08 17:02:57 +01:00
edd328c8fe Move bindable closer to source class 2021-01-08 17:24:55 +09:00
c208800150 Fix auto selection scenario regressing due to scheduling too much 2021-01-08 14:17:14 +09:00
e156bcdcae Remove unnecessary (and broken) requiresDebounce check 2021-01-08 14:05:34 +09:00
11801d61c1 Use nullable doubule to better represent initial playback case 2021-01-08 14:05:22 +09:00
22981a667c Merge branch 'master' into fix-transform-mutation-mod-selection 2021-01-08 11:16:22 +09:00
4973e23003 Merge branch 'master' into fix-transform-mutation-mod-selection 2021-01-08 11:16:15 +09:00
2cfd1e8b47 Merge branch 'master' into fix-control-point-pollution 2021-01-08 00:02:45 +09:00
3c3e860dbc Move ControlPointInfo copying to base Beatmap.Clone method (and remove setter) 2021-01-07 23:52:04 +09:00
77b55212a3 Change access of beatmap to use working for consistency in file 2021-01-07 19:11:51 +09:00
42643fbaf6 Use already resolved EditorBeatmap rather than resolving a second time locally 2021-01-07 19:10:19 +09:00
00dc98e3ab Make legacy control point's BpmMultiplier setter private again 2021-01-07 19:06:52 +09:00