Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
e3f098df64 | ||
|
|
20b5e03ee0 | ||
|
|
822a1b15fa |
4 changed files with 37 additions and 32 deletions
|
|
@ -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).
|
||||
|
|
|
|||
|
|
@ -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`)
|
||||
|
||||
|
|
|
|||
|
|
@ -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,
|
||||
|
|
|
|||
|
|
@ -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/"`
|
||||
|
|
|
|||
Loading…
Reference in a new issue