瀏覽代碼

fix(rtc): doesn't automatically start after refreshing

rcmerci 6 月之前
父節點
當前提交
e4431a1d46
共有 2 個文件被更改,包括 8 次插入4 次删除
  1. 2 1
      src/main/frontend/handler/db_based/rtc_flows.cljs
  2. 6 3
      src/main/frontend/handler/user.cljs

+ 2 - 1
src/main/frontend/handler/db_based/rtc_flows.cljs

@@ -142,5 +142,6 @@ conditions:
      (map vector)
      network-online&rtc-not-running-flow)]
    (apply c.m/mix)
-   (m/eduction (filter (fn [_] (some? (state/get-auth-id-token)))))
+   (m/latest vector flows/current-login-user-flow)
+   (m/eduction (keep (fn [[current-user trigger-event]] (when current-user trigger-event))))
    (c.m/debounce 200)))

+ 6 - 3
src/main/frontend/handler/user.cljs

@@ -127,12 +127,16 @@
   ([id-token access-token]
    (state/set-auth-id-token id-token)
    (state/set-auth-access-token access-token)
-   (set-token-to-localstorage! id-token access-token))
+   (set-token-to-localstorage! id-token access-token)
+   (some->> (parse-jwt (state/get-auth-id-token))
+            (reset! flows/*current-login-user)))
   ([id-token access-token refresh-token]
    (state/set-auth-id-token id-token)
    (state/set-auth-access-token access-token)
    (state/set-auth-refresh-token refresh-token)
-   (set-token-to-localstorage! id-token access-token refresh-token)))
+   (set-token-to-localstorage! id-token access-token refresh-token)
+   (some->> (parse-jwt (state/get-auth-id-token))
+            (reset! flows/*current-login-user))))
 
 (defn- <refresh-tokens
   "return refreshed id-token, access-token"
@@ -201,7 +205,6 @@
    (:jwtToken (:idToken session))
    (:jwtToken (:accessToken session))
    (:token (:refreshToken session)))
-  (reset! flows/*current-login-user (parse-jwt (state/get-auth-id-token)))
   (state/pub-event! [:user/fetch-info-and-graphs]))
 
 (defn ^:export login-with-username-password-e2e