From 6fbcb1d3ad9360d7a05f1dcece383cfb095ba1d4 Mon Sep 17 00:00:00 2001 From: tv Date: Sat, 7 Nov 2026 22:35:09 +0100 Subject: dashboard: subscriptions Double-click a node to subscribe: the page reads its own links from it directly with a narrowed token (reading the member list only), drawn over what this node knows; kept per swarm in the browser. Auth plan M3. --- docs/dashboard.md | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) (limited to 'docs') diff --git a/docs/dashboard.md b/docs/dashboard.md index 9879fb5..e62b67d 100644 --- a/docs/dashboard.md +++ b/docs/dashboard.md @@ -71,6 +71,9 @@ Every member of the swarm, by alias (or a shortened node ID): * **Hollow**: it reports none: it doesn't answer this node's LINKS, or its last answer is more than 90 s old (it is unreachable from here, stopped, or doesn't yet take this node for a member). +* **Black centre, ring of this node's blue**: subscribed: the page reads its links from + it, directly (below); the ring grey while the browser doesn't reach it (why, in its + tooltip). * **Red outline**: this node holds it dormant (it has been silent, or said farewell). * **Dashed orange ring**: its clock is off the swarm's: it differs from the median of the members' clocks by more than `--clock-skew-warn`, beyond what the measurements @@ -180,8 +183,18 @@ measured. upright. * **Drag a node**: move it. On a dynamic map, the others follow at once, and once let go of, it moves back among them; on a static map it stays where it is put. -* **Double-click a node**: open its dashboard, in this page, where the node publishes - one (`--dashboard-url`, in the member list; e.g. behind a reverse proxy, +* **Double-click a node**: subscribe to its links, or no longer. The page then reads + the node's own links from it, live, as it measures them (its + `/admin/dashboard/links/own/events`, at the dashboard it publishes, + `--dashboard-url`), with a token from this node that lets it read the member list + only ([`access.md`](access.md), Tokens); its links are drawn as it reports them, over what + this node knows of them. The browser must reach that dashboard: not one behind NAT, on + Tor alone, or plain `http` from an `https` page; the node allows this page's origin + as a member's dashboard (`--cors-origins` for others). Subscriptions are kept in the + browser, and handed over with the rest. +* **Right-click a node**: its menu: subscribing, and opening its dashboard. +* **Open a node's dashboard** (its menu): in this page, where the node publishes one + (`--dashboard-url`, in the member list; e.g. behind a reverse proxy, [`operations.md`](operations.md)). The other dashboard asks for its own credentials where its proxy or node does. It opens as this one was left: the map's nodes where they were (on a dynamic map they then move to their places among the other node's -- cgit v1.3.1