I have noticed some behaviour I didn’t expect to see.
Suppose three devices A, B, C, all with folders in common.
In my set up, A is an introducer and all peers have accepted all other peers folders.
Ok, so suppose B and C are mostly offline (mobile phones), and is running for only a few minutes each hour, but A is always online.
B has local changes, and syncs with A. Devices B thinks A is up to date, but C is not (because C is offline). Device B goes offline. This all makes sense.
Now C comes online, having last seen B before B had local changes. C pulls the changes from A, but now claims that B is out of date.
Now, this makes sense, because as far as C knows, the state of B is still earlier than the state of A.
My question is, is this a bug? or working as intended?
If working as intended, then, as an improvement, is it possible for device C to query device A for last known state of device B?
If the peers query each other and accept the most recent state of a disconnected peer, then this would make the sync status of disconnected peers more accurate and more intuitive to me.
A disconnected peer should only show as out-of-date if the most recent state known is not up-to-date for the folder.
I’ve only noticed this behaviour since the sync status was added to the mobile app device status. This happened only a month or so ago. Full disclosure, I’m running syncthing-fork and not official syncthing on my android devices. But on the always on device, I’m running latest syncthing from the syncthing repo.