hyperhive/frontend/packages/shared/src
Repository files (latest commit first)
Filename Latest commit message Latest commit date
iris b201f6be88 frontend: fix hive-btn crashing every themed dialog — customized built-ins can't host shadow DOM
Element.attachShadow() throws NotSupportedError unconditionally for a
customized built-in (<button is="hive-btn">): the spec only allows
autonomous custom elements or a fixed list of native tags to host a
shadow root, and explicitly excludes any is=-upgraded built-in
regardless of which tag it upgrades. button isn't on that list either
way. This made every themed dialog (any confirm/prompt, since openDialog
always renders at least one button) throw and fail to render in a real
browser, though it passed CI since nothing there exercises actual
browser DOM.

hive-dialog and hive-toast are unaffected — both are genuine autonomous
custom elements (extends HTMLElement, no is= upgrade), which are valid
shadow hosts.

Fix: hive-btn no longer calls attachShadow. Styles adopt onto document
once (module-level guard) instead of per-instance shadow root, scoped
via the [is="hive-btn"] attribute selector instead of :host — same
light-DOM approach the rest of the app's .btn consumers already use.
Native button behaviour is untouched, only the styling mechanism
changed. Build clean.
2026-07-29 22:51:54 +02:00
..
base.css frontend: move shared spinner CSS out of dashboard.css into shared/base.css 2026-07-27 18:32:54 +02:00
chrome.css fix(dashboard): keep the logs ← home link + sub-tabs on one row 2026-06-10 19:51:34 +02:00
colors.css refactor(frontend): base16 theme contract in a swappable colors.css 2026-06-08 21:24:07 +02:00
dom.js frontend: add <hive-btn> component, use it for dialog buttons 2026-07-29 12:55:54 +02:00
forms.js frontend: extract themed dialogs + async-form handler to shared, wire agent UI 2026-07-27 18:55:17 +02:00
hive-btn.css frontend: fix hive-btn crashing every themed dialog — customized built-ins can't host shadow DOM 2026-07-29 22:51:54 +02:00
hive-btn.js frontend: fix hive-btn crashing every themed dialog — customized built-ins can't host shadow DOM 2026-07-29 22:51:54 +02:00
hive-dialog.css frontend: add <hive-btn> component, use it for dialog buttons 2026-07-29 12:55:54 +02:00
hive-toast.css frontend: move shadow-DOM component CSS to real .css files, not JS strings 2026-07-29 12:55:54 +02:00
index.js frontend: add npm workspace scaffold under frontend/ 2026-05-23 14:51:01 +02:00
modal.js frontend: fix hive-btn crashing every themed dialog — customized built-ins can't host shadow DOM 2026-07-29 22:51:54 +02:00
tabs.css refactor(frontend): add createTabStrip + migrate logs sub-tabs (#1464 step 1) 2026-06-08 22:13:41 +02:00
tabs.js refactor(frontend): add createTabStrip + migrate logs sub-tabs (#1464 step 1) 2026-06-08 22:13:41 +02:00
terminal.css fix(term): flex layout for details summary, fix thinking brain icon column 2026-07-05 12:10:24 +02:00
terminal.js refactor(term): add mutableRow to terminal api, use it for thinking_tokens 2026-07-05 12:39:26 +02:00
theme.css ci: tighten tracker-tag lint to exclude digit-runs glued to a letter (#1555) 2026-06-09 13:42:20 +02:00