Repository navigation
Native Windows support: incremental SSH fixes and a validation plan #180
lw-liuwang
started this conversation in
Ideas
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
I tested current upstream main (
006ff96) on native Windows 11 build 26200 / Python 3.12.14 and opened a focused contribution toward native Windows support:The PR fixes generated SSH ProxyCommand quoting under Windows process argument rules, the missing
signal.SIGHUPcrash in--proxy-mode --rm, and local null-device selection. Thanks to @Le-Anh-Duy for documenting the quoting diagnosis in discussion #97. It retains POSIX quoting/security tests and adds real Windows child-process and Windows OpenSSH/local-stub launch checks with paths containing spaces.Validation on 2026-10-20: all 22 new regression cases failed before the implementation. After the fixes and coverage for both plain and colored help output, the native Windows SSH suite has 115 passing tests. Three-platform SSH CI, the upstream workflow security scan, and the Google CLA check pass.
Live Colab validation also passed. After OAuth2 login on native Windows,
uv run python integration/repro_windows_ssh/test.pycreated one dedicated CPU runtime, connected through Windows OpenSSH using the generated ProxyCommand and a key path containing spaces, and receivedwindows-ssh-okfrom the remote shell. The recorded endpoint was released; the final CLI sessions query reported no active assignments. This is evidence for this SSH path, not complete Windows feature parity.The full Windows suite moves from 21 failed / 333 passed / 2 skipped to 15 failed / 362 passed / 2 skipped. Remaining failures were reproduced before these changes: help-output parsing (2), temporary-file editing (2), and REPL construction without a Windows console (11).
A practical path toward supported native Windows use would be:
Related broader work is already tracked by #85 and discussion #83, with PRs including #86 and #167. The existing termios, file-locking and stdin-select fixes are already on main and are not reimplemented here.
One testing detail matters for Windows/WSL users: they normally keep separate local credentials/session metadata, while assignments and quotas belong to the Google account. An assignment shown as
[?]in Windows may be actively used from WSL. The new live script only cleans up its own recorded endpoint and preserves pre-existing assignments.Feedback on the remaining validation requirements would help align subsequent Windows work with the maintainers' expectations.
All reactions