Skip to content

Update Router's recognize step to use async/await #62994

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Draft
wants to merge 2 commits into
base: main
Choose a base branch
from

Conversation

atscott
Copy link
Contributor

@atscott atscott commented Aug 4, 2025

This is effectively a revert of 72e6a94.
Debugging the recognize stage is considerably easier with async/await
stacks compared to rxjs. This also improves maintainability and is a
better 1:1 with server-side logic that has been implemented to match
and can be more easily kept in sync.

BREAKING CHANGE: Router navigations may take several additional
microtasks to complete. Tests have been found to often be highly
dependent on the exact timing of navigation completions with respect to
the microtask queue. The most common fix for tests is to ensure all
navigations have been completed before making assertions.

@atscott atscott added the target: major This PR is targeted for the next major release label Aug 4, 2025
@angular-robot angular-robot bot added detected: breaking change PR contains a commit with a breaking change area: router labels Aug 4, 2025
@ngbot ngbot bot added this to the Backlog milestone Aug 4, 2025
@atscott atscott force-pushed the recognizetopromise2 branch 5 times, most recently from e843767 to 33addc6 Compare August 6, 2025 20:49
atscott added 2 commits August 7, 2025 10:58
This is effectively a revert of angular@72e6a94.
Debugging the recognize stage is considerably easier with async/await
stacks compared to rxjs. This also improves maintainability and is a
better 1:1 with server-side logic that has been implemented to match
and can be more easily kept in sync.

BREAKING CHANGE: Router navigations may take several additional
microtasks to complete. Tests have been found to often be highly
dependent on the exact timing of navigation completions with respect to
the microtask queue. The most common fix for tests is to ensure all
navigations have been completed before making assertions.
to aid in hitting external breaking change deadlines without pressure
of fixing everything in g3 first, add an internal opt out flag
@atscott atscott force-pushed the recognizetopromise2 branch from 33addc6 to 006cab6 Compare August 7, 2025 18:01
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area: router detected: breaking change PR contains a commit with a breaking change target: major This PR is targeted for the next major release
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant