Repository navigation
Remote tmux (-CC over SSH) mirroring (beta)
#5553
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
azooz2003-bit
merged 105 commits into
manaflow-ai:main
from
robertnisipeanu:remote-tmux-upstream
Jun 15, 2026
Merged
Changes from all commits
Commits
Show all changes
105 commits
Select commit
Hold shift + click to select a range
f07dc8a
Add remote tmux (-CC over SSH) mirroring (beta)
robertnisipeanu 6b4d06d
Fix remote tmux TUI rendering: sync client size for single-pane windows
robertnisipeanu 8c8d16e
Remote tmux: track remote working directory + paste images to the host
robertnisipeanu 962fd1b
Remote tmux: paste/drop via tmux paste-buffer -p so images render nat…
robertnisipeanu 72297d6
Remote tmux: fix mirror resize for alt-screen and inline TUIs
robertnisipeanu 0813e53
Remote tmux: fix mirror UTF-8 corruption and harden pane-state seeding
robertnisipeanu fce5181
Remote tmux: forward mouse to the remote pane (seed tracking mode on …
robertnisipeanu 62865f2
Docs: add Remote tmux (beta) page
robertnisipeanu 6f7d7e0
Remote tmux: keep window reorder in sync across repeated drags
robertnisipeanu 23cf7a4
Docs: correct remote tmux attach flow (mirrors the host)
robertnisipeanu bdd0ffe
Remote tmux: keep window reorder correct across rapid drags
robertnisipeanu 7faf644
Remote tmux: drop unused RemoteTmuxLayoutNode.isLeaf
robertnisipeanu 5109701
Merge remote-tracking branch 'origin/main' into remote-tmux-upstream
robertnisipeanu ddd207d
Remote tmux: out-of-band reorder, disconnect handling, scrollback see…
robertnisipeanu 196caf2
Remote tmux: auto-reconnect on transport loss (keep the mirror frozen)
robertnisipeanu d0550c6
feat(remote-tmux): cmux ssh-tmux interactive SSH auth
robertnisipeanu ff04798
remote-tmux: don't auto-restore mirrors on launch
robertnisipeanu 422e1d3
remote-tmux: remove File-menu/palette attach (CLI-only)
robertnisipeanu 77b09ca
fix(remote-tmux): close ControlMaster when user closes a host's last …
robertnisipeanu fc7e16a
remote-tmux: register ssh terminationHandler before launch
robertnisipeanu dc2ef4a
remote-tmux: cancel-safe window creation + master teardown on mirror …
robertnisipeanu 1c55a69
remote-tmux: guard async master teardown against reattach + exit conn…
robertnisipeanu 2d7bdf1
fix(remote-tmux): fail loudly if the ssh foreground handoff fails
robertnisipeanu fc8cb84
remote-tmux: keep the ControlMaster alive on remote session-end if a …
robertnisipeanu f7f657f
remote-tmux: drop now-unused Codable from RemoteTmuxHost
robertnisipeanu 6507065
fix(remote-tmux): don't leave a sticky empty window when every sessio…
robertnisipeanu 0d4ba11
docs(remote-tmux): correct the reconnect limitation to match auto-rec…
robertnisipeanu 6315a1d
remote-tmux: drop the unshipped remote.tmux.open command
robertnisipeanu ce1041b
Merge remote-tracking branch 'origin/main' into remote-tmux-upstream
robertnisipeanu 64829d1
remote-tmux: address review-bot comments (#5553)
robertnisipeanu a230bdc
remote-tmux: bump vendor/bonsplit (drop-path delegate fired outside t…
robertnisipeanu 99ef05e
remote-tmux: decompose oversized files, scope new-workspace routing, …
robertnisipeanu adc1d80
remote-tmux: add missing ja docs.navItems.remoteTmux nav label
robertnisipeanu 49202b8
remote-tmux: address coderabbit review findings (reseed reset, teardo…
robertnisipeanu 4ff851e
remote-tmux: conditional shell reflow + reliable on-attach client sizing
robertnisipeanu 9cf6101
remote-tmux: seed-before-size ordering + attach redraw kick
robertnisipeanu 9339433
remote-tmux: FIFO-safe first-connect sizing + attach-block consumptio…
robertnisipeanu feff74c
remote-tmux: shrink GhosttyTerminalView footprint — move initial sizi…
robertnisipeanu f4a003c
remote-tmux: simplification pass (seedPane helper, PostAttachAction e…
robertnisipeanu 38be9cd
remote-tmux: pin vendor/bonsplit to merged upstream main (bonsplit#143)
robertnisipeanu f98e499
docs: remote-tmux troubleshooting note for Permission denied on incom…
robertnisipeanu d86ad77
Merge remote-tracking branch 'origin/main' into remote-tmux-upstream
robertnisipeanu 28d3259
remote-tmux: refresh swift file-length budget for files grown by this PR
robertnisipeanu 7e1786c
Merge remote-tracking branch 'origin/main' into remote-tmux-upstream
robertnisipeanu d178b67
remote-tmux: confirm before closing mirror tabs/panes running a command
robertnisipeanu 555a74d
perf: never stat possibly-remote paths on the main thread in menu/ico…
robertnisipeanu 8d3e029
remote-tmux: refresh swift file-length budget for files grown by this PR
robertnisipeanu a2a692c
Merge remote-tracking branch 'origin/main' into remote-tmux-upstream
robertnisipeanu f9641d5
Merge remote-tracking branch 'origin/main' into remote-tmux-upstream
robertnisipeanu f8c238d
settings: add Remote tmux beta row to the search-anchor contract list
robertnisipeanu 774d4dc
fix NSMenuItem non-Sendable capture warning in the path-menu title re…
robertnisipeanu d7e5a52
remote-tmux: regression test — a mirror-workspace split must never cr…
robertnisipeanu c09e0ee
remote-tmux: report socket/CLI splits routed to a mirror as accepted,…
robertnisipeanu e7453fc
Merge remote-tracking branch 'origin/main' into remote-tmux-upstream
robertnisipeanu 9ac65aa
Merge remote-tracking branch 'origin/main' into remote-tmux-upstream
robertnisipeanu a873871
Merge remote-tracking branch 'origin/main' into remote-tmux-upstream
robertnisipeanu 3af0bd0
Merge remote-tracking branch 'origin/main' into remote-tmux-upstream
robertnisipeanu d9cd98f
Merge remote-tracking branch 'origin/main' into remote-tmux-upstream
robertnisipeanu da3f36a
Merge remote-tracking branch 'origin/main' into remote-tmux-upstream
robertnisipeanu 1cf21d7
Merge origin/main into remote-tmux-upstream: port mirror split routin…
robertnisipeanu 1f4d795
Merge remote-tracking branch 'origin/main' into remote-tmux-upstream
robertnisipeanu d1e96df
Merge remote-tracking branch 'origin/main' into remote-tmux-upstream
robertnisipeanu d004a45
Merge remote-tracking branch 'origin/main' into remote-tmux-upstream
robertnisipeanu 1ee7da5
Merge remote-tracking branch 'origin/main' into remote-tmux-upstream
robertnisipeanu f77de2f
Merge remote-tracking branch 'origin/main' into remote-tmux-upstream
robertnisipeanu 1d822ca
Merge remote-tracking branch 'origin/main' into remote-tmux-upstream
robertnisipeanu b323980
Merge remote-tracking branch 'origin/main' into remote-tmux-upstream
robertnisipeanu 41e543e
Merge remote-tracking branch 'origin/main' into remote-tmux-upstream
robertnisipeanu cce58d8
Merge remote-tracking branch 'origin/main' into remote-tmux-upstream
robertnisipeanu edfb57d
Merge remote-tracking branch 'origin/main' into pr-5553-remote-tmux-hq
azooz2003-bit a0a8492
Add remote tmux control name regression tests
azooz2003-bit d32d290
Harden remote tmux mirror state changes
azooz2003-bit 1a232f5
Merge remote-tracking branch 'origin/main' into remote-tmux-upstream
robertnisipeanu 88fce0b
Fix remote tmux control stream backpressure
azooz2003-bit 7f742df
Fix remote tmux mirror snapshot and seeding
azooz2003-bit aa1adba
Merge remote-tracking branch 'origin/main' into pr-5553-remote-tmux-hq
azooz2003-bit 44a9419
Merge remote-tracking branch 'pr-fork/remote-tmux-upstream' into pr-5…
azooz2003-bit bcb3387
Fix remote tmux quit and paste routing
azooz2003-bit 0bb1f16
Restore terminal cwd inheritance
azooz2003-bit 2ba604d
Harden remote tmux attach and output buffering
azooz2003-bit ede2397
Fix remote tmux reconnect auth and paste guarding
azooz2003-bit c0a146f
Bound remote tmux parser and folder lookups
azooz2003-bit 4edc81a
Reject remote tmux split print before routing
azooz2003-bit 500d77e
Veto remote tmux batch close on route failure
azooz2003-bit c0cdce3
Scope remote tmux dedicated window ownership
azooz2003-bit 8cc2d68
Fix remote tmux auth and capabilities
azooz2003-bit 80bf6ed
Propagate remote tmux split send failures
azooz2003-bit e680864
Merge origin/main into remote tmux PR
azooz2003-bit 0a56674
Add remote tmux initial topology regression test
azooz2003-bit 168033f
Seed remote tmux topology after attach
azooz2003-bit f0bc81b
Tighten remote tmux policy cleanup
azooz2003-bit 01704d1
Avoid off-main folder icon resolution
azooz2003-bit 5fe2555
Merge origin/main into remote tmux PR
azooz2003-bit dd169e3
Add remote tmux pane pruning regression test
azooz2003-bit 6ab052d
Prune remote tmux pane state on layout changes
azooz2003-bit 6cb00ba
Gate remote tmux docs to translated locales
azooz2003-bit 4d83747
Keep remote tmux control file within budget
azooz2003-bit 1e02fd4
Close remote tmux pipe writer on writer queue
azooz2003-bit 646d211
Merge remote-tracking branch 'origin/main' into pr-5553-remote-tmux-hq
azooz2003-bit 503aed2
Fix double-free crash on manual-I/O surface resize (display-scale cha…
robertnisipeanu 3f18017
Tighten render_now->refresh comment to the load-bearing constraints
robertnisipeanu da43a20
Merge remote-tracking branch 'origin/main' into remote-tmux-upstream
robertnisipeanu 85c16b4
Merge remote-tracking branch 'origin/main' into remote-tmux-upstream
robertnisipeanu 5f227e4
Merge origin/main into remote-tmux-upstream
robertnisipeanu c690dc7
Mark remote tmux onResize closure @Sendable to satisfy warning budget
azooz2003-bit 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
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
Oops, something went wrong.
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.