From c550cd786a8d807066ce66e4f9bddab9c2799790 Mon Sep 17 00:00:00 2001 From: Juan Fernandez Date: Wed, 9 Jul 2025 17:32:39 -0400 Subject: [PATCH] Break host offline fleetd msg into multi-lines (#30703) For #21277 * Make sure host offline msg shown on Fleetd is displayed on multiple lines. * Hide About menu item if host is offline. --- orbit/cmd/desktop/desktop.go | 32 ++++++++++++++++++++------------ 1 file changed, 20 insertions(+), 12 deletions(-) diff --git a/orbit/cmd/desktop/desktop.go b/orbit/cmd/desktop/desktop.go index 9113eb4211..c0057ef92b 100644 --- a/orbit/cmd/desktop/desktop.go +++ b/orbit/cmd/desktop/desktop.go @@ -177,12 +177,12 @@ func main() { myDeviceItem.Disable() myDeviceItem.Hide() - hostOfflineItem := systray.AddMenuItem( - `🛜🚫 Your computer is offline. - -It might take up to 5 minutes to reconnect to Fleet.`, - "") - hostOfflineItem.Disable() + // We are doing this using two menu items because line breaks + // are not rendered correctly on Windows and MacOS. + hostOfflineItemOne := systray.AddMenuItem("🛜🚫 Your computer is offline.", "") + hostOfflineItemTwo := systray.AddMenuItem("It might take up to 5 minutes to reconnect to Fleet.", "") + hostOfflineItemOne.Disable() + hostOfflineItemTwo.Disable() selfServiceItem := systray.AddMenuItem("Self-service", "") selfServiceItem.Disable() @@ -191,6 +191,7 @@ It might take up to 5 minutes to reconnect to Fleet.`, transparencyItem := systray.AddMenuItem("About Fleet", "") transparencyItem.Disable() + transparencyItem.Hide() tokenReader := token.Reader{Path: identifierPath} if _, err := tokenReader.Read(); err != nil { @@ -238,7 +239,8 @@ It might take up to 5 minutes to reconnect to Fleet.`, migrateMDMItem.Disable() migrateMDMItem.Hide() - hostOfflineItem.Hide() + hostOfflineItemOne.Hide() + hostOfflineItemTwo.Hide() } reportError := func(err error, info map[string]any) { @@ -302,7 +304,8 @@ It might take up to 5 minutes to reconnect to Fleet.`, transparencyItem.Enable() transparencyItem.Show() - hostOfflineItem.Hide() + hostOfflineItemOne.Hide() + hostOfflineItemTwo.Hide() // Hide Self-Service for Free tier if errors.Is(err, service.ErrMissingLicense) || (summary.SelfService != nil && !*summary.SelfService) { @@ -363,21 +366,26 @@ It might take up to 5 minutes to reconnect to Fleet.`, sum, err := client.DesktopSummary(tokenReader.GetCached()) switch { case err == nil: - hostOfflineItem.Hide() + hostOfflineItemOne.Hide() + hostOfflineItemTwo.Hide() case errors.Is(err, service.ErrMissingLicense): myDeviceItem.SetTitle("My device") myDeviceItem.Show() - hostOfflineItem.Hide() + hostOfflineItemOne.Hide() + hostOfflineItemTwo.Hide() continue case errors.Is(err, service.ErrUnauthenticated): disableTray() - hostOfflineItem.Hide() + hostOfflineItemOne.Hide() + hostOfflineItemTwo.Hide() <-checkToken() continue default: myDeviceItem.Hide() transparencyItem.Disable() - hostOfflineItem.Show() + transparencyItem.Hide() + hostOfflineItemOne.Show() + hostOfflineItemTwo.Show() log.Error().Err(err).Msg("get desktop summary") continue }