1
0
mirror of https://github.com/ppy/osu.git synced 2025-01-12 17:43:05 +08:00
osu-lazer/osu.Game/Screens/Select
Bartłomiej Dach c1107d2797
Fully refetch working beatmap when entering editor
Closes https://github.com/ppy/osu/issues/21794.

I'm not actually super sure as to what the exact mode of failure is
here, but it's 99% to do with working beatmap cache invalidation. Likely
this can be even considered as another case of
https://github.com/ppy/osu/issues/21357, but because this is a one-liner
"fix," I'm PRing it anyways.

The issue is confusing to understand when working with the swap scenario
given in the issue, but it's a little easier to understand when
performing the following:

1. Have a beatmap set with 2 difficulties. Let's call them "A" and "B".
2. From song select, without ever exiting to main menu, edit "A". Change
   the difficulty name to "AA". Save and exit back to song select; do
   not exit out to main menu.
3. From song select, edit "B". Change the difficulty name to "BB". Save
   and exit back to song select.
4. The difficulty names will be "A" and "BB".

Basically what I *think* is causing this, is the fact that even though
editor invalidates the working beatmap by refetching it afresh on exit,
song select is blissfully unaware of this, and continues working with
its own `BeatmapInfo` instances which have backlinks to
`BeatmapSetInfo`.

When editing the first of the two difficulties and then the second,
the editing of the first one only invalidates the first one rather than
the entire set, and the second difficulty continues to have a stale
reference to the first one via the beatmap set, and as such ends up
overwriting the changes from the first save when passed into the editor
and modified again.
2024-04-25 14:31:13 +02:00
..
Carousel Add mods to FilterCriteria, pass to ruleset method 2024-03-28 23:03:26 +09:00
Details Add ability to query key count with mods 2024-03-28 22:51:12 +09:00
Filter Automated pass 2023-06-24 01:00:03 +09:00
FooterV2 Make "general" a common string 2023-09-05 23:00:07 -07:00
Leaderboards Fix song select leaderboard tab ordering not matching stable 2023-12-28 14:13:35 +09:00
Options Use new overlay pop-in/pop-out samples 2023-08-17 18:36:36 +09:00
BeatmapCarousel.cs Adjust beatmap carousel padding to avoid scrollbar disappearing underneath logo 2024-01-25 15:21:19 +09:00
BeatmapClearScoresDialog.cs make ResetConfirmDialog properly utilise its parent's logic 2023-03-05 20:57:26 +01:00
BeatmapDeleteDialog.cs make ResetConfirmDialog properly utilise its parent's logic 2023-03-05 20:57:26 +01:00
BeatmapDetailArea.cs functionality is done 2023-09-03 02:09:01 +03:00
BeatmapDetailAreaDetailTabItem.cs Automated pass 2023-06-24 01:00:03 +09:00
BeatmapDetailAreaLeaderboardTabItem.cs Automated pass 2023-06-24 01:00:03 +09:00
BeatmapDetailAreaTabControl.cs Partial everything 2022-11-27 00:00:27 +09:00
BeatmapDetailAreaTabItem.cs Automated #nullable processing 2022-06-17 16:37:17 +09:00
BeatmapDetails.cs Apply padding to GridContainers directly 2024-02-20 23:18:37 +03:00
BeatmapInfoWedge.cs Extract common helper for BPM rounding 2024-02-22 10:27:37 +01:00
BeatmapInfoWedgeBackground.cs Automated pass 2023-06-24 01:00:03 +09:00
BeatmapInfoWedgeV2.cs Add comment explaining the max width 2023-09-06 15:01:55 -07:00
FilterControl.cs Don't re-filter unless mods may change the filter 2024-04-15 21:07:36 +09:00
FilterCriteria.cs Add mods to FilterCriteria, pass to ruleset method 2024-03-28 23:03:26 +09:00
FilterQueryParser.cs Update OptionalSet implementation to intersect across multiple filters rather than union 2024-03-26 12:32:03 +01:00
Footer.cs Partial everything 2022-11-27 00:00:27 +09:00
FooterButton.cs Partial everything 2022-11-27 00:00:27 +09:00
FooterButtonMods.cs Add unranked indicator to song select footer too 2024-02-01 21:51:41 +01:00
FooterButtonOptions.cs Automated pass 2023-06-24 01:00:03 +09:00
FooterButtonRandom.cs Show "rewind" text on random button when beginning a right mouse press 2023-05-17 14:51:40 +09:00
LocalScoreDeleteDialog.cs Make ScoreInfo.BeatmapInfo nullable 2023-07-04 14:50:34 +09:00
NoResultsPlaceholder.cs Partial everything 2022-11-27 00:00:27 +09:00
PlayBeatmapDetailArea.cs Fix song select leaderboard tab ordering not matching stable 2023-12-28 14:13:35 +09:00
PlaySongSelect.cs Change ResultsScreen constructor boolean params to init-only properties 2024-02-22 20:15:03 +01:00
SkinDeleteDialog.cs make ResetConfirmDialog properly utilise its parent's logic 2023-03-05 20:57:26 +01:00
SongSelect.cs Fully refetch working beatmap when entering editor 2024-04-25 14:31:13 +02:00
SongSelectTouchInputDetector.cs Rename touch "input handlers" to detectors 2023-11-06 10:08:19 +01:00
WedgeBackground.cs Only apply dim changes when background blur is disabled 2023-02-15 14:16:34 +09:00