fix(fuse): read the size again for a baseline row without a revision id

A mirror upload that Drive did not list yet when it was read back left a
baseline row with no revision id. The next walk reused the recorded size
whenever the modification time matched, and a row without an id never
counts as moved. So a revision another computer saved in the same second
looked unchanged and never arrived (B254). The B250 simulation hit this
about one run in five on CI.

A row without an id now reuses its size only while Drive gives no id
either. Otherwise the walk reads the size, and an unchanged file gets
Drive's revision id written into its row, so each row costs one extra
read. Rows from before schema 44 are read once after upgrading.
This commit is contained in:
nvrl committed 2026-10-16 18:44:51 +02:00
1 parent c1911ea1de
commit 8f771fdcc4
4 files changed
+67 -2

No files matched your search

+3
View File
@@ -31,6 +31,9 @@ version on Proton Drive it was synced at. Nothing is rewritten, and the upgrade
- **The app showed the sign-in page when the system keyring was locked or not running yet**, as
if the sign-in had been lost. It now says that the keyring could not be read, and opens on its
own once the keyring answers (B253).
- **A new version saved on another computer in the same second as an upload from here could
be missed for good** when Drive had not listed the uploaded file yet. The first sync pass
after upgrading reads each file's size from Drive once more to close this (B254).
- **An edit in a synced folder could replace one another computer had just saved.** The newer
version from the other computer was left only in the version history. The edit is now kept as
a conflict copy (B249).