We sort of do what you suggest, in that a file being downloaded is saved first to a temporary file, then renamed to the target. Except the temp file name is based on the actual file name so that fails as well in your scenario. We could change that - we already to hash based temp files when the file name is too long. But it wouldn’t help much as you’d just gain a hidden, strangely named temp file. Then what?
As for data loss… The scenarios I outlined in my first response are all scenarios that could cause data loss if implemented. Currently there is no loss, there is just lack of synchronization.
I’m sure there is, but so far we’re not clever enough to find it. ![]()