Closes https://github.com/ppy/osu/issues/31842.
To be honest, I recall this working too, but I don't recall when it
might have broken, nor do I want to go look for the point of breakage
because it might be borderline impossible to find it now. So I'm just
fixing as if it was just a straight omission.
Opting for a client-side fix because server-side inclusion of the score
position for an entire leaderboard has been previously rejected as too
expensive:
https://github.com/ppy/osu-web/pull/11354#discussion_r1689217450
This also throws away the logic of updating
`API.LocalUser.Value.Statistics`. Components should rely on
`LocalUserStatisticsProvider` instead for proper behaviour and ability
to update on statistics updates.
As reported (very poorly) in
https://github.com/ppy/osu/pull/28991#issuecomment-2331854970.
I believe this is a total edge case and is mostly visible on dev due to
some beatmaps existing on `osu.ppy.sh` and not on `dev.ppy.sh`, but I
tend to agree in general that these types of failures should not be
firing very loud error notifications; logging to network and disabling
the button with a tooltip adjustment should be enough.
The more proper way to do this would be to address the underlying issue,
which is https://github.com/ppy/osu/issues/29546, but let's do this
locally for now.
Closes https://github.com/ppy/osu/issues/29066.
Initially I fixed this at where the assert is right now:
9790c5a574/osu.Game/Screens/Ranking/ResultsScreen.cs (L333)
but because of the weird way that visible state management is done in
this screen that made it possible for the extended statistics to be
visible *behind* the score panels, without the score panels making way
for it. So this is in a way safer, because it prevents the visibility
state of the extended statistics from changing in the first place if
there is no score selected (yet).
This can be also seen in playlists, at least.