From 5a018c7209743a79885d13af570fc47f4b93af87 Mon Sep 17 00:00:00 2001 From: Elias Naur Date: Fri, 24 Jul 2020 20:12:25 +0200 Subject: [PATCH] cmd/tailscale: reset loader indicator after Google Sign-in Signed-off-by: Elias Naur --- cmd/tailscale/main.go | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) diff --git a/cmd/tailscale/main.go b/cmd/tailscale/main.go index 9d0683f..dc4c407 100644 --- a/cmd/tailscale/main.go +++ b/cmd/tailscale/main.go @@ -83,6 +83,10 @@ type SearchEvent struct { Query string } +type OAuth2Event struct { + Token *oauth2.Token +} + // UIEvent types. type ( ToggleEvent struct{} @@ -226,17 +230,14 @@ func (a *App) runBackend() error { alarm(a.notifyExpiry(service, m.Expiry)) } } - case tok := <-onGoogleToken: - go b.backend.Login(&oauth2.Token{ - AccessToken: tok, - TokenType: ipn.GoogleIDTokenType, - }) case <-alarmChan: if m := state.NetworkMap; m != nil && service != 0 { alarm(a.notifyExpiry(service, m.Expiry)) } case e := <-backendEvents: switch e := e.(type) { + case OAuth2Event: + go b.backend.Login(e.Token) case ToggleEvent: prefs.WantRunning = !prefs.WantRunning go b.backend.SetPrefs(prefs) @@ -432,6 +433,14 @@ func (a *App) runUI() error { select { case <-a.vpnClosed: requestBackend(ConnectEvent{Enable: false}) + case tok := <-onGoogleToken: + ui.signinType = noSignin + requestBackend(OAuth2Event{ + Token: &oauth2.Token{ + AccessToken: tok, + TokenType: ipn.GoogleIDTokenType, + }, + }) case <-a.updates: a.mu.Lock() oldState := state.backend.State