Add lightweight SFTP file management - #16
Merged
Merged
Conversation
## Why SSH tabs expose interactive terminal access but do not provide a bounded way to move and manage reference files. Terminal Picture-in-Picture also hides the main-page context menu, making an SFTP-only entry point incomplete. ## What changed - Add direct-endpoint SFTP browsing, upload, download, rename, and two-stage permanent deletion without following nested SSH sessions. - Bind regular-file actions to short-lived opaque references and browser-, socket-, terminal-, and bridge-scoped transfer tickets. - Add SFTP actions to the main status bar, context menu, and Terminal PiP, with a disabled unavailable state and a clean PiP transition. - Defer session-recovery reconnect until the previous Socket.IO transport closes its current event-loop task. ## Testing - Covered SFTP bridge boundaries, atomic replacement, opaque references, ticket scope, single-use downloads, and exact byte streaming. - Covered main and PiP entry points, unavailable states, upload conflicts, downloads, rename/delete safeguards, and session recovery in Chromium.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Why
SSH tabs provide interactive terminal access but no bounded way to move and manage reference files. The main-page context menu is also unavailable while a terminal is in Document Picture-in-Picture. Separately, Windows warm launches repeat a disposable PiP capability probe, and session recovery can reconnect before the previous Socket.IO transport finishes closing.
What changed
Testing