docs(web-ui): fix stale container-row 'Line 3' + document overflow menu
The dashboard.md 'Line 3: drill-in triggers' section described inline ↳ logs and ↳ build logs side-panel affordances that were removed from the container row some time ago (navigation links were consolidated onto the Line 1 nav strip; journal + build-log viewing moved to /logs.html). Replace that stale section with accurate documentation of the per-agent ⋮ overflow menu (restart/stop/start/rebuild + journal-logs deep-link + destroy/purge + deployed-sha forge link). Also update the AGENT and SYSTEM sub-tab descriptions to cover: - localStorage persistence of agent/unit selection across page loads - ?agent= / ?unit= URL params for deep-linking (used by the ⋮ menu) - 'fetched N ago' chip after each successful fetch (ticks every 30 s)
This commit is contained in:
parent
f87a674e14
commit
10f22defee
1 changed files with 32 additions and 30 deletions
|
|
@ -369,15 +369,23 @@ re-renders with the final status. `status === null` = still running.
|
|||
**AGENT sub-tab** — per-container journald viewer. Two selects: agent
|
||||
name (populated from `GET /api/state`) and unit filter
|
||||
(`hive-ag3nt.service` / `(full machine journal)`). Fetches
|
||||
`GET /api/journal/{name}?unit=<unit>&lines=500` on refresh. Output
|
||||
rendered as a `<pre>` block.
|
||||
`GET /api/journal/{name}?unit=<unit>&lines=500` on selection change
|
||||
or `↻ refresh`. Output rendered as a `<pre>` block. The last-selected
|
||||
agent name and unit are persisted to `localStorage` (`logs-agent` /
|
||||
`logs-unit`) and restored on page load. A `?agent=<name>` and/or
|
||||
`?unit=<svc>` URL param overrides the stored values — the per-agent
|
||||
`⋮` menu's **journal logs →** entry uses this to deep-link directly
|
||||
to a specific agent's journal. A "fetched N ago" chip appears after
|
||||
the `↻ refresh` button following each successful fetch and ticks
|
||||
every 30 s.
|
||||
|
||||
**SYSTEM sub-tab** — host-side service logs. Unit selector (currently
|
||||
only `hive-c0re.service`). Fetches
|
||||
`GET /api/journal-host?unit=hive-c0re.service&lines=500` on activation
|
||||
and on `↻ refresh`. Rendered as a `<pre>` block. Available to the
|
||||
operator unconditionally (not capability-gated — the endpoint lives
|
||||
on the hive-c0re dashboard, behind the gateway).
|
||||
and on `↻ refresh`. Rendered as a `<pre>` block. A "fetched N ago"
|
||||
chip ticks every 30 s. Available to the operator unconditionally (not
|
||||
capability-gated — the endpoint lives on the hive-c0re dashboard,
|
||||
behind the gateway).
|
||||
|
||||
## Container row
|
||||
|
||||
|
|
@ -482,31 +490,25 @@ fetch entirely.
|
|||
watermarks. When the window value is absent the badge falls back
|
||||
to fixed 100k / 150k thresholds.
|
||||
- Line 2: status badges only (no per-card action buttons — actions
|
||||
moved to the **selection bar**, see below).
|
||||
- Line 3: drill-in triggers —
|
||||
- `↳ logs · <container>` — opens the side panel and lazy-
|
||||
fetches journald via `GET /api/journal/{name}?unit=&lines=`
|
||||
(`journalctl -M <container> -b --no-pager --output=short-iso`).
|
||||
A unit dropdown (harness service / full machine journal) and
|
||||
a refresh button live in the panel. The panel uses a column-flex
|
||||
layout so the `<pre>` log surface fills the full remaining panel
|
||||
height; scroll happens inside the `<pre>`, not the side
|
||||
panel body.
|
||||
- `↳ build logs · <agent>` — opens the side panel and fetches
|
||||
the last 10 build-log headers via
|
||||
`GET /api/build-logs/{agent}` (status chip + kind + age +
|
||||
truncated cmdline per row). Clicking a row lazy-fetches its
|
||||
full stdout+stderr from `GET /api/build-logs/id/{id}` and
|
||||
expands it inline as a scrollable `<pre>`. A refresh button
|
||||
re-fetches the header list. Backed by the `build_logs.sqlite`
|
||||
store that `lifecycle::run` and `lifecycle::prebuild_toplevel`
|
||||
write into.
|
||||
- Plain navigation links (config repo, forge profile,
|
||||
`dashboardLinks` extras) now live in the icon-only nav strip
|
||||
on Line 1 — see above. The agent's `config` link
|
||||
goes to the repo root; the deployed sha shows separately on
|
||||
Line 1 as the `deployed:<sha>` chip, since the agent harness
|
||||
can't know its own deployed commit.
|
||||
moved to the **selection bar** or the **per-agent `⋮` menu**, see
|
||||
below).
|
||||
|
||||
**Per-agent `⋮` overflow menu** — a `⋮` button appears on the right
|
||||
edge of each container row. Clicking it opens a small dropdown with
|
||||
per-agent actions and navigation links. Contents:
|
||||
|
||||
- `↺ R3ST4RT` (running agents only) / `■ ST0P` (running only) /
|
||||
`▶ ST4RT` (stopped only) — single-agent run-state toggles.
|
||||
Identical to the bulk actions on the selection bar but operate
|
||||
on one agent without requiring a selection click.
|
||||
- `↻ R3BU1LD` — always available; queues a rebuild for this agent.
|
||||
- `journal logs →` — opens `/logs.html#agent?agent=<name>` so the
|
||||
operator lands directly in the AGENT log tab pre-filtered to this
|
||||
container, without having to pick an agent from the dropdown.
|
||||
- `DESTR0Y` / `PURG3` — destructive, each prompts for confirmation.
|
||||
- `deployed:<sha> ↗` — present when the agent has a `deployed_sha`
|
||||
and the forge is reachable; links the deployed commit on the forge
|
||||
agent-configs mirror.
|
||||
|
||||
`↻ UPD4TE 4LL` button appears above the containers list when any
|
||||
agent is stale. Banner pulses on each broker SSE event
|
||||
|
|
|
|||
Loading…
Reference in a new issue