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

Fix stall when attempting to import replay after hitting nothing #29715

Merged
merged 2 commits into from
Sep 7, 2024

Conversation

bdach
Copy link
Collaborator

@bdach bdach commented Sep 6, 2024

Closes #29065.

#29065 (comment) describes what's happened here already, but just to recap using perhaps more clear wording:

  • User fails after hitting nothing
  • submitFromFailOrQuit() fires, calls submitScore(), which creates scoreSubmissionSource and then bails because nothing was hit
  • On the fail overlay, requesting save of replay calls prepareAndImportScoreAsync() goes into the same submission flow and submitScore(), which notices that scoreSubmissionSource already exists, thus presuming that submission is actively taking place and waiting for that to complete, while in fact submission is not happening and the wait will last forever.

I previously stated pretty categorically that score import going into the submission flow looked pretty flagrantly wrong, but I'll eat crow now and double back on that - there are valid reasons to wait for submission on import, first and foremost being correct population of the online score ID. The fact that the submission logic is spread out between Player and SubmittingPlayer via abstract overrides and local function calls doesn't help in attempting to refactor this further anyway.

@bdach bdach added area:gameplay type:reliability area:import dealing with importing of data from stable or file formats labels Sep 6, 2024
@peppy peppy merged commit 7f687d5 into ppy:master Sep 7, 2024
13 checks passed
@bdach bdach deleted the fix-stall-on-empty-replay-import-attempt branch September 8, 2024 10:19
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area:gameplay area:import dealing with importing of data from stable or file formats size/M type:reliability
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Score replay import stalled
2 participants