hyperhive/frontend/packages/dashboard/src
Repository files (latest commit first)
Filename Latest commit message Latest commit date
iris f60aab4717 frontend: shared ApiErrorPanel component, promote readApiError from credentials.js
Closes #3410.

`ApiErrorPanel` renders a ProblemDetails (RFC 9457) error nicely, with a
copy button so the full text can be pasted straight into a bug report.
No truncation of `detail` — on the #3363 incident that motivated this
issue, that string was the entire diagnosis.

`readApiError`/`problemMessage`/`ProblemDetails` are promoted out of
credentials.js's original `readErrorBody` into `@hive/shared/api-error.js`
(comment rewritten: the RFC 9457 rework has already landed everywhere
except swarm-controller's status route, #3412 in flight, so the raw-text
fallback is a compat shim for that one gap, not a general transition).
credentials.js's 4 call sites switch to the shared reader (kept as
one-line messages there, its result slots are single-line aria-live
regions, not a panel context).

Wired ApiErrorPanel into OverviewPage.tsx (the issue's own worked
example) and CreateAgentPage.tsx (second real call site).

Not built on <hive-warn> despite matching its visual language — that
custom element's CSS-as-text import only works under a build with
loader: 'text' for .css (dashboard's), and silently renders unstyled
under swarm-ui's default css loader (filed separately as #3415).
ApiErrorPanel is a self-contained light-DOM component instead, per
mara's own suggestion to keep it independent of the old UI's shapes.
2026-08-17 23:11:11 +02:00
..
agent-menu hivectl/dashboard: add --paused / ?paused=1 to agent start 2026-08-02 19:52:11 +02:00
builds.css dashboard: replace <hive-jobq-graph> with a shared Preact component 2026-08-16 15:18:25 +02:00
builds.html dashboard: replace <hive-jobq-graph> with a shared Preact component 2026-08-16 15:18:25 +02:00
builds.js apply the same render(h(...)) simplification to JobqGraph 2026-08-16 22:08:38 +02:00
call.js dashboard: hide forge links instead of guessing <hostname>:3000 2026-08-03 01:21:11 +02:00
colors.css refactor(frontend): base16 theme contract in a swappable colors.css 2026-06-08 21:24:07 +02:00
common.css frontend: unify pill/chip/badge shape into shared CSS 2026-08-12 19:25:45 +02:00
common.js frontend: shared <hive-warn> component for inline warning banners 2026-08-03 18:34:31 +02:00
core.css fix(core): add card styling for K3PT ST4T3 and 1NFR4 entries 2026-07-26 17:23:52 +02:00
core.html frontend: add <hive-tab-strip>, convert logs/credentials/core/builds tabbars 2026-08-02 13:40:24 +02:00
core.js frontend: unify pill/chip/badge shape into shared CSS 2026-08-12 19:25:45 +02:00
credentials.css frontend: shared <hive-warn> component for inline warning banners 2026-08-03 18:34:31 +02:00
credentials.html frontend: hive-warn — replace severity+pulse with info/warning/error levels 2026-08-03 18:34:31 +02:00
credentials.js frontend: shared ApiErrorPanel component, promote readApiError from credentials.js 2026-08-17 23:11:11 +02:00
dashboard.css extract build-queue rollup as a shared Preact component 2026-08-16 22:08:38 +02:00
dashboard.html extract build-queue rollup as a shared Preact component 2026-08-16 22:08:38 +02:00
flow.css chore(frontend): scrub pre-existing issue-tag refs from source comments 2026-06-09 00:24:49 +02:00
flow.html refactor(frontend): extract the page-chrome into @hive/shared (#1464 step 3) 2026-06-09 09:13:35 +02:00
flow.js frontend: extract themed dialogs + async-form handler to shared, wire agent UI 2026-07-27 18:55:17 +02:00
home.css dashboard(home): matrix-rain backdrop on the H0M3 page 2026-06-17 21:46:25 +02:00
home.js dashboard: hide forge links instead of guessing <hostname>:3000 2026-08-03 01:21:11 +02:00
index.html docs: document the OpenAPI spec + Swagger UI, add H0M3 API tile 2026-08-02 19:13:41 +02:00
logs.css fix(logs): log output scrolls internally instead of scrolling the page 2026-07-26 17:20:48 +02:00
logs.html frontend: add <hive-tab-strip>, convert logs/credentials/core/builds tabbars 2026-08-02 13:40:24 +02:00
logs.js dashboard: pass kinds= on the 4 unfiltered /api/dashboard/stream subscribers 2026-08-02 22:21:24 +02:00
permissions.js frontend: extract themed dialogs + async-form handler to shared, wire agent UI 2026-07-27 18:55:17 +02:00
schedules.js frontend: extract themed dialogs + async-form handler to shared, wire agent UI 2026-07-27 18:55:17 +02:00
settings.css refactor(frontend): extract the page-chrome into @hive/shared (#1464 step 3) 2026-06-09 09:13:35 +02:00
settings.html move terminal-verbosity toggle from agent overflow menu to /settings.html 2026-08-02 18:34:40 +02:00
settings.js move terminal-verbosity toggle from agent overflow menu to /settings.html 2026-08-02 18:34:40 +02:00
state.js dashboard: extract operator-inbox + approvals into call.js (#1451) 2026-06-16 10:22:53 +02:00
stats.css fix(stats): move window selector into the page header tab bar 2026-07-26 17:21:21 +02:00
stats.html add per-agent and hive-wide skill invocation stats 2026-07-27 23:53:07 +02:00
stats.js add per-agent and hive-wide skill invocation stats 2026-07-27 23:53:07 +02:00
stream-worker.js refactor(fe): trim >30-line comment blocks (second pass, #2077) 2026-06-29 01:05:53 +02:00
swarm.js drop the mountJobqRollup wrapper, render(h(...)) directly 2026-08-16 22:08:38 +02:00
system-sections.css jobq-graph: re-add per-node cancel button 2026-08-09 17:40:39 +02:00
tabs.js extract build-queue rollup as a shared Preact component 2026-08-16 22:08:38 +02:00
theme.css refactor(frontend): base16 theme contract in a swappable colors.css 2026-06-08 21:24:07 +02:00
util.js dashboard frontend: consume rfc3339 timestamps from the api 2026-07-02 22:28:30 +02:00