mirror of
https://github.com/heygen-com/hyperframes.git
synced 2026-09-03 04:38:33 +00:00
fix: handle linkedom fragment parsing in shared inlineSubCompositions
When linkedom parses a fragment like `<div data-composition-id="X">... </div>`, the div becomes the documentElement and body is empty. contentDoc.body?.innerHTML returns "" losing the composition wrapper. Fall back to contentDoc.documentElement?.outerHTML when body content is empty, preserving composition IDs for sub-compositions where the host data-composition-id differs from the inner root's. Fixes style-1-prod regression (captions sub-comp has host id "captions-comp" but inner root id "captions"). Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Sonnet 4.6
parent
581e7a7eda
commit
754b0edc05
@@ -308,7 +308,11 @@ export function inlineSubCompositions(
|
||||
}
|
||||
} else {
|
||||
for (const child of [...contentDoc.querySelectorAll("style, script")]) child.remove();
|
||||
hostEl.innerHTML = contentDoc.body?.innerHTML || "";
|
||||
// linkedom fragment parsing: when content is `<div data-composition-id="X">...</div>`,
|
||||
// the div becomes documentElement and body is empty. Fall back to documentElement.outerHTML
|
||||
// to preserve the composition wrapper.
|
||||
const bodyHtml = contentDoc.body?.innerHTML || "";
|
||||
hostEl.innerHTML = bodyHtml || contentDoc.documentElement?.outerHTML || "";
|
||||
}
|
||||
|
||||
hostEl.setAttribute("data-composition-file", src);
|
||||
|
||||
Reference in New Issue
Block a user