ppy / osu

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

Difficulty range slider setting does not apply correctly on first open #26296

Open brandondong opened 10 months ago

brandondong commented 10 months ago

Type

Game behaviour

Bug description

Reproduction:

  1. Go to song select. Sort by difficulty.
  2. Change the difficulty range slider setting to something restrictive such that only a small subset of beatmaps appear.
  3. Close osu, re-open, and go back to song select.
  4. Intermittently, maps will appear that are outside of the restricted difficulty range. Changing the difficulty range setting or going back to the Welcome screen and then navigating back will fix the issue.

I did some brief debugging and the issue happens when https://github.com/ppy/osu/blob/e10733834b8acf359beeedcc422e33e5e3a46399/osu.Game/Screens/Select/SongSelect.cs#L518 is hit. This will cause the difficulty range setting to be ignored for the particular beatmap set.

I guess this logic makes sense for newly imported beatmap sets but updateCarouselSelection is also being triggered when navigating to song select for the first time. If SelectBeatmap happens to fail, then this logic will be invoked which is why the bug only happens intermittently. The workarounds fix the issue because they will reapply Carousel.Filter with the proper values and without re-invoking this code path.

Screenshots or videos

No response

Version

master

Logs

1704061405.network.log 1704061405.performance.log 1704061405.runtime.log 1704061405.input.log

snalgae commented 7 months ago

ooh i also got this bug on boot-up it looks like this happens to the first beatmap played after pressing play (just a theory) osu_2024-04-03_17-35-26 osu_2024-04-03_17-20-21 changing the difficulty range removed the beatmaps

im not sure if my data should be posted here, because the issue has already been identified, but i took some screenshots also im not sure how should comments be formatted on issues that have already been started, can somebody clarify that for me? (maybe they shouldn't even be made?) my lazer version is 2024.312.1 i attached some logs for this compressed-logs.zip