Appearance
Runtime status
The Runtime status surface in Edge shows whether the local service is up, what your identity is on this Device, and how many runtimes are reported.
What renders
Three cards on the dashboard, side by side:
Local service card
Source: main.ts:627-642 (renderHostCard).
Fields shown:
- mode —
local ownerornot confirmed. - identity — the principal label (or
local-clientfor loopback). - health —
/healthzresponse code + duration.
A green pill ready means the local service is reachable and you are local-owner. A red pill check service means /healthz failed; the local Host is not running, the gateway is on a different port, or there is a routing issue.
HiveCast link card
Source: main.ts:644-669 (renderLinkCard).
Fields shown:
- route key — the user-facing Space path.
not linkedif not paired.<value> (detected)if Edge inferred it from the hostname. - namespace — the typed
space.<spacePath>form. - Space — the durable
spaceId. - authority root — the bus root.
A green pill linked means the Host has been paired. A neutral pill optional means not paired (which is fine — local use does not require it).
Runtimes card
Source: main.ts:671-691 (renderRuntimeCard).
Fields shown:
- root — runtime authority root.
- attached devices — count from
attachedLeafRoots. - registered — count from
registeredRuntimes.
A green pill reported means /api/identity/runtime-summary returned successfully. A red pill error shows the failure.
What "local owner" means
Per Overview / Local host view:
ts
isLocalOwner(health, identity, hostname) =>
isLoopback(hostname) && health.ok
|| identity.localClient === true
|| identity.principal?.principalId === 'host-service'If you are reaching Edge through 127.0.0.1 and /healthz is ok, you are local-owner. Period.
Status pill semantics
Each card carries a status pill. The pill has four states:
ok(green) — probe healthy, expected data present.neutral(gray) — not applicable / optional / no-link.warn(yellow) —unavailable(HTTP 404 / 405 — endpoint missing).bad(red) —error(5xx, network failure, parse error).
What the cards do NOT show
Several things you might expect, that aren't on the dashboard today:
- CPU / memory — Edge does not surface system resources. Get them from the OS.
- Per-runtime CPU/memory — Edge does not surface per-runtime resource use.
- Connection count — bus connection metrics are not surfaced.
- Recent errors — there is no error log panel. There is the Endpoint Diagnostics panel which shows probe outcomes, not log lines.
Decision strip
Above the support cards is a three-item decision strip (per main.ts:323-355):
Use locally Installed apps HiveCast
Ready/Needs service N apps <route> / OptionalThis is the "at-a-glance" status. It mirrors information from the support cards but emphasizes user actions: can I use this locally? Are there apps to launch? Am I paired?
Refresh
The dashboard refetches probes on every hashchange and on the diagnostics panel's "Refresh diagnostics" button (main.ts:819-824, wireRefreshButton). There is no auto-refresh — the page reflects the load-time state.
For a live view, refresh manually or open the route in a tab and reload. Auto-refresh is target state.
Target state
- Auto-refresh at a sensible cadence (e.g., 30s).
- Per-runtime resource panels.
- Recent error log surface.
- Live actor request/reply health pills matching the platform shell's reachability surfacing.
See also
- Installed packages — what runs.
- Logs — log surface.
- Local apps — launcher.
- Reference: Diagnostics — raw probe data.
Source:
projects/matrix-3/packages/matrix-edge/src/main.ts:627-691for the three cards.edge-model.tsfor the data shapes.