feat(web): show MazeNET decky running count + roll into dashboard

MazeNET header now reports '{running}/{total} DECKIES RUNNING' so
operators can see per-topology runtime status at a glance.

Dashboard ACTIVE DECKIES counters used to reflect only the fleet state
file; TopologyDecky rows (MazeNET deployments) are now added in —
deployed_deckies = fleet + all topology rows, active_deckies = fleet
(no runtime field) + topology rows whose state is 'running'.
This commit is contained in:
2026-04-22 17:48:04 -04:00
parent b802d59c70
commit 3f460bab84
2 changed files with 19 additions and 4 deletions

View File

@@ -529,6 +529,8 @@ const MazeNET: React.FC = () => {
}, []);
const canDeploy = topoStatus === 'pending' && nets.length > 0;
const deckyNodes = nodes.filter((n) => n.kind === 'decky');
const runningDeckies = deckyNodes.filter((n) => n.status === 'active').length;
return (
<div className="maze-page">
@@ -537,7 +539,8 @@ const MazeNET: React.FC = () => {
<h1>MAZENET · {topoName || topologyId}</h1>
<div className="maze-page-sub">
NETWORK OF NETWORKS · {topoStatus.toUpperCase()} · v{topoVersion} ·{' '}
{nets.length} NETS · {nodes.length} NODES · {edges.length} PATHS
{nets.length} NETS · {nodes.length} NODES · {edges.length} PATHS ·{' '}
{runningDeckies}/{deckyNodes.length} DECKIES RUNNING
{streamEnabled && (
<span className="alert-text" style={{ color: streamLive ? undefined : 'var(--fg-dim)' }}>
{' '}· {streamLive ? 'LIVE' : 'CONNECTING…'}