Update beatmap online statuses when the set is selected in song select #34419
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This is the low effort attempt at fixing #23804 in line with the suggestion from #34112 (comment).
Why low effort?
It doesn't fix the fact that the same API request is done by two wedges independently despite them being right next to each other (which was the case before I started touching any of this).
RealmPopulatingOnlineLookupSourcebut that would imply that this cache now has to be purged at some point. At what point? Good question. Probably on re-entering song select? Or maybe never (...with the exception of unit tests)?It does a local realm refetch of the status. This is primarily required because of Fix clicking beatmap header causing leaderboard to refresh #33515 - the guard added there prevents the global working beatmap from being refetched with the updated
BeatmapInfovia beatmap carousel / detached beatmap store.It doesn't address Update button may not show under certain scenarios #20159 because that case concerns difficulties that are present online but missing locally. Resolving that would likely require a new database flag which would feed into
osu/osu.Game/Beatmaps/BeatmapSetInfo.cs
Line 107 in 3dced34
I've tested this manually because that's frankly easiest if you have realm studio working (open realm studio, select a beatmap in game, go to realm, change its status to something random, then go back to game, change to another set and change back - the status should revert to what it was). I can add automated tests but it's likely that will be much more annoying to set up.
Please advise how much of the above you'd see addressed and how. PRing as draft pending answers to these concerns.