gstack/extension
Garry Tan ffb064afda
feat(ui): wire security banner to security_event + interactivity
Adds showSecurityBanner() and hideSecurityBanner() plus the addChatEntry
routing for entry.type === 'security_event'. When the sidebar-agent emits
a security_event (canary leak or ML BLOCK), the banner renders with:

  * Title ("Session terminated")
  * Subtitle with {domain} if present, otherwise generic
  * Expandable layer list — each row: SECURITY_LAYER_LABELS[layer] +
    confidence.toFixed(2) in mono. Readable + auditable — user can see
    which layer fired at what score

Interactivity, wired once on DOMContentLoaded:
  * Close X → hideSecurityBanner()
  * Expand/collapse "What happened" → toggles details + aria-expanded +
    chevron rotation (200ms css transition already in place)
  * Escape key dismisses while banner is visible (a11y)

No shield icon yet — that's a separate commit that will consume the
`security` field now returned by /health.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-19 19:18:57 +08:00
..
icons feat: headed mode + sidebar agent + Chrome extension (v0.12.0) (#517) 2026-03-26 11:15:24 -06:00
background.js fix: community security wave — 8 PRs, 4 contributors (v0.15.13.0) (#847) 2026-04-06 00:47:04 -07:00
content.css feat: headed mode + sidebar agent + Chrome extension (v0.12.0) (#517) 2026-03-26 11:15:24 -06:00
content.js refactor: AI slop reduction with cross-model quality review (v0.16.3.0) (#941) 2026-04-10 17:13:15 -10:00
inspector.css feat: sidebar CSS inspector + per-tab agents (v0.13.9.0) (#650) 2026-03-30 12:51:05 -06:00
inspector.js refactor: AI slop reduction with cross-model quality review (v0.16.3.0) (#941) 2026-04-10 17:13:15 -10:00
manifest.json feat: sidebar CSS inspector + per-tab agents (v0.13.9.0) (#650) 2026-03-30 12:51:05 -06:00
popup.html feat: headed mode + sidebar agent + Chrome extension (v0.12.0) (#517) 2026-03-26 11:15:24 -06:00
popup.js feat: headed mode + sidebar agent + Chrome extension (v0.12.0) (#517) 2026-03-26 11:15:24 -06:00
sidepanel.css feat(ui): add security banner markup + styles (approved variant A) 2026-04-19 19:18:57 +08:00
sidepanel.html feat(ui): add security banner markup + styles (approved variant A) 2026-04-19 19:18:57 +08:00
sidepanel.js feat(ui): wire security banner to security_event + interactivity 2026-04-19 19:18:57 +08:00