Skip to content

feat: SSH/SFTP usability and reliability improvements - #69

Merged
qfxiongbinbin merged 1 commit into
mainfrom
fix/local-terminal-scroll-stability
Jul 21, 2026
Merged

qfxiongbinbin merged 1 commit into
mainfrom
fix/local-terminal-scroll-stability

Conversation

@qfxiongbinbin

Copy link
Copy Markdown
Owner

Summary

  • SFTP path bar: commits on Enter/blur instead of firing one remote directory listing per keystroke (both SFTP panes and the local file navigator)
  • Delete confirmation: local/remote file deletion now shows a confirmation dialog with the full path before executing
  • Disconnect awareness: the Rust backend emits a structured terminal-exit event; the UI flips the tab to a disconnected state and offers an in-place Reconnect that reuses the same tab (same host, or same cwd for local shells)
  • SSH connection reuse: ssh/sftp/monitor commands share one authenticated connection per host via OpenSSH ControlMaster multiplexing (sockets in ~/.serverdeck/cm, ControlPersist 60s) — repeat SFTP navigation and monitor refreshes skip TCP+auth entirely
  • Also carries the local terminal scroll stability fix this branch was created for, plus pending AI memory files work (scan/read agent memory files in settings)

Test plan

  • cargo check and npm run tauri dev
  • SFTP: typing in the path bar does not trigger listings; Enter/blur does; Esc restores
  • Right-click delete (local and remote) shows the confirmation dialog; cancel does nothing
  • Kill an SSH session server-side: tab dot turns grey, overlay offers Reconnect, reconnect restores the session in the same tab
  • Open a terminal to a host, then browse SFTP on the same host: no second authentication, listings are fast

🤖 Generated with Claude Code

https://claude.ai/code/session_015R3DVRqVdvkiD6YVchgcBv

- SFTP/file navigator path bar commits on Enter/blur instead of every keystroke
- Add delete confirmation dialog for local/remote file deletion
- Surface terminal session exit as disconnected tab state with in-place reconnect
- Reuse SSH connections via OpenSSH ControlMaster multiplexing (ssh/sftp/monitor)
- Includes pending AI memory files feature work (scan/read agent memory files)

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_015R3DVRqVdvkiD6YVchgcBv
@qfxiongbinbin
qfxiongbinbin merged commit cea0502 into main Jul 21, 2026
@qfxiongbinbin
qfxiongbinbin deleted the fix/local-terminal-scroll-stability branch July 21, 2026 04:24
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