Watch
0
0
Fork
You've already forked hyperhive
0

docs: point matrix GUI comments at the swarm UI, drop the M4TR1X tab

The previous commit removed dashboard.md's M4TR1X section. These
comments and the `deploy.matrix.gui.enable` option description still
described a hive-dashboard M4TR1X tab or cited that section. They now
state what the option does: it serves the client on the gateway vhost
and adds the swarm UI's Matrix quick link (docs/swarm/ui.md::Quick links).

Refs #3902
This commit is contained in:
atlas 2026-10-02 13:19:35 +02:00 • committed by mara
commit 46f1f3cbdb
4 changed files with 19 additions and 23 deletions

View file

@ -91,11 +91,11 @@
<!-- (Peer hives are no longer a tab — they render as a headline <!-- (Peer hives are no longer a tab — they render as a headline
under SW4RM. See tab-pane-swarm.) --> under SW4RM. See tab-pane-swarm.) -->
<!-- FL0W, L0GS, and M4TR1X are separate pages reachable from the <!-- FL0W, L0GS, and the other standalone pages are reachable from
H0M3 hub (served at /), not from the dashboard tab strip — the the H0M3 hub (served at /), not from the dashboard tab strip —
strip holds only real in-page tabs now. Contextual deep-links the strip holds only in-page tabs. Contextual deep-links into
into the log viewer (an agent's logs, a build entry's log) the log viewer (an agent's logs, a build entry's log) live
still live inside the relevant dashboard content. --> inside the relevant dashboard content. -->
</nav> </nav>
</header> </header>

View file

@ -73,12 +73,11 @@ pub(super) struct StateSnapshot {
/// links each container's config + each approval's commit into the /// links each container's config + each approval's commit into the
/// forge's `agent-configs` repos. /// forge's `agent-configs` repos.
forge_present: bool, forge_present: bool,
/// Whether the matrix GUI is reachable at `/matrix/`. Sourced from /// Whether `services.hyperhive.deploy.matrix.gui.enable` is on. Sourced
/// `HIVE_MATRIX_GUI_ENABLED` env var (set by the c0re NixOS module /// from the `HIVE_MATRIX_GUI_ENABLED` env var the c0re NixOS module
/// when `services.hyperhive.deploy.matrix.gui.enable` is on). The gateway /// sets. The matrix client itself is served on the homeserver's
/// (`nix/host-modules/hive-gateway/vhosts.nix`) does the actual `/matrix/` static serving; /// gateway vhost; the hive's `/matrix/` path redirects there
/// this flag is just an availability signal for iris's dashboard /// (`nix/host-modules/hive-gateway/vhosts.nix`).
/// chrome so the `M4TR1X →` tab doesn't flash when the GUI is off.
matrix_gui_enabled: bool, matrix_gui_enabled: bool,
/// Whether `hive-gateway` is in front of this dashboard. Sourced /// Whether `hive-gateway` is in front of this dashboard. Sourced
/// from the `HIVE_GATEWAY_ENABLED` env var, which the c0re NixOS /// from the `HIVE_GATEWAY_ENABLED` env var, which the c0re NixOS

View file

@ -192,10 +192,9 @@ in
HIVE_MATRIX_API_URL = config.services.hyperhive.swarm.matrix.apiUrl; HIVE_MATRIX_API_URL = config.services.hyperhive.swarm.matrix.apiUrl;
} }
// lib.optionalAttrs config.services.hyperhive.deploy.matrix.gui.enable { // lib.optionalAttrs config.services.hyperhive.deploy.matrix.gui.enable {
# Availability flags read by the dashboard's `/api/state`. # Surfaces as `matrix_gui_enabled` in the dashboard's `/api/state`.
# Matrix GUI lives entirely on the gateway nginx (matrix tab # The matrix GUI is served entirely by the gateway nginx. Gateway
# only shows when both flags are on). Gateway routing detail: # routing detail: docs/networking/gateway.md::Vhost map.
# docs/networking/gateway.md::Vhost map.
HIVE_MATRIX_GUI_ENABLED = "1"; HIVE_MATRIX_GUI_ENABLED = "1";
} }
// { // {

View file

@ -543,8 +543,9 @@ in
defaultText = lib.literalExpression "config.services.hyperhive.deploy.matrix.enable"; defaultText = lib.literalExpression "config.services.hyperhive.deploy.matrix.enable";
description = '' description = ''
Serve a matrix web client at `gatewayHost`'s vhost (`chat.<swarm-domain>` Serve a matrix web client at `gatewayHost`'s vhost (`chat.<swarm-domain>`
by default). Requires `gatewayHost != null`; the gateway itself always runs. When by default) and add the swarm UI's **Matrix** quick link to it
off, the dashboard's `M4TR1X →` tab is hidden. See (`services.hyperhive.swarm.controller.links`). Requires
`gatewayHost != null`; the gateway itself always runs. See
`docs/networking/gateway.md` for the discovery flow that lets clients `docs/networking/gateway.md` for the discovery flow that lets clients
auto-find the sub-domain. The client build itself is auto-find the sub-domain. The client build itself is
`deploy.matrix.gui.package` — which client, as opposed to whether `deploy.matrix.gui.package` — which client, as opposed to whether
@ -668,12 +669,9 @@ in
# This swarm-ui quick-links entry. Gated on `gui.enable` too, not just # This swarm-ui quick-links entry. Gated on `gui.enable` too, not just
# `gatewayHost != null`: `/` on that vhost only serves fluffychat # `gatewayHost != null`: `/` on that vhost only serves fluffychat
# (below) when the GUI is on — otherwise the link would 404. Same # (below) when the GUI is on — otherwise the link would 404. See
# `gatewayHost && gui.enable` condition the removed hive-dashboard # docs/swarm/ui.md::Quick links and
# H0M3 tile used to check via `state.matrix_gui_enabled` before this # `services.hyperhive.swarm.controller.links`'s description.
# link became the only way in (docs/web-ui/dashboard.md::M4TR1X
# page). See `services.hyperhive.swarm.controller.links`'s
# description.
services.hyperhive.swarm.controller.links = services.hyperhive.swarm.controller.links =
lib.optional (cfg.gatewayHost != null && deployCfg.matrix.gui.enable) lib.optional (cfg.gatewayHost != null && deployCfg.matrix.gui.enable)
{ {