mirror of
https://github.com/rcourtman/Pulse.git
synced 2026-10-14 00:00:30 +00:00
8372a22c51
A configured PVE instance that was already down when Pulse started had no node state, so the unreachable-poll path returned without writing anything and the instance was invisible on the Proxmox overview until its first successful poll. Synthesize offline node entries from the instance config in that case: cluster configs get one row per discovered member endpoint with the same node ID a live poll would assign, standalone instances get a single row named after the configured instance. The next successful poll replaces them wholesale. Also stop the offline grace policy from resurrecting such placeholders. Previous node state round-trips through the unified registry, which stamps zero LastSeen values with the ingest time, so a never-seen placeholder came back "recently seen" every cycle and flipped to a permanent online/degraded state. Grace now requires a real online sighting: a nodeLastOnline entry from this process, or a previous snapshot that itself reports the node online with a recent poll timestamp. Verified live on the dev stack: a synthetic instance pointing at an unreachable TEST-NET address appears as an offline node row on the Proxmox overview immediately after a fresh-state backend start and stays offline past the grace and stale windows. Fixes #1433