fix: App gets stuck on syncing process screen when scanning QR code v… (#18140)
* fix: App gets stuck on syncing process screen when scanning QR code via recovered profile with different passwords * update comment
This commit is contained in:
parent
f8e935c58d
commit
e06d8cb106
|
@ -95,8 +95,9 @@
|
||||||
accounts-data)))
|
accounts-data)))
|
||||||
|
|
||||||
(rf/defn save-account-and-login
|
(rf/defn save-account-and-login
|
||||||
[_ key-uid multiaccount-data password settings node-config accounts-data]
|
[{:keys [db]} key-uid multiaccount-data password settings node-config accounts-data]
|
||||||
{::save-account-and-login [key-uid
|
{:db (assoc-in db [:syncing :login-sha3-password] password)
|
||||||
|
::save-account-and-login [key-uid
|
||||||
(types/clj->json multiaccount-data)
|
(types/clj->json multiaccount-data)
|
||||||
password
|
password
|
||||||
(types/clj->json settings)
|
(types/clj->json settings)
|
||||||
|
|
|
@ -22,7 +22,8 @@
|
||||||
:network/type type
|
:network/type type
|
||||||
:initials-avatar-font-file initials-avatar-font-file
|
:initials-avatar-font-file initials-avatar-font-file
|
||||||
:keycard (dissoc keycard :secrets :pin :application-info)
|
:keycard (dissoc keycard :secrets :pin :application-info)
|
||||||
:biometric/supported-type supported-type)})
|
:biometric/supported-type supported-type
|
||||||
|
:syncing nil)})
|
||||||
|
|
||||||
(rf/defn logout-method
|
(rf/defn logout-method
|
||||||
{:events [::logout-method]}
|
{:events [::logout-method]}
|
||||||
|
|
|
@ -9,11 +9,13 @@
|
||||||
|
|
||||||
(rf/defn create-profile-and-login
|
(rf/defn create-profile-and-login
|
||||||
{:events [:profile.create/create-and-login]}
|
{:events [:profile.create/create-and-login]}
|
||||||
[_ {:keys [display-name password image-path color]}]
|
[{:keys [db]} {:keys [display-name password image-path color]}]
|
||||||
{:effects.profile/create-and-login
|
(let [login-sha3-password (native-module/sha3 (security/safe-unmask-data password))]
|
||||||
(assoc (profile.config/create)
|
{:db (assoc-in db [:syncing :login-sha3-password] login-sha3-password)
|
||||||
:displayName display-name
|
:effects.profile/create-and-login
|
||||||
:password (native-module/sha3 (security/safe-unmask-data password))
|
(assoc (profile.config/create)
|
||||||
:imagePath (profile.config/strip-file-prefix image-path)
|
:displayName display-name
|
||||||
:customizationColor color
|
:password login-sha3-password
|
||||||
:emoji (emoji-picker.utils/random-emoji))})
|
:imagePath (profile.config/strip-file-prefix image-path)
|
||||||
|
:customizationColor color
|
||||||
|
:emoji (emoji-picker.utils/random-emoji))}))
|
||||||
|
|
|
@ -33,9 +33,12 @@
|
||||||
(rf/defn login
|
(rf/defn login
|
||||||
{:events [:profile.login/login]}
|
{:events [:profile.login/login]}
|
||||||
[{:keys [db]}]
|
[{:keys [db]}]
|
||||||
(let [{:keys [key-uid password]} (:profile/login db)]
|
(let [{:keys [key-uid password]} (:profile/login db)
|
||||||
{:db (assoc-in db [:profile/login :processing] true)
|
login-sha3-password (native-module/sha3 (security/safe-unmask-data password))]
|
||||||
:effects.profile/login [key-uid (native-module/sha3 (security/safe-unmask-data password))]}))
|
{:db (-> db
|
||||||
|
(assoc-in [:profile/login :processing] true)
|
||||||
|
(assoc-in [:syncing :login-sha3-password] login-sha3-password))
|
||||||
|
:effects.profile/login [key-uid login-sha3-password]}))
|
||||||
|
|
||||||
(rf/defn biometrics-login
|
(rf/defn biometrics-login
|
||||||
{:events [:profile.login/biometrics-login]}
|
{:events [:profile.login/biometrics-login]}
|
||||||
|
@ -48,6 +51,10 @@
|
||||||
{:events [:profile.login/local-paired-user]}
|
{:events [:profile.login/local-paired-user]}
|
||||||
[{:keys [db]}]
|
[{:keys [db]}]
|
||||||
(let [{:keys [key-uid password]} (get-in db [:syncing :profile])
|
(let [{:keys [key-uid password]} (get-in db [:syncing :profile])
|
||||||
|
login-sha3-password (get-in db [:syncing :login-sha3-password])
|
||||||
|
password (if-not (nil? login-sha3-password) ;; already logged in
|
||||||
|
login-sha3-password
|
||||||
|
password)
|
||||||
masked-password (security/mask-data password)]
|
masked-password (security/mask-data password)]
|
||||||
{:db (-> db
|
{:db (-> db
|
||||||
(assoc-in [:onboarding/profile :password] masked-password)
|
(assoc-in [:onboarding/profile :password] masked-password)
|
||||||
|
|
|
@ -10,14 +10,17 @@
|
||||||
(rf/defn recover-profile-and-login
|
(rf/defn recover-profile-and-login
|
||||||
{:events [:profile.recover/recover-and-login]}
|
{:events [:profile.recover/recover-and-login]}
|
||||||
[{:keys [db]} {:keys [display-name password image-path color seed-phrase]}]
|
[{:keys [db]} {:keys [display-name password image-path color seed-phrase]}]
|
||||||
{:db
|
(let [login-sha3-password (native-module/sha3 (security/safe-unmask-data password))]
|
||||||
(assoc db :onboarding/recovered-account? true)
|
{:db
|
||||||
|
(-> db
|
||||||
|
(assoc :onboarding/recovered-account? true)
|
||||||
|
(assoc-in [:syncing :login-sha3-password] login-sha3-password))
|
||||||
|
|
||||||
:effects.profile/restore-and-login
|
:effects.profile/restore-and-login
|
||||||
(merge (profile.config/create)
|
(merge (profile.config/create)
|
||||||
{:displayName display-name
|
{:displayName display-name
|
||||||
:mnemonic (security/safe-unmask-data seed-phrase)
|
:mnemonic (security/safe-unmask-data seed-phrase)
|
||||||
:password (native-module/sha3 (security/safe-unmask-data password))
|
:password login-sha3-password
|
||||||
:imagePath (profile.config/strip-file-prefix image-path)
|
:imagePath (profile.config/strip-file-prefix image-path)
|
||||||
:customizationColor color
|
:customizationColor color
|
||||||
:emoji (emoji-picker.utils/random-emoji)})})
|
:emoji (emoji-picker.utils/random-emoji)})}))
|
||||||
|
|
Loading…
Reference in New Issue