Skip to content

Commit e5b23c6

Browse files
clauxxilmotta
authored andcommitted
Fix "Failed to get dApps" error when a session expired (#21531)
* fix: pass the topic instead of entire session * chore: added logs for future debugging
1 parent e8ff0c8 commit e5b23c6

File tree

2 files changed

+11
-5
lines changed

2 files changed

+11
-5
lines changed

src/status_im/contexts/wallet/wallet_connect/events/session_proposals.cljs

+1
Original file line numberDiff line numberDiff line change
@@ -142,6 +142,7 @@
142142

143143
(rf/reg-event-fx :wallet-connect/approve-session-success
144144
(fn [{:keys [db]} [session]]
145+
(log/info "Successfully approved WalletConnect session" session)
145146
(let [total-connected-dapps (data-store/get-total-connected-dapps db)]
146147
{:fx [[:dispatch [:wallet-connect/on-new-session session]]
147148
[:dispatch [:wallet-connect/reset-current-session-proposal]]

src/status_im/contexts/wallet/wallet_connect/utils/sessions.cljs

+10-5
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,7 @@
5454
(assoc session
5555
:accounts
5656
(-> sessionJson
57+
transforms/json->clj
5758
:namespaces
5859
:eip155
5960
:accounts)))
@@ -93,10 +94,10 @@
9394
(defn sync-persisted-sessions
9495
[active-sessions persisted-sessions]
9596
(-> (promesa/all
96-
(for [topic (find-inactive-sessions active-sessions
97-
persisted-sessions)]
98-
(do (log/info "Syncing disconnected session with persistance" topic)
99-
(rpc/wallet-disconnect-persisted-session topic))))
97+
(for [session (find-inactive-sessions active-sessions
98+
persisted-sessions)]
99+
(do (log/info "Syncing disconnected session with persistance" session)
100+
(rpc/wallet-disconnect-persisted-session (:topic session)))))
100101
(promesa/catch (fn [err]
101102
(throw (ex-info "Failed to synchronize persisted sessions"
102103
{:error err
@@ -107,7 +108,11 @@
107108
(promesa/let [persisted-sessions (get-persisted-sessions)]
108109
(if online?
109110
(promesa/let [active-sessions (get-active-sessions web3-wallet addresses)]
110-
(sync-persisted-sessions active-sessions persisted-sessions)
111+
(log/info "Got active Wallet Connect sessions" (map :topic active-sessions))
112+
;; NOTE: handling the error here, so that if persistance fails, it doesn't affect the active
113+
;; sessions
114+
(-> (sync-persisted-sessions active-sessions persisted-sessions)
115+
(promesa/catch #(log/error %)))
111116
active-sessions)
112117
persisted-sessions)))
113118

0 commit comments

Comments
 (0)