diff --git a/docs/web-ui/dashboard.md b/docs/web-ui/dashboard.md index cb6e8c7d..1a08b36f 100644 --- a/docs/web-ui/dashboard.md +++ b/docs/web-ui/dashboard.md @@ -106,8 +106,7 @@ build log history — is two tabs of the dashboard: **R3BU1LD QU3U3** dashboard's one tab strip, `/api/state` snapshot and `/api/dashboard/stream` subscription serve them, with `rebuild_queue_changed` on the stream alongside the dashboard's other -kinds. The count pill on -R3BU1LD QU3U3 is the number of rebuilds in flight. +kinds. The 4G3NTS tab does **not** read the graph endpoint, by design — the swarm view stays independent of job-queue internals. Its per-agent pending badges are transient-only, and its queue-summary banner reads the much @@ -157,7 +156,7 @@ the tree — one per lifecycle state, matching the row glyphs — lets the operator narrow which root groups render; unchecking a state re-fetches `GET /api/jobq/graph?states=` rather than hiding rows client-side, so the `onUpdate` callback's node list (and -everything downstream of it — the count pill, the live-log panel) only +everything downstream of it — the live-log panel) only ever sees what's actually shown. Filtering is by a **root's own** state, which is already its subtree's rolled-up answer, so the filter keeps or drops a whole group, never splitting mid-tree. Default selection is @@ -175,7 +174,7 @@ Below the queue, a **live build-log panel** (`#rebuild-live-log`, inline — collapsible, with a live/ok/fail badge and a `↓ raw` download. It's keyed to the first `Running` node (in wire order) whose `payload.data.build_log_id` has a value — read from the `onUpdate` -callback's node list, same source as the count pill, no separate +callback's node list, no separate fetch — and **polls** `GET /api/build-log/{id}` every 2s (`fetchAndRenderLiveLog` / `liveLogPollTimer`); not an `EventSource` (that's the BUILD L0GS tab's own per-row expand view below — `GET diff --git a/frontend/packages/dashboard/src/builds.js b/frontend/packages/dashboard/src/builds.js index cfd05299..bd61b712 100644 --- a/frontend/packages/dashboard/src/builds.js +++ b/frontend/packages/dashboard/src/builds.js @@ -247,21 +247,6 @@ function renderRebuildLiveLog() { ); } -// ─── rebuild-queue count pill ───────────────────────────────────────────────── -// The queue's in-flight count, for the R3BU1LD QU3U3 tab's pill (tabs.js -// reads it on its refresh tick). Pending/Running/Finishing = in flight -// (Finishing = own work done, a sub-node still running — still counts). -// Root nodes only: each is one queue entry. -export function rebuildCount() { - return jobqNodes.filter( - (n) => - n.parent == null && - (n.state === "Pending" || - n.state === "Running" || - n.state === "Finishing"), - ).length; -} - // ─── BUILD L0GS tab ─────────────────────────────────────────────────────────── // All-agents build log history with expand-to-detail. Live builds stream in // real time. Lazy-loaded on first tab activation; auto-refreshes (debounced diff --git a/frontend/packages/dashboard/src/dashboard.css b/frontend/packages/dashboard/src/dashboard.css index a2364718..2a4a0fd8 100644 --- a/frontend/packages/dashboard/src/dashboard.css +++ b/frontend/packages/dashboard/src/dashboard.css @@ -12,8 +12,7 @@ /* ─── tabbed dashboard chrome ────────────────────────────────────── Top-of-page sticky header with banner + tab strip. SSE stays - alive across tab switches so count pills update live on inactive - tabs. See docs/web-ui/dashboard.md::Chrome header + Tab strip for the + alive across tab switches. See docs/web-ui/dashboard.md::Chrome header + Tab strip for the routing model. */ body.dashboard-shell { @@ -112,23 +111,6 @@ body.dashboard-shell { font-weight: bold; white-space: nowrap; } -.tab-count { - display: inline-block; - background: var(--purple-dim); - color: var(--purple); - border-radius: 999px; - padding: 0 0.55em; - min-width: 1.6em; - text-align: center; - font-size: 0.82em; - font-variant-numeric: tabular-nums; - font-weight: bold; -} -/* `display` above beats the UA's `[hidden]` rule, so an empty count (the - 4G3NTS and R3BU1LD QU3U3 pills at zero) would otherwise draw a "0". */ -.tab-count[hidden] { - display: none; -} /* Tab pane visibility — createTabStrip (@hive/shared/tabs.js) sets the `hidden` attribute on every inactive pane (resolved from the URL hash; diff --git a/frontend/packages/dashboard/src/index.html b/frontend/packages/dashboard/src/index.html index 68af0c61..1092e294 100644 --- a/frontend/packages/dashboard/src/index.html +++ b/frontend/packages/dashboard/src/index.html @@ -27,7 +27,6 @@ data-tab="agents" > ◆ 4G3NTS ◆ -