mirror of
https://github.com/rcourtman/Pulse.git
synced 2026-09-11 22:12:23 +00:00
bc2cf8d400
Switches the configured-connections ledger in the infrastructure workspace from the legacy `useInfrastructureReportingState`-derived rows to `GET /api/connections`, so the table now reflects aggregator-derived state (active/paused/unauthorized/unreachable/stale/pending) and per-connection scope directly from the per-type config stores plus scheduler health. New frontend surfaces: - `useConnectionsLedger.ts` polls the unified aggregator every 15s and maps each `Connection` into an `InfrastructureSystemRow` with state badges, collection label, active-scope coverage labels, and a `connection` manage action. - `ConnectionDetailDrawer.tsx` renders the aggregator fields (type, address, state, stateReason, enabled, surfaces with active scope, last seen, last error, source) when a unified row is clicked, replacing `InfrastructureActiveRowDetails` for configured connections. `InfrastructureWorkspace` now composes its row list from the ledger plus the legacy monitoring-stopped rows (still driven by `useInfrastructureReportingState`) and no longer mounts the legacy active-row drawer. Ignored-inventory drill-in continues to use `InfrastructureIgnoredRowDetails` pending the phase 9 cleanup. `SystemManageAction` gains a `connection` variant so the workspace can differentiate unified-row clicks from monitoring-stopped rows without conflating them through the legacy `rowKey` path. Contracts updated: agent-lifecycle, frontend-primitives. Tests: `InfrastructureWorkspace.test.tsx` extended with a `connectionFixture`, asserts unified rows render with the new state badges, and the View-details click opens the new connection-detail drawer instead of calling `setExpandedRowKey`.