Suboptimal behavior regarding ignore patterns and implicitly synced parent directories

I have a receive only folder with these ignore patterns:

!/own/x86_64-pc-linux-gnu-static/passwordmanager-4.3.2-openssl-4.0.1-libudev-zero
!/own/x86_64-pc-linux-gnu-static/passwordmanager-4.3.2-openssl-4.0.1
!/own/x86_64-pc-linux-gnu-static/passwordmanager
!/own/x86_64-pc-linux-gnu-static/pianobooster
!/own/x86_64-pc-linux-gnu-static/syncthingtray
!/own/x86_64-pc-linux-gnu-static/tageditor
/**

So everything is ignored except a few explicitly mentioned files.

This worked fine - except that at some point other devices the folder is shared with showed that the following items are out of date:

own/x86_64-pc-linux-gnu-static
own

I’m not sure whether that’s expected behavior but I would prefer if those items would not show up as out of sync on other devices.

Those items are of course just directories and they are only synced because items they contained are synced. Otherwise, these directories are technically ignored. That’s probably also a bit of the problem here, though. Hence I extended the ignore patterns so these directories are not ignored anymore:

!/own/x86_64-pc-linux-gnu-static/passwordmanager-4.3.2-openssl-4.0.1-libudev-zero
!/own/x86_64-pc-linux-gnu-static/passwordmanager-4.3.2-openssl-4.0.1
!/own/x86_64-pc-linux-gnu-static/passwordmanager
!/own/x86_64-pc-linux-gnu-static/pianobooster
!/own/x86_64-pc-linux-gnu-static/syncthingtray
!/own/x86_64-pc-linux-gnu-static/tageditor
/own/x86_64-pc-linux-gnu-static/**
!/own/x86_64-pc-linux-gnu-static
/own/**
!/own
/**

That worked. Now unwanted files were synced and it caused Syncthing to show these directories as locally changed. So now I could simply tell Syncthing to revert the local changes and they were gone - and with that also the out of sync status from other devices - which was therefore actually justified. However, having to add two additional lines to the ignore patterns for each directory level is not optimal.

I haven’t fully investigated this. Probably this limitation only affects receive only folders where locally modified parent directories only show up as such when one modifies the ignore patterns as I did. I was using Syncthing 2.1.3 on both devices.

Oh, and as to where these modifications came from in the first place: It could be Receive-Only folders incorrectly detect "Local Additions" for directories due to self-induced mtime changes during sync · Issue #10574 · syncthing/syncthing · GitHub as I am not aware of having done anything to those directories myself.

This is a known issue.

Thanks, it looks like this could indeed be another symptom of the same underlying limitation.