MerginMaps / MerginMaps/mobile
Handle critical sync errors on pull
Nobody has claimed this yet.
- Dominant language
- C++
- Stars
- 388
- Forks
- 87
- Avg merge
- 2d 7h
- Merged PRs (30d)
- 20
Description
In rare cases, it can happen that pull of a project fails for some reason in MerginApi::finalizeProjectPullApplyDiff(). There are multiple cases of critical errors that are not handled, especially the branch that reports server file assembly failed - these errors currently pass silently, and unfortunately user unknowingly ends up with a broken project. Any further pulls and pushes are prone more failures and possible data corruption. We should instead fail early - at the time we detect the pull did not went well - either by marking the local project as broken, or even better by rolling back to the version before the pull.
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.
Research direction
Start in MerginApi::finalizeProjectPullApplyDiff() and trace the branch reporting "server file assembly failed". Done means critical pull failures are surfaced immediately and the local project is either marked broken or restored to its pre-pull version, rather than allowing later pulls and pushes against a broken project.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp
- Domain
- data, mobile
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100