Conflict Resolution
A conflict happens when the same record is changed in two places before they sync — you edit a rabbit on the web app while your phone, offline in the barn, edited the same rabbit. OmniBurrow merges the changes it can merge safely, and where it cannot, it stops and asks you rather than throwing one version away.
Conflicts are rare, and one appearing means OmniBurrow caught something it would otherwise have had to guess about. Nothing is lost while a conflict is open — both versions are held until you decide.
What causes a conflict
Two devices changing the same record before either has synced. The usual shape is one device offline for a while: you work in the barn, someone edits the same rabbit on the laptop, and the two meet when the phone reconnects.
Editing different records on two devices never conflicts, and neither does editing the same record one after the other with a sync in between. It takes genuine overlap.
How you find out
You get a notification. Every real conflict pushes one to your devices, and tapping it takes you straight to the conflicts screen.
That is deliberate, and so is the silence the rest of the time. There is no "synced 47 changes" notification — routine syncing happens quietly, because a notification you get every day is one you stop reading. Conflicts notify precisely because they are the exception that needs you.
Conflicts also show in sync diagnostics, counted alongside pending uploads and errors.
Resolving one
- Web App
- Mobile App
- Open the conflict from the notification or the conflicts view.
- Compare the two versions field by field.
- Choose what to keep and confirm.
- Tap the notification, or open Conflicts — it is on the Tools screen and in diagnostics.
- Compare the versions and pick what to keep.
- Confirm.
Your decision can be made offline. It queues like any other change and closes the conflict when the phone next syncs, so a conflict found in the barn does not have to wait until you get back to the house.
A record with an open conflict is parked — it stops trying to upload until you resolve it. The rest of your data keeps syncing normally in the meantime.
What OmniBurrow decides for you
Fields are classified, and most are safe to merge. For those, the most recent edit to each individual field wins — so if you changed a rabbit's cage number on the phone while someone changed its notes on the web, both survive. That is the common case, and it resolves without you seeing anything at all.
Merging is decided on the server, from a field registry, rather than guessed at by whichever device happens to sync first. Both devices end up with the same answer.
What it never decides
Some fields are protected: OmniBurrow will not silently overwrite them, even when one edit is newer. Those are what open a conflict for you to settle.
The reasoning is that last-write-wins is fine for a cage number and wrong for something that changes what a record means — the losing value would be gone with no trace, and you would never know to look. Where the cost of guessing wrong is high, it asks.
Two related behaviours worth knowing:
- The phone does not merge conflicts on its own. Once the server has flagged one, the mobile app stops trying to be clever and waits for your decision.
- Deleting versus editing is a conflict too. If one device deleted a record while another edited it, that is exactly the case where silently picking would be wrong.