Repository navigation
Add detachable SSH PTY daemon persistence #4807
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Changes from 4 commits
Commits
Show all changes
86 commits
Select commit
Hold shift + click to select a range
b495d43
Add detachable SSH PTY daemon persistence
lawrencecchen 406166f
Merge remote-tracking branch 'origin/main' into feat-ssh-detachable-pty
lawrencecchen 97cdaea
Fix persistent SSH PTY review findings
lawrencecchen fc5f4b0
Bound persistent daemon auth handshake
lawrencecchen 4251df2
Fix persistent SSH daemon review findings
lawrencecchen e2387ba
Enforce persistent daemon slot invariant
lawrencecchen 595cd75
Fix persistent SSH restore control paths
lawrencecchen c5af267
Preserve persistent daemon sessions on auth rotation
lawrencecchen c3dc301
Fix SSH fork and daemon cleanup regressions
lawrencecchen 693987b
test: cover persistent SSH PTY relaunch snapshots
lawrencecchen aa85f40
fix: persist SSH PTY session IDs through relaunch
lawrencecchen bba2b95
merge: sync with main
lawrencecchen 49e9ccb
fix: preserve workspace id for SSH PTY fallback
lawrencecchen 441e40b
fix: preserve SSH options in reconnect restore
lawrencecchen 69714d2
fix: remap restored SSH relay context
lawrencecchen 81d464a
fix: use unique daemon token temp files
lawrencecchen ca45ff5
fix: address ssh pty review findings
lawrencecchen 1f9ed43
fix: tighten ssh pty review feedback
lawrencecchen dc93889
fix: keep relay alias rewrites on relay queue
lawrencecchen e7be943
fix: clean stale persistent ssh proxies
lawrencecchen f4352ce
fix: scope persistent ssh cleanup by slot
lawrencecchen d09db53
fix: gate persistent ssh restore on socket
lawrencecchen 5e80396
fix: preserve generic ssh cleanup with slots
lawrencecchen 7c56a18
fix: bound persistent daemon slot lifecycle
lawrencecchen 7d96b10
fix: parse persistent daemon cleanup slots by token
lawrencecchen 4547993
fix: simplify restored relay token guards
lawrencecchen c867b8f
fix: avoid reattaching ended ssh ptys
lawrencecchen c1d9fe5
fix: match escaped ssh daemon slot cleanup
lawrencecchen d7fe0a1
fix: harden persistent daemon socket dir
lawrencecchen 4f7897c
test: cover ssh pty reattach command restore
lawrencecchen f94e6fa
fix: execute persisted ssh pty attach scripts
lawrencecchen 75d5f4b
Merge remote-tracking branch 'origin/main' into feat-ssh-detachable-pty
lawrencecchen 86f7874
fix: keep only persistent ssh pty exits visible
lawrencecchen 5ea7ba7
fix: harden ssh pty restore fallbacks
lawrencecchen 64e9205
fix: restore ssh pty pane bootstrap
lawrencecchen fb1d7d9
fix: remap restored ssh relay anchors
lawrencecchen 0d07504
Merge remote-tracking branch 'origin/main' into feat-ssh-detachable-pty
lawrencecchen 082e52e
fix: guard restored ssh shell placeholders
lawrencecchen e281dc5
Merge remote-tracking branch 'origin/main' into feat-ssh-detachable-pty
lawrencecchen e024877
fix: remap restored ssh panel aliases
lawrencecchen 1736207
fix: cancel stale ssh relay forwards
lawrencecchen e1cd86d
Merge remote-tracking branch 'origin/main' into feat-ssh-detachable-pty
lawrencecchen 393d91b
fix: preserve ssh relay aliases across reconnect
lawrencecchen b48d88f
fix: keep ssh pty identity on relay refresh
lawrencecchen a961514
Merge remote-tracking branch 'origin/main' into feat-ssh-detachable-pty
lawrencecchen 75e5ecb
Merge remote-tracking branch 'origin/main' into feat-ssh-detachable-pty
lawrencecchen 9ea1dac
fix: restore moved ssh pty relay aliases
lawrencecchen f374f1f
fix: preserve existing terminfo environment
lawrencecchen bf0443d
fix: clear failed persistent ssh attach state
lawrencecchen b116e2e
ci: retrigger stuck PR checks
lawrencecchen 56254dc
fix: reset persistent ssh sessions on relay changes
lawrencecchen 5bbb77c
test: keep relay refresh on stable port
lawrencecchen 3cb5af8
Merge remote-tracking branch 'origin/main' into feat-ssh-detachable-pty
lawrencecchen e5e1186
test: cover stale ssh relay listener cleanup
lawrencecchen 6f94d5a
fix: clean stale ssh relay listeners
lawrencecchen 7ca9850
fix: default persistent ssh daemon slot
lawrencecchen da48e45
fix: preserve relay command line endings
lawrencecchen 1636e8a
Merge remote-tracking branch 'origin/main' into feat-ssh-detachable-pty
lawrencecchen abe618b
fix: harden persistent ssh relay cleanup
lawrencecchen 4f7ddc3
fix: suppress remote restore scaffold attaches
lawrencecchen ef01b12
merge: sync with main
lawrencecchen c534be4
test: use workspaceId in SSH PTY snapshot test
lawrencecchen 9337eea
Merge remote-tracking branch 'origin/main' into feat-ssh-detachable-pty
lawrencecchen b900350
fix: address remote relay review feedback
lawrencecchen f2aaf6b
refactor: split remote shell bootstrap builder
lawrencecchen cb4225e
fix: preserve bash login startup precedence
lawrencecchen d2a3396
Merge remote-tracking branch 'origin/main' into feat-ssh-detachable-pty
lawrencecchen bfcb6a2
fix: address detachable pty review and ci
lawrencecchen 9f7cce5
test: harden websocket pty close assertion
lawrencecchen f1f6029
ci: prefer homebrew zig for macos release build
lawrencecchen f5a0c13
ci: build release artifacts on macos 15
lawrencecchen f147972
merge: sync detachable pty with main
lawrencecchen 7874b99
ci: extend lag regression cold-build timeout
lawrencecchen afc56f9
merge: sync detachable pty with latest main
lawrencecchen 2454261
fix: address persistent ssh restore review
lawrencecchen b9b5dd5
fix: preserve failed persistent pty split panes
lawrencecchen 499efaf
merge: sync detachable pty with latest main
lawrencecchen 23e6ad4
fix: suppress ended persistent pty restore startup
lawrencecchen d895db4
test: avoid ready fd reuse in daemon tests
lawrencecchen 5f7148c
fix: wire browser tab mute context action
lawrencecchen 3076ff6
fix: preserve persistent attach failures
lawrencecchen 3a1cba3
fix: preserve local cwd on remote restore
lawrencecchen 6a83fd3
merge: sync detachable pty with latest main
lawrencecchen 9e01e2e
fix: reconnect restored remote browser workspaces
lawrencecchen 84ef321
test: preserve daemon events during rpc calls
lawrencecchen 603bb76
fix: wait for restored pty foreground auth
lawrencecchen File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Some comments aren't visible on the classic Files Changed page.
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.