Skip to content

fix(core): skip let declarations during hydration cleanup - #71990

Open
lazerg wants to merge 1 commit into
angular:mainfrom
lazerg:fix/issue-71929-let-hydration-cleanup
Open

lazerg wants to merge 1 commit into
angular:mainfrom
lazerg:fix/issue-71929-let-hydration-cleanup

Conversation

@lazerg

@lazerg lazerg commented Nov 12, 2026

Copy link
Copy Markdown
Contributor

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.dev application / infrastructure changes
  • Other... Please describe:

What is the current behavior?

@let values live directly in the LView. After hydration, cleanupLView walks those slots and treats any array with an object at index 1 as an LView, so an array stored in a @let gets i18nNodes/dehydratedIcuData written onto its 7th item. If that item is frozen, cleanup throws instead.

Issue Number: #71929

What is the new behavior?

cleanupLView skips @let slots, the same way annotateLView already does during serialization.

Does this PR introduce a breaking change?

  • Yes
  • No

Other information

@pullapprove
pullapprove Bot requested a review from crisbeto November 12, 2026 04:25
@angular-robot angular-robot Bot added the area: core Issues related to the framework runtime label Nov 12, 2026
@ngbot ngbot Bot added this to the Backlog milestone Nov 12, 2026
`cleanupLView` treated any array stored by a `@let` declaration that looked
like an LView as a child view and wrote hydration fields onto its items.
@lazerg
lazerg force-pushed the fix/issue-71929-let-hydration-cleanup branch from af16644 to c169dce Compare November 12, 2026 04:28
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area: core Issues related to the framework runtime

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant