Skip to content

Much needed hot-file fix

Latest

Choose a tag to compare

@Kena-Njonge Kena-Njonge released this 02 Nov 22:40
· 6 commits to main since this release

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.