Syncthing only finds some files on Windows

As per title, I’m trying to backup/sync a game across my machines. Explorer reports the folder as having 9.18 GB of content, with 4,885 files and 218 folders.

However, on Syncthing, I get the following:

I’ve tried hitting the rescan button, pausing and unpausing the folder, restarting Syncthing, removing the sync from both devices and re-adding them, etc. None of them have fixed this issue. Why won’t Syncthing discover the other files?

I am running Syncthing 1.28.1 on Windows 11.

Your question lacks a lot of details. Did you install Syncthing on Windows using an installer, or are you just running the standalone syncthing.exe executable?

Someone needs to troubleshoot this on Windows…

Hi, sorry for the late reply. I assumed Discourse would email me if there was a new reply to the post but I think I may have accidentally disabled all emails when clicking on the unsubscribe button for the weekly roundup email thing that they send out.

I installed Syncthing using the official Windows installer, on both of my Windows machines.

@calmh I read through this issue (Dirs/files are missing when scanning on windows after 1.27.12 · Issue #9859 · syncthing/syncthing · GitHub) and the thread you linked, and I’m guessing this is also a problem with NTFS junctions/symlinks.

I’m using a program named BSManager to manage installations of the game. None of the version-specific installation files are shared, but maps are almost always cross-version compatible, so to avoid saving maps multiple times BSManager creates a symlink (NTFS junction I think is what their documentation says but I’m not familiar with how Windows handles it). Essentially the folder structure becomes something like this:

BSInstances/     # Sync target root
  1.28.1/        # Game version 1.28.1
    CustomLevels/ -> /SharedContent/CustomLevels  # Map data (symlink)
    ...          # other 1.28.1 specific folders/files, not symlinked
  1.37.1/        # Game version 1.37.1
    CustomLevels/ -> /SharedContent/CustomLevels  # Map data (symlink)
    ...          # other 1.37.1 specific folders/files, not symlinked
SharedContent/   # Sync target root
  CustomLevels/  # Map data folder

Since I have to “re-symlink” in BSManager after setting up Syncthing and sync on a new machine I don’t really mind if Syncthing just ignores these symlinks/junctions, but it looks like it fails to process them and doesn’t even get to the rest of the files.

I’ve managed to fix it by using the ignore pattern to just ignore the symlinked map folders in each instance folder:

*/Beat Saber_Data/CustomLevels

Putting this in something like .stignorejunc and #include .stignorejunc should also work.

I *tentatively* think this issue has been solved for me as Syncthing on both computers now say “Up to Date” with a reasonable-looking number of folders, but will follow up if the sync breaks again.