Repository navigation
Fix sidebar surface targets and cross-workspace focus - #14284
Merged
Merged
Conversation
Co-authored-by: Matheus Cavallini <nascimentocavallini@hotmail.com>
Co-authored-by: Matheus Cavallini <nascimentocavallini@hotmail.com>
|
Warning Review limit reachedNext included review available in 34 minutes. View limit detailsLimit details: You’ve used all 10 included reviews currently available. You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository. Review configuration: ⚙️ Run configurationConfiguration used: Repository: manaflow-ai/cmux/.coderabbit.yaml Review profile: ASSERTIVE Plan: Advanced Run ID: 📒 Files selected for processing (6)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Contributor
|
All contributors have signed the CLA ✍️ ✅ |
1 of 3 tasks
rustybret
pushed a commit
to rustybret/bmux
that referenced
this pull request
Sep 24, 2026
fb1759a Merge pull request manaflow-ai#14116 from manaflow-ai/issue-13251-display-session-flicker 4bcfbdb ci: keep compile admission's build state on an owned Mac between jobs (manaflow-ai#14285) 5f01b36 Merge pull request manaflow-ai#14284 from manaflow-ai/issue-14027-sidebar-tmux-focus 2062c82 Merge pull request manaflow-ai#14045 from manaflow-ai/14024-hook-prompt-length 616cd44 ci: let a dispatched seed save the SwiftPM manifest cache (manaflow-ai#14288) c4dcf65 iOS: rebuild the workspace list table engine (manaflow-ai#14040) 1670d11 Document focusable sidebar IDs and remote readiness cff83c2 Expose focusable sidebar surfaces and preserve explicit focus 44fd840 Test sidebar surface identities and cross-workspace focus 8c5a1c7 docs: bound display-change rationale to observed code path 900b55d Merge remote-tracking branch 'origin/main' into issue-13251-display-session-flicker a530c4c test: retry expected event-stream disconnects while collecting telemetry 9250404 test: inspect app exit status only after process termination 072809c test: clean socket probe process diagnostics 4098af4 test: launch the socket-only probe without expected activation failures c3771e6 Merge commit '169cd1af66b1e96cdedf9d30b415a370574948bf' into 14024-hook-prompt-length 169cd1a fix: split the SSH session-list merge so it type-checks on slow runners 2b713cc test: resolve probe Python from the selected Xcode installation 570412f Merge branch 'main' into 14024-hook-prompt-length f4d8ac2 fix(terminal): avoid redraw on display topology changes 2e42f86 test: assert each hook entrypoint retains its existing attribution contract 024965f test: collect event frames separately from Debug CLI diagnostics 3ce127f test: isolate hook probe app storage under the shared fixture home a276c01 test: keep hook probe socket in the runner-owned temporary directory 5482f48 test: launch hook probe app outside the runner sandbox 857c953 test: retain isolated app startup evidence for hook probe 7dab194 test: use Xcode Python directly inside the UI test sandbox 0bf8cb2 test: launch socket-only hook probe without foreground activation 5181aed test: wait for hook delivery and handle event stream timeouts 8f21fac chore: refresh generated schema after upstream word-wrap shortcut cfe5ed7 Merge remote-tracking branch 'origin/main' into 14024-hook-prompt-length 2adae62 fix: keep legacy prompt length fallback bound to its message 80cffee fix: preserve original prompt length in hook event telemetry cfcb3fd test: reproduce original hook prompt length loss through events # Conflicts: # .github/workflows/ci-guards.yml # .github/workflows/ci-macos.yml # .github/workflows/seed-derived-data.yml
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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Custom sidebar tabs now expose identifiers accepted by
surface.focus: local panel IDs and remote tmux active-pane IDs. Stable tab IDs remain unchanged, and mirrors without a projected pane omit the optional focus target.Explicit local and remote surface focus now uses the shared
focusTabpath, which records the target before workspace selection restores focus. This fixes the second-click requirement when targeting another workspace without adding delays.Closes #14027. Builds on Matheus Cavallini’s projected-pane approach in #14029, with attribution in both commits.
Validation:
44fd840eeaefcaaf2537b0d1384f6e33dd4efb7ereproduced both new sidebar identity regressions (four failing assertions): https://github.com/manaflow-ai/cmux/actions/runs/36056874844.1670d11882d88a76949bf475deed7fa7df2fd228built successfully in controller job5ee3420064bd106409ac1319. Artifact SHA256:74ae98f4227bfce9c505537227406de16b3ff3070d7d4e07f21765808b30f06c./tmp/cmux-debug-14027-sidebar-tmux-focus.sock, with real SSH/tmux.surface.focus {workspace_id, surface_id}followed by globalsurface.currentpassed same-workspace remote, cross-workspace remote, and cross-workspace local focus, three repetitions each. Each result remained stable across twelve samples. Real tmux confirmed Beta pane%2; terminal output anddebug.window.screenshotconfirmed BETA SECOND PANE. No default socket or GUI automation used for these checks./Users/cmux/manaflow/cmuxterm-hq/artifacts/issue-14027/. Native mouse callback was not exercised; the sidebar's shared socket action was exercised end to end.Impact: sidebar snapshot projection and explicit socket focus only. Existing mirror topology owns remote identities;
TabManager.focusTabowns selection and remembered focus. No persistence, transport, relay-policy, or user-facing string changes. Asynchronous remote focus reconciliation is covered by repeated runtime stability assertions.Pickup: #14027 (comment). Resolution pending merge.
Conflict-only check passed against base
616cd44d03b8e6ea55a41e9871bb81d8d67df281, head1670d11882d88a76949bf475deed7fa7df2fd228, no conflicts. PR checks pass; no actionable review comments. Automated reviewer was rate-limited, so no independent review is claimed.