diff --git a/client/ui/frontend/bindings/github.com/netbirdio/netbird/client/ui/services/profileswitcher.js b/client/ui/frontend/bindings/github.com/netbirdio/netbird/client/ui/services/profileswitcher.js index 6020c6fc2..f0d5a4004 100644 --- a/client/ui/frontend/bindings/github.com/netbirdio/netbird/client/ui/services/profileswitcher.js +++ b/client/ui/frontend/bindings/github.com/netbirdio/netbird/client/ui/services/profileswitcher.js @@ -31,8 +31,9 @@ import * as $models from "./models.js"; /** * SwitchActive switches to the named profile applying the reconnect policy. - * It returns after the Switch RPC completes so the caller can refresh its UI - * immediately; Down and Up run in a background goroutine. + * All RPCs complete quickly: Up uses async mode so the daemon starts the + * connection attempt and returns immediately; status updates flow via the + * SubscribeStatus stream. * @param {$models.ProfileRef} p * @returns {$CancellablePromise} */ diff --git a/client/ui/services/connection.go b/client/ui/services/connection.go index ada90d621..97653dc33 100644 --- a/client/ui/services/connection.go +++ b/client/ui/services/connection.go @@ -42,11 +42,6 @@ type WaitSSOParams struct { type UpParams struct { ProfileName string `json:"profileName"` Username string `json:"username"` - // Async instructs the daemon to start the connection and return - // immediately. Status updates flow via the SubscribeStatus stream. - // When false (the default) the RPC blocks until connected, which is - // the CLI behaviour. - Async bool `json:"async"` } // LogoutParams selects the profile the daemon should log out. @@ -152,7 +147,8 @@ func (s *Connection) Up(ctx context.Context, p UpParams) error { if err != nil { return err } - req := &proto.UpRequest{Async: p.Async} + // The UI always uses async mode: status updates flow via SubscribeStatus. + req := &proto.UpRequest{Async: true} if p.ProfileName != "" { req.ProfileName = ptrStr(p.ProfileName) } diff --git a/client/ui/services/profileswitcher.go b/client/ui/services/profileswitcher.go index 12d92101f..855097749 100644 --- a/client/ui/services/profileswitcher.go +++ b/client/ui/services/profileswitcher.go @@ -72,7 +72,6 @@ func (s *ProfileSwitcher) SwitchActive(ctx context.Context, p ProfileRef) error if err := s.connection.Up(ctx, UpParams{ ProfileName: p.ProfileName, Username: p.Username, - Async: true, }); err != nil { return fmt.Errorf("reconnect %q: %w", p.ProfileName, err) }