musescore / musescore/MuseScore
Implement conflict checking for cloud scores
Open
@shoogle is already working on this.
Since Apr 18, 2024.
cloud
feature request
P1
- Dominant language
- C++
- Stars
- 15.1k
- Forks
- 3.3k
- Avg merge
- 2d 2h
- Merged PRs (30d)
- 91
Description
Problem to be solved
- The user edits a cloud score on 1 machine, but can’t upload the changes (they didn’t have an internet connection)
- Then they go to another machine, edit the same score and upload the changes. So now they have 2 versions of the same score (a local one, and a cloud one).
- Finally, they go back to the 1st machine and now they have the internet connection. Current behaviour: the local copy of their score is silently overwritten with the cloud version
Proposed solution
We need to prompt the user to resolve the conflicting copies before displaying the score. I.e.:
- User clicks on a score to open it
- IF we detect there is a conflicting copy online, we show the user one of the below dialogs (right one if the score is publicly visible, left one if private/unlisted)
- User can click on the hyperlinked text in the above dialog to see what’s actually saved to the cloud at that moment. If they know there should be different changes, they have the option (for the local version) to “Save as…” / “Publish as new score”, thereby preserving both copies.
- Clicking “Save as…” triggers the save flow. The score that then appears before the user is the newly saved score (online version remains untouched and unopened in the app).
- Clicking “Replace” overwrites the online score with the local one. This score then appears before the user in the app.
@shoogle FYI
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Assessment
This issue has not been assessed yet.