mirror of
https://github.com/rcourtman/Pulse.git
synced 2026-09-10 10:35:51 +00:00
53faa4e46a
Ingest stamped every resource's SourceStatus "online" and replaced a zero LastSeen with time.Now(), so a source that never delivered a resource (synthesized offline PVE placeholders, never-polled instances) reported a fresh sighting and a healthy source forever: markStaleLocked skips zero LastSeen entries, so the stamp was permanently exempt from stale-marking. That fabricated freshness fed monitor previous-state reads (the resurrection loop mitigated in8372a22c5), the frontend lastSeen display, the monitored-systems ledger, and AI/agent context. - ingest/mergeInto/IngestResources/presentation coalesce: stamp per-source delivery status from the actual sighting ("unknown" when the source has never delivered, "online" otherwise) and preserve zero LastSeen instead of substituting ingest time. - replaceRegistry: run MarkStale over the fully assembled registry. The IngestSnapshot stale pass ran before record sources (TrueNAS, VMware) were ingested, leaving them stamped "online" at any age. - monitorLastSeenUnix: report 0 for never-seen instead of time.Now(), so the frontend renders a dash rather than "just now". - connected infrastructure: clamp zero LastSeen to 0 ms instead of the negative UnixMilli of the zero time. preserveOrExpireNodes keeps requiring a real online sighting for grace; the registry no longer manufactures the timestamps that made that guard necessary, so the8372a22c5failure mode is impossible by construction.