Sync conflicts when file only edited on one device

I have been dealing with sync conflicts for a while now. They mostly occur in my Obsidian notes, which are synced to both Windows and Android devices. As you may already know, Obsidian likes to save files continuously while the user is editing.

As a workarounds to reduce sync conflicts, I’ve tried the following:

  • My Obsidian sync directory no longer detects changes, but instead scans at 60 or 120 second intervals.
  • I tried to make my home server the central node in the sync process such that all other devices only sync to the server machine to avoid spiderweb sync paths.

I tried running the debug command on a conflicted file, but how do I know I’m running it on the right node when the file syncs so many places? Also, I’m not so sure what to do with the info below. Finally, the file has been modified since the sync conflict first happened (which is quite common when working with Obsidian because I don’t typically notice immediately when the conflict occurs).

D:\PortableAppsIndy\SyncTrayzorPortable-x64>syncthing cli --home=".\data\syncthing" debug file unhps-... journals\2025_12_25_Th.md
{
  "availability": [
    {
      "fromTemporary": false,
      "id": "KOEMUV4-..."
    }
  ],
  "global": {
    "blocksHash": "Ndt8t5FS5kQVYQwimYDC3VxnbeRWT99NYQhKbXtZDm4=",
    "deleted": false,
    "ignored": false,
    "inodeChange": "1969-12-31T19:00:00-05:00",
    "invalid": false,
    "localFlags": 0,
    "modified": "2025-12-27T11:26:09.090008643-05:00",
    "modifiedBy": "7HFZ7OJ",
    "mustRescan": false,
    "name": "journals\\2025_12_25_Th.md",
    "noPermissions": true,
    "numBlocks": 1,
    "platform": {
      "Darwin": null,
      "FreeBSD": null,
      "Linux": null,
      "NetBSD": null,
      "Unix": null,
      "Windows": null
    },
    "previousBlocksHash": null,
    "sequence": 9759,
    "size": 2544,
    "type": "FILE_INFO_TYPE_FILE",
    "version": [
      "JRRTBVJ:1766852765",
      "KOEMUV4:1766669011",
      "UMDV2QC:1766703997",
      "4VCOU36:1766758009",
      "7HFZ7OJ:1766852874"
    ]
  },
  "local": {
    "blocksHash": "Ndt8t5FS5kQVYQwimYDC3VxnbeRWT99NYQhKbXtZDm4=",
    "deleted": false,
    "ignored": false,
    "inodeChange": "1969-12-31T19:00:00-05:00",
    "invalid": false,
    "localFlags": 0,
    "modified": "2025-12-27T11:26:09.090008643-05:00",
    "modifiedBy": "7HFZ7OJ",
    "mustRescan": false,
    "name": "journals\\2025_12_25_Th.md",
    "noPermissions": true,
    "numBlocks": 1,
    "platform": {
      "Darwin": null,
      "FreeBSD": null,
      "Linux": null,
      "NetBSD": null,
      "Unix": null,
      "Windows": null
    },
    "previousBlocksHash": null,
    "sequence": 9759,
    "size": 2544,
    "type": "FILE_INFO_TYPE_FILE",
    "version": [
      "JRRTBVJ:1766852765",
      "KOEMUV4:1766669011",
      "UMDV2QC:1766703997",
      "4VCOU36:1766758009",
      "7HFZ7OJ:1766852874"
    ]
  }
}

Just a quick heads-up, I’ve been seeing some unexpected conflicts pop up recently as well. For files which are synced to multiple systems, but I’m quite certain that I only ever edited them on one system. I’d be interested in some guidance how to investigate further as well. Note that the most systems are still at v1.30 though, only one Android device upgraded to v2.

1 Like

ignore permission if you have android among devices. android always set permission as rwrw–. that may make conflict with normal linux device.

That’s what the android wrapper sets by default.

I’ve had several sync conflicts arise since I posted this last week and tbh, I’m not sure what to make of the cli debug file output. Still the same type of conflict: editing on only one device (in Obsidian) and a conflict file appears for no apparent reason. It seems particularly common immediately after new file creation, but definitely also happens when editing existing files.

  • What is it meant to be telling me about the sync path?
  • Do I need to run this command on the device that generated the conflict file?

Extra details since the original post: Windows clients are running SyncTrayzor with Syncthing v2.0.12 Android app is Syncthing-Fork by nel0x, which runs Syncthing v2.0.12. I can confirm this app correctly sets ignore permissions by default.

  • For which file(s) exactly do you get conflict(s)?
  • Do you have other Obsidian instances running?

Other topics (threads) mention excluding .obsidian. Elsewhere somelne is doing someore fine-grained exclude: Syncthing ignore patterns for Obsidian · GitHub

The conflicts are happening in my notes files. That is to say: whatever note I happen to be editing that day. Every day there’s a new journal note. That’s what I used in my cli example above.

I don’t have issues with any of Obsidian’s system files. My basic ignore patterns are working fine for that.

It’s certainly possible that another Obsidian instance could be running, particularly on Android where it’s not clear whether an app is running or not. But Obsidian would also need to have the same note open for it to be the cause of the conflict and that is definitely not the case in several of the conflicts that have happened recently.

The main reason I mention Obsidian is that it saves more or less instantly such that it’s reasonably to expect the file currently being edited to be saved more than once per second. Lots of saves seems to mean more opportunities for conflicts.

Only if they happen in more than one device at more or less the same time.

Fundamentally I strongly believe that this is not a Syncthing problem, but an Obsidian problem. Some searching led me here: Synchronization conflicts in .obsidian folder - #3 by xarx - Help - Obsidian Forum containing what I believe is a key piece of information:

I can turn off the automatic creation of folder notes in the Folder note plugin. I have verified that this resolves the problem completely, inside the vault.

Hope this helps. Note that I don’t use Obsidian myself.

I’m not using the folder notes plugin, so that thread doesn’t apply to me.

I haven’t investigated deeply, more of a gut feeling regarding the unexpected conflicts. In my case at least, Obsidian is not involved. Plain ODS and ODT files edited by LibreOffice.