hyperhive/frontend/packages/dashboard/src
Repository files (latest commit first)
Filename Latest commit message Latest commit date
iris 37161cd136 dashboard: replace <hive-jobq-graph> with a shared Preact component
Ports the shadow-DOM <hive-jobq-graph> custom element
(frontend/packages/shared/src/jobq-graph/) to a Preact component
(JobqGraph.js) shared by the dashboard and swarm-ui, per hyperhive#3310.

- JobqGraph.js: written with plain h() calls (no JSX) so the same file
  compiles unmodified under both the dashboard's text-loader CSS config
  and swarm-ui's JSX config. Exports `JobqGraph` for JSX use and
  `mountJobqGraph(container, props)` for the dashboard's non-JSX
  imperative mount, returning a `{refresh(), update()}` handle matching
  the old custom element's public surface. Same rendering contract as
  before: indented state tree, payload.label verbatim, payload.data as
  a generic key/value list, "waits on: <label>" text for Node-kind deps,
  per-state filter checkboxes, optional cancel button.
- jobq-graph.css: light-DOM adaptation of the old shadow-scoped
  stylesheet (:host -> .jg-root, otherwise unchanged).
- dashboard/src/builds.js: local mountJobqGraph() renamed to
  mountRebuildQueue() to avoid colliding with the newly-imported shared
  mountJobqGraph; cancel handling is now a plain onCancel callback
  instead of a DOM CustomEvent listener (no shadow boundary to cross
  anymore).
- dashboard + shared package.json: added preact as a dependency (matches
  swarm-ui's existing pin, 10.29.8) - the dashboard was a vanilla-JS MPA
  with no Preact/JSX pipeline before this.
- Removed the old hive-jobq-graph.js/.css entirely (confirmed via grep
  it had exactly one consumer, dashboard/src/builds.js, so this is a
  clean swap, not parallel maintenance of two implementations).
- Updated stale doc-comment references to the old element name in
  builds.html, tabs.js, swarm.js, docs/web-ui/dashboard.md, and
  hive-c0re/src/job_queue/mod.rs.

Verified: npm run build (whole frontend workspace) and npm run
typecheck (swarm-ui) both clean; cargo build/clippy/test -p hive-c0re
all clean (331 tests, 0 failures); headless-chromium screenshot of
/builds.html against a mock GET /api/jobq/graph payload confirms full
visual/behavioral parity with the old custom element (tree, filter
checkboxes, cancel buttons, error text, waits-on line, data list, live
build log panel).

This covers the dashboard-replacement half of hyperhive#3310 only. The
swarm-ui half (rendering the CreateAgent DAG on the agent-creation page)
is downstream of hyperhive#3306/#3124 landing - no swarm-ui page exists
yet to mount it in.
2026-08-16 15:18:25 +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 dashboard: replace <hive-jobq-graph> with a shared Preact component 2026-08-16 15:18:25 +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: add <hive-tab-strip>, convert logs/credentials/core/builds tabbars 2026-08-02 13:40:24 +02:00
dashboard.css swarm.js: restore the queue-summary banner on GET /api/jobq/rollup 2026-08-03 21:07:53 +02:00
dashboard.html dashboard: remove peer-hives headline block (hyperhive#3294) 2026-08-15 19:55:29 +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 dashboard: replace <hive-jobq-graph> with a shared Preact component 2026-08-16 15:18:25 +02:00
system-sections.css jobq-graph: re-add per-node cancel button 2026-08-09 17:40:39 +02:00
tabs.js dashboard: replace <hive-jobq-graph> with a shared Preact component 2026-08-16 15:18:25 +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