Repository navigation
Commit 5009842
committed
fix(router): reset internal state on error handler redirect after state commit
When an error occurs during route activation (after `BeforeActivateRoutes` has
already committed `targetRouterState`) and `withNavigationErrorHandler` returns
a `RedirectCommand`, the transition emits a redirecting `NavigationCancel`
instead of `NavigationError`. Previously, `StateManager` skipped resetting
internal state on all redirecting cancellations because redirects from guards
and resolvers happen prior to `BeforeActivateRoutes`. This left the half-activated
`targetRouterState` (whose unactivated routes do not yet have `snapshot`
assigned) as the current `routerState` for the subsequent redirect navigation.
This change ensures `setBrowserUrl` runs before `commitTransition` in
`HistoryStateManager` (matching `NavigationStateManager`) and resets internal
state if a redirecting cancellation occurs after `targetRouterState` was already
committed.
Fixes #711261 parent 7385890 commit 5009842
3 files changed
Lines changed: 39 additions & 6 deletions
Lines changed: 4 additions & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
320 | 320 | | |
321 | 321 | | |
322 | 322 | | |
323 | | - | |
| 323 | + | |
324 | 324 | | |
| 325 | + | |
| 326 | + | |
| 327 | + | |
325 | 328 | | |
326 | 329 | | |
327 | 330 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
229 | 229 | | |
230 | 230 | | |
231 | 231 | | |
232 | | - | |
233 | 232 | | |
234 | 233 | | |
235 | 234 | | |
236 | | - | |
237 | | - | |
| 235 | + | |
| 236 | + | |
| 237 | + | |
| 238 | + | |
| 239 | + | |
| 240 | + | |
| 241 | + | |
238 | 242 | | |
239 | 243 | | |
240 | 244 | | |
| |||
Lines changed: 28 additions & 2 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
132 | 132 | | |
133 | 133 | | |
134 | 134 | | |
135 | | - | |
136 | 135 | | |
137 | 136 | | |
138 | 137 | | |
| |||
171 | 170 | | |
172 | 171 | | |
173 | 172 | | |
174 | | - | |
175 | 173 | | |
176 | 174 | | |
177 | 175 | | |
| |||
219 | 217 | | |
220 | 218 | | |
221 | 219 | | |
| 220 | + | |
| 221 | + | |
| 222 | + | |
| 223 | + | |
| 224 | + | |
| 225 | + | |
| 226 | + | |
| 227 | + | |
| 228 | + | |
| 229 | + | |
| 230 | + | |
| 231 | + | |
| 232 | + | |
| 233 | + | |
| 234 | + | |
| 235 | + | |
| 236 | + | |
| 237 | + | |
| 238 | + | |
| 239 | + | |
| 240 | + | |
| 241 | + | |
| 242 | + | |
| 243 | + | |
| 244 | + | |
| 245 | + | |
| 246 | + | |
| 247 | + | |
222 | 248 | | |
223 | 249 | | |
224 | 250 | | |
| |||
0 commit comments