Skip to content
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

fix(core): run afterRender callbacks outside of the Angular zone #51551

Closed

Conversation

devknoll
Copy link
Contributor

afterRender should run outside of the Angular zone so that it does not trigger further CD cycles

PR Checklist

Please check if your PR fulfills the following requirements:

PR Type

What kind of change does this PR introduce?

  • Bugfix
  • Feature
  • Code style update (formatting, local variables)
  • Refactoring (no functional changes, no api changes)
  • Build related changes
  • CI related changes
  • Documentation content changes
  • angular.io application / infrastructure changes
  • Other... Please describe:

What is the current behavior?

Callbacks are executed in the Angular zone, causing patched APIs like setTimeout to trigger subsequent change detection cycles, and further afterRender callbacks.

Issue Number: #51343

What is the new behavior?

Callbacks are always executed outside of the Angular zone, preventing accidental infinite render loops.

Does this PR introduce a breaking change?

  • Yes
  • No

afterRender is in developer preview, and so this is not considered a breaking change.

Other information

Closes #51343

afterRender should run outside of the Angular zone so that it does not trigger further CD cycles
@devknoll devknoll force-pushed the x-after-render-outside-zone-patch branch from ea01dd4 to 7185780 Compare August 29, 2023 14:20
@devknoll devknoll marked this pull request as ready for review August 29, 2023 14:44
@pullapprove pullapprove bot requested a review from crisbeto August 29, 2023 14:44
@devknoll
Copy link
Contributor Author

@jessicajaniuk @alxhub

@jessicajaniuk jessicajaniuk added action: merge The PR is ready for merge by the caretaker area: core Issues related to the framework runtime target: patch This PR is targeted for the next patch release labels Aug 29, 2023
@ngbot ngbot bot modified the milestone: Backlog Aug 29, 2023
@jessicajaniuk jessicajaniuk removed the request for review from crisbeto August 29, 2023 16:55
@jessicajaniuk
Copy link
Contributor

This PR was merged into the repository by commit 0c7c852.

jessicajaniuk pushed a commit that referenced this pull request Aug 29, 2023
)

afterRender should run outside of the Angular zone so that it does not trigger further CD cycles

PR Close #51551
@devknoll devknoll deleted the x-after-render-outside-zone-patch branch August 29, 2023 18:08
@angular-automatic-lock-bot
Copy link

This issue has been automatically locked due to inactivity.
Please file a new issue if you are encountering a similar or related problem.

Read more about our automatic conversation locking policy.

This action has been performed automatically by a bot.

@angular-automatic-lock-bot angular-automatic-lock-bot bot locked and limited conversation to collaborators Sep 29, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
action: merge The PR is ready for merge by the caretaker area: core Issues related to the framework runtime target: patch This PR is targeted for the next patch release
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants