Skip to content

v2.1.0 — Sync Resilience

Choose a tag to compare

@github-actions github-actions released this 31 May 00:00
· 14 commits to main since this release

Git sync can no longer wedge itself on a conflict. Previously a single rebase conflict would silently break sync forever — the app piled "Sync" commits onto a detached HEAD and never pushed again, with no error shown. Sync now recovers automatically and surfaces real conflicts.

🔄 Sync

  • Stuck-rebase recovery — every sync now checks for a half-finished rebase (left by a prior conflict or crash) and aborts it before doing anything else, so a wedged repo self-heals on the next sync instead of staying broken.
  • No more committing onto a broken rebase — if git pull --rebase hits a conflict (which leaves HEAD detached), sync aborts the rebase, restores the stash, and returns a clear "Sync paused: remote changes conflict with local edits" error instead of stacking commits on a detached HEAD and silently failing to push.
  • Detached-HEAD guard — sync refuses to commit/push when HEAD isn't on a branch, surfacing the problem rather than no-op'ing forever.
  • Root cause: the old git_sync swallowed every git result and had no rebase-conflict handling, so one conflict could silently freeze a vault's remote for weeks while local commits accumulated.

📎 Other

  • Bumped version to 2.1.0 across package.json, Cargo.toml, tauri.conf.json, and Cargo.lock
  • Carries forward the Flatpak/Flathub packaging and Flatpak-aware updater from the 2.0.x line