Since receive-only folders, the
metadataTracker has been separated by local flags, which also separates the sequence number. At first I thought that this broke sequences, but after a while I realized it actually is correct. However it only does so, because there is two places that update sequences:
FileSet.Update (for local only) and
metadataTracker.addFileLocked. The former always updates the sequence of the bucket with
flags == 0, the latter considers the flags of the fileinfo. As remote files don’t have local flags, that works. However there is nothing that enforces that remote fileinfos don’t have a local flag set - there’s even a test that does exactly that.
I am wondering if there is a conceptual reason for this. As far as I understand there’s no reason to have more than one sequence counter per device.