Skip to content

feat(fm): move across connections (F6 local↔remote)#30

Merged
iret77 merged 1 commit into
mainfrom
feat/fm-cross-move
Jul 4, 2026
Merged

feat(fm): move across connections (F6 local↔remote)#30
iret77 merged 1 commit into
mainfrom
feat/fm-cross-move

Conversation

@iret77

@iret77 iret77 commented Jul 4, 2026

Copy link
Copy Markdown
Collaborator

Completes F6 (move) across connections on top of #29's cross-connection copy: moving a file between a local and a remote pane now transfers it, then — only once the transfer fully succeeds — deletes the source through its own backend. The source is never removed on failure or cancellation, so a failed move can't lose data.

  • spawn_transfer_with_backend gains delete_after = Some((source_backend, source_path)); the completion deletes the source on Ok(Ok(())) only.
  • transfer_cross_connection drops the move deferral and passes the delete intent per file.

Still reported-not-done (the remainder of increment C): directories across connections, two different remote hosts, the >2-pane target picker, and overwrite-confirm.

Verified: cargo check -p warp 0/0; 248 sftp + 5 registry + 6 keynav tests green (the former deferral test now asserts the move transfer starts). No build triggered.

🤖 Generated with Claude Code

F6 now works between a local and a remote pane, not just same-fs: the
file transfers (upload/download) and, only once that fully succeeds, the
source is deleted through its own backend. The source is never removed
on failure or cancellation, so a failed move cannot lose data.

- spawn_transfer_with_backend gains delete_after = Some((source_backend,
  source_path)); the completion deletes the source on Ok(Ok(())) only.
- transfer_cross_connection drops the move deferral and passes the
  delete intent per file; the summary reads "move transfer(s) started".

Directories across connections and two-different-remote-hosts remain
reported-not-done (the rest of increment C).

Verified: cargo check -p warp 0/0; 248 sftp + 5 registry + 6 keynav
tests green (the former deferral test now asserts the transfer starts).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@iret77 iret77 merged commit 08ffb4b into main Jul 4, 2026
2 checks passed
@iret77 iret77 deleted the feat/fm-cross-move branch July 4, 2026 11:00
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