Repository navigation
Conversation
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 join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
After a retained child splice, the ancestor's aggregate entity-update checkpoint remains stale. A subsequent idle draw can therefore render the ancestor again even though its own dependencies have not changed.
Advance the aggregate checkpoint using the generation captured before rebuilding the gaps, while preserving each view's own read checkpoint. Replay dependencies by reference without cloning them.
Also exclude state accesses belonging to rebuilt gaps when copying old prepaint segments. Otherwise, layout accesses recorded during an ancestor's prepaint can retain removed element state once the redundant ancestor render is eliminated.
Regression tests cover ancestor reuse, painted output after shared-model updates, and element-state/layout-node cleanup after an opacity change followed by removal. Remove the obsolete assertion requiring a root render after a child-only update.