I don't love this diff and I'm a bit scared of this change, but the last time this was attempted to be fixed the end result was https://github.com/ppy/osu/pull/25467, so in comparison this looks like it may have a chance of maybe passing review.
Will add some self-review comments in a sec because this is a bit counterintuitive and I wasn't sure how much of this was deserving comments (provided this diff survives the initial eye test even). Can also try and add tests for this if this is deemed a viable route forward.
RFC. Closes https://github.com/ppy/osu/issues/20675.
I don't love this diff and I'm a bit scared of this change, but the last time this was attempted to be fixed the end result was https://github.com/ppy/osu/pull/25467, so in comparison this looks like it may have a chance of maybe passing review.
Will add some self-review comments in a sec because this is a bit counterintuitive and I wasn't sure how much of this was deserving comments (provided this diff survives the initial eye test even). Can also try and add tests for this if this is deemed a viable route forward.