Advice when using Ignore Files feature, when Windows is involved (and possibly TrueNAS)

Hi All,

I’ve been enjoying Syncthing for many years now, it’s superb even if it takes a lot more thought and learning than the alternative cloud services.

I’m in the process of sharing files with a second Windows (11) PC and started getting “Out of Sync” issues on the first Windows (10) Instance. This occurred when files/folders were moved, such as:

system_root/mainfolder/bigfolder/bigfolder/smaller_folder/file

TO

system_root/mainfolder/bigfolder/bigfolder/smaller_folder/NEW_FOLDER/file

Fortunately the log is great and said:

syncing: delete dir: directory has been deleted on a remote device but contains ignored files (see ignore documentation for (?d) prefix) 2024-04-24 08:45:27 “folder_name” (XXXX): Failed to sync 1 items

Now the folder it relates to, doesn’t have any of the ignored file types in it (although perhaps they could be hidden), but even so it caused the error. This is no big deal, the ignore files were just temp files created by a program when the file is open. So I just removed the ignore list on all systems and all appears well.

Hope this helps - of course I also welcome any expansion on the topic by the dedicated and excellent mod’s and regular users.

Base OS/Appliance
  • TrueNAS Core 13.0.U6.1
  • Windows 11 23H2 - newer install
  • Windows 10 (latest) - older install
Syncthing versions
  • TrueNAS instance - 1.27.2 (master)
  • Windows 11 instance - 1.27.6
  • Windows 10 instance - 1.27.6
Installation Method
  • TrueNAS instance - Plugin,
  • Both Windows instances - The bill stewart version linked on the ST website
Custom settings
  • TrueNAS instance - Ignore patterns WERE active. File versioning set to staggered
  • Windows 11 instance - Ignore patterns WERE active, no file versioning enabled.
  • Windows 10 instance - Ignore patterns WERE active, no file versioning enabled.
  • On all Systems, within folder share Advanced, no options are ticked (such as Sync Ownership, Send Ownership, etc.)

Not sure I understand well. To allow a directory to be deleted when not empty use:

(?d)(?i)**

in the ignore list.