Skip to content

Add SSH over bastion, local terminal, and terminal split improvements #10

Open
rishabhofficial wants to merge 3 commits into
macnev2013:mainfrom
rishabhofficial:feature/SSH-over-bastion
Open

Add SSH over bastion, local terminal, and terminal split improvements #10
rishabhofficial wants to merge 3 commits into
macnev2013:mainfrom
rishabhofficial:feature/SSH-over-bastion

Conversation

@rishabhofficial
Copy link
Copy Markdown

  • SSH over bastion/jump host: Full support for connecting through a bastion host with independent credentials (host, port, username, password or SSH key).
    Collapsible "Over SSH" section in the host edit modal with bastion credentials stored securely in OS keychain.

    • Local terminal: New portable-pty-based local shell sessions. "Local Terminal" option in the host picker dropdown spawns the user's default shell ($SHELL)
      without SSH. Supports split, resize, and disconnect like SSH sessions.
    • Terminal split fixes: Fixed missing onResizeRef/onResizeEndRef refs in use-resize-handle.ts. Terminal output now survives split remounts via output buffer
      replay. Host picker pane rendered in a proper panel with PaneHeader (split/zoom/close buttons).
    • Pending pane system: Cmd+T/Cmd+N opens a host picker in a new tab/split pane. Tabs correctly registered in unified tab store. Close button and split support
      on pending panes.
    • Bug fixes: Fixed undefined encoder in Terminal.tsx, fixed TerminalTabs.tsx reading from wrong store, fixed AppShell.tsx referencing non-existent
      setActivePage/activePage, fixed session-store using non-existent tabOrder/activeTabId properties.

    Test plan

    • Connect to a host with bastion configured — verify tunnel works
    • Save a host with "Over SSH" enabled using password auth, reconnect from saved hosts
    • Save a host with "Over SSH" enabled using SSH key auth, reconnect from saved hosts
    • Open a host picker via Cmd+(N/T) → "Local Terminal" button
    • Split a local terminal (Cmd+D) — verify both panes work independently
    • Split an SSH terminal — verify old terminal output is preserved
    • Close a pending host picker pane (X button and Cmd+W)

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