mirror of
https://github.com/narrrl/proton-drive-linux.git
synced 2026-11-04 16:56:59 +01:00
The drain retired an upload's op first, and only then read the node back and linked the staged blob into the content cache. For that one round trip, the status reported an empty queue for a file that wasn't cached yet, so anything that waited for an empty queue before reading the file could still need the network. The account run of 2026-10-03 hit it over a slow link: "regression B119" failed in the same second the upload landed. `Core::landing_uploads` now counts an upload from just before its op is retired until its bytes are cached. The status adds it to `pending_uploads`, and reads the queue before the count, so it always sees the upload in one of them. A drop guard uncounts it on every exit path. The op still goes first. An op restored after a crash would re-send a revision this daemon hasn't recorded as its own yet, and `revision_conflict` would keep it as a conflict copy of the user's file.