cmux NEXT: draw Session Info with native AppKit glass
Draw Session Info with AppKit overlay glass using a page-supplied model. The native view forwards row actions, section folds, reorder drags and edge resizing to the page; TS retains section content and saved choices. agent.sessionInfo.native remains off by default until the remaining parity work lands.
Reuses the native shell design from closed #27513. The fallback remains the current web Session Info. Design: design/session-info.md, design/glass.md, design/pane-placement.md, design/motion-and-polish.md.
Leo-ask: ask-560d04c05d
Leo's request:
2026-10-26: "the session rail session info thing, like, you literally didn't do. I mean, why is the button not toggled? ... you still haven't done the full-length thing. It's still just this constrained height for, like, no reason at all."
2026-10-29: "plus we're gonna be doing that part natively in swift anyways?"
2026-10-29: "But I literally fing said to do that. I literally fing said to do that."
2026-10-29: "You can just edit the fing web UI" / "it's so fing lame to be delaying the entire f***ing thing based off of ... the Swift thing".
Validation: static prepush checks pass. Exact-head compile check and AgentPaneNativeSessionInfoTests run on this PR; the suite covers model decoding, full-length and zoom geometry, actions, shared-host Debug flips, input witnesses, renderer cleanup and stable live rows. Native remains off by default.
The complete native view, bridge lifecycle and behavior tests form one compilable seam (about 1,850 lines); section policy and page integration are separate PRs. Splitting this further would leave a placeholder view or disconnected lifecycle. Risk: native overlay geometry and input forwarding, contained by the off-by-default Debug setting until parity.
Changelog
none
Agent session: agent session
![View with [code]smith](https://pr-comments-assets.blacksmith.sh/codesmith/view-with-codesmith-dark-v3-3x.png)
![Autofix with [code]smith](https://pr-comments-assets.blacksmith.sh/codesmith/autofix-with-codesmith-dark-3x.png)
Need help on this PR? Tag @codesmith-bot with what you need.
Summary by cubic
Draws Session Info with native AppKit glass instead of the web panel. The page still determines what each section lists and sends it over pane.sessionInfo; the App draws the full-length floating panel and forwards row actions, section folds, reorder drags, and edge resizing back to the page. agent.sessionInfo.native stays off by default, so the current web panel remains the fallback, and flipping the Debug toggle switches between them with no reload.
- Adds the
pane.sessionInfoandpane.copyTextbridge requests and thesessionInfoHosthandshake event, including model decoding and clipboard handling. - Handles page crashes and reloads so the panel clears and restores with the page.
- Covers model decoding, full-length and zoom geometry, actions, and Debug flips in
AgentPaneNativeSessionInfoTests.