Compare commits

...
Author SHA1 Message Date
damocles
e3f098df64 matrix: use flutterBuildFlags (string) not targetFlags for --base-href (#634 followup) 2026-05-30 16:45:30 +02:00
iris
20b5e03ee0 dashboard: footer link → forge.darkest.space mirror (closes #639)
Footer was still pointing at the old canonical at
`git.berlin.ccc.de/vinzenz/hyperhive` — that's the upstream URL
from before #524 moved the public mirror to `forge.darkest.space`.
README + docs already reference the new URL; this was the only
stale frontend pointer.
2026-05-30 16:42:37 +02:00
lexis
822a1b15fa docs: matrix gui.enable defaults to matrix.enable, gateway serves /matrix/ (follow-up to #635) 2026-05-30 15:51:17 +02:00
4 changed files with 37 additions and 32 deletions

View file

@ -116,10 +116,13 @@ lives at `/var/lib/nixos-containers/hive-matrix/`. Federation is
enabled with an empty `trusted_servers` list; e2ee is deferred to
a follow-up (#551).
Optional: set `services.hyperhive.matrix.gui.enable = true;` to serve a
The hive-gateway nginx container serves a
[fluffychat-web](https://fluffychat.im) matrix client at `/matrix/`
via the hive-gateway nginx container (see gateway option above). Disabled by default. The `◆ M4TR1X ◆ →`
tab appears in the dashboard chrome when enabled. The web client can
when `services.hyperhive.matrix.gui.enable` is on. This defaults to
`services.hyperhive.matrix.enable`, so enabling the homeserver enables
the web client by default; set `gui.enable = false` explicitly to keep
the homeserver without the GUI. The `◆ M4TR1X ◆ →` tab appears in
the dashboard chrome when enabled. The web client can
connect to any Matrix homeserver; enter the URL at first visit (e.g.
the local tuwunel instance if `services.hyperhive.matrix.enable = true`, or
any external homeserver).

View file

@ -145,10 +145,10 @@ cross-page link (`◆ FL0W ◆ →`), not a pane swap.
count), Y3R C4LL (pending approvals + questions), and SCH3DUL3S
(active schedules); FL0W pill mirrors the operator inbox length
(hidden when zero). The M4TR1X → entry is hidden when
`hyperhive.matrix.gui.enable = false` (default) 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` (#607).
`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` (#607).
- **Notification controls**: `🔔 enable notifications` when
permission ungranted; `🔕 mute / 🔔 unmute` toggle once granted.
Always visible in the chrome regardless of active tab.
@ -307,21 +307,22 @@ operator has one place for everything time-fired (#460).
### M4TR1X page (`/matrix/`, optional)
A static matrix web client (default `pkgs.fluffychat-web`, swappable
via `hyperhive.matrix.gui.package`) mounted by hive-c0re's dashboard
router as a sibling `nest_service("/matrix", ServeDir::new(dir))`
when `hyperhive.matrix.gui.enable = true` + `HIVE_MATRIX_GUI_DIR` env
points at the dist root. Same-origin with the dashboard; the
operator opens `/matrix/` in the same tab from the M4TR1X → strip
entry, logs in once with the in-host tuwunel homeserver URL
(`http://localhost:8008` or whatever the matrix module exposes),
then has matrix chat alongside the agent dashboard without leaving
the host's origin.
A static matrix web client (default `pkgs.fluffychat-web` rebuilt
with `--base-href /matrix/`, swappable via
`services.hyperhive.matrix.gui.package`) served by the hive-gateway
nginx container at `/matrix/` when
`services.hyperhive.matrix.gui.enable` is on (defaults to
`matrix.enable`, #635). c0re signals availability via the
`HIVE_MATRIX_GUI_ENABLED` env var → `state.matrix_gui_enabled` in
`/api/state`; the gateway does the actual static serving.
v0 same-origin shape via hive-c0re ServeDir (#607 / #610); the
unified nginx-front re-root to `https://matrix.${hyperhive.domain}`
+ `.well-known/matrix/client` auto-discovery is tracked in #609
(atlas's lane, post-#15).
The operator opens `/matrix/` from the M4TR1X → strip entry, logs
in once with the in-host tuwunel homeserver URL
(`http://localhost:8008` or whatever the matrix module exposes).
The unified nginx-front re-root to
`https://matrix.${hyperhive.domain}` + `.well-known/matrix/client`
auto-discovery is tracked in #609 (atlas's lane, post-#15).
### FL0W page (`/flow.html`)

View file

@ -188,7 +188,7 @@
<footer>
<pre class="banner banner-thin">░▒▓█▓▒░ HYPERHIVE / HIVE-C0RE / WE ARE THE WIRED ░▒▓█▓▒░</pre>
<div class="divider">══════════════════════════════════════════════════════════════</div>
<p>▲△▲ <a href="https://git.berlin.ccc.de/vinzenz/hyperhive">hyperhive</a> ▲△▲ hive-c0re on this host ▲△▲</p>
<p>▲△▲ <a href="https://forge.darkest.space/hyperhive/hyperhive">hyperhive</a> ▲△▲ hive-c0re on this host ▲△▲</p>
</footer>
<!-- Slide-in detail panel. Long content (clicked file previews,

View file

@ -191,16 +191,17 @@ in
# the browser resolves relative asset paths (`Imaging.js`,
# `flutter.js`, `splash/*`) against the document ROOT,
# producing 404s for every asset (#634). Inject the right
# base-href into the build via nixpkgs's `buildFlutterApplication`
# targetFlags. When subdomain routing lands (#609 —
# `matrix.${hyperhiveDomain}`), drop this override; upstream's
# `/` base-href is correct at the root of a dedicated subdomain.
targetFlags = (old.targetFlags or [ ]) ++ [
"--base-href"
"/matrix/"
];
# base-href into the actual `flutter build web` invocation
# via the upstream derivation's `flutterBuildFlags` string
# (the buildPhase is literally
# `flutter build web -v $flutterBuildFlags`). When subdomain
# routing lands (#609 — `matrix.${hyperhiveDomain}`), drop
# this override; upstream's `/` base-href is correct at the
# root of a dedicated subdomain.
flutterBuildFlags =
(old.flutterBuildFlags or "") + " --base-href /matrix/";
});
defaultText = lib.literalMD "`pkgs.fluffychat-web` rebuilt with `--base-href /matrix/` via `targetFlags`.";
defaultText = lib.literalMD "`pkgs.fluffychat-web` rebuilt with `--base-href /matrix/` via `flutterBuildFlags`.";
description = ''
Static web client dist to serve at `/matrix/`. Defaults to
`pkgs.fluffychat-web` rebuilt with `--base-href "/matrix/"`