[client/ui] Always use async Up in the UI service layer

The UI never needs to block on Up — status updates flow via the
SubscribeStatus stream. Hardcode Async:true in Connection.Up and remove
the Async field from UpParams so frontend callers are unaffected.
This commit is contained in:
Zoltan Papp
2026-05-13 16:02:24 +02:00
parent 209f14fc2f
commit eb6be5a2f3
3 changed files with 5 additions and 9 deletions

View File

@@ -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<void>}
*/

View File

@@ -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)
}

View File

@@ -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)
}