mirror of
https://github.com/l0ng-ai/tty7.git
synced 2026-09-22 08:02:24 +00:00
A native-SSH pane opened inside a remote workspace's window runs in this client's own daemon and is deliberately absent from the remote machine's tree (its local id would collide with an unrelated remote pane). The TabRestructured rebuild therefore had no leaf for it and dropped its view on the floor: the local session kept running, invisible from every surface — a true orphan only the daemon's log-only sweep would ever mention. The rebuild now sets such leaves aside while harvesting reusable views and appends each back as a fresh half-and-half split on the right once the tree's own panes are built. The old split geometry is unknowable from the delta (the tree never held it), so the appended shape is the one a split created it in; the next save changes nothing, because the diff already lowers a remote window without its ssh leaves. The resync path (a delta that fails to apply, a replaced server) still rebuilds the whole window from the tree and drops such views — that path discards every view it has by design, and is left as a known residual. TerminalView grows a test-only ssh-marked pane constructor so the kept-split property is pinned by a gpui test.