From 0ea3dfca62f511fbf22a0230e1c98fd184a9458d Mon Sep 17 00:00:00 2001 From: Ben Gotow Date: Wed, 2 Sep 2015 11:02:18 -0700 Subject: [PATCH] fix(T3474): After authentication when main window already visible, close onboarding window Summary: Fixes T3474 Test Plan: Run tests Reviewers: dillon, evan Reviewed By: dillon, evan Maniphest Tasks: T3474 Differential Revision: https://phab.nylas.com/D1967 --- src/browser/application.coffee | 2 +- src/browser/atom-window.coffee | 15 +++++++-------- src/browser/window-manager.coffee | 2 -- src/flux/edgehill-api.coffee | 1 + 4 files changed, 9 insertions(+), 11 deletions(-) diff --git a/src/browser/application.coffee b/src/browser/application.coffee index 13eed4b8d..adbf962c3 100644 --- a/src/browser/application.coffee +++ b/src/browser/application.coffee @@ -172,7 +172,7 @@ class Application _loginSuccessful: => @openWindowsForTokenState() - @windowManager.mainWindow().once 'window:loaded', => + @windowManager.mainWindow().waitForLoad => @windowManager.onboardingWindow()?.close() databasePhase: -> diff --git a/src/browser/atom-window.coffee b/src/browser/atom-window.coffee index 6eaee6085..8e9bd8066 100644 --- a/src/browser/atom-window.coffee +++ b/src/browser/atom-window.coffee @@ -199,11 +199,8 @@ class AtomWindow @browserWindow.focusOnWebView() unless @isWindowClosing sendMessage: (message, detail) -> - if @loaded + @waitForLoad => @browserWindow.webContents.send(message, detail) - else - @browserWindow.once 'window:loaded', => - @browserWindow.webContents.send(message, detail) sendCommand: (command, args...) -> if @isSpecWindow() @@ -233,13 +230,15 @@ class AtomWindow show: -> @browserWindow.show() showWhenLoaded: -> - if @loaded + @waitForLoad => @show() @focus() + + waitForLoad: (fn) -> + if @loaded + fn() else - @once 'window:loaded', => - @show() - @focus() + @once('window:loaded', fn) focus: -> @browserWindow.focus() diff --git a/src/browser/window-manager.coffee b/src/browser/window-manager.coffee index d6e6b1d98..b539212ed 100644 --- a/src/browser/window-manager.coffee +++ b/src/browser/window-manager.coffee @@ -62,8 +62,6 @@ class WindowManager @_mainWindow.focus() else if !@_mainWindow.isVisible() @_mainWindow.showWhenLoaded() - else - @_mainWindow.focus() else if @devMode diff --git a/src/flux/edgehill-api.coffee b/src/flux/edgehill-api.coffee index a750145b8..7692bf904 100644 --- a/src/flux/edgehill-api.coffee +++ b/src/flux/edgehill-api.coffee @@ -81,6 +81,7 @@ class EdgehillAPI if token.provider is 'inbox' token.provider = 'nylas' atom.config.set('tokens', incoming) + atom.config.save() unlinkToken: (token) -> @request