Better conflict resolution with diff

On desktop I’m seeing a new-to-me window that upon sync conflict shows all the files in the project with a version date picker at the top. While this might be slightly more helpful than what I’ve previously seen (a “conflicts found” message and conflicted files placed in a folder together)—it’s not very useful for determining what has changed or which version I want.

What’s been missing from the sync conflict experience is a common “diff” interface:

  1. By default, just show the files that are conflicted. When showing all files, highlight the conflicting files so they’re easy to notice in a long list.
  2. Give the ability to open and compare the contents of each conflicted file
  3. Show comparison side by side (maybe force landscape on mobile) of both versions
  4. Make the versions scroll simultaneously
  5. By default, just show changed text
  6. Highlight everything that has been added in one color
  7. Highlight everything that has been removed in another color
  8. Give the ability to transfer individual edits from one version to another
  9. Give the ability to pick one version and remove the other

Bonus round
10. If you’d like to go beyond what is used for coding apps and make it best for prose, separate “edits” not just by line (carriage returns) but also by sentence. That way browsing through differences especially in large paragraphs won’t be as difficult.
11. In the comparison view with all text shown, also show a minimap/outline/preview of the whole file on the side so it’s easy to scroll to the conflicting edits.

(Note: I’m posting about this specifically because the other posts I found about conflicts, versioning, and comparison weren’t specifically about sync conflicts)

All the posts about versioning and comparisons also apply to sync conflicts.

If you are getting sync conflicts often enough to actually need this level of detail, you probably should look at your sync process. Sync conflicts should generally be seen as a “not normal” situation.

There are some options in the Scrivener → Settings → Sharing → Sync pane that might be helpful. Putting documents in a “Synced Documents” collection and setting the option to take snapshots would make the full functionality of the Snapshot feature available for resolving conflicts.

It would also not be a bad idea to make a backup before syncing. You’ll find that option in the Settings → Backups pane.

I get conflicts fairly regularly, going between MacOS and iOS. It’s not the majority of the time but it’s enough that it’s on my mind with every sync.

About Sync and Backup settings: I’ve already had the “Synched Documents” and “Backup on sync” options enabled for a long time. The Snapshot on sync option would be new to me.

Regarding use of Snapshots: I’ve just tried making a few test snapshots. While snapshotting on sync is good for data safety, the ability to see what is different between snapshots is again very poor. The “Compare” button is a useless toggle between the full text of snapshots. The Roll Back button’s function is unclear, even with the info shown after clicking it. Also more importantly, I don’t see any Snapshot functionality in iOS, so even this isn’t available there.

Thank you for the suggestions but they’re just not helpful, like a diff view would be.