Skip to content

feat(core-ssh): tunnel through SSH in process on Windows - #4008

Merged
datlechin merged 15 commits into
mainfrom
fix/core-ssh-windows
Nov 4, 2026
Merged

datlechin merged 15 commits into
mainfrom
fix/core-ssh-windows

Conversation

@datlechin

@datlechin datlechin commented Nov 3, 2026 •

Copy link
Copy Markdown
Member

Summary

  • Connect through SSH from the Windows form using the core's in-process transport: password, encrypted key, agent, keyboard-interactive login and jump hosts.
  • Show native credential and host-key prompts. A changed key requires explicit removal and separate trust confirmation, including when reconnecting a live workspace.
  • Preserve typed empty passwords, later prompt answers, jump hosts and saved passphrase settings across editing and reconnects.
  • Bound identity and certificate file reads, keep Windows relays private, and reject MySQL Verify full when a tunnel cannot preserve its server name.
  • Connection status and field-error colors follow the form theme. Core ADR 0009 records the transport design; Linux keeps system OpenSSH.

Test plan

  • Local: 74 FFI tests, 188 managed tests and 573 Linux network/storage/SSH/session tests passed. Bindings reproduce exactly; solution build, rustfmt and selected-crate clippy passed.
  • Windows x64: all 227 interop/model/control tests and 34 UI tests passed, with no skips, in run 41782804274. Both themes connect, query 42, reject a changed key, confirm its replacement and query 43 after recovery. Arm64 app tests passed too.
  • Core CI tests exercise real tunnels, encrypted keys, agent login, jump hosts and cancellation. Light/dark screenshots were inspected, including the corrected status colors.

Screenshots

New SSH states have no before screenshots.

State Light Dark
Trust an unknown key Trust an unknown key, light Trust an unknown key, dark
Review a changed key Review a changed key, light Review a changed key, dark
Trust the replacement Trust the replacement, light Trust the replacement, dark
Query after recovery Query after recovery, light Query after recovery, dark

| Connection tested | Connection tested, light | Connection tested, dark |

@datlechin
datlechin merged commit 0181af1 into main Nov 4, 2026
21 of 22 checks passed
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