hyperhive/hive-c0re/src
Repository files (latest commit first)
Filename Latest commit message Latest commit date
iris 37161cd136 dashboard: replace <hive-jobq-graph> with a shared Preact component
Ports the shadow-DOM <hive-jobq-graph> custom element
(frontend/packages/shared/src/jobq-graph/) to a Preact component
(JobqGraph.js) shared by the dashboard and swarm-ui, per hyperhive#3310.

- JobqGraph.js: written with plain h() calls (no JSX) so the same file
  compiles unmodified under both the dashboard's text-loader CSS config
  and swarm-ui's JSX config. Exports `JobqGraph` for JSX use and
  `mountJobqGraph(container, props)` for the dashboard's non-JSX
  imperative mount, returning a `{refresh(), update()}` handle matching
  the old custom element's public surface. Same rendering contract as
  before: indented state tree, payload.label verbatim, payload.data as
  a generic key/value list, "waits on: <label>" text for Node-kind deps,
  per-state filter checkboxes, optional cancel button.
- jobq-graph.css: light-DOM adaptation of the old shadow-scoped
  stylesheet (:host -> .jg-root, otherwise unchanged).
- dashboard/src/builds.js: local mountJobqGraph() renamed to
  mountRebuildQueue() to avoid colliding with the newly-imported shared
  mountJobqGraph; cancel handling is now a plain onCancel callback
  instead of a DOM CustomEvent listener (no shadow boundary to cross
  anymore).
- dashboard + shared package.json: added preact as a dependency (matches
  swarm-ui's existing pin, 10.29.8) - the dashboard was a vanilla-JS MPA
  with no Preact/JSX pipeline before this.
- Removed the old hive-jobq-graph.js/.css entirely (confirmed via grep
  it had exactly one consumer, dashboard/src/builds.js, so this is a
  clean swap, not parallel maintenance of two implementations).
- Updated stale doc-comment references to the old element name in
  builds.html, tabs.js, swarm.js, docs/web-ui/dashboard.md, and
  hive-c0re/src/job_queue/mod.rs.

Verified: npm run build (whole frontend workspace) and npm run
typecheck (swarm-ui) both clean; cargo build/clippy/test -p hive-c0re
all clean (331 tests, 0 failures); headless-chromium screenshot of
/builds.html against a mock GET /api/jobq/graph payload confirms full
visual/behavioral parity with the old custom element (tree, filter
checkboxes, cancel buttons, error text, waits-on line, data list, live
build log panel).

This covers the dashboard-replacement half of hyperhive#3310 only. The
swarm-ui half (rendering the CreateAgent DAG on the agent-creation page)
is downstream of hyperhive#3306/#3124 landing - no swarm-ui page exists
yet to mount it in.
2026-08-16 15:18:25 +02:00
..
agent_config fix(#3245): resolve broken intra-doc links in hive-c0re 2026-08-14 00:25:35 +02:00
dashboard refactor(hive-c0re): one producer for the readiness verdict 2026-08-16 13:12:59 +02:00
forge fix(#3245): resolve the remaining intra-doc links in hive-c0re 2026-08-14 00:25:35 +02:00
job_queue dashboard: replace <hive-jobq-graph> with a shared Preact component 2026-08-16 15:18:25 +02:00
lifecycle mount the applied config repo, not the proposed one 2026-08-13 19:31:17 +02:00
socket_server fix(#3245): resolve the remaining intra-doc links in hive-c0re 2026-08-14 00:25:35 +02:00
stats refactor(hive-c0re): one producer for the readiness verdict 2026-08-16 13:12:59 +02:00
stores fix(#3245): resolve broken intra-doc links in hive-c0re 2026-08-14 00:25:35 +02:00
workers fix(c0re): name the remote and branch on the knowledge pull 2026-08-14 19:50:56 +02:00
actions.rs refactor(#2916): destroy submits a DAG instead of an imperative teardown 2026-08-14 00:24:45 +02:00
container_view.rs fix(#3245): resolve broken intra-doc links in hive-c0re 2026-08-14 00:25:35 +02:00
coordinator.rs fix(#3245): resolve broken intra-doc links in hive-c0re 2026-08-14 00:25:35 +02:00
dashboard_events.rs hive-sh4re: split inbox, container, journal, and schedule wire shapes into their own modules 2026-08-10 23:26:15 +02:00
gateway_nginx.rs fix(3179): the gateway's config files get their own state dir 2026-08-12 10:29:27 +02:00
loose_ends.rs hive-sh4re: split inbox, container, journal, and schedule wire shapes into their own modules 2026-08-10 23:26:15 +02:00
main.rs feat(hive-c0re): offer this hive's readiness to the swarm 2026-08-16 13:12:59 +02:00
matrix.rs fix(#3245): resolve the remaining intra-doc links in hive-c0re 2026-08-14 00:25:35 +02:00
meta.rs remove certFingerprint + HYPERHIVE_PEERS plumbing (hyperhive#3294) 2026-08-15 19:55:29 +02:00
migrate.rs refactor(#2916): drop the two obsolete startup migrations 2026-08-02 01:41:37 +02:00
paths.rs fix(3179): the gateway's config files get their own state dir 2026-08-12 10:29:27 +02:00
priv_client.rs feat(3088): move the gateway's nginx + dnsmasq onto the host 2026-08-11 18:01:03 +02:00
questions.rs hive-sh4re: split inbox, container, journal, and schedule wire shapes into their own modules 2026-08-10 23:26:15 +02:00
server.rs refactor(#2916): destroy submits a DAG instead of an imperative teardown 2026-08-14 00:24:45 +02:00
snapshot_push.rs refactor(#2862): one snapshot store per swarm, not one per peer 2026-07-31 22:15:37 +02:00
swarm_status.rs fix(hive-c0re): keep the cause in the swarm-status boot warnings 2026-08-16 13:14:03 +02:00
webhook_secret.rs chore(#2510): bump indicatif/tower-http/hmac/sha2 to latest majors 2026-07-16 10:42:30 +02:00