Last night a couple of my projects got messed up by a bad interaction between Nextcloud and the macOS auto-save mechanism. In particular, I was working on a couple of projects that were stored in Nextcloud, and due to the way that they both work, macOS kept on seeing Nextcloud as having changed the files, so it would save out a backup copy, and then Nextcloud would see macOS as having changed the files, so it would issue a sync. At one point things got out of sync and led to a bunch of conflicts, which then in turn resulted in things getting into a very weird state where many of the files were just plain not syncing, and others were replaced with older versions.
I think to complicate matters, one of the projects may have also been open on my machine at home, judging by how the Logic project file had been spammed/overwritten with backup versions that reflected the project state before I left home, so while all my recordings were still present, they weren’t on my timeline at all. Nope, I just managed (after a lot of finagling) to get my VPN back home working, and Logic wasn’t open at all. This was purely a problem with sync between my laptop and the server, with no remote meddling taking place.
Fortunately they were just rough recordings that I was planning on replacing anyway, but if I’d lost some actual work I’d have been rather upset.
Presumably this would happen with any filesystem-based sync mechanism (such as Dropbox or Google Drive). So, if you’re going to work on bundle-style projects from apps which use macOS version management (such as Logic, Final Cut Pro, and probably a bunch of others), it’s best to move or copy them outside of your sync folder when you work on them, and only move/copy them back in when you want the saved version to actually synchronize to your other computers.