Skip to content

Fix/ssh connection#3348

Closed
lyx-tec wants to merge 3 commits into
wavetermdev:mainfrom
lyx-tec:fix/ssh-connection
Closed

Fix/ssh connection#3348
lyx-tec wants to merge 3 commits into
wavetermdev:mainfrom
lyx-tec:fix/ssh-connection

Conversation

@lyx-tec
Copy link
Copy Markdown

@lyx-tec lyx-tec commented Jun 3, 2026

No description provided.

lyx-tec and others added 3 commits May 30, 2026 09:19
* fix: copy-on-select overwrites clipboard when search is open (#1)

Change the guard in termwrap.ts from checking focused element
(document.activeElement.closest) to checking DOM presence
(document.querySelector) to prevent copy-on-select from firing
whenever search is open, regardless of focus state.

* chore: mark verification tasks complete, archive openspec change, sync specs
* wip

* add search input ref

* feat: add Playwright E2E testing (#3)

---------

Co-authored-by: carl2027 <carl.2027@outlook.com>
WaveTerm previously ignored the ProxyCommand directive in ~/.ssh/config,
causing connections via SSH config Host entries with ProxyCommand to fail
with 'Disconnected from xxx'.

This change:
- Parses ProxyCommand from SSH config in findSshConfigKeywords
- Executes the proxy command via os/exec with %h/%p/%r expansion
- Wraps command stdin/stdout as net.Conn via net.Pipe()
- Cleans up the subprocess on connection close via proxyCommandConn

Affects: pkg/wconfig/settingsconfig.go, pkg/remote/sshclient.go,
frontend/types/gotypes.d.ts
@lyx-tec lyx-tec closed this Jun 3, 2026
@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented Jun 3, 2026

Review Change Stack

Caution

Review failed

The pull request is closed.

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Repository UI

Review profile: CHILL

Plan: Pro

Run ID: 9d67cf44-8c94-4799-b442-2a646673c5bc

📥 Commits

Reviewing files that changed from the base of the PR and between a5ac096 and 06d31be.

⛔ Files ignored due to path filters (2)
  • go.sum is excluded by !**/*.sum
  • package-lock.json is excluded by !**/package-lock.json
📒 Files selected for processing (52)
  • .github/prompts/opsx-apply.prompt.md
  • .github/prompts/opsx-archive.prompt.md
  • .github/prompts/opsx-explore.prompt.md
  • .github/prompts/opsx-propose.prompt.md
  • .github/skills/openspec-apply-change/SKILL.md
  • .github/skills/openspec-archive-change/SKILL.md
  • .github/skills/openspec-explore/SKILL.md
  • .github/skills/openspec-propose/SKILL.md
  • .github/workflows/playwright.yml
  • .gitignore
  • .kilocode/skills/openspec-apply-change/SKILL.md
  • .kilocode/skills/openspec-archive-change/SKILL.md
  • .kilocode/skills/openspec-explore/SKILL.md
  • .kilocode/skills/openspec-propose/SKILL.md
  • .kilocode/workflows/opsx-apply.md
  • .kilocode/workflows/opsx-archive.md
  • .kilocode/workflows/opsx-explore.md
  • .kilocode/workflows/opsx-propose.md
  • .roo/commands/opsx-apply.md
  • .roo/commands/opsx-archive.md
  • .roo/commands/opsx-explore.md
  • .roo/commands/opsx-propose.md
  • .roo/skills/openspec-apply-change/SKILL.md
  • .roo/skills/openspec-archive-change/SKILL.md
  • .roo/skills/openspec-explore/SKILL.md
  • .roo/skills/openspec-propose/SKILL.md
  • PROJECT_SUMMARY.md
  • e2e/helpers/launch.ts
  • e2e/search-clipboard.spec.ts
  • frontend/app/element/search.tsx
  • frontend/app/store/keymodel.ts
  • frontend/app/view/term/term.tsx
  • frontend/app/view/term/termwrap.ts
  • frontend/types/gotypes.d.ts
  • go.mod
  • openspec/changes/add-playwright-e2e/.openspec.yaml
  • openspec/changes/add-playwright-e2e/design.md
  • openspec/changes/add-playwright-e2e/proposal.md
  • openspec/changes/add-playwright-e2e/specs/e2e-search-clipboard/spec.md
  • openspec/changes/add-playwright-e2e/specs/playwright-electron-setup/spec.md
  • openspec/changes/add-playwright-e2e/tasks.md
  • openspec/changes/archive/2026-05-30-fix-search-copyonselect-clipboard/.openspec.yaml
  • openspec/changes/archive/2026-05-30-fix-search-copyonselect-clipboard/design.md
  • openspec/changes/archive/2026-05-30-fix-search-copyonselect-clipboard/proposal.md
  • openspec/changes/archive/2026-05-30-fix-search-copyonselect-clipboard/specs/search-clipboard-guard/spec.md
  • openspec/changes/archive/2026-05-30-fix-search-copyonselect-clipboard/tasks.md
  • openspec/specs/search-clipboard-guard/spec.md
  • package.json
  • pkg/remote/sshclient.go
  • pkg/wconfig/settingsconfig.go
  • playwright.config.ts
  • test-results/playwright/.last-run.json

Walkthrough

This PR introduces four major feature areas: comprehensive OpenSpec workflow documentation (for apply, archive, explore, and propose operations), Playwright-based Electron E2E testing infrastructure with a clipboard-preservation test, a fix for copy-on-select behavior when the terminal search UI is active, and SSH ProxyCommand support for SSH connections. It also adds project documentation and minor infrastructure updates.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~25 minutes

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

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 and usage tips.

Warning

⚠️ This pull request might be slop. It has been flagged by CodeRabbit slop detection and should be reviewed carefully.

@CLAassistant
Copy link
Copy Markdown

CLA assistant check
Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.
You have signed the CLA already but the status is still pending? Let us recheck it.

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.

2 participants