The entire concurrent sync guard from #83 (shipped in PR #106) rests on the provider honouring If-Match / If-None-Match on PUT. R2 and AWS do; many "S3 compatible" endpoints silently ignore precondition headers and return 200. On such a provider the manifest CAS becomes a no-op with no error, and overlapping syncs silently delete files again, the exact bug #106 fixed, now invisible. Nothing at setup or sync time probes for 412 support, and the settings tab offers a "custom" provider that makes this configuration easy to reach.
The entire concurrent sync guard from #83 (shipped in PR #106) rests on the provider honouring If-Match / If-None-Match on PUT. R2 and AWS do; many "S3 compatible" endpoints silently ignore precondition headers and return 200. On such a provider the manifest CAS becomes a no-op with no error, and overlapping syncs silently delete files again, the exact bug #106 fixed, now invisible. Nothing at setup or sync time probes for 412 support, and the settings tab offers a "custom" provider that makes this configuration easy to reach.