Conversation
atscott
force-pushed
the
recognizetopromise2
branch
6 times, most recently
from
August 7, 2025 18:01
33addc6 to
006cab6
Compare
atscott
force-pushed
the
recognizetopromise2
branch
from
August 13, 2025 16:54
006cab6 to
ae4e101
Compare
atscott
force-pushed
the
recognizetopromise2
branch
3 times, most recently
from
August 27, 2025 20:18
3a9a217 to
d52fcfa
Compare
Contributor
Author
|
caretaker note: this will need patch cl/800152294 to temporarily disable the change in g3 |
atscott
marked this pull request as ready for review
August 27, 2025 20:35
atscott
force-pushed
the
recognizetopromise2
branch
from
August 27, 2025 20:37
d52fcfa to
26b84bb
Compare
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. This also ensures that the recognize step is always async, whereas it can sometimes be synchronous with rxjs. 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. On rare occasions, this can also affect production applications. This can be caused by multiple subscriptions to router state throughout the application, both of which trigger navigations that happened to not conflict with the previous timing.
atscott
force-pushed
the
recognizetopromise2
branch
from
August 28, 2025 17:05
26b84bb to
0658b79
Compare
To aid in hitting external breaking change deadlines without pressure of fixing everything in g3 first, add an internal opt out flag. This also adds a privately exported provider to revert to the old rxjs-based behavior, which can be synchronous, until any issues that come up are addressed.
atscott
force-pushed
the
recognizetopromise2
branch
from
August 28, 2025 19:06
0658b79 to
87ed780
Compare
mmalerba
approved these changes
Aug 29, 2025
Contributor
|
This PR was merged into the repository. The changes were merged into the following branches:
|
mmalerba
pushed a commit
that referenced
this pull request
Aug 29, 2025
#62994) To aid in hitting external breaking change deadlines without pressure of fixing everything in g3 first, add an internal opt out flag. This also adds a privately exported provider to revert to the old rxjs-based behavior, which can be synchronous, until any issues that come up are addressed. PR Close #62994
atscott
added a commit
to atscott/angular
that referenced
this pull request
Aug 29, 2025
This fixes a bug introduced in angular#62994 where `toPromise` was used. This doesn't work in all situations here because some observables don't complete. This only affected the redirect path, since the others are already behind other rxjs code which takes the first value from the user guards. Note: This is marked as a refactor rather than fix because the commit above is not in any release yet.
atscott
added a commit
to atscott/angular
that referenced
this pull request
Aug 29, 2025
This fixes a bug introduced in angular#62994 where `toPromise` was used. This doesn't work in all situations here because some observables don't complete. This only affected the redirect path, since the others are already behind other rxjs code which takes the first value from the user guards. Note: This is marked as a refactor rather than fix because the commit above is not in any release yet.
atscott
added a commit
to atscott/angular
that referenced
this pull request
Aug 29, 2025
This fixes a bug introduced in angular#62994 where `toPromise` was used. This doesn't work in all situations here because some observables don't complete. This only affected the redirect path, since the others are already behind other rxjs code which takes the first value from the user guards. Note: This is marked as a refactor rather than fix because the commit above is not in any release yet.
atscott
added a commit
to atscott/angular
that referenced
this pull request
Aug 29, 2025
This fixes a bug introduced in angular#62994 where `toPromise` was used. This doesn't work in all situations here because some observables don't complete. This only affected the redirect path, since the others are already behind other rxjs code which takes the first value from the user guards. Note: This is marked as a refactor rather than fix because the commit above is not in any release yet.
mmalerba
pushed a commit
that referenced
this pull request
Aug 29, 2025
This fixes a bug introduced in #62994 where `toPromise` was used. This doesn't work in all situations here because some observables don't complete. This only affected the redirect path, since the others are already behind other rxjs code which takes the first value from the user guards. Note: This is marked as a refactor rather than fix because the commit above is not in any release yet. PR Close #63485
|
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. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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. On rare
occasions, this can also affect production applications. This can be
caused by multiple subscriptions to router state throughout the application,
both of which trigger navigations that happened to not conflict with the
previous timing.