Repository navigation
Conversation
a0371aa to
9b09f4d
Compare
jelbourn
left a comment
There was a problem hiding this comment.
Is this a do-over of the previous router change that was rolled back? If so, I would reference that original change and its revert in the commit message for reference.
This change is unrelated to the one that was rolled back. |
jelbourn
left a comment
There was a problem hiding this comment.
LGTM
Reviewed-for: size-tracking
JoostK
left a comment
There was a problem hiding this comment.
This is generally a great cleanup! I left some suggestions in the code. Otherwise LGTM.
79a7fb9 to
3e25e46
Compare
|
updated presubmit edit: global presubmit |
pkozlowski-opensource
left a comment
There was a problem hiding this comment.
LGTM
Reviewed-for: size-tracking
pkozlowski-opensource
left a comment
There was a problem hiding this comment.
LGTM
Reviewed-for: size-tracking
b3138ce to
52aaf45
Compare
…correctly The current method of handling duplicate navigations caused by 'hashchange' and 'popstate' events for the same url change does not correctly handle cancelled navigations. Because `scheduleNavigation` is called in a `setTimeout` in the location change subscription, the duplicate navigations are not flushed at the same time. This means that if the initial navigation hits a guard that schedules a new navigation, the navigation for the duplicate event will not compare to the correct transition (because we inserted another navigation between the duplicates). See angular#16710 (comment) Fixes angular#16710
Igor is OOO and can't re-review. His request has been addressed (changes no longer introduce new rxjs operators)
|
This issue has been automatically locked due to inactivity. Read more about our automatic conversation locking policy. This action has been performed automatically by a bot. |
…correctly (angular#37674) The current method of handling duplicate navigations caused by 'hashchange' and 'popstate' events for the same url change does not correctly handle cancelled navigations. Because `scheduleNavigation` is called in a `setTimeout` in the location change subscription, the duplicate navigations are not flushed at the same time. This means that if the initial navigation hits a guard that schedules a new navigation, the navigation for the duplicate event will not compare to the correct transition (because we inserted another navigation between the duplicates). See angular#16710 (comment) Fixes angular#16710 PR Close angular#37674
…correctly
The current method of handling duplicate navigations caused by 'hashchange' and 'popstate' events for the same url change does not correctly handle cancelled navigations. Because
scheduleNavigationis called in asetTimeoutin the location change subscription, the duplicate navigations are not flushed at the same time. This means that if the initial navigation hits a guard that schedules a new navigation, the navigation for the duplicate event will not compare to the correct transition (because we inserted another navigation between the duplicates). See #16710 (comment)Fixes #16710
Change summary:
scheduleNavigationto the location subscription. This is where the events are initially handled / detectedpairwiseto compare with the previously detected 'hashchange' / 'popstate'