mirror of
https://github.com/netbirdio/netbird.git
synced 2026-05-16 13:49:58 +00:00
Three tray fixes after the SubscribeStatus stream refactor: * loadProfiles now serializes via a dedicated profileLoadMu and runs AFTER the SetHidden/SetEnabled writes inside applyStatus's iconChanged block. Previously the status-driven refresh fired before the menu-item writes finished, so processMenu's clearMenu/re-add NSMenu rebuild raced against SetHidden on darwin — the Disconnect entry could end up visible-but-disabled even when applyStatus had requested it hidden. * The status row is no longer a hidden "Login" entry. It now renders as a plain enabled label (so the text isn't greyed out) but has no OnClick handler — clicks are no-ops, matching the legacy Fyne UI. All actionable transitions flow through Connect/Disconnect. * handleConnect routes NeedsLogin/SessionExpired/LoginFailed to the frontend's /login route (which already runs Login → WaitSSOLogin → Up) instead of calling Up directly. The plain Up RPC errors with "up already in progress: current status NeedsLogin" in those states; the legacy Fyne UI drove the SSO dance from the Connect button as well.