Commit ece5971
committed
Move post-unlock navigation from SessionLockListener to UnlockAccount
The SessionLockListener was navigating to /account on SESSION_UNLOCKED
from the /unlock-account route. Because runtime.sendMessage broadcasts
to every extension context — including the popup that initiated the
unlock via confirmPassword — this navigation raced the UnlockAccount
post-submit navigation. In the grant-access flow that meant the popup
sometimes landed on /account instead of the /grant-access destination
preserved via state.from, which broke the
freighterApiIntegration.test.ts "should get public key when logged
out" e2e test.
Move navigation responsibility to UnlockAccount itself: it watches
hasPrivateKey in redux and navigates to from || /account on the
false → true transition. This unifies both surfaces — the one that
submitted the password and the passive surface that received the
cross-surface SESSION_UNLOCKED broadcast — through a single code path
and removes the race.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>1 parent 2013aad commit ece5971
3 files changed
Lines changed: 33 additions & 22 deletions
File tree
- extension/src/popup
- components
- SessionLockListener
- __tests__
- views/UnlockAccount
Lines changed: 11 additions & 6 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
72 | 72 | | |
73 | 73 | | |
74 | 74 | | |
| 75 | + | |
| 76 | + | |
| 77 | + | |
| 78 | + | |
| 79 | + | |
| 80 | + | |
| 81 | + | |
| 82 | + | |
| 83 | + | |
| 84 | + | |
| 85 | + | |
75 | 86 | | |
76 | 87 | | |
77 | 88 | | |
78 | | - | |
79 | | - | |
80 | | - | |
81 | | - | |
82 | | - | |
83 | | - | |
84 | 89 | | |
85 | 90 | | |
86 | 91 | | |
| |||
Lines changed: 2 additions & 10 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
168 | 168 | | |
169 | 169 | | |
170 | 170 | | |
171 | | - | |
| 171 | + | |
172 | 172 | | |
173 | 173 | | |
174 | 174 | | |
175 | 175 | | |
176 | | - | |
177 | | - | |
178 | | - | |
179 | | - | |
180 | | - | |
181 | | - | |
182 | | - | |
183 | | - | |
184 | | - | |
| 176 | + | |
185 | 177 | | |
186 | 178 | | |
187 | 179 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | 2 | | |
3 | | - | |
| 3 | + | |
4 | 4 | | |
5 | | - | |
| 5 | + | |
6 | 6 | | |
7 | 7 | | |
8 | 8 | | |
| |||
12 | 12 | | |
13 | 13 | | |
14 | 14 | | |
| 15 | + | |
15 | 16 | | |
16 | 17 | | |
17 | 18 | | |
| |||
30 | 31 | | |
31 | 32 | | |
32 | 33 | | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
33 | 42 | | |
34 | 43 | | |
35 | | - | |
36 | | - | |
37 | | - | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
38 | 52 | | |
39 | 53 | | |
40 | | - | |
| 54 | + | |
41 | 55 | | |
42 | 56 | | |
43 | 57 | | |
| |||
0 commit comments