This was one of the ways how this sync problem manifests itself. Either:
- The file gets completely empty (zero size)
- Or the content is replaced with nulls (the size stays the same)
- Or the file simply stays intact, only its timestamp gets updated, so it cannot be replaced by the changed version.
Fortunately, my sync app creates sync-conflict files when any of these problems occur, so I never lost my data. But if your sync app doesn’t do that, you may lose your data.
See Synchronization conflicts in .obsidian folder for more details.