Files
tty7/crates
l0ng-ai b6577d10a6 fix(wsl): send a pane to the remote's pane socket
A remote `tty7-server` listens twice and the two dialects are not
interchangeable; which socket a routed stream lands on is decided by
`--pane` on the bridge command. The SSH path adds it via
`RouteChannel::bridge_command`, and `LocalStdio` adds it in the client's
`PaneWorkspace::route_header` because its argv is run verbatim — but
`RemoteLink::wsl` always built `[binary, "--stdio"]` and dropped
`setup.channel` on the floor.

So a WSL pane reached the control socket, wrote its `Spawn`, and was
answered with nothing: `routed connection closed after 56 up / 0 down
bytes`. The workspace connected, the window opened, and the pane inside
it said it could not reach the machine. `PaneWorkspace::route_header`
already documents this exact failure shape; WSL was the transport that
never got wired to it.

WSL is the one transport that builds its own argv, so the choice belongs
where the argv is built. `wsl_shell` routes its override through
`bridge_command`, the same rewrite SSH applies to its shell command, so
an escape hatch cannot silently lose the dialect.

The argv is now a pure `wsl_link_argv`, because the difference between
the two is one flag that cannot be checked anywhere a distribution is
required.
2026-07-30 13:38:22 +08:00
..