mirror of
https://github.com/tailscale/tailscale.git
synced 2026-09-13 14:29:49 -04:00
The suggest-exit-node LocalAPI response omits the Location field when the suggested exit node has no location, such as a regular tailnet exit node. Building the exit node menu called CountryCode and City on the invalid view unconditionally, crashing the app on startup. The crash was introduced inaa21b0c00(#19627), which added those calls. Add an integration test that starts the systray app against a private dbus session bus, a fake StatusNotifierWatcher, and a fake LocalAPI serving such a suggestion, then verifies the StatusNotifierItem is registered and the initial menu is built. On Linux the systray is pure dbus (StatusNotifierItem and dbusmenu), so no X server or desktop environment is needed and the test runs in existing CI. Fixes #20678 Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com> Change-Id: I262ae0f724cb7c41aa0f531fcbded967e5bee432 (cherry picked from commit77948cdce4)