Skip to content

v0.6.2 — the trigger moves into the session header action row

Latest

Choose a tag to compare

@moazzamak moazzamak released this 06 Oct 08:01

Put the trigger in the session header's action row, not the overlay layer

The one-click graph button was registered in shell.overlay, and the first fix
for it moved the CSS instead of the seat. The slot catalog is explicit about what
that seat is for: "Frame-wide floating layer, above every column and outside their
scroll containers... a badge, a toast stack or a status pill all belong here", and
the layer is click-through by design so an overlay never blocks the app
underneath. A BUTTON registered there is wrong twice over:

  • it is drawn in the window's top-left, beside the Application/Edit menus and the
    sidebar's reopen control, so it reads as a stray icon in the window chrome;
  • it cannot be clicked without opting back into pointer events, because the layer
    is pointer-events: none.

It now registers in conversation.session.header.actions, the title-adjacent row
the shipped jobs, subagent, agent-preset and agent-team controls occupy, and it
copies their metrics rather than inventing a look: borderless, transparent, at
least 28px, --dsw-radius-sm, tertiary label colour at rest and secondary on
hover, with the open state keeping its brand tint through data-state. The icon
is icon-only in that row, so it now carries aria-label beside its tooltip. The
seat is a named constant (TRIGGER_SLOT), and the comments that described a
top-right frame trigger are gone with the seat.

Verification: node tests/activate.mjs, all checks passing. The gate now asserts
the trigger is in the header action row, that nothing of this plugin is registered
in shell.overlay, and that the action names itself.