mirror of
https://github.com/ppy/osu.git
synced 2026-05-16 13:43:28 +08:00
Do not overwrite "locally modified" beatmap set status when performing online lookups in song select
A relatively recent regression. It's maybe not a huge one, in that it probably doesn't matter all that much, but it is somewhat important to keep the "locally modified" status of the set for as long as possible. One reason for that is that keeping the "locally modified" status will pull up a dialog when the user attempts to update the beatmap, warning them that they will lose their local changes - this dialog will not show if the online lookup flow is allowed to overwrite the map status with something else.
This commit is contained in:
@@ -82,7 +82,9 @@ namespace osu.Game.Screens.SelectV2
|
||||
// unfortunately in terms of subscriptions realm treats *every* write to any realm object as a modification,
|
||||
// even if the write was redundant and had no observable effect.
|
||||
|
||||
if (dbBeatmapSet.Status != onlineBeatmapSet.Status)
|
||||
// notably, `LocallyModified` status is preserved on the set until the user performs an explicit action to get rid of it
|
||||
// (be it updating the set or deciding to discard their changes, removing the set and re-downloading it, etc.)
|
||||
if (dbBeatmapSet.Status != onlineBeatmapSet.Status && dbBeatmapSet.Status != BeatmapOnlineStatus.LocallyModified)
|
||||
dbBeatmapSet.Status = onlineBeatmapSet.Status;
|
||||
|
||||
foreach (var dbBeatmap in dbBeatmapSet.Beatmaps)
|
||||
|
||||
Reference in New Issue
Block a user