1
0
mirror of https://github.com/ppy/osu.git synced 2024-11-16 04:27:52 +08:00
osu-lazer/osu.Game/Screens/Select
Bartłomiej Dach b78e7d5d9a
Fix multiplayer song select not correctly applying filter sometimes
Fixes the root client-side failure causing
https://github.com/ppy/osu/issues/30415.

Thread of breakage is as follows:

1. `SongSelect` loads the carousel.
   At this point, the ruleset is what the ambient ruleset would have
   been at the time of pushing song select, so most likely it will
   match the current ruleset.
   Notably, the carousel is loaded with `AllowSelection == false`.
2. `OnlinePlaySongSelect` sets the ruleset to the one taken from
   the relevant playlist item in `LoadComplete()`.
3. At any point between the previous and the next step, the user
   changes the ruleset manually.
4. `SongSelect.carouselBeatmapsLoaded()` is ran, which calls
   `transferRulesetValue()`, which calls `FilterControl.FilterChanged`.
   But at this stage `Carousel.AllowSelection` is still false, so
   the filter is not executed, but `pendingFilterApplication` is set
   instead.
   Unfortunately, the pending filter never gets applied after that.
   The only place that checks that flag is `OnEntering()`, which at
   this point has already ran.

To fix, move the `pendingFilterApplication` check to `Update()`, which
seems like the most obvious and safe solution.
2024-10-25 21:29:53 +02:00
..
Carousel Filter out unranked/unsubmitted beatmaps when using the ranked/submitted search filters 2024-10-11 09:49:47 +02:00
Details Decouple AdvancedStats from global mods 2024-10-10 14:22:16 +02:00
Filter Automated pass 2023-06-24 01:00:03 +09: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 Fix beatmap selection being lost during update process 2024-10-22 17:53:34 +09:00
BeatmapClearScoresDialog.cs make ResetConfirmDialog properly utilise its parent's logic 2023-03-05 20:57:26 +01:00
BeatmapDeleteDialog.cs Fix Beatmap Delete Dialog 2024-10-14 09:55:28 +09: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 Adjust song select info icon size slightly 2024-08-05 17:21:50 +09: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 Adjust calls to GetContainingInputManager() 2024-06-18 07:41:19 +02:00
FilterCriteria.cs Implement ranked and submitted date filtering 2024-10-08 13:56:55 +02:00
FilterQueryParser.cs Improve regex readability by using character set 2024-10-10 17:42:43 +02: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 Swap the low and high multiplier color 2024-06-26 21:39:14 +08: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 Fix delete dialogs having generic "Caution" header text 2024-10-07 16:46:53 +09:00
ModSpeedHotkeyHandler.cs Fix rate change hotkeys sometimes losing track of adjust pitch setting 2024-09-30 08:47:02 +02: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 Adjust calls to GetContainingInputManager() 2024-06-18 07:41:19 +02:00
SkinDeleteDialog.cs Fix delete dialogs having generic "Caution" header text 2024-10-07 16:46:53 +09:00
SongSelect.cs Fix multiplayer song select not correctly applying filter sometimes 2024-10-25 21:29:53 +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