tailscale/health
Nick Khyl 4d68493144 health: avoid publishing health.Change when warnable visibility remains unchanged
Warnables with a non-zero TimeToVisible are only published on the eventbus when
they remain unhealthy long enough to become visible.

However, we still publish a health.Change when a warning that was never visible
(and was never published to the eventbus) becomes healthy.

This PR fixes that and reduces churn when there is no actual state change. In
particular, it avoids unnecessary IPN bus notifications sent to GUI/CLI clients,
captive portal detection, etc.

Updates tailscale/corp#39759 (noticed while working on it)

Signed-off-by: Nick Khyl <nickk@tailscale.com>
2026-05-13 17:02:35 -05:00
..
healthmsg cmd/tailscale,ipn,net/netutil: remove rp_filter strict mode warnings (#18863) 2026-03-04 14:09:19 -05:00
args.go all: remove AUTHORS file and references to it 2026-01-23 15:49:45 -08:00
health_test.go health: avoid publishing health.Change when warnable visibility remains unchanged 2026-05-13 17:02:35 -05:00
health.go health: avoid publishing health.Change when warnable visibility remains unchanged 2026-05-13 17:02:35 -05:00
state.go health: always include control health messages in the current state 2026-02-13 13:45:54 -06:00
usermetrics_omit.go all: remove AUTHORS file and references to it 2026-01-23 15:49:45 -08:00
usermetrics.go all: remove AUTHORS file and references to it 2026-01-23 15:49:45 -08:00
warnings.go control,health,ipn: move IP forwarding check to health tracker (#19007) 2026-03-18 16:24:12 -04:00