controlclient,health,ipnlocal,tailcfg: add DisplayMessage support

Updates tailscale/corp#27759

Signed-off-by: James Sanderson <jsanderson@tailscale.com>
This commit is contained in:
James Sanderson
2025-05-07 17:01:40 +01:00
committed by James 'zofrex' Sanderson
parent 5b670eb3a5
commit 11e83f9da5
7 changed files with 417 additions and 22 deletions
+8 -1
View File
@@ -5828,7 +5828,14 @@ func (b *LocalBackend) setNetMapLocked(nm *netmap.NetworkMap) {
b.pauseOrResumeControlClientLocked()
if nm != nil {
b.health.SetControlHealth(nm.DisplayMessages)
messages := make(map[tailcfg.DisplayMessageID]tailcfg.DisplayMessage)
for id, msg := range nm.DisplayMessages {
if msg.PrimaryAction != nil && !b.validPopBrowserURL(msg.PrimaryAction.URL) {
msg.PrimaryAction = nil
}
messages[id] = msg
}
b.health.SetControlHealth(messages)
} else {
b.health.SetControlHealth(nil)
}