health: send ImpactsConnectivity value over LocalAPI (#12700)

Updates tailscale/tailscale#4136

We should make sure to send the value of ImpactsConnectivity over to the clients using LocalAPI as they need it to display alerts in the GUI properly.

Signed-off-by: Andrea Gottardo <andrea@gottardo.me>
This commit is contained in:
Andrea Gottardo 2024-07-03 13:19:06 -07:00 committed by GitHub
parent 42f01afe26
commit 309afa53cf
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 19 additions and 17 deletions

View File

@ -30,6 +30,7 @@ type UnhealthyState struct {
BrokenSince *time.Time `json:",omitempty"` BrokenSince *time.Time `json:",omitempty"`
Args Args `json:",omitempty"` Args Args `json:",omitempty"`
DependsOn []WarnableCode `json:",omitempty"` DependsOn []WarnableCode `json:",omitempty"`
ImpactsConnectivity bool `json:",omitempty"`
} }
// unhealthyState returns a unhealthyState of the Warnable given its current warningState. // unhealthyState returns a unhealthyState of the Warnable given its current warningState.
@ -61,6 +62,7 @@ func (w *Warnable) unhealthyState(ws *warningState) *UnhealthyState {
BrokenSince: &ws.BrokenSince, BrokenSince: &ws.BrokenSince,
Args: ws.Args, Args: ws.Args,
DependsOn: dependsOnWarnableCodes, DependsOn: dependsOnWarnableCodes,
ImpactsConnectivity: w.ImpactsConnectivity,
} }
} }

View File

@ -94,13 +94,13 @@ var LoginStateWarnable = Register(&Warnable{
}, },
}) })
// notInMapPollWarnable is a Warnable that warns the user that they cannot connect to the control server. // notInMapPollWarnable is a Warnable that warns the user that we are using a stale network map.
var notInMapPollWarnable = Register(&Warnable{ var notInMapPollWarnable = Register(&Warnable{
Code: "not-in-map-poll", Code: "not-in-map-poll",
Title: "Cannot connect to control server", Title: "Out of sync",
Severity: SeverityMedium, Severity: SeverityMedium,
DependsOn: []*Warnable{NetworkStatusWarnable}, DependsOn: []*Warnable{NetworkStatusWarnable},
Text: StaticMessage("Cannot connect to the control server (not in map poll). Check your Internet connection."), Text: StaticMessage("Unable to connect to the Tailscale coordination server to synchronize the state of your tailnet. Peer reachability might degrade over time."),
}) })
// noDERPHomeWarnable is a Warnable that warns the user that Tailscale doesn't have a home DERP. // noDERPHomeWarnable is a Warnable that warns the user that Tailscale doesn't have a home DERP.