mirror of
https://github.com/l0ng-ai/tty7.git
synced 2026-09-22 00:02:23 +00:00
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.