1
0
mirror of https://github.com/ppy/osu.git synced 2024-10-01 01:37:26 +08:00
Commit Graph

47499 Commits

Author SHA1 Message Date
Dean Herbert
b0df787b1a Move public method up and add xmldoc to second public method 2021-12-23 14:13:57 +09:00
Dean Herbert
60c9827187
Merge branch 'master' into move-many-slider-nodes-at-once 2021-12-23 14:11:04 +09:00
Dan Balasescu
a4d9592caf
Merge pull request #16217 from peppy/fix-drawable-collection-list-item-mutation-error
Fix potential crash from cross-thread drawable mutation in collection management
2021-12-23 13:55:05 +09:00
Dean Herbert
d69552fbcf Fix potential crash from cross-thread drawable mutation in collection management
As seen at https://github.com/peppy/osu/runs/4613800663?check_suite_focus=true.
2021-12-23 13:21:17 +09:00
Dan Balasescu
e1b539fa9e
Merge pull request #16213 from peppy/working-beatmap-live
Tidy up `WorkingBeatmap`
2021-12-23 13:02:37 +09:00
Dan Balasescu
c0add5661e
Merge pull request #16214 from bdach/beatmap-listing-overlay-flaky-hide
Fix placeholder drawables on beatmap listing not always showing correctly
2021-12-23 11:56:06 +09:00
Bartłomiej Dach
25e38560ce
Fix placeholder drawables on beatmap listing not always hiding correctly
`BeatmapListingOverlay.addContentToPlaceholder()`, in order to make
transitions between different beatmap listing content (whether it is
actual cards, or placeholders for no beatmaps found/supporter-specific
filters chosen), would set `BypassAutoSizeAxes = Y` on content as it is
fading out, to make the transition smoother. The property in question
was supposed to be getting restored to `None` on the next show.

In testing scenarios, it sometimes turned out that this wasn't the case,
therefore making the placeholders effectively not show - while they
were present and fully opaque, they would be the only child of
an auto-sized container with `BypassAutoSizeAxes = Y`, so the parent
auto-sized to a zero height, which logically follows from the premise,
but is not what was desired.

This in turn was caused by the fact that the `BypassAutoSizeAxes = Y`
set was scheduled, and sometimes it would be scheduled in such a way
that the drawable would cease to be present on the next frame due to its
alpha being past the cutoff point of 0.0001. Therefore the scheduled set
would not execute until the *next* time the placeholder was shown,
therefore causing the bug.

Fix by ensuring that the placeholder drawables are always present if
their schedulers have any tasks enqueued, on top of the usual checks of
alpha and scale performed via the base implementation.
2021-12-22 15:05:23 +01:00
Bartłomiej Dach
02fa1c21b7
Adjust existing placeholder test to demonstrate failure case 2021-12-22 15:03:20 +01:00
Dean Herbert
f179ff33c9 Remove all NRT changes
This reverts commit bb9877adab.
2021-12-22 21:02:06 +09:00
Dean Herbert
bb9877adab Reapply IWorkingBeatmap nullability fixed 2021-12-22 20:48:48 +09:00
Dan Balasescu
67e6b50c12
Merge pull request #16135 from stanriders/refactor-diffcalc
Slightly refactor difficulty and pp calculators
2021-12-22 19:44:02 +09:00
Dan Balasescu
fa5ee5f72c
Merge pull request #16212 from peppy/fix-beatmap-leaderboard-global-reference
Fix potential errors thrown during beatmap leaderboard display due to incorrect beatmap reference
2021-12-22 19:26:32 +09:00
Dean Herbert
bc47801cbb Revert "Apply NRT to WorkingBeatmap"
This reverts commit 9e17d7d4e3.
2021-12-22 19:14:18 +09:00
Bartłomiej Dach
ef20182a34
Rewrite test to check selection state during and after new control point placement 2021-12-22 10:57:39 +01:00
Dean Herbert
9e17d7d4e3 Apply NRT to WorkingBeatmap 2021-12-22 18:41:45 +09:00
Bartłomiej Dach
c3fada1926
Replace assertion with soft null check
Surrounding `OnDrag{Start,End}` methods did so already.
2021-12-22 10:33:08 +01:00
Bartłomiej Dach
6330fa5dc5
Select newly created control point 2021-12-22 10:33:07 +01:00
Dean Herbert
53c0a6708f Move public accessor properties to top of file 2021-12-22 18:25:09 +09:00
Dean Herbert
a5f77a86ef Move load methods and rename loadedTrack to match other private fields 2021-12-22 18:24:51 +09:00
Dean Herbert
7344c87b16 Remove RecyclableLazy 2021-12-22 18:18:12 +09:00
Dean Herbert
f3f491374b Remove unused load checks 2021-12-22 18:17:00 +09:00
Dean Herbert
3c95497ed7 Reorder methods to hopefully make more sense 2021-12-22 18:17:00 +09:00
Dean Herbert
e38e4c0adc Enable NRT on IWorkingBeatmap 2021-12-22 18:17:00 +09:00
Dean Herbert
967419c9ac Remove BeatmapSetInfo and Metadata from interface
There were very few accesses to this, and after realm they should all be
done via the `BeatmapInfo`, so let's remove this.
2021-12-22 18:17:00 +09:00
Dean Herbert
1b0af78831 Simplify WorkingBeatmap in multiple ways
Just a clean-up pass.
2021-12-22 18:17:00 +09:00
Dean Herbert
b38b300159 Convert BeatmapMetadata access to be via a computed property 2021-12-22 18:17:00 +09:00
Dean Herbert
ea7d2c06fc
Merge pull request #16206 from peppy/fix-collection-import-test-cleanup
Fix `ImportCollectionsTest.TestSaveAndReload` not cleaning up before run
2021-12-22 18:16:48 +09:00
Bartłomiej Dach
307d3709e0
Add failing test steps for selection behaviour on new point creation 2021-12-22 09:32:38 +01:00
Dean Herbert
5b3a154431 Fix potential errors thrown during beatmap leaderboard display due to incorrect beatmap reference
Specifically, the global `BeatmapInfo` is referenced inside the web
request's success callback, and used to attempt population via methods
which expect non-null beatmap inputs.

Closes #16211.
2021-12-22 17:24:48 +09:00
Bartłomiej Dach
e22745397d
Fix right click deselecting clicked path piece with control held 2021-12-22 08:55:26 +01:00
Bartłomiej Dach
9973db3981
Add failing test steps for right click behaviour 2021-12-22 08:40:17 +01:00
Dean Herbert
a866572ca8 Add comment regarding host name choice 2021-12-22 15:44:47 +09:00
Dean Herbert
cfdfe81afb
Merge pull request #16205 from smoogipoo/fix-multiplayer-tests
Fix multiplayer test failures when checking for parted room
2021-12-22 13:42:05 +09:00
Dean Herbert
f81e32149b Fix ImportCollectionsTest.TestSaveAndReload not cleaning up before/after run 2021-12-22 13:38:20 +09:00
Dean Herbert
a88800c99a
Merge pull request #16198 from smoogipoo/fix-current-item-before-population
Fix delete button showing on current item before beatmap retrieval
2021-12-22 13:15:07 +09:00
Dan Balasescu
24c6f8fafa Fix multiplayer test failures when checking for parted room 2021-12-22 12:55:37 +09:00
Dan Balasescu
98f044881e
Merge branch 'master' into refactor-diffcalc 2021-12-22 12:31:28 +09:00
Dan Balasescu
e50609c546 Rename method 2021-12-22 12:28:07 +09:00
Dan Balasescu
7bc5079485
Merge pull request #16201 from bdach/timeline-blueprint-contrast-improvement
Improve contrast of timeline blueprint foreground content for pastel combo colours
2021-12-22 11:33:29 +09:00
Dan Balasescu
ee64ab6383 Fix delete button test failures
Can be tested by adding a Thread.Sleep() in
DrawableRoomPlaylistItem.load().
2021-12-22 09:55:19 +09:00
Dan Balasescu
c71942a350
Merge pull request #16200 from bdach/lookup-cache-racing
Fix online lookup caches potentially getting stuck
2021-12-22 09:48:58 +09:00
Bartłomiej Dach
dca081979f
Merge pull request #16199 from peppy/fix-custom-directory-tests
Ensure `CustomDataDirectoryTest` methods use a fresh directory to avoid IO errors
2021-12-21 13:56:07 +01:00
Bartłomiej Dach
e35a8cab65
Merge branch 'master' into fix-custom-directory-tests 2021-12-21 13:08:27 +01:00
Bartłomiej Dach
7ab1c0c99d
Improve contrast of timeline blueprint foreground content for pastel combo colours 2021-12-21 12:54:17 +01:00
Bartłomiej Dach
e715bff535
Fix selections including head not correctly dragging if not started from head 2021-12-21 12:35:48 +01:00
Bartłomiej Dach
adfadc13f7
Add test case for dragging selection including slider head 2021-12-21 12:34:55 +01:00
StanR
40b3ce0ade Clean up comments 2021-12-21 14:03:24 +03:00
StanR
88436d51ae Remove using 2021-12-21 13:44:20 +03:00
Bartłomiej Dach
ca7303a50a
Fix online lookup cache not clearing completed task on early return
The task not being cleared in the early return path would cause
`pendingRequestTask` to become stuck as a completed task, and
`queryValue()` would not recreate it due to the null check there,
therefore stalling all lookups forevermore until a game restart.
2021-12-21 11:13:41 +01:00
Bartłomiej Dach
ee89d8643e
Extract abstract implementation of online lookup cache 2021-12-21 11:12:51 +01:00