From 022fd5015cb245013dff122f2ff9acd1882a452b Mon Sep 17 00:00:00 2001 From: iris Date: Sun, 7 Jun 2026 22:00:47 +0200 Subject: [PATCH] docs: reflect the H0M3 nav restructure in dashboard.md (#1504) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Follow-up to the #1464 step-2 PRs now on main (route swap + page-link removal). Brings docs/web-ui/dashboard.md in line with the shipped UI: - Tab strip no longer lists the FL0W / L0GS / M4TR1X "→" page-links — those are separate pages reached from the H0M3 hub now. The strip is in-page tabs only (SW4RM / Y3R C4LL / SYST3M / P3RM1SS10NS / SCH3DUL3S / ST4TS / P33RS / S3TT1NGS). - Document the dashboard's new "← home" back-link in the chrome header. - FL0W / L0GS page sections: they use a slim "← home" header now, not the dashboard tab strip (dropped the stale "reuses the dashboard chrome" + cross-page-tab-link descriptions). - M4TR1X / L0GS page intros: reachable from the H0M3 hub tile, not a tab-strip "→" entry. - S3TT1NGS-on-FL0W note: settings live only on the dashboard tab, reached via the FL0W page's "← home" → Dashboard. Docs-only; matches the merged frontend. Closes #1504. --- docs/web-ui/dashboard.md | 49 +++++++++++++++++++--------------------- 1 file changed, 23 insertions(+), 26 deletions(-) diff --git a/docs/web-ui/dashboard.md b/docs/web-ui/dashboard.md index c3946fd2..05a28bc3 100644 --- a/docs/web-ui/dashboard.md +++ b/docs/web-ui/dashboard.md @@ -8,23 +8,21 @@ The dashboard is served at `/dashboard.html` (with the home page at `/`). It has a fixed chrome header at the top and a `
` that shows exactly one tab pane at a time. The URL hash (`#swarm`, `#call`, `#system`, `#permissions`, `#schedules`, `#peers`, `#settings`) drives which pane is -active; hash changes don't reload the page. FL0W is a separate full-page -terminal at `/flow.html` — its tab-strip entry is a cross-page link -(`◆ FL0W ◆ →`), not a pane swap. +active; hash changes don't reload the page. FL0W, L0GS, and the optional +M4TR1X client are separate pages reachable from the H0M3 hub at `/`, not +from the dashboard tab strip. **Chrome header** (fixed, overlays the active tab pane): +- **← home back-link**: top-left of the chrome, links to the H0M3 hub + at `/`. Every surface links back to the hub rather than to each other. - **Tab strip**: `◆ SW4RM ◆`, `◆ Y3R C4LL ◆`, `◆ SYST3M ◆`, `◆ P3RM1SS10NS ◆`, `◆ SCH3DUL3S ◆`, `◆ ST4TS ◆`, - `◆ P33RS ◆` (hidden when `swarm.peers` is empty), - `◆ M4TR1X ◆ →` (optional page link, see below), `◆ FL0W ◆ →` - (page link), and `◆ S3TT1NGS ◆`. Count pills on SW4RM (container - count), Y3R C4LL (pending approvals + questions + unread operator - messages), and SCH3DUL3S (active schedules); P33RS and S3TT1NGS - have no count. The M4TR1X → - entry is hidden when `services.hyperhive.matrix.gui.enable` is off - (defaults to `matrix.enable`) so operators without the matrix GUI - on don't see a dead link — tabs.js gates the `hidden` attribute on - `state.matrix_gui_enabled` from `/api/state`. + `◆ P33RS ◆` (hidden when `swarm.peers` is empty), and `◆ S3TT1NGS ◆`. + In-page tabs only — FL0W / L0GS / M4TR1X live on their own pages, + reachable from the H0M3 hub (not the tab strip). Count pills on SW4RM + (container count), Y3R C4LL (pending approvals + questions + unread + operator messages), and SCH3DUL3S (active schedules); P33RS and + S3TT1NGS have no count. - **Banner-thin** (`░▒▓█▓▒░ HYPERHIVE / HIVE-C0RE / WE ARE THE WIRED ░▒▓█▓▒░`) — sits below the tab strip. - **Browser tab title** — `hive / c0re` by default; updated to @@ -38,9 +36,9 @@ terminal at `/flow.html` — its tab-strip entry is a cross-page link `question_resolved` SSE events; it's preserved when `hive_name` / `swarm_name` later replace the raw title. -The FL0W page reuses the same chrome strip but its `◆ S3TT1NGS ◆ →` -entry is a cross-page link back to the dashboard -(`/#settings`) since the settings pane only lives there. +The FL0W and L0GS pages use a slim header (a `← home` back-link + the +page title) rather than the dashboard tab strip — they're standalone +surfaces, not tab panes. ## SW4RM tab @@ -391,9 +389,9 @@ single status line explains why. See `### Browser notifications` below for the dispatch model + the three signals the dashboard emits OS notifications on. -The FL0W page does NOT host this pane — its tab-strip -`◆ S3TT1NGS ◆ →` entry is a cross-page link to the dashboard's -`#settings` route. Notifications still fire on the FL0W page when +The FL0W page does NOT host this pane — settings live only on the +dashboard's S3TT1NGS tab (reach it via the FL0W page's `← home` +back-link → Dashboard). Notifications still fire on the FL0W page when they're enabled here, because `NOTIF.show()` in `common.js` depends on `Notification.permission` + the `hyperhive.notify.muted` localStorage key, not on the buttons @@ -410,7 +408,7 @@ nginx container at `/matrix/` when `HIVE_MATRIX_GUI_ENABLED` env var → `state.matrix_gui_enabled` in `/api/state`; the gateway does the actual static serving. -The operator opens `/matrix/` from the M4TR1X → strip entry, logs +The operator opens `/matrix/` from the Matrix tile on the H0M3 hub, logs in once with the in-host tuwunel homeserver URL (`http://localhost:8008` or whatever the matrix module exposes). @@ -421,10 +419,9 @@ auto-discovery lives in `docs/gateway.md` (atlas's lane). ## FL0W page (`/flow.html`) A dedicated full-page terminal (not a tab pane — a separate HTML -page). Reuses the same `
` chrome -as the dashboard so the tab strip remains visible; SW4RM / Y3R -C4LL / SYST3M / SCH3DUL3S are cross-page links back to `/#`, -and the FL0W entry is marked active (`aria-current="page"`). +page). Slim chrome: a `← home` back-link to the H0M3 hub, the FL0W +title, and the agent-filter select (see below). No dashboard tab +strip — FL0W is a standalone surface reached from the hub. The operator inbox is **not** on this page — it lives on the dashboard's Y3R C4LL tab (◆ 1NB0X ◆ section, with per-message and @@ -476,8 +473,8 @@ dashboard sub-pages include a `← Home` back-link for navigation. ## L0GS page (`/logs.html`) A dedicated log-viewer page (not a tab pane — a separate HTML page), -linked from the SETTINGS tab's `◆ L0GS ◆ →` entry. Minimal chrome: -a `← dashboard` back link and a three-item sub-tab strip. Tab +reachable from the Logs tile on the H0M3 hub. Minimal chrome: +a `← home` back link and a three-item sub-tab strip. Tab routing is hash-based (`#build`, `#agent`, `#system`); default is `#build`.