hyperhive/frontend/packages/dashboard/src
Repository files (latest commit first)
Filename Latest commit message Latest commit date
atlas f707c60f90 jobq: delete DagView/NodeView, the second projection of one graph
Two views of the same graph existed: the typed `DagView`/`NodeView`
(`/api/state.rebuild_queue`, the `QueueDag` socket request, and the
`RebuildQueueChanged` payload) and `hive-jobq-wire`'s generic
`GraphNode` (`/api/jobq/graph`, `QueueNodes`). Every consumer has moved
to the generic one, so the typed pair is deleted rather than kept in
agreement with it.

What that removes, beyond the types: the `QueueDag` request and
`HostResponse::dags`; `Queue::snapshot`; `dag_view`, `visible_dags`,
`shown_on_wire`, `dag_finished_at` and `containers`; and the
`rebuild_queue` field on `/api/state`. `RebuildQueueChanged` keeps its
seq and loses its payload — nothing read it, and shipping the graph
both on an event and on an endpoint is the duplication this issue is
about. It stays an event rather than becoming a poll because
push-on-change is what every other live surface here does.

Two behaviours came out simpler for a structural reason. `await_dags`
needed two rules — settled means "gone from the snapshot" *or* "present
with every node terminal" — because the typed view evicted finished
groups; the generic view doesn't, so pending is just "some node isn't
terminal". And `state_of` in the tests no longer derives a roll-up at
all: a group root's own state is the scheduler's answer.

That second one found a bug. `cancelled_dag_still_runs_its_approval
tail` asserted the group reads `Cancelled` while the tail it exists to
protect was still pending — `rollup_state` flattened the surviving
child away and called the group settled. The root reads `Finishing`,
which is what the scheduler documents: own logic done, children still
running. The test now asserts that, with the reasoning inline so it
doesn't get "fixed" back.

Kept: `Source`, `State`, `PermPayload` and the `NodeId` alias in
`hive-host-sock::jobs` — shared vocabulary, still used by hivectl.
2026-08-03 21:25:07 +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 jobq: delete DagView/NodeView, the second projection of one graph 2026-08-03 21:25:07 +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: 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: hive-warn — replace severity+pulse with info/warning/error levels 2026-08-03 18:34:31 +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 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 swarm.js: restore the queue-summary banner on GET /api/jobq/rollup 2026-08-03 21:07:53 +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 swarm.js: restore the queue-summary banner on GET /api/jobq/rollup 2026-08-03 21:07:53 +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