diff --git a/internal/monitor/monitor.go b/internal/monitor/monitor.go index 1497805..1483ecf 100644 --- a/internal/monitor/monitor.go +++ b/internal/monitor/monitor.go @@ -283,8 +283,6 @@ func (e *Engine) Start(ctx context.Context) { default: } - e.refreshMaintenanceCache(ctx) - configs, err := e.db.GetSites(ctx) if err != nil { e.AddLog(fmt.Sprintf("Failed to load sites: %v", err)) @@ -327,6 +325,10 @@ func (e *Engine) Start(ctx context.Context) { } } + // Refresh after sites load so the cache covers newly added sites. + // On first iteration liveState was empty before the loop above. + e.refreshMaintenanceCache(ctx) + e.mu.RLock() var vanished []int for id := range e.liveState {