Expand description
RPC surface of the notification Router —
docs/specs/SPEC_OS_NOTIFICATIONS_SYSTEM_2026_09_24.md §3.3.
notify.emitrenderer → router: a pane event the renderer is the authority for (turn outcome, waiting-for-input).notify.focusrenderer → router: this window’s focus state.notify.ackpresenter → router: user clicked / dismissed a toast.notify.testSettings “Send test notification”.notify.takeactivationnew window → router: a click that arrived while no window was open.block.revealany renderer → router: reveal a block that lives in ANOTHER window. Same target resolution as a toast click, so it lives with the Router, which knows which windows are open (SPEC_REVEAL_BLOCK_ONE_PATH_2026_09_27.md§4.3).
conn_id is captured per connection so focus reports are keyed by window
and dropped on disconnect (see websocket.rs’s disconnect path).
Structs§
- Block
Reveal Params - Block
Reveal Result - Notify
AckParams - Notify
AckResult - Notify
Attention Result notify.attention: the calls to action srv holds open now (backend/user_attention.rs), each as itsuserattentionevent’s data.- Notify
Emit Params - Notify
Focus Params - Notify
NoArgs - Notify
Ok - Notify
Take Activation Params - Notify
Take Activation Result
Enums§
- Notify
Pane Event - Pane-level events the renderer reports.
questionaccompaniesinput_waitingonly; the router redacts it (§9.2).
Functions§
- activate_
in_ 🔒stored_ layout LayoutStackActivatethrough the reducer, then mstore — the same dispatch → apply → publish shape aspane.moveTab. Best-effort: the renderer switches the pane itself onblock:reveal, so a reducer that can’t apply it (no tree for the tab yet) only costs the head start.- register_
notify_ handlers - reveal_
block 🔒 block.reveal: resolve the block’s tab and open window like a toast click, make the block its pane’s visible tab in the STORED layout (so a window that loads the tab fresh already shows it), then tell only that window’s renderer to reveal it (block:reveal). A workspace open in no window is out of scope:found: false, nothing changed.- router_
for 🔒