-
-
Notifications
You must be signed in to change notification settings - Fork 2.4k
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 multi-layout head injection #8449
Conversation
🦋 Changeset detectedLatest commit: 3b5bf05 The changes in this PR will be included in the next version bump. Not sure what this means? Click here to learn what changesets are. Click here if you're a maintainer who wants to add another changeset to this PR |
That failing test looks like this change switches the rendering order again... I'm not sure if this is solvable without eagerly evaluating slots, rendering bottom-up rather than top-down. That being said, there are top-down rendering is something we've really tried to stick with because lazy slot evaluation has some very nice implications for conditional logic. Folks are relying on our current behavior, unfortunately. |
Putting back to draft as I think there's another possible solution here. |
Do you mind if I add some tests. I made some a while ago based on #7761's repro. |
!preview propagation-metadata |
|
!preview propagation-metadata |
|
It does not seem to fix #7761. |
@lilnasy thanks, removing that one from the list. Once I made the change to the compiler, this really only targets VT issues. That one might be similar, however. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM after the compiler update!
Changes
How head propagation works in a nutshell:
instance.init(result)
.init
s to complete. We do it recursively so that if they have children with head content those are also awaited.The bug was that the parent components didn't have their metadata marked with
in-tree
like they should have. This is because it was not being appended from the compiler.Fixes In rare cases, CSS for transition scopes is not generated #8399
Fixes Nesting Astro components prevents transition directives from animating #8392
Needs Add propagation metadata to the TransformResult compiler#860
Testing
renderAstroComponent
which is where the bug is.Docs
N/A, bug fix.