Skip to content

Conversation

@thePunderWoman
Copy link
Contributor

See the commits for details, but the TL;DR is below

  • Fixes host binding tests so that they're testing properly
  • adds a safeguard for enter animations and handling class removal when no longest animation can be determined
  • Fixes the case of ensuring that elements are only removed once the longest animation has finished when multiple animations are present on the same element, but also still safely supporting host binding composition.

These tests were not properly validating against the host binding changes due to the fact that the styles were on the wrong components in some of the host binding cases.
…est animation

There may be cases where the longest animation info has been cleaned up before the end animation fires. We should still do the end processing in that case.
@thePunderWoman thePunderWoman added action: review The PR is still awaiting reviews from at least one requested reviewer area: core Issues related to the framework runtime target: patch This PR is targeted for the next patch release labels Oct 3, 2025
@ngbot ngbot bot added this to the Backlog milestone Oct 3, 2025
@thePunderWoman thePunderWoman force-pushed the host-bindings branch 2 times, most recently from 63c8e87 to 6d222a5 Compare October 3, 2025 17:58
…nsitions are present

Our code ensuring host binding composition for animations was causing the early exit and removal of
elements when multiple transitions were present on the same element. This commit fixes the issue by
ensuring that we properly keep track of all the promise resolvers on the LView and then only
call them once we've properly waited for the longest animation to finish.

fixes: angular#64209
"shimStylesContent"
],
"lazy": [
"DeferComponent",
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

cc @devversion

We often see such a diff where the DeferComponent gets moved around. It there a way to fix that. ?

@thePunderWoman thePunderWoman added action: merge The PR is ready for merge by the caretaker and removed action: review The PR is still awaiting reviews from at least one requested reviewer labels Oct 3, 2025
@mmalerba
Copy link
Contributor

mmalerba commented Oct 6, 2025

This PR was merged into the repository. The changes were merged into the following branches:

@mmalerba mmalerba closed this in a52a2af Oct 6, 2025
mmalerba pushed a commit that referenced this pull request Oct 6, 2025
…est animation (#64225)

There may be cases where the longest animation info has been cleaned up before the end animation fires. We should still do the end processing in that case.

PR Close #64225
mmalerba pushed a commit that referenced this pull request Oct 6, 2025
…nsitions are present (#64225)

Our code ensuring host binding composition for animations was causing the early exit and removal of
elements when multiple transitions were present on the same element. This commit fixes the issue by
ensuring that we properly keep track of all the promise resolvers on the LView and then only
call them once we've properly waited for the longest animation to finish.

fixes: #64209

PR Close #64225
mmalerba pushed a commit that referenced this pull request Oct 6, 2025
These tests were not properly validating against the host binding changes due to the fact that the styles were on the wrong components in some of the host binding cases.

PR Close #64225
mmalerba pushed a commit that referenced this pull request Oct 6, 2025
…est animation (#64225)

There may be cases where the longest animation info has been cleaned up before the end animation fires. We should still do the end processing in that case.

PR Close #64225
mmalerba pushed a commit that referenced this pull request Oct 6, 2025
…nsitions are present (#64225)

Our code ensuring host binding composition for animations was causing the early exit and removal of
elements when multiple transitions were present on the same element. This commit fixes the issue by
ensuring that we properly keep track of all the promise resolvers on the LView and then only
call them once we've properly waited for the longest animation to finish.

fixes: #64209

PR Close #64225
leonsenft pushed a commit to leonsenft/angular that referenced this pull request Oct 7, 2025
These tests were not properly validating against the host binding changes due to the fact that the styles were on the wrong components in some of the host binding cases.

PR Close angular#64225
leonsenft pushed a commit to leonsenft/angular that referenced this pull request Oct 7, 2025
…nsitions are present (angular#64225)

Our code ensuring host binding composition for animations was causing the early exit and removal of
elements when multiple transitions were present on the same element. This commit fixes the issue by
ensuring that we properly keep track of all the promise resolvers on the LView and then only
call them once we've properly waited for the longest animation to finish.

fixes: angular#64209

PR Close angular#64225
napulitanfrontend pushed a commit to napulitanfrontend/angular that referenced this pull request Oct 10, 2025
These tests were not properly validating against the host binding changes due to the fact that the styles were on the wrong components in some of the host binding cases.

PR Close angular#64225
napulitanfrontend pushed a commit to napulitanfrontend/angular that referenced this pull request Oct 10, 2025
…est animation (angular#64225)

There may be cases where the longest animation info has been cleaned up before the end animation fires. We should still do the end processing in that case.

PR Close angular#64225
napulitanfrontend pushed a commit to napulitanfrontend/angular that referenced this pull request Oct 10, 2025
…nsitions are present (angular#64225)

Our code ensuring host binding composition for animations was causing the early exit and removal of
elements when multiple transitions were present on the same element. This commit fixes the issue by
ensuring that we properly keep track of all the promise resolvers on the LView and then only
call them once we've properly waited for the longest animation to finish.

fixes: angular#64209

PR Close angular#64225
napulitanfrontend pushed a commit to napulitanfrontend/angular that referenced this pull request Oct 11, 2025
These tests were not properly validating against the host binding changes due to the fact that the styles were on the wrong components in some of the host binding cases.

PR Close angular#64225
napulitanfrontend pushed a commit to napulitanfrontend/angular that referenced this pull request Oct 11, 2025
…nsitions are present (angular#64225)

Our code ensuring host binding composition for animations was causing the early exit and removal of
elements when multiple transitions were present on the same element. This commit fixes the issue by
ensuring that we properly keep track of all the promise resolvers on the LView and then only
call them once we've properly waited for the longest animation to finish.

fixes: angular#64209

PR Close angular#64225
@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 Nov 12, 2025
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.

5 participants