fix: route native Session Info menu rows through ActionRegistry

Closed
TE
5d ago
+17-11

Fix the base defaults-snapshot red caused by the native Session Info row menu constructing an inline NSMenuItem target. Menu rows now register their page action id with the shared ActionRegistry and use makeMenuItem, preserving the page callback while keeping menu action construction on the registered path.

Leo said:

“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.”

“plus we're gonna be doing that part natively in Swift anyways?”

“But I literally fing said to do that. I literally fing said to do that.”

“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”.

This focused red fix keeps the native panel’s row menus on the app’s registered action path.

Leo-ask: ask-560d04c05d

Validation:

  • python3 scripts/cmux-next/check-menu-actions.py passes with no new inline rows.
  • Compile check runs at this exact head.

Design spec: leo-workspace/design/session-info.md; prior art: #31930, #27513.

Agent session: agent session