fix: skip re-attaching shadow roots during view transitions#14737
Merged
delucis merged 3 commits intowithastro:mainfrom Nov 10, 2025
Merged
fix: skip re-attaching shadow roots during view transitions#14737delucis merged 3 commits intowithastro:mainfrom
delucis merged 3 commits intowithastro:mainfrom
Conversation
Prevents 'Unable to re-attach to existing ShadowDOM' error when transition-persisted elements contain declarative Shadow DOM.
🦋 Changeset detectedLatest commit: a712976 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 |
CodSpeed Performance ReportMerging #14737 will not alter performanceComparing Summary
Footnotes |
Contributor
Author
|
If this needs to have a changeset, please let me know. I'm not sure I fully understood if this PR needs it 😅 |
delucis
reviewed
Nov 10, 2025
Member
delucis
left a comment
There was a problem hiding this comment.
Looks good — thanks for the fix @Arecsu!
Yes, a changeset would be great here. This is a bug fix so it should be a patch to the astro package.
We have more guidance on how to write a changeset here: https://contribute.docs.astro.build/docs-for-code-changes/changesets/
Contributor
Author
|
Awesome. Done! |
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.
Changes
attachShadowRoots()function attempts to callattachShadow()on all elements with<template shadowrootmode>, but doesn't check if the element already has a shadow root from a previous pagetransition:persiston containers with web components that use declarative Shadow DOM (e.g., custom elements, third-party libraries)Testing
This happened when fixed hydration mismatches in
number-flow/svelte, which is a wrapper around a web component that uses Declarative Shadow DOM. PR: barvian/number-flow#162The component was inside a transition-persisted flyout in all page-routes.
Docs
Not applicable — bug fix for existing view transitions feature.