Commit Graph

2309 Commits

Author SHA1 Message Date
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
Dean Herbert 9ac8e6c81c Add missing null check before attempting to populate bpm info 2021-12-10 13:53:48 +09:00
Dean Herbert e7e61cd9ab Fix potential crash due to children being mutated after disposal
This is a bit of an unfortunate edge case where the unbind-on-disposal
doesn't help, since the binding is happening in BDL, and the usage is in
a nested `LoadComponentAsync` call. Combine those and you have a recipe
for disaster.
2021-12-09 18:52:00 +09:00
Dean Herbert 8d9c37a825 Merge branch 'master' into primary-key-consistency 2021-12-08 21:34:38 +09:00
Dean Herbert 1eed2436e6 Clean up unused resolved properties 2021-12-03 18:49:49 +09:00
Dean Herbert 7a3c69544b
Merge pull request #15799 from smoogipoo/fix-songselect-test-failures-2
Fix SongSelect-related test failures
2021-11-25 23:01:06 +09:00
Dan Balasescu 09dd054283 Fix SongSelect-related test failures 2021-11-25 21:11:13 +09:00
Dean Herbert 79459c1aeb Fix typo in class and variable names 2021-11-25 17:12:15 +09:00
Dean Herbert 9dcb20a821 Rename `Stable` to `Legacy` and add xmldoc 2021-11-25 15:39:05 +09:00
Dean Herbert 183b95cbc2 Rename `BeatmapSetOnlineStatus` to `BeatmapOnlineStatus`
This variable is used at more than just a set level.
2021-11-24 18:42:49 +09:00
Dean Herbert 729f681938 Update cases where equality can be used instead of primary key equality 2021-11-24 12:49:57 +09:00
Bartłomiej Dach 15feb17da8
Change difficulty cache storage type to nullable
The recent changes related to adding support for working beatmap load
cancellation exposed a flaw in the beatmap difficulty cache. With the
way the difficulty computation logic was written, any error in the
calculation process (including beatmap load timeout, or cancellation)
would result in a 0.00 star rating being permanently cached in memory
for the given beatmap.

To resolve, change the difficulty cache's return type to nullable.
In failure scenarios, `null` is returned, rather than
`default(StarDifficulty)` as done previously.
2021-11-20 17:00:50 +01:00
Dean Herbert 83b4625bd5 Replace existing cases with new helper method 2021-11-19 22:15:41 +09:00
Dean Herbert 66c307e0ee Remove usage of key repeat helper method 2021-11-18 13:13:36 +09:00
Dean Herbert 3de8125eac Update UI cases where repeat should not be handled 2021-11-18 13:13:36 +09:00
Dean Herbert 7c2e79f911 Update all simple cases of switching to `IWorkingBeatmap` 2021-11-17 20:56:57 +09:00
Dean Herbert 2dd721f760 Fix incorrect `CancellationToken` being used for inner check during leaderboard updates 2021-11-16 17:41:16 +09:00
Dean Herbert d2d66766d4
Merge branch 'master' into songselect-audio-improvements 2021-11-12 19:40:04 +09:00
Dean Herbert 692e846acd Rename `BeatmapSetInfo.OnlineBeatmapSetID` to `OnlineID` to match interface 2021-11-12 17:52:44 +09:00
Dean Herbert 6a098a8634 Rename `BeatmapInfo.OnlineBeatmapID` to `OnlineID` to match interface 2021-11-12 17:46:24 +09:00
Jamie Taylor 069ee6980f
Add debounce to sample playback 2021-11-11 19:20:50 +09:00
Dean Herbert 51a353e12d Rename `BeatmapInfo.Version` to `DifficultyName` to match underlying interface 2021-11-11 17:20:53 +09:00
Dean Herbert ebe58cee11 Rename `BeatmapInfo.StarDifficulty` to `StarRating` to match underlying interface 2021-11-11 17:19:46 +09:00
Jamie Taylor 5f462b6441
Move beatmap/difficulty change sample playback to outside of debounce 2021-11-10 17:15:08 +09:00
Jamie Taylor 6dc13ef396
Use default hover sample instead of song-ping (they're the same sample anyway) 2021-11-10 17:14:20 +09:00
Dean Herbert 78aef9ce86
Merge branch 'master' into remove-stupid-weak-reference-bindable-events 2021-11-08 13:35:49 +09:00
Dean Herbert 62600b47b1 Merge branch 'master' into user-class-cleanup 2021-11-08 12:51:12 +09:00
Dean Herbert 54f72d68ca Revert weird event flow in model manager/importers 2021-11-05 19:12:49 +09:00
Dean Herbert 6399c695e8 Update usages of `BufferedContainer` in line with framework changes 2021-11-05 15:54:49 +09:00
Dean Herbert 7049d0de66 Merge branch 'master' into beatmap-refactor/remove-online-info 2021-11-05 01:16:11 +09:00
Dean Herbert ed07ee8c61 Update all existing usages of `AuthorString`/`AuthorId`
Unfortunately the getters need to be left in place else EF breaks.
2021-11-04 18:59:37 +09:00
Dean Herbert 86540d1fb6 Update existing usages of `Author` as `string` to access `Username` directly 2021-11-04 18:57:54 +09:00
Dean Herbert d2831b1152 Merge branch 'beatmap-refactor/remove-online-info' into beatmap-refactor/to-model-removal-2 2021-11-04 17:09:50 +09:00
Dean Herbert 317506d4d7 Fix a few more "maybe null" inspections 2021-11-04 16:11:23 +09:00
Dean Herbert 9c926e5514 Remove `BeatmapSetInfo.OnlineInfo` and all usages 2021-11-04 15:23:04 +09:00
Dean Herbert d1e6d1cb98 Update some other missed incorrect null/empty usages 2021-11-04 14:50:43 +09:00
Dean Herbert 67d9590a79 Fix new inspections 2021-11-04 14:02:09 +09:00
Bartłomiej Dach 98367fc482
Update usages of `GetLocalised{-> Bindable}String` 2021-11-02 21:42:01 +01:00
Dean Herbert b21e0e7efb Merge branch 'beatmap-refactor/get-and-present' into beatmap-refactor/beatmap-overlays 2021-11-01 18:07:51 +09:00
Dean Herbert b98faf6159 Merge branch 'master' into score-refactor/isolated-serialisation 2021-11-01 15:49:25 +09:00
Bartłomiej Dach 914e5c0f9d
Fix star rating not updating for some mods on details tab in song select
`AdvancedStats` was locally assuming that the only changes in mods that
are relevant to it are if the mods are `IApplicableToDifficulty`. This
is not true, as other mods (such as `IApplicableToRate` mods, or more
recently, Flashlight) can also affect star difficulty, which is shown on
one of the bars in `AdvancedStats`.
2021-10-31 18:58:17 +01:00
Dean Herbert a16c8f1ebc Update all beatmap overlay views to use `APIBeatmap`/`APIBeatmapSet` 2021-10-29 18:50:55 +09:00
Dean Herbert 3f030cebf4 Remove local score copying in `GetScoresRequest` to allow `APIScoreInfo.Beatmap` to be `APIBeatmap` 2021-10-29 14:14:25 +09:00
Dean Herbert 6944151486 Apply batch fixing of built-in types using `var` 2021-10-27 13:04:41 +09:00
Dan Balasescu efe6763226
Merge branch 'master' into move-online-beatmap-metrics 2021-10-26 14:24:40 +09:00
Bartłomiej Dach 6802e9ec10
Remove `FixedWidth` and add `AutoSizeAxes` specs to all usages 2021-10-25 20:24:48 +02:00
Dean Herbert 2c308f3008 Rename `BeatmapMetrics` to `APIFailTimes` 2021-10-25 15:34:41 +09:00
Dean Herbert 20baae9094 Move online metrics out of `BeatmapInfo` model 2021-10-25 15:32:18 +09:00
Dean Herbert 045dd94a6e Move online metrics out of `BeatmapSetInfo` model 2021-10-25 15:12:39 +09:00
Dean Herbert e0babe4b79 Add global logging of `WorkingBeatmap` changes 2021-10-14 14:07:43 +09:00