common.js + flow.js + index.html + flow.html: cookie scrub + doc pointers (#712 batch 13 cont.)
Final dashboard frontend cleanup. Four files at 0 cookies each. common.js (11 → 0): - #406 module-split history → drop, present-state intro - #448 SharedWorker SSE pipe (×3) → docs/web-ui.md SSE multiplexing paragraph pointer - #515 worker-death self-heal (×3) → docs pointer + brief inline - #453 bfcache argus-nit (×2) → drop framing, keep inline why - #451 drag-to-resize → docs/web-ui.md::Side panel pointer - #233 marked autolinks new-tab → drop cookie flow.js (8 → 0): - #406 module-split history → drop - #389 banner-in-footer → drop framing - #375 stacking context → docs/web-ui.md::Per-agent page Terminal-wrap - #408 server-side filter, #499 backend allow-list → drop cookies, keep inline why - #448 SharedWorker per-URL keying → docs pointer - #163 SSE catchup drift → drop cookie, keep inline why index.html (13 → 0): - #389 chrome history → drop - #459 schedules, #607 matrix, #609 nginx-front, #15 → drop cookies, keep functional comments + docs/web-ui.md::Tab strip + gateway.md pointers for matrix - #385 dropped C0NTAINERS heading → drop framing - #460 reminders-moved-here → drop framing - #444 SchedulesChanged SSE absence → drop cookie, keep inline why - #443 selection bar → docs/web-ui.md::Selection bar pointer - #564 fold-create-into-table → drop framing - #369#issuecomment-3437 → drop attribution - #406 step 3 bundle rename → drop history flow.html (3 → 0): - #389 slug + #362 pill pattern + #406 step 2 bundle → drop cookies, preserve functional descriptions Total this batch (across all 4 files): **35 cookies scrubbed**. Net effect: the dashboard SPA's HTML + JS comments all point at docs/web-ui.md for substantive design context now, with inline comments only retaining present-state operational descriptions.
This commit is contained in:
parent
6c9b28903f
commit
f7e38c0b42
4 changed files with 123 additions and 182 deletions
|
|
@ -8,12 +8,11 @@
|
|||
</head>
|
||||
<body class="dashboard-shell">
|
||||
|
||||
<!-- Sticky chrome — just the tab strip now (#389 follow-up: the
|
||||
"WE ARE THE WIRED" slug moved out of chrome entirely and lives
|
||||
at the page footer below `<main>`; chrome is navigation only).
|
||||
Tabs route via the URL hash so F5 / back-button / shared links
|
||||
keep you on the same view. JS owns the actual show/hide; this
|
||||
is just the menu. -->
|
||||
<!-- Sticky chrome — just the tab strip. The "WE ARE THE WIRED"
|
||||
slug lives at the page footer below `<main>`; chrome is
|
||||
navigation only. Tabs route via the URL hash so F5 / back-
|
||||
button / shared links keep you on the same view. JS owns
|
||||
the show/hide. -->
|
||||
<header class="dashboard-chrome">
|
||||
<nav class="tabbar" id="tabbar" role="tablist">
|
||||
<a class="tab" id="tab-swarm" href="#swarm" role="tab"
|
||||
|
|
@ -34,10 +33,10 @@
|
|||
<span class="tab-label">◆ SYST3M ◆</span>
|
||||
<span class="tab-count" id="tab-count-system" hidden></span>
|
||||
</a>
|
||||
<!-- SCH3DUL3S (#459): scheduled-prompts surface. List of
|
||||
queued schedules + an operator-direct creation form.
|
||||
Count pill mirrors the active (non-cancelled) schedule
|
||||
count; hidden when zero. -->
|
||||
<!-- SCH3DUL3S: scheduled-prompts surface. List of queued
|
||||
schedules + an operator-direct creation form. Count pill
|
||||
mirrors the active (non-cancelled) schedule count; hidden
|
||||
when zero. -->
|
||||
<a class="tab" id="tab-schedules" href="#schedules" role="tab"
|
||||
aria-controls="tab-pane-schedules"
|
||||
data-tab="schedules">
|
||||
|
|
@ -45,24 +44,25 @@
|
|||
<span class="tab-count" id="tab-count-schedules" hidden></span>
|
||||
</a>
|
||||
|
||||
<!-- M4TR1X (#607): optional matrix web client (fluffychat-web by
|
||||
default) mounted at /matrix/ by hive-c0re's dashboard router
|
||||
when `hyperhive.matrix.gui.enable = true`. Same-origin same-
|
||||
tab navigation (the static dist is its own SPA). Hidden in JS
|
||||
when `state.matrix_gui_enabled === false` so operators without
|
||||
matrix-gui on don't see a dead link (#609 covers the
|
||||
post-#15 nginx-front re-root + .well-known auto-discovery). -->
|
||||
<!-- M4TR1X: optional matrix web client (fluffychat-web by
|
||||
default) mounted at /matrix/ by the gateway when
|
||||
`hyperhive.matrix.gui.enable = true`. Same-origin
|
||||
navigation (the static dist is its own SPA). Hidden in
|
||||
JS when `state.matrix_gui_enabled === false` so operators
|
||||
without matrix-gui on don't see a dead link. See
|
||||
docs/web-ui.md::Tab strip for the gating model and
|
||||
docs/gateway.md for the matrix vhost + .well-known
|
||||
auto-discovery. -->
|
||||
<a class="tab tab-link" id="tab-matrix" href="/matrix/" hidden
|
||||
title="open the matrix chat client (fluffychat-web)">
|
||||
<span class="tab-label">◆ M4TR1X ◆ →</span>
|
||||
</a>
|
||||
|
||||
<!-- FL0W is its own page (`/flow.html`), not a tab — per
|
||||
operator @ #369#issuecomment-3437 ("yes terminal can be a
|
||||
separate page"). The link lives in the tab strip so it
|
||||
reads as a peer surface; clicking navigates rather than
|
||||
swapping panes in place. Count pill mirrors the dashboard's
|
||||
operator-inbox length and is hidden when zero. -->
|
||||
<!-- FL0W is its own page (`/flow.html`), not a tab. The link
|
||||
lives in the tab strip so it reads as a peer surface;
|
||||
clicking navigates rather than swapping panes in place.
|
||||
Count pill mirrors the dashboard's operator-inbox length
|
||||
and is hidden when zero. See docs/web-ui.md::FL0W page. -->
|
||||
<a class="tab tab-link" id="tab-flow" href="/flow.html"
|
||||
title="open the all-agents chat in a dedicated full-page terminal">
|
||||
<span class="tab-label">◆ FL0W ◆ →</span>
|
||||
|
|
@ -86,9 +86,8 @@
|
|||
|
||||
<!-- SW4RM: the swarm itself. Container cards (the central thing
|
||||
the operator looks at) and rebuild queue / cascade visualisation
|
||||
that drives them. The tab label itself reads SW4RM, so the
|
||||
inline C0NTAINERS h2 heading + divider would be redundant —
|
||||
dropped per #385. -->
|
||||
that drives them. No inline `C0NTAINERS` h2 heading + divider
|
||||
— the tab label SW4RM already says it. -->
|
||||
<section class="tab-pane" id="tab-pane-swarm"
|
||||
role="tabpanel" aria-labelledby="tab-swarm">
|
||||
<div id="containers-section">
|
||||
|
|
@ -117,11 +116,8 @@
|
|||
|
||||
<!-- SYST3M: passive / rare-interaction state. Meta inputs (lock
|
||||
bumps), rebuild queue (watch only), kept state from previous
|
||||
tombstoned agents. Queued reminders moved to the SCH3DUL3S
|
||||
tab in #460 — they're conceptually "fire X at time Y" too,
|
||||
just self-scheduled by agents instead of operator-set.
|
||||
Headings stay; the per-section content auto-compresses to a
|
||||
one-line summary when empty (separate JS toggle). -->
|
||||
tombstoned agents. Per-section content auto-compresses to a
|
||||
one-line summary when empty (JS toggle). -->
|
||||
<section class="tab-pane" id="tab-pane-system"
|
||||
role="tabpanel" aria-labelledby="tab-system">
|
||||
<h2>◆ M3T4 1NPUTS ◆</h2>
|
||||
|
|
@ -145,16 +141,15 @@
|
|||
</div>
|
||||
</section>
|
||||
|
||||
<!-- SCH3DUL3S (#459, #564): scheduled prompts. Creation + edit
|
||||
are folded into the same table now (#564) — empty bottom row
|
||||
is the create form (fill cells, click +), inline-edit-row
|
||||
expands on the `✎` toggle for existing schedules. Live
|
||||
schedules list driven by GET /api/schedules; POST /api/schedules
|
||||
to create, PATCH /api/schedules/{id} to edit, POST
|
||||
/api/schedules/{id}/cancel for per-target / whole-row cancel.
|
||||
#444 backend doesn't emit SchedulesChanged dashboard event yet,
|
||||
so the list re-fetches on tab activation + after each submit /
|
||||
cancel. Live SSE wiring is the future PR C. -->
|
||||
<!-- SCH3DUL3S: scheduled prompts. Creation + edit are folded
|
||||
into the same table — empty bottom row is the create form
|
||||
(fill cells, click +), inline-edit-row expands on the `✎`
|
||||
toggle for existing schedules. Schedules list driven by
|
||||
GET /api/schedules; POST /api/schedules to create, PATCH
|
||||
/api/schedules/{id} to edit, POST /api/schedules/{id}/cancel
|
||||
for per-target / whole-row cancel. No SchedulesChanged SSE
|
||||
event yet, so the list re-fetches on tab activation + after
|
||||
each submit / cancel. See docs/web-ui.md::SCH3DUL3S tab. -->
|
||||
<section class="tab-pane" id="tab-pane-schedules"
|
||||
role="tabpanel" aria-labelledby="tab-schedules">
|
||||
<h2>◆ SCH3DUL3S ◆</h2>
|
||||
|
|
@ -164,12 +159,12 @@
|
|||
<p class="meta">loading…</p>
|
||||
</div>
|
||||
|
||||
<!-- QU3U3D R3M1ND3RS (#460): self-scheduled agent reminders.
|
||||
Moved here from the SYST3M tab so the operator has one
|
||||
place for everything that fires at a future time —
|
||||
operator-set schedules above, agent-self reminders here.
|
||||
Backed by GET /api/reminders; refresh handled by
|
||||
refreshReminders() (called from refreshState). -->
|
||||
<!-- QU3U3D R3M1ND3RS: self-scheduled agent reminders. Lives
|
||||
on this tab so the operator has one place for everything
|
||||
that fires at a future time — operator-set schedules
|
||||
above, agent-self reminders here. Backed by GET
|
||||
/api/reminders; refresh handled by refreshReminders()
|
||||
(called from refreshState). -->
|
||||
<h2>◆ QU3U3D R3M1ND3RS ◆</h2>
|
||||
<div class="divider">══════════════════════════════════════════════════════════════</div>
|
||||
<p class="meta">reminders agents have queued for themselves but not yet delivered. cancel to drop a stuck or unwanted entry.</p>
|
||||
|
|
@ -209,11 +204,10 @@
|
|||
</aside>
|
||||
</div>
|
||||
|
||||
<!-- Selection action bar (#443). Sticky-bottom strip that slides
|
||||
into view when one or more agent cards is selected (click the
|
||||
icon to toggle). Shows the selection count + actions that
|
||||
apply to ALL selected; disabled-with-tooltip for actions that
|
||||
don't (mara picked option B). Hidden when selection is empty. -->
|
||||
<!-- Selection action bar. Sticky-bottom strip that slides into
|
||||
view when one or more agent cards is selected (click the icon
|
||||
to toggle). See docs/web-ui.md::Selection bar for the bulk
|
||||
action gating + clear semantics. -->
|
||||
<div id="selection-bar" class="selection-bar" hidden role="toolbar"
|
||||
aria-label="bulk agent actions">
|
||||
<span class="selection-count" id="selection-count"></span>
|
||||
|
|
@ -223,11 +217,10 @@
|
|||
title="clear selection (esc)">✕ clear</button>
|
||||
</div>
|
||||
|
||||
<!-- Single bundled entry (#406 step 3 — renamed from app.js to
|
||||
tabs.js since this bundle is the dashboard *tabs* surface only;
|
||||
flow.html has its own flow.js bundle). esbuild folds
|
||||
<!-- Single bundled entry — tabs.js is the dashboard tabs surface;
|
||||
flow.html has its own flow.js bundle. esbuild folds
|
||||
@hive/shared/terminal.js and the marked npm package into
|
||||
tabs.js; load order is preserved by the module bundler. -->
|
||||
tabs.js. -->
|
||||
<script type="module" src="/static/tabs.js" defer></script>
|
||||
</body>
|
||||
</html>
|
||||
|
|
|
|||
Loading…
Reference in a new issue