diff --git a/app.go b/app.go index b87fb33c..8a434363 100644 --- a/app.go +++ b/app.go @@ -292,11 +292,13 @@ func (h *Headscale) expireEphemeralNodesWorker() { return } + expiredFound := false for _, machine := range machines { if machine.AuthKey != nil && machine.LastSeen != nil && machine.AuthKey.Ephemeral && time.Now(). After(machine.LastSeen.Add(h.cfg.EphemeralNodeInactivityTimeout)) { + expiredFound = true log.Info(). Str("machine", machine.Name). Msg("Ephemeral client removed from database") @@ -311,7 +313,9 @@ func (h *Headscale) expireEphemeralNodesWorker() { } } - h.setLastStateChangeToNow(namespace.Name) + if expiredFound { + h.setLastStateChangeToNow(namespace.Name) + } } }