Skip to content

fix(terminal): make SSH reconnect UI non-blocking - #9928

Merged
nwparker merged 1 commit into
stablyai:mainfrom
nwparker:nwparker/bug-ssh-connection-dialogs-are-blocking
Jul 22, 2026
Merged

fix(terminal): make SSH reconnect UI non-blocking#9928
nwparker merged 1 commit into
stablyai:mainfrom
nwparker:nwparker/bug-ssh-connection-dialogs-are-blocking

Conversation

@nwparker

Copy link
Copy Markdown
Contributor

Summary

  • replace the full-pane SSH reconnect backdrop with the established bottom reconnect-banner pattern
  • keep Connect, in-flight, removed-host, local SSH, and runtime-owned SSH behavior intact
  • expose reconnect state as a polite live status and add regression coverage for the bounded layout

Reproduction and verification

  • reproduced with an active terminal in the openclaw SSH workspace by disconnecting the host in Settings → SSH Hosts
  • verified the disconnected terminal remains visible at full contrast and the reconnect action stays available in a bottom banner
  • verified split-terminal layout, successful reconnection, resumed remote explorer/terminal state, and no renderer errors

Tests

  • pnpm test -- src/renderer/src/components/terminal-pane/TerminalSshReconnectOverlay.test.tsx (3,216 files / 34,127 tests passed)
  • pnpm exec oxlint src/renderer/src/components/terminal-pane/TerminalSshReconnectOverlay.tsx src/renderer/src/components/terminal-pane/TerminalSshReconnectOverlay.test.tsx
  • pnpm run typecheck:web
  • commit hooks: oxlint, React Doctor lint, and oxfmt

Fixes #9919

@nwparker

Copy link
Copy Markdown
Contributor Author

Attachments

Before / after SSH reconnect UI

issue-001-result.png issue-001-fixed-result.png
issue-001-result.png issue-001-fixed-result.png
issue-001-fixed-split.png
issue-001-fixed-split.png

@coderabbitai

coderabbitai Bot commented Jul 22, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Repository UI

Review profile: CHILL

Plan: Pro

Run ID: 9830d773-82a6-4f96-8947-13ee57ced2d4

📥 Commits

Reviewing files that changed from the base of the PR and between 39b124c and d25f0d5.

📒 Files selected for processing (2)
  • src/renderer/src/components/terminal-pane/TerminalSshReconnectOverlay.test.tsx
  • src/renderer/src/components/terminal-pane/TerminalSshReconnectOverlay.tsx

📝 Walkthrough

Walkthrough

Updated the SSH reconnect overlay to use a compact positioned banner with status accessibility attributes, target labeling, revised message placement, and preserved connection actions. The disconnected-state test now verifies the non-blocking banner, its status role, and its positioning classes.

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Description check ⚠️ Warning It includes summary and tests, but omits Screenshots, AI Review Report, Security Audit, and Notes required by the template. Add the missing template sections, including screenshots or 'No visual change,' an AI review report, a security audit, and notes.
✅ Passed checks (4 passed)
Check name Status Explanation
Title check ✅ Passed The title is concise and accurately describes the main UX change to the SSH reconnect flow.
Linked Issues check ✅ Passed The PR matches #9919 by replacing the blocking reconnect backdrop with a non-blocking bottom banner.
Out of Scope Changes check ✅ Passed The changes stay focused on the SSH reconnect UI and its regression test, with no clear unrelated additions.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@nwparker
nwparker merged commit 53e018a into stablyai:main Jul 22, 2026
4 checks passed
@nwparker
nwparker deleted the nwparker/bug-ssh-connection-dialogs-are-blocking branch July 22, 2026 20:49
andrewyatesai pushed a commit to andrewyatesai/orca-alab that referenced this pull request Jul 23, 2026
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.

[Bug]: SSH connection dialogs are blocking

1 participant