Explorar el Código

enhance(ux): auth callback from external link

charlie hace 2 años
padre
commit
2f87429f95

+ 6 - 8
src/main/electron/listener.cljs

@@ -28,7 +28,7 @@
   "Force the callback result to be nil, otherwise, ipc calls could lead to
   window crash."
   [k f]
-  (js/window.apis.on k (fn [data] (f data) nil)))
+  (js/window.apis.on (name k) (fn [data] (f data) nil)))
 
 (defn persist-dbs!
   []
@@ -154,18 +154,16 @@
                      (dom/set-text! (dom/by-id "search-in-page-placeholder") "")
                      (ui/focus-element "search-in-page-input"))))
 
-  (safe-api-call "loginCallback"
+  (safe-api-call :loginCallback
                  (fn [code]
                    (user/login-callback code)))
 
-  (safe-api-call "authCallback"
+  (safe-api-call :authCallback
                  (fn [^js payload]
                    (when-let [{:keys [session]} (bean/->clj payload)]
-                     (let [delay (if (user/logged-in?) (or (user/logout!) 2000) 0)]
-                       (-> (p/delay delay)
-                           (p/then
-                             (fn []
-                               (user/login-callback session))))))))
+                     (-> (if (user/logged-in?) (user/logout!) (p/resolved 1))
+                         (p/then (fn []
+                                   (user/login-callback session)))))))
 
   (safe-api-call "quickCapture"
                  (fn [args]

+ 1 - 3
src/main/frontend/components/user/login.cljs

@@ -33,14 +33,12 @@
 
 (rum/defc user-pane
   [_sign-out! user]
-  (let [session  (:signInUserSession user)
-        username (:username user)]
+  (let [session  (:signInUserSession user)]
 
     (rum/use-effect!
       (fn []
         (when session
           (user/login-callback session)
-          (notification/show! (str "Hi, " username " :)") :success)
           (state/close-modal!)))
       [])
 

+ 1 - 0
src/main/frontend/handler/user.cljs

@@ -177,6 +177,7 @@
    (:jwtToken (:idToken session))
    (:jwtToken (:accessToken session))
    (:token (:refreshToken session)))
+  (notification/show! (str "Hi, " (username) " :)") :success)
   (state/pub-event! [:user/fetch-info-and-graphs]))
 
 (defn ^:export login-with-username-password-e2e