Skip to content

Run remote hosts on Windows over direct SSH - #1114

Merged
thesiti92 merged 2 commits into
remote/15-ssh-direct-modefrom
remote/16-windows-remote-hosts
Oct 15, 2026
Merged

thesiti92 merged 2 commits into
remote/15-ssh-direct-modefrom
remote/16-windows-remote-hosts

Conversation

@thesiti92

@thesiti92 thesiti92 commented Oct 13, 2026 •

Copy link
Copy Markdown
Contributor

Turns remote hosts back on for Windows laptops (reverting #1110's early return) with direct sessions from #1113.

  • The inbox %SystemRoot%\System32\OpenSSH\ssh.exe is used when present, ahead of an MSYS ssh (Git for Windows) on PATH.
  • ssh runs with windowsHide and not detached; a detached ssh gets a console window on Windows.
  • Windows needs a key ssh-agent can use and a host already in known_hosts. A refused key says to use ssh-add; an unknown host key already says to run ssh <alias> in a terminal.
  • Include globs in ssh_config take forward slashes on Windows.
  • docs/remote-hosts.md: the Windows setup.

Checked in a Windows 11 VM (24H2, ARM64, inbox OpenSSH 9.5p1) against a Linux container with the real modules and the Desktop's spawn options: picks the inbox ssh.exe; exec and the probe run with no prompt and no window; uploadFile is byte-exact into a path with a space; the -D master, a forward to the host's sshd and a held -R round trip work; an unknown host key and an unauthorized key fail fast with ssh's own messages; an Include with a Windows path lists its aliases; no ssh.exe is left after. A dev build of this branch also ran in that VM (ARM64 Electron), against a Linux host with Whiteboard on its PATH, using an ssh-agent key: online in 10 s, /health through the SOCKS forward, a killed master recovered in under 2 s, and a normal quit left no ssh.exe. Dev-only gaps on Windows ARM64, unrelated to this change, kept it from the UI and the dev install: run.sh looks for review rather than Whiteboard.exe and hands MSYS paths to node, the curated extensions and diffr have no win32-arm64 target, and the dev pack (pnpm pack) fails there.

Stacked on #1113.

@thesiti92
thesiti92 had a problem deploying to review-release-approval October 13, 2026 20:01 — with GitHub Actions Error
@thesiti92
thesiti92 force-pushed the remote/16-windows-remote-hosts branch from 653cb8c to aebb7da Compare October 14, 2026 07:13
@thesiti92
thesiti92 force-pushed the remote/16-windows-remote-hosts branch from aebb7da to 311b4f9 Compare October 14, 2026 14:14
@thesiti92
thesiti92 force-pushed the remote/16-windows-remote-hosts branch from 311b4f9 to 58399a9 Compare October 14, 2026 17:27
@thesiti92
thesiti92 force-pushed the remote/16-windows-remote-hosts branch 2 times, most recently from 0a25027 to fe2abe0 Compare October 14, 2026 17:51
@thesiti92
thesiti92 force-pushed the remote/16-windows-remote-hosts branch from fe2abe0 to 67c5b9a Compare October 14, 2026 18:21
@thesiti92
thesiti92 force-pushed the remote/16-windows-remote-hosts branch 2 times, most recently from 598263e to 1632be4 Compare October 14, 2026 19:29
@thesiti92
thesiti92 force-pushed the remote/16-windows-remote-hosts branch from 1632be4 to 7a25377 Compare October 14, 2026 19:36
@thesiti92
thesiti92 force-pushed the remote/16-windows-remote-hosts branch 2 times, most recently from 4c492ba to 6194113 Compare October 14, 2026 19:44
@thesiti92
thesiti92 force-pushed the remote/16-windows-remote-hosts branch from 6194113 to 5d285da Compare October 14, 2026 19:53
@thesiti92
thesiti92 force-pushed the remote/16-windows-remote-hosts branch 2 times, most recently from 216cb4c to e218436 Compare October 14, 2026 20:06
@thesiti92
thesiti92 force-pushed the remote/16-windows-remote-hosts branch from e218436 to 46b800e Compare October 14, 2026 20:44
@thesiti92
thesiti92 force-pushed the remote/16-windows-remote-hosts branch 2 times, most recently from a5ce4a8 to 73f7d3b Compare October 15, 2026 00:40
@thesiti92
thesiti92 force-pushed the remote/16-windows-remote-hosts branch from 73f7d3b to a9d26b0 Compare October 15, 2026 01:14
@thesiti92
thesiti92 added this pull request to stack #1148 October 15, 2026 01:14
@thesiti92
thesiti92 marked this pull request as ready for review October 15, 2026 01:14
Windows laptops use the inbox Win32-OpenSSH with hidden, non-detached
ssh processes and direct sessions, so they need a key ssh-agent can
use and a host already in known_hosts. A refused key says so.
@thesiti92
thesiti92 force-pushed the remote/16-windows-remote-hosts branch from a9d26b0 to 9862ebc Compare October 15, 2026 01:45
@thesiti92
thesiti92 merged commit 0f57127 into main Oct 15, 2026
3 of 6 checks passed
@thesiti92
thesiti92 deleted the remote/16-windows-remote-hosts branch October 15, 2026 02:12
thesiti92 added a commit that referenced this pull request Oct 15, 2026
`copyText`, `CopyableText` and `CopyButton` move from
`packages/review/app/src/copy-text.tsx` into the UI kit as
`@canvas/ui/copy`, with one copy glyph instead of two. The kit stays
free of app code: the components take their tooltip from a kit-owned
host context (`ui/host.tsx`) whose default does nothing, and the app
installs `UiHostProvider` with its `useTooltip` once at each root.

Stacked on #1114.

## Test plan
- [ ] Browser tests for the touched files and the review package tests.
- [ ] Root typecheck and lint.
- [ ] In Desktop: hover a hand-install hint in Settings shows "Click to
copy", clicking copies it and shows "Copied"; the copy button on a
prompt card still copies.
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