ppy / osu

rhythm is just a *click* away!
https://osu.ppy.sh
MIT License
15.16k stars 2.25k forks source link

"played=0" filter resets difficulty range after playing beatmap #29751

Open adriankiezik opened 1 month ago

adriankiezik commented 1 month ago

Type

Game behaviour

Bug description

Steps to reproduce:

  1. Enter "played=0" filter
  2. Select any difficulty range
  3. Play a beatmap (you can exit it right away)
  4. All difficulties are shown disregarding selected range (only for current beatmap)

Screenshots or videos

image

Version

2024.906.1-lazer

Logs

logs.zip

m1ntleaf commented 1 month ago

please submit logs. it takes literally 5 seconds

peppy commented 1 month ago

I can't reproduce this.

Joehuu commented 1 month ago

Still seems to happen on latest release. Can seem to reproduce on a fresh database with recommended maps (clean-install), but not on my 200+MB database.

adriankiezik commented 1 month ago

@peppy Included logs & video with issue occurring on latest ver.

https://github.com/user-attachments/assets/1e9c73ce-a947-4969-b584-3f794d1bf60a

bdach commented 3 weeks ago

I'm not sure the video above is showing what it's claiming. I believe what is happening could be considered a little unintuitive, though.

Before I elaborate, the symptoms that I am seeing is as follows:

  1. I set a difficulty range filter via the slider
  2. I set a text played=0 filter
  3. I enter any map and exit out immediately after player loads
  4. I see that the mapset I was playing has the filter unset for it, but all other mapsets are still correctly filtered to unplayed and within the difficulty range set

In other words, the "difficulty range reset" only happens in the context of the single mapset that has just been played.

If that is what everyone is seeing (@adriankiezik @Joehuu can you confirm for me?), then that is somewhat "intended," because song select will forcibly bypass filters when exiting out of player, in order to preserve the selected beatmap:

https://github.com/ppy/osu/blob/b5afca98f14d9817895a9820925dff80f3a7b792/osu.Game/Screens/Select/SongSelect.cs#L524-L529

A big portion of this is the played=0 filter which is the reason why just entering the beatmap triggers this pathway.

It could potentially be changed, at the expense of the current track forcibly changing when exiting gameplay, which I'm not sure how to feel about.

peppy commented 3 weeks ago

It could potentially be changed, at the expense of the current track forcibly changing when exiting gameplay, which I'm not sure how to feel about.

That's not what we want. It should disappear when selection changes, though, I guess.

Joehuu commented 3 weeks ago

This is what I see.

On fresh database with recommended beatmaps (same behavior as OP):

https://github.com/user-attachments/assets/bf203570-e928-49ec-909f-fa67eb4c96ca

On a 200+MB database:

https://github.com/user-attachments/assets/8dc569f0-cb21-4d36-b945-236612f5a85b

The 200+MB database video seems to be the desired behavior for OP, but it looks broken? Either way there is some kind of race condition.