hyperhive/frontend/packages/dashboard/src
Repository files (latest commit first)
Filename Latest commit message Latest commit date
iris aa149a7a62 builds: mount <hive-jobq-graph> directly, drop the hand-rolled queue renderer
Per mara's explicit steer on hyperhive#2812 ("also replace the build
queue tab with this component" + "graph fetching should live in the
component, not build.js" + "dont replicate the grouping by dag"):
R3BU1LD QU3U3 is now a mounted <hive-jobq-graph endpoint="/api/jobq/graph">
element. builds.js no longer renders the queue itself, does its own
fetch, or hand-rolls a per-root tree/roll-up/cancel-button — all of
buildNodeTree/topoSort/entryFingerprint/renderQueueEntry/
firstFailedNode/rebuildQueueRowCache/QUEUE_STATE_GLYPH/rollupState is
gone.

builds.js's remaining job is listening for the component's
hive-jobq-graph-update event (added to the component in the prior
commit) to keep a flat jobqNodes array in sync, and using that for the
two things the generic view doesn't render: the count-pill and the
live-log panel. On the rebuild_queue_changed SSE tick, calls the
mounted element's .refresh() instead of doing its own fetch — that
event still carries its own queue payload on the wire (tabs.js/SW4RM
still reads it for the badges, untouched), this page just ignores it
now.

Also removed, now genuinely dead: the two elapsed/finished-time
tickers (nothing produces the .rqe-when spans they targeted anymore),
stateSlug and isoToSecs (no callers left), fmtElapsed import (no
callers left).

New @hive/shared/jobq-graph.js export entry in packages/shared's
package.json, alongside the existing hive-tab-strip.js/hive-menu.js/
etc. pattern.

docs/web-ui/dashboard.md's R3BU1LD QU3U3 section rewritten to match:
mounted-component shape, no source/reason/cancel-button/deep-link on
rows (generic component has none), settled entries show their full
step tree (Done nodes aren't filtered off this wire, unlike the old
DagView projection).

Verified against real production data again (this hive's own live
/api/jobq/graph, now settled — no in-flight build at test time) plus
a synthetic running-build case to exercise findLiveBuild's happy path:
correct live-node detection (build_log_id gate), correct in-flight
root count. Confirmed the built dist bundle actually registers
customElements.define("hive-jobq-graph", ...) — the new shared
package export resolves correctly through esbuild.

Branch reused per mara's explicit "dont rework #3000 - continue
working on _this_ pr [#2996], it already has the component that
replaces 90% of build.js" — this ships as part of PR #2996, not a
separate PR.
2026-08-03 01:53:39 +02:00
..
agent-menu hivectl/dashboard: add --paused / ?paused=1 to agent start 2026-08-02 19:52:11 +02:00
builds.css feat(builds): add /builds.html — build lifecycle hub (closes #1999) 2026-06-28 23:56:11 +02:00
builds.html frontend: add <hive-tab-strip>, convert logs/credentials/core/builds tabbars 2026-08-02 13:40:24 +02:00
builds.js builds: mount <hive-jobq-graph> directly, drop the hand-rolled queue renderer 2026-08-03 01:53:39 +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: drop the Panel forwarding object and the side-panel-body compat class 2026-08-01 00:58:53 +02:00
common.js frontend: drop the Panel forwarding object and the side-panel-body compat class 2026-08-01 00:58:53 +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 dashboard: pass kinds= on the 4 unfiltered /api/dashboard/stream subscribers 2026-08-02 22:21:24 +02:00
credentials.css feat: rename matrix-accounts page to credentials, add github PAT tab 2026-07-11 12:40:13 +02:00
credentials.html frontend: add <hive-tab-strip>, convert logs/credentials/core/builds tabbars 2026-08-02 13:40:24 +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 frontend: move hive-menu's reachable dropdown/trigger chrome out of the caller stylesheet 2026-07-31 23:24:22 +02:00
dashboard.html frontend: unify dashboard + agent side panel into shared hive-side-panel 2026-08-01 00:58:53 +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: hide forge links instead of guessing <hostname>:3000 2026-08-03 01:21:11 +02:00
system-sections.css frontend: render Skipped node state as a quiet 'not run' glyph 2026-07-27 21:06:18 +02:00
tabs.js dashboard: pass kinds= on the 4 unfiltered /api/dashboard/stream subscribers 2026-08-02 22:21:24 +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