Skip to content

fix(fleet-sync): create the destination path, same path lands flat, show + copy the real error - #66

Merged
ralyodio merged 1 commit into
mainfrom
fix/fleet-sync-errors
Oct 17, 2026
Merged

ralyodio merged 1 commit into
mainfrom
fix/fleet-sync-errors

Conversation

@ralyodio

Copy link
Copy Markdown
Contributor

A Fleet Sync of ~/Desktop/me/ideas (this machine) to dev2 failed with code 11 and the error box was empty and uncopyable. Reproduced from bonita's CLI: rsync: [Receiver] mkdir "/home/anthony/…/me/ideas" failed: No such file or directory, shown to the user as "the destination filesystem may be full or read-only".

  • Creates the destination path: Fleet Sync passes --mkpath (main-process override; the planner drops it with a warning on rsync < 3.2.3). Verified live bonita → dev2: the nested path is created.
  • Same path lands at the same path: an empty or identical destination sends the source into its parent, so ~/a/ideas arrives as ~/a/ideas, not ~/a/ideas/ideas (rsync's trailing-slash rule; seen in the live test).
  • Honest message: a failed mkdir is reported as a missing parent folder; code 11 no longer guesses "full or read-only".
  • Real error block: a failed destination shows the cause, rsync's own stderr lines (kept, not overwritten), selectable text and a Copy error button. Rendered in both themes with the mock bridge; the copy puts the full report on the clipboard.

Tests: rsync-core errors (+2), src/lib/fleet-sync.test.ts (5). Full suite 73 files / 938 tests.

🤖 Generated with Claude Code

…at, show the real error

A Fleet Sync of ~/Desktop/me/ideas from bonita to dev2 failed with code 11
("io/write error") and the error was unreadable. Four fixes:

- Fleet Sync now passes --mkpath (via buildPlan overrides; the planner drops
  it with a warning on rsync older than 3.2.3), so a path that does not exist
  yet on a destination is created instead of failing with code 11.
- An empty (or identical) destination now sends the source into its parent,
  so the same path lands at the same path. Before, rsync's trailing-slash rule
  would have produced ~/Desktop/me/ideas/ideas.
- rsync's "mkdir ... failed: No such file or directory" is reported as what it
  is (a missing parent folder), and code 11 no longer claims the destination
  "may be full or read-only".
- A failed destination shows an error block under its row: the cause, rsync's
  own lines (kept, not overwritten by the exit summary), selectable text, and a
  Copy error button. It used to be a faint truncated snippet in an otherwise
  empty panel, and the app's no-select default made it uncopyable.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@ralyodio
ralyodio merged commit b0cbf1f into main Oct 17, 2026
6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant