Sometimes Obsidian Sync’s merge conflicts lead to data loss, creating conflict files is a simple way to prevent it.
Use case or problem
Whenever a “merge conflict” happens, Obsidian Sync must choose to keep either the local version of the note, or the remote version of the note. When it chooses the remote version, the local version of the note is overwritten. This leads to a silent irreversible loss of that note version.
Note that in this case, the old local version of the note is not present in the version history, only the remote version is, therefore the version history doesn’t help here.
Proposed solution
Create a conflict file before the local note is overwritten. The old local version would be cloned into a new file, say: Task List - (ConflictFile-20250704-AndrewWorkPhone).md.
This is a simple solution to implement and its how many other sync tools handle merge conflicts, ensuring no data loss.
Alternative: An alternative solution would be that the local version is included in the note’s version history, but this may break the way the user expects “version history” to work.
Related feature requests (optional)
- Option to let user manually resolve sync conflicts - Similarly tries to prevent data loss.
- Sync Obsidian between devices using Conflict-free Replicated Data Types
PS:
The user should be able to toggle this option off, in case they don’t want to deal with conflict files.
I am assuming that Obsidian Sync doesn’t create conflict files since I’ve used it for a long time and I’ve never seen one.