mirror of
https://github.com/rcourtman/Pulse.git
synced 2026-09-10 18:45:53 +00:00
9bcf767b1b
Two regressions surfaced by generating a real-mode agent report after a backend restart: - Report subject lookups used Monitor.GetUnifiedResources (the raw resource store), but the raw store's canonical IDs depend on per-boot ingest order for merged-source hosts: after a restart the same host resolved to a different agent-<hash> than the one the UI and /api/state advertise, so reports lost the resource name, availability, and metrics translation entirely. Subject enrichment now reads Monitor.UnifiedResourceSnapshot and MetricsTargetForResource resolves through GetUnifiedReadStateOrSnapshot first (raw store as fallback) - the same re-ingested registry every other read surface uses. - The performance summary card grid positions cards absolutely and never paginated: an agent host reporting 8+ metric families walked off the page bottom, fought fpdf's auto page break, and scattered one orphan element per page (a 7-day delly report rendered 18 pages, ten of them near-blank). The grid now starts a new page before a row that will not fit; the same report renders 9 pages with intact cards. Verified live: real-mode delly report shows name, 288 data points, availability, charts, and correctly paginated cards. The underlying canonical-ID instability (raw store vs re-ingested view, and the resource_changes journal fragmenting across boot eras) is a separate root issue tracked for its own fix.