osu icon indicating copy to clipboard operation
osu copied to clipboard

Updating a selected beatmap may not follow selection at song select

Open peppy opened this issue 3 years ago • 4 comments

Discussed in https://github.com/ppy/osu/discussions/19327

Originally posted by Flamiii July 23, 2022 Updating a map can cause it to seemingly disappear as it gets moved from its original position in the beatmap carousel to another location. For example, if you're sorting by difficulty and are updating a 6.8* map that was edited and is now 7.2*, the map will disappear from view. I think it would be better behavior if the game brought the user to the newly updated map.

https://user-images.githubusercontent.com/74088315/180602283-144923e6-3c4a-4528-a352-69469af2b804.mp4

peppy avatar Jul 23 '22 11:07 peppy

I don't know if this is the right spot for it but beatmaps are also removed from collections when they're updated. Does this issue cover that or should I make another?

camellirite avatar Jul 24 '22 05:07 camellirite

Please open another.

frenzibyte avatar Jul 24 '22 05:07 frenzibyte

This one is, as expected, quite hard to achieve. Currently selection is maintained by BeatmapInfo.ID, falling back to index in the carousel when that is not matching.

There's no linking between a pre-updated and post-updated beatmap, so it is always using the index lookup, which can sometimes be miles off (as the example in this thread shows).

A few potential solutions I can think of, in order of preference descending:

  • BeatmapCraousel fallback to match on Filename
  • Guid? PreviousID in BeatmapInfo
  • Transfer Guids from old to new instances (with the caveat that modified instances in soft deleted state would have their Guid change, which is pretty weird)

peppy avatar Jul 26 '22 10:07 peppy

The first thing that came to my mind is transferring Guids. Matching by filename could work, with the caveat that if the same beatmap is present in multiple sets then... I'm not sure how that will handle, or if that's a common thing at all / how lazer would handle that in the first place.

smoogipoo avatar Jul 26 '22 11:07 smoogipoo