Repository navigation
Release Notes
Hot-file protection and safer syncs
This release introduces a new mechanism to prevent zero-byte or partial file syncs that could occur while editors are still writing to disk.
Highlights
Hot-file window: Files modified within the last N seconds (default 3 s) are skipped until they settle, preventing race conditions during save operations.
Backups when SYNC_BACKUP=true, any file overwritten from remote to local is first copied into .osync-backups
Safer rsync mode: Always uses --partial-dir and --delay-updates instead of --inplace, avoiding partial writes mid-sync.
Repository stability: .gitignore and .gitattributes are excluded from sync and deletion detection; .gitattributes is created or renormalized only on --seed.
Improved tests and diagnostics: Clearer assertion messages, and optional debug-level remote listings.
Summary
Editing a file could previously result in a zero-byte snapshot being synced if rsync read the file during the brief truncate-then-write window. The new hot-window mechanism and non-inplace rsync strategy make this more unlikely, and optional backups ensure recovery if it ever occurs.