Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Watching a replay does not show leaderboard #27609

Open
peppy opened this issue Mar 14, 2024 · 0 comments
Open

Watching a replay does not show leaderboard #27609

peppy opened this issue Mar 14, 2024 · 0 comments
Assignees
Labels
area:song-select priority:1 Very important. Feels bad without fix. Affects the majority of users.

Comments

@peppy
Copy link
Member

peppy commented Mar 14, 2024

The cause is lack of scores bindable hookup to LeaderboardScores in the following flows:

osu/osu.Game/OsuGame.cs

Lines 764 to 770 in 85364d2

case ScorePresentType.Gameplay:
screen.Push(new ReplayPlayerLoader(databasedScore));
break;
case ScorePresentType.Results:
screen.Push(new SoloResultsScreen(databasedScore.ScoreInfo));
break;

compared to flows which see the Player initialised by song select:

player = new ReplayPlayer((beatmap, mods) => replayGeneratingMod.CreateScoreFromReplayData(beatmap, mods))
{
LeaderboardScores = { BindTarget = playBeatmapDetailArea.Leaderboard.Scores }
};
}
else
{
player = new SoloPlayer
{
LeaderboardScores = { BindTarget = playBeatmapDetailArea.Leaderboard.Scores }
};

Very painful, also related to #26520 / #26410.

I think we either need a global component to handle leaderboard retrieval / provisioning, or it needs to be queried a second time inside of Player isolated from the song select querying. Likely the former due to results screen also needing to consume the scores?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area:song-select priority:1 Very important. Feels bad without fix. Affects the majority of users.
Projects
None yet
Development

No branches or pull requests

1 participant