Expand description
The analytics dashboard: this deployment’s accounts, drawn as the tree they form.
docs/web-surfaces.md calls this surface 4. It shares a binary with the
operations dashboard (crate::dashboard, surface 3) and nothing else:
that page carries controls and this one carries a picture. Every route
here is a GET and reads process-local state, which is what makes the
page safe for an operator to set public.
What it draws comes from the same values bot.did.listAccounts answers
with — AccountSummary, built once here and once there from one
account — so the page and the wire cannot describe the tree differently.
It is gated on the same Credential::Disclosure setting: an operator who
closes the roster on the wire closes it here too.
An account whose chain a stranger could not walk is drawn as such. A paused edge — the vouch above it is gone and the grace window has passed — carries its state on the node, and so does every account beneath it, because the confinement poll cascades that tag down the subtree. An account whose parent this deployment no longer holds is drawn in its own group rather than being silently listed as a root.
Constants§
- ANALYTICS_
CSS 🔒 - PREFIX
- The page’s prefix. Everything under it is a
GET; see the module doc.
Functions§
- css 🔒
GET /analytics/analytics.css- page 🔒
- The whole document around an already-rendered
body. - proof_
line 🔒 - What logs in as the account, in one line.
- render_
node 🔒 - One account and everything beneath it, appended to
html. - render_
tree 🔒 - The roster as nested lists: the roots this deployment holds, then any account whose parent it no longer does.
- routes
- Builds the analytics routes, to be merged into the main router.
- tree 🔒
GET /analytics- walk_
line 🔒 - The note a node carries about whether the walk in
docs/ownership.mdruns from it. A verified edge says nothing extra; the page’s badge already does.