-
Notifications
You must be signed in to change notification settings - Fork 2.7k
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
Warn about conflicts when saving scores online #17444
Comments
@shoogle I have some questions: Am I understanding correctly that the flow is like the following:
But what will happen in the following situation:
In that situation, the website will use the new ID from that moment on, but the app will still continue to use the old ID, even though the local version of the file and the version on the website are otherwise identical. Next time that the user opens this file from their local cache, and tries to save it again, this will be detected as a conflict, even though it isn't. One more question that is not very relevant but I'm just curious:
|
When the user attempts to update an existing online score, we should check for conflicts and display an appropriate warning if any such conflicts are found.
See Addendum (April 2023) in the Figma design (thanks @bkunda!).
Problem to be solved
Conflicts occur when the user attempts to edit or save a local score when there is a newer version of the score available online. This usually happens because the online score was updated from another device.
The edit made in step 2 is lost.
Note: you don't actually need to use a second device in step 2 as long as you edit a different local copy of the score.
Prior art
No response
Additional context
When updating an online file, conflict detection must be carried out on the server side.
Whenever a score is successfully saved or published to the website, the following information must be stored in the local file to facilitate future conflict detection:
Next time the user attempts to update the online score, the stored revision ID must be sent in the request. The website will respond with
409 Edit conflict
if a revision ID is sent that doesn't match the current online revision ID.The text was updated successfully, but these errors were encountered: