Subfolder in ignored folder is out of sync

I have a subfolder in ignored folder and it always shows as out of sync eventually if not immediately. It’s synced between 3 devices and I ensured the devices don’t contain irrelevant files that might cause a device to be out of sync for whatever reason by deleting the ignored folder across all my devices then copying it over on one of the devices and having it propagate to the rest. There’s no errors reported by Syncthing on the CLI when running it normally.

Any ideas on how to resolve this? I use the API to check for sync completion using FolderCompletion but it never reports a completion of 100 as a result. In the GUI, All folders show as “Up to Date” and under Remote Devices, it’s stuck at (99%, 128 B) with that ignored folder as the only item being out of sync. I guess I can make the check consider the current value of 99.99997543285731 as completed but this is not guaranteed if I new content in the ignored folder and it behaves the same. I also assume Syncthing is attempting to sync this periodically which evidently never works.

The folder reported as out of sync is firefox/.firefox-template-profile/.mozilla/firefox and the ignore rules (same on all devices) are:

// Ignore all files except...
!firefox/.firefox-template-profile/.mozilla/firefox/main/addonStartup.json.lz4
!firefox/.firefox-template-profile/.mozilla/firefox/main/extensions
!firefox/.firefox-template-profile/.mozilla/firefox/main/browser-extension-data
!firefox/.firefox-template-profile/.mozilla/firefox/main/crashes
!firefox/.firefox-template-profile/.mozilla/firefox/main/extension-preferences.json
!firefox/.firefox-template-profile/.mozilla/firefox/main/extension-settings.json
!firefox/.firefox-template-profile/.mozilla/firefox/main/extensions.json
!firefox/.firefox-template-profile/.mozilla/firefox/main/handlers.json
!firefox/.firefox-template-profile/.mozilla/firefox/main/prefs.js
!firefox/.firefox-template-profile/.mozilla/firefox/main/extensions
!firefox/.firefox-template-profile/.mozilla/firefox/main/storage
!firefox/.firefox-template-profile/.mozilla/firefox/main/chrome
!firefox/.firefox-template-profile/.mozilla/firefox/main/sessionstore.jsonlz4
!firefox/.firefox-template-profile/.mozilla/firefox/main/sessionstore-backups
!firefox/.firefox-template-profile/.mozilla/firefox/profiles.ini
firefox/.firefox-template-profile
emacs/.emacs.desktop.lock

Any ideas are much appreciated.

It’s surprising that an ignored folder would be marked out of sync. Full screenshots?

Device v and z are synced with device e only (device e is basically the “server” and the rest are clients). All devices use global ignore patterns only (.stignore with #include .my-stignore). Contents of .my-stignore:

// Whitelist of files to sync
!firefox/.firefox-template-profile/.mozilla/firefox/main/addonStartup.json.lz4
!firefox/.firefox-template-profile/.mozilla/firefox/main/extensions
!firefox/.firefox-template-profile/.mozilla/firefox/main/browser-extension-data
!firefox/.firefox-template-profile/.mozilla/firefox/main/crashes
!firefox/.firefox-template-profile/.mozilla/firefox/main/extension-preferences.json
!firefox/.firefox-template-profile/.mozilla/firefox/main/extension-settings.json
!firefox/.firefox-template-profile/.mozilla/firefox/main/extensions.json
!firefox/.firefox-template-profile/.mozilla/firefox/main/handlers.json
!firefox/.firefox-template-profile/.mozilla/firefox/main/prefs.js
!firefox/.firefox-template-profile/.mozilla/firefox/main/extensions
!firefox/.firefox-template-profile/.mozilla/firefox/main/storage
!firefox/.firefox-template-profile/.mozilla/firefox/main/chrome
!firefox/.firefox-template-profile/.mozilla/firefox/main/sessionstore.jsonlz4
!firefox/.firefox-template-profile/.mozilla/firefox/main/sessionstore-backups
!firefox/.firefox-template-profile/.mozilla/firefox/profiles.ini

// Ignore the rest in that dir
firefox/.firefox-template-profile

On device e: pic 1, pic 2, pic 3

On device v: pic

On device z: pic

I made a backup of the ignored folder elsewhere, delete it on all devices, then reset the database and restarted syncthing on all devices one at a time. Then I copied the ignored folder back to device e and have it propagate to the other devices and restarted the syncthing when all was finished and the above are the results.

Running Syncthing 1.27.7 on all machines.