Skip to content

fix(runtime-tags): correctly link control-flow branches on resume#3268

Open
DylanPiercey wants to merge 1 commit into
mainfrom
claude/runtime-tags-bug-bash-apevcu
Open

fix(runtime-tags): correctly link control-flow branches on resume#3268
DylanPiercey wants to merge 1 commit into
mainfrom
claude/runtime-tags-bug-bash-apevcu

Conversation

@DylanPiercey

Copy link
Copy Markdown
Contributor

Two resume fixes for control-flow branches, each with a regression fixture:

  • Orphaned client-created branches: a component whose control flow (<if>, <for>, or a dynamic <${tag}>) is driven only by an input prop — with no local let, closure reference, or $signal — resumed without its closest branch linked. A branch it then created on the client was orphaned from the branch tree, so destroying an ancestor branch failed to clean it up (effects and onDestroy leaked). The control-flow runtimes now link the owning scope's closest branch themselves when serializing a resumable branch, so the link is emitted only where a branch can actually be created on the client and is nested inside another branch.
  • Bare <await> re-resolution: an <await> with no enclosing <try> threw HierarchyRequestError when its promise re-resolved after resume — the re-await detach (scheduled in a requestAnimationFrame) raced the resolution, leaving the branch in place while the dismiss logic swapped the placeholder anchor for its own parent. It now drops the leftover anchor instead.

Generated by Claude Code

@changeset-bot

changeset-bot Bot commented Jun 22, 2026

Copy link
Copy Markdown

🦋 Changeset detected

Latest commit: af9da0f

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 1 package
Name Type
@marko/runtime-tags Patch

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

@codecov

codecov Bot commented Jun 22, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 94.21%. Comparing base (69e199d) to head (c96d4db).

Additional details and impacted files
@@           Coverage Diff           @@
##             main    #3268   +/-   ##
=======================================
  Coverage   94.20%   94.21%           
=======================================
  Files         382      382           
  Lines       50178    50210   +32     
  Branches     3745     3745           
=======================================
+ Hits        47271    47303   +32     
  Misses       2882     2882           
  Partials       25       25           

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@coderabbitai

coderabbitai Bot commented Jun 22, 2026

Copy link
Copy Markdown

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 0338d0ca-2953-4661-8f95-5e6ae6b52a8d

📥 Commits

Reviewing files that changed from the base of the PR and between c96d4db and af9da0f.

⛔ Files ignored due to path filters (171)
  • packages/runtime-tags/src/__tests__/fixtures/assign-to-owner-closure/__snapshots__/html.bundle.debug.js is excluded by !**/__snapshots__/** and included by **
  • packages/runtime-tags/src/__tests__/fixtures/assign-to-owner-closure/__snapshots__/html.bundle.js is excluded by !**/__snapshots__/** and included by **
  • packages/runtime-tags/src/__tests__/fixtures/at-tags-dynamic-and-static/__snapshots__/html.bundle.debug.js is excluded by !**/__snapshots__/** and included by **
  • packages/runtime-tags/src/__tests__/fixtures/at-tags-dynamic-and-static/__snapshots__/html.bundle.js is excluded by !**/__snapshots__/** and included by **
  • packages/runtime-tags/src/__tests__/fixtures/at-tags-dynamic/__snapshots__/html.bundle.debug.js is excluded by !**/__snapshots__/** and included by **
  • packages/runtime-tags/src/__tests__/fixtures/at-tags-dynamic/__snapshots__/html.bundle.js is excluded by !**/__snapshots__/** and included by **
  • packages/runtime-tags/src/__tests__/fixtures/at-tags-for-loop-param-closure/__snapshots__/html.bundle.debug.js is excluded by !**/__snapshots__/** and included by **
  • packages/runtime-tags/src/__tests__/fixtures/at-tags-for-loop-param-closure/__snapshots__/html.bundle.js is excluded by !**/__snapshots__/** and included by **
  • packages/runtime-tags/src/__tests__/fixtures/at-tags-for-loop-param-intersection-closure/__snapshots__/html.bundle.debug.js is excluded by !**/__snapshots__/** and included by **
  • packages/runtime-tags/src/__tests__/fixtures/at-tags-for-loop-param-intersection-closure/__snapshots__/html.bundle.js is excluded by !**/__snapshots__/** and included by **
  • packages/runtime-tags/src/__tests__/fixtures/at-tags-static-repeated/__snapshots__/html.bundle.debug.js is excluded by !**/__snapshots__/** and included by **
  • packages/runtime-tags/src/__tests__/fixtures/at-tags-static-repeated/__snapshots__/html.bundle.js is excluded by !**/__snapshots__/** and included by **
  • packages/runtime-tags/src/__tests__/fixtures/attr-class/__snapshots__/html.bundle.debug.js is excluded by !**/__snapshots__/** and included by **
  • packages/runtime-tags/src/__tests__/fixtures/attr-class/__snapshots__/html.bundle.js is excluded by !**/__snapshots__/** and included by **
  • packages/runtime-tags/src/__tests__/fixtures/attr-style/__snapshots__/html.bundle.debug.js is excluded by !**/__snapshots__/** and included by **
  • packages/runtime-tags/src/__tests__/fixtures/attr-style/__snapshots__/html.bundle.js is excluded by !**/__snapshots__/** and included by **
  • packages/runtime-tags/src/__tests__/fixtures/attr-tag-local-member-expression-closure/__snapshots__/html.bundle.debug.js is excluded by !**/__snapshots__/** and included by **
  • packages/runtime-tags/src/__tests__/fixtures/attr-tag-local-member-expression-closure/__snapshots__/html.bundle.js is excluded by !**/__snapshots__/** and included by **
  • packages/runtime-tags/src/__tests__/fixtures/await-closure-in-order/__snapshots__/html.bundle.debug.js is excluded by !**/__snapshots__/** and included by **
  • packages/runtime-tags/src/__tests__/fixtures/await-closure-in-order/__snapshots__/html.bundle.js is excluded by !**/__snapshots__/** and included by **
  • packages/runtime-tags/src/__tests__/fixtures/await-closure-within/__snapshots__/html.bundle.debug.js is excluded by !**/__snapshots__/** and included by **
  • packages/runtime-tags/src/__tests__/fixtures/await-closure-within/__snapshots__/html.bundle.js is excluded by !**/__snapshots__/** and included by **
  • packages/runtime-tags/src/__tests__/fixtures/await-no-try-resume-rerender/__snapshots__/dom.bundle.debug.js is excluded by !**/__snapshots__/** and included by **
  • packages/runtime-tags/src/__tests__/fixtures/await-no-try-resume-rerender/__snapshots__/dom.bundle.js is excluded by !**/__snapshots__/** and included by **
  • packages/runtime-tags/src/__tests__/fixtures/await-no-try-resume-rerender/__snapshots__/html.bundle.debug.js is excluded by !**/__snapshots__/** and included by **
  • packages/runtime-tags/src/__tests__/fixtures/await-no-try-resume-rerender/__snapshots__/html.bundle.js is excluded by !**/__snapshots__/** and included by **
  • packages/runtime-tags/src/__tests__/fixtures/await-no-try-resume-rerender/__snapshots__/render-csr.debug.md is excluded by !**/__snapshots__/** and included by **
  • packages/runtime-tags/src/__tests__/fixtures/await-no-try-resume-rerender/__snapshots__/render-csr.md is excluded by !**/__snapshots__/** and included by **
  • packages/runtime-tags/src/__tests__/fixtures/await-no-try-resume-rerender/__snapshots__/render-ssr.debug.md is excluded by !**/__snapshots__/** and included by **
  • packages/runtime-tags/src/__tests__/fixtures/await-no-try-resume-rerender/__snapshots__/render-ssr.md is excluded by !**/__snapshots__/** and included by **
  • packages/runtime-tags/src/__tests__/fixtures/await-no-try-resume-rerender/__snapshots__/writes.debug.html is excluded by !**/__snapshots__/** and included by **
  • packages/runtime-tags/src/__tests__/fixtures/await-no-try-resume-rerender/__snapshots__/writes.html is excluded by !**/__snapshots__/** and included by **
  • packages/runtime-tags/src/__tests__/fixtures/basic-conditional-counter-multiple-nodes/__snapshots__/html.bundle.debug.js is excluded by !**/__snapshots__/** and included by **
  • packages/runtime-tags/src/__tests__/fixtures/basic-conditional-counter-multiple-nodes/__snapshots__/html.bundle.js is excluded by !**/__snapshots__/** and included by **
  • packages/runtime-tags/src/__tests__/fixtures/basic-conditional-counter/__snapshots__/html.bundle.debug.js is excluded by !**/__snapshots__/** and included by **
  • packages/runtime-tags/src/__tests__/fixtures/basic-conditional-counter/__snapshots__/html.bundle.js is excluded by !**/__snapshots__/** and included by **
  • packages/runtime-tags/src/__tests__/fixtures/basic-execution-order/__snapshots__/html.bundle.debug.js is excluded by !**/__snapshots__/** and included by **
  • packages/runtime-tags/src/__tests__/fixtures/basic-execution-order/__snapshots__/html.bundle.js is excluded by !**/__snapshots__/** and included by **
  • packages/runtime-tags/src/__tests__/fixtures/basic-nested-scope-for/__snapshots__/html.bundle.debug.js is excluded by !**/__snapshots__/** and included by **
  • packages/runtime-tags/src/__tests__/fixtures/basic-nested-scope-for/__snapshots__/html.bundle.js is excluded by !**/__snapshots__/** and included by **
  • packages/runtime-tags/src/__tests__/fixtures/basic-nested-scope-if/__snapshots__/html.bundle.debug.js is excluded by !**/__snapshots__/** and included by **
  • packages/runtime-tags/src/__tests__/fixtures/basic-nested-scope-if/__snapshots__/html.bundle.js is excluded by !**/__snapshots__/** and included by **
  • packages/runtime-tags/src/__tests__/fixtures/basic-push-pop-list/__snapshots__/html.bundle.debug.js is excluded by !**/__snapshots__/** and included by **
  • packages/runtime-tags/src/__tests__/fixtures/basic-push-pop-list/__snapshots__/html.bundle.js is excluded by !**/__snapshots__/** and included by **
  • packages/runtime-tags/src/__tests__/fixtures/basic-shared-node-ref/__snapshots__/html.bundle.debug.js is excluded by !**/__snapshots__/** and included by **
  • packages/runtime-tags/src/__tests__/fixtures/basic-shared-node-ref/__snapshots__/html.bundle.js is excluded by !**/__snapshots__/** and included by **
  • packages/runtime-tags/src/__tests__/fixtures/basic-toggle-show/__snapshots__/html.bundle.debug.js is excluded by !**/__snapshots__/** and included by **
  • packages/runtime-tags/src/__tests__/fixtures/basic-toggle-show/__snapshots__/html.bundle.js is excluded by !**/__snapshots__/** and included by **
  • packages/runtime-tags/src/__tests__/fixtures/batched-updates-cleanup/__snapshots__/html.bundle.debug.js is excluded by !**/__snapshots__/** and included by **
  • packages/runtime-tags/src/__tests__/fixtures/batched-updates-cleanup/__snapshots__/html.bundle.js is excluded by !**/__snapshots__/** and included by **
  • packages/runtime-tags/src/__tests__/fixtures/branch-closure-if-only-child/__snapshots__/html.bundle.debug.js is excluded by !**/__snapshots__/** and included by **
  • packages/runtime-tags/src/__tests__/fixtures/branch-closure-if-only-child/__snapshots__/html.bundle.js is excluded by !**/__snapshots__/** and included by **
  • packages/runtime-tags/src/__tests__/fixtures/closure-serialize-reason/__snapshots__/html.bundle.debug.js is excluded by !**/__snapshots__/** and included by **
  • packages/runtime-tags/src/__tests__/fixtures/closure-serialize-reason/__snapshots__/html.bundle.js is excluded by !**/__snapshots__/** and included by **
  • packages/runtime-tags/src/__tests__/fixtures/conditional-dynamic-tag-in-loop-closure/__snapshots__/html.bundle.debug.js is excluded by !**/__snapshots__/** and included by **
  • packages/runtime-tags/src/__tests__/fixtures/conditional-dynamic-tag-in-loop-closure/__snapshots__/html.bundle.js is excluded by !**/__snapshots__/** and included by **
  • packages/runtime-tags/src/__tests__/fixtures/conditional-dynamic-tag-in-loop/__snapshots__/html.bundle.debug.js is excluded by !**/__snapshots__/** and included by **
  • packages/runtime-tags/src/__tests__/fixtures/conditional-dynamic-tag-in-loop/__snapshots__/html.bundle.js is excluded by !**/__snapshots__/** and included by **
  • packages/runtime-tags/src/__tests__/fixtures/conditional-table-row/__snapshots__/html.bundle.debug.js is excluded by !**/__snapshots__/** and included by **
  • packages/runtime-tags/src/__tests__/fixtures/conditional-table-row/__snapshots__/html.bundle.js is excluded by !**/__snapshots__/** and included by **
  • packages/runtime-tags/src/__tests__/fixtures/controllable-checked-many/__snapshots__/html.bundle.debug.js is excluded by !**/__snapshots__/** and included by **
  • packages/runtime-tags/src/__tests__/fixtures/controllable-checked-many/__snapshots__/html.bundle.js is excluded by !**/__snapshots__/** and included by **
  • packages/runtime-tags/src/__tests__/fixtures/controllable-dynamic-checkbox-checked-value/__snapshots__/html.bundle.debug.js is excluded by !**/__snapshots__/** and included by **
  • packages/runtime-tags/src/__tests__/fixtures/controllable-dynamic-checkbox-checked-value/__snapshots__/html.bundle.js is excluded by !**/__snapshots__/** and included by **
  • packages/runtime-tags/src/__tests__/fixtures/controllable-select-mutated-option/__snapshots__/html.bundle.debug.js is excluded by !**/__snapshots__/** and included by **
  • packages/runtime-tags/src/__tests__/fixtures/controllable-select-mutated-option/__snapshots__/html.bundle.js is excluded by !**/__snapshots__/** and included by **
  • packages/runtime-tags/src/__tests__/fixtures/create-and-clear-rows-loop-from/__snapshots__/html.bundle.debug.js is excluded by !**/__snapshots__/** and included by **
  • packages/runtime-tags/src/__tests__/fixtures/create-and-clear-rows-loop-from/__snapshots__/html.bundle.js is excluded by !**/__snapshots__/** and included by **
  • packages/runtime-tags/src/__tests__/fixtures/create-and-clear-rows-loop-in/__snapshots__/html.bundle.debug.js is excluded by !**/__snapshots__/** and included by **
  • packages/runtime-tags/src/__tests__/fixtures/create-and-clear-rows-loop-in/__snapshots__/html.bundle.js is excluded by !**/__snapshots__/** and included by **
  • packages/runtime-tags/src/__tests__/fixtures/destructure-stateful-upstream-alias/__snapshots__/html.bundle.debug.js is excluded by !**/__snapshots__/** and included by **
  • packages/runtime-tags/src/__tests__/fixtures/destructure-stateful-upstream-alias/__snapshots__/html.bundle.js is excluded by !**/__snapshots__/** and included by **
  • packages/runtime-tags/src/__tests__/fixtures/dollar-global-client/__snapshots__/html.bundle.debug.js is excluded by !**/__snapshots__/** and included by **
  • packages/runtime-tags/src/__tests__/fixtures/dollar-global-client/__snapshots__/html.bundle.js is excluded by !**/__snapshots__/** and included by **
  • packages/runtime-tags/src/__tests__/fixtures/dynamic-tag-resume-owns-branch-cleanup/__snapshots__/dom.bundle.debug.js is excluded by !**/__snapshots__/** and included by **
  • packages/runtime-tags/src/__tests__/fixtures/dynamic-tag-resume-owns-branch-cleanup/__snapshots__/dom.bundle.js is excluded by !**/__snapshots__/** and included by **
  • packages/runtime-tags/src/__tests__/fixtures/dynamic-tag-resume-owns-branch-cleanup/__snapshots__/html.bundle.debug.js is excluded by !**/__snapshots__/** and included by **
  • packages/runtime-tags/src/__tests__/fixtures/dynamic-tag-resume-owns-branch-cleanup/__snapshots__/html.bundle.js is excluded by !**/__snapshots__/** and included by **
  • packages/runtime-tags/src/__tests__/fixtures/dynamic-tag-resume-owns-branch-cleanup/__snapshots__/render.debug.md is excluded by !**/__snapshots__/** and included by **
  • packages/runtime-tags/src/__tests__/fixtures/dynamic-tag-resume-owns-branch-cleanup/__snapshots__/render.md is excluded by !**/__snapshots__/** and included by **
  • packages/runtime-tags/src/__tests__/fixtures/dynamic-tag-resume-owns-branch-cleanup/__snapshots__/writes.debug.html is excluded by !**/__snapshots__/** and included by **
  • packages/runtime-tags/src/__tests__/fixtures/dynamic-tag-resume-owns-branch-cleanup/__snapshots__/writes.html is excluded by !**/__snapshots__/** and included by **
  • packages/runtime-tags/src/__tests__/fixtures/embed-control-flow-boundary/__snapshots__/html.bundle.debug.js is excluded by !**/__snapshots__/** and included by **
  • packages/runtime-tags/src/__tests__/fixtures/embed-control-flow-boundary/__snapshots__/html.bundle.js is excluded by !**/__snapshots__/** and included by **
  • packages/runtime-tags/src/__tests__/fixtures/error-for-by-duplicate/__snapshots__/html.bundle.debug.js is excluded by !**/__snapshots__/** and included by **
  • packages/runtime-tags/src/__tests__/fixtures/error-for-by-object/__snapshots__/html.bundle.debug.js is excluded by !**/__snapshots__/** and included by **
  • packages/runtime-tags/src/__tests__/fixtures/error-for-by-static/__snapshots__/html.bundle.debug.js is excluded by !**/__snapshots__/** and included by **
  • packages/runtime-tags/src/__tests__/fixtures/for-by-nested-branch-divergence/__snapshots__/html.bundle.debug.js is excluded by !**/__snapshots__/** and included by **
  • packages/runtime-tags/src/__tests__/fixtures/for-by-nested-branch-divergence/__snapshots__/html.bundle.js is excluded by !**/__snapshots__/** and included by **
  • packages/runtime-tags/src/__tests__/fixtures/for-by-use-index/__snapshots__/html.bundle.debug.js is excluded by !**/__snapshots__/** and included by **
  • packages/runtime-tags/src/__tests__/fixtures/for-by-use-index/__snapshots__/html.bundle.js is excluded by !**/__snapshots__/** and included by **
  • packages/runtime-tags/src/__tests__/fixtures/for-by/__snapshots__/html.bundle.debug.js is excluded by !**/__snapshots__/** and included by **
  • packages/runtime-tags/src/__tests__/fixtures/for-by/__snapshots__/html.bundle.js is excluded by !**/__snapshots__/** and included by **
  • packages/runtime-tags/src/__tests__/fixtures/for-destructure/__snapshots__/html.bundle.debug.js is excluded by !**/__snapshots__/** and included by **
  • packages/runtime-tags/src/__tests__/fixtures/for-destructure/__snapshots__/html.bundle.js is excluded by !**/__snapshots__/** and included by **
  • packages/runtime-tags/src/__tests__/fixtures/for-event-handler/__snapshots__/html.bundle.debug.js is excluded by !**/__snapshots__/** and included by **
  • packages/runtime-tags/src/__tests__/fixtures/for-event-handler/__snapshots__/html.bundle.js is excluded by !**/__snapshots__/** and included by **
  • packages/runtime-tags/src/__tests__/fixtures/for-loop-closure-remove-all-items/__snapshots__/html.bundle.debug.js is excluded by !**/__snapshots__/** and included by **
  • packages/runtime-tags/src/__tests__/fixtures/for-loop-closure-remove-all-items/__snapshots__/html.bundle.js is excluded by !**/__snapshots__/** and included by **
  • packages/runtime-tags/src/__tests__/fixtures/for-of-by-nullish-key/__snapshots__/html.bundle.debug.js is excluded by !**/__snapshots__/** and included by **
  • packages/runtime-tags/src/__tests__/fixtures/for-reorder-grow-shrink/__snapshots__/html.bundle.debug.js is excluded by !**/__snapshots__/** and included by **
  • packages/runtime-tags/src/__tests__/fixtures/for-reorder-grow-shrink/__snapshots__/html.bundle.js is excluded by !**/__snapshots__/** and included by **
  • packages/runtime-tags/src/__tests__/fixtures/for-reorder-insert-middle/__snapshots__/html.bundle.debug.js is excluded by !**/__snapshots__/** and included by **
  • packages/runtime-tags/src/__tests__/fixtures/for-reorder-insert-middle/__snapshots__/html.bundle.js is excluded by !**/__snapshots__/** and included by **
  • packages/runtime-tags/src/__tests__/fixtures/for-reorder-mixed/__snapshots__/html.bundle.debug.js is excluded by !**/__snapshots__/** and included by **
  • packages/runtime-tags/src/__tests__/fixtures/for-reorder-mixed/__snapshots__/html.bundle.js is excluded by !**/__snapshots__/** and included by **
  • packages/runtime-tags/src/__tests__/fixtures/for-reorder-replace/__snapshots__/html.bundle.debug.js is excluded by !**/__snapshots__/** and included by **
  • packages/runtime-tags/src/__tests__/fixtures/for-reorder-replace/__snapshots__/html.bundle.js is excluded by !**/__snapshots__/** and included by **
  • packages/runtime-tags/src/__tests__/fixtures/for-reorder-reverse/__snapshots__/html.bundle.debug.js is excluded by !**/__snapshots__/** and included by **
  • packages/runtime-tags/src/__tests__/fixtures/for-reorder-reverse/__snapshots__/html.bundle.js is excluded by !**/__snapshots__/** and included by **
  • packages/runtime-tags/src/__tests__/fixtures/for-reorder-rotate/__snapshots__/html.bundle.debug.js is excluded by !**/__snapshots__/** and included by **
  • packages/runtime-tags/src/__tests__/fixtures/for-reorder-rotate/__snapshots__/html.bundle.js is excluded by !**/__snapshots__/** and included by **
  • packages/runtime-tags/src/__tests__/fixtures/for-reorder-swap/__snapshots__/html.bundle.debug.js is excluded by !**/__snapshots__/** and included by **
  • packages/runtime-tags/src/__tests__/fixtures/for-reorder-swap/__snapshots__/html.bundle.js is excluded by !**/__snapshots__/** and included by **
  • packages/runtime-tags/src/__tests__/fixtures/for-resume-owns-branch-cleanup/__snapshots__/dom.bundle.debug.js is excluded by !**/__snapshots__/** and included by **
  • packages/runtime-tags/src/__tests__/fixtures/for-resume-owns-branch-cleanup/__snapshots__/dom.bundle.js is excluded by !**/__snapshots__/** and included by **
  • packages/runtime-tags/src/__tests__/fixtures/for-resume-owns-branch-cleanup/__snapshots__/html.bundle.debug.js is excluded by !**/__snapshots__/** and included by **
  • packages/runtime-tags/src/__tests__/fixtures/for-resume-owns-branch-cleanup/__snapshots__/html.bundle.js is excluded by !**/__snapshots__/** and included by **
  • packages/runtime-tags/src/__tests__/fixtures/for-resume-owns-branch-cleanup/__snapshots__/render.debug.md is excluded by !**/__snapshots__/** and included by **
  • packages/runtime-tags/src/__tests__/fixtures/for-resume-owns-branch-cleanup/__snapshots__/render.md is excluded by !**/__snapshots__/** and included by **
  • packages/runtime-tags/src/__tests__/fixtures/for-resume-owns-branch-cleanup/__snapshots__/writes.debug.html is excluded by !**/__snapshots__/** and included by **
  • packages/runtime-tags/src/__tests__/fixtures/for-resume-owns-branch-cleanup/__snapshots__/writes.html is excluded by !**/__snapshots__/** and included by **
  • packages/runtime-tags/src/__tests__/fixtures/for-resume-skip-link-when-cleanup-free/__snapshots__/dom.bundle.debug.js is excluded by !**/__snapshots__/** and included by **
  • packages/runtime-tags/src/__tests__/fixtures/for-resume-skip-link-when-cleanup-free/__snapshots__/dom.bundle.js is excluded by !**/__snapshots__/** and included by **
  • packages/runtime-tags/src/__tests__/fixtures/for-resume-skip-link-when-cleanup-free/__snapshots__/html.bundle.debug.js is excluded by !**/__snapshots__/** and included by **
  • packages/runtime-tags/src/__tests__/fixtures/for-resume-skip-link-when-cleanup-free/__snapshots__/html.bundle.js is excluded by !**/__snapshots__/** and included by **
  • packages/runtime-tags/src/__tests__/fixtures/for-resume-skip-link-when-cleanup-free/__snapshots__/render.debug.md is excluded by !**/__snapshots__/** and included by **
  • packages/runtime-tags/src/__tests__/fixtures/for-resume-skip-link-when-cleanup-free/__snapshots__/render.md is excluded by !**/__snapshots__/** and included by **
  • packages/runtime-tags/src/__tests__/fixtures/for-resume-skip-link-when-cleanup-free/__snapshots__/writes.debug.html is excluded by !**/__snapshots__/** and included by **
  • packages/runtime-tags/src/__tests__/fixtures/for-resume-skip-link-when-cleanup-free/__snapshots__/writes.html is excluded by !**/__snapshots__/** and included by **
  • packages/runtime-tags/src/__tests__/fixtures/for-tag-single-node-only-child-in-parent/__snapshots__/html.bundle.debug.js is excluded by !**/__snapshots__/** and included by **
  • packages/runtime-tags/src/__tests__/fixtures/for-tag-single-node-only-child-in-parent/__snapshots__/html.bundle.js is excluded by !**/__snapshots__/** and included by **
  • packages/runtime-tags/src/__tests__/fixtures/for-tag-single-text-node-with-text-before/__snapshots__/html.bundle.debug.js is excluded by !**/__snapshots__/** and included by **
  • packages/runtime-tags/src/__tests__/fixtures/for-tag-single-text-node-with-text-before/__snapshots__/html.bundle.js is excluded by !**/__snapshots__/** and included by **
  • packages/runtime-tags/src/__tests__/fixtures/for-tag-static-value-with-closure/__snapshots__/html.bundle.debug.js is excluded by !**/__snapshots__/** and included by **
  • packages/runtime-tags/src/__tests__/fixtures/for-tag-static-value-with-closure/__snapshots__/html.bundle.js is excluded by !**/__snapshots__/** and included by **
  • packages/runtime-tags/src/__tests__/fixtures/for-tag-with-state/__snapshots__/html.bundle.debug.js is excluded by !**/__snapshots__/** and included by **
  • packages/runtime-tags/src/__tests__/fixtures/for-tag-with-state/__snapshots__/html.bundle.js is excluded by !**/__snapshots__/** and included by **
  • packages/runtime-tags/src/__tests__/fixtures/for-to-range-resume-key/__snapshots__/html.bundle.debug.js is excluded by !**/__snapshots__/** and included by **
  • packages/runtime-tags/src/__tests__/fixtures/for-to-range-resume-key/__snapshots__/html.bundle.js is excluded by !**/__snapshots__/** and included by **
  • packages/runtime-tags/src/__tests__/fixtures/getter-on-single-node-only-child/__snapshots__/html.bundle.debug.js is excluded by !**/__snapshots__/** and included by **
  • packages/runtime-tags/src/__tests__/fixtures/getter-on-single-node-only-child/__snapshots__/html.bundle.js is excluded by !**/__snapshots__/** and included by **
  • packages/runtime-tags/src/__tests__/fixtures/hoist-dynamic-tag-var-many/__snapshots__/html.bundle.debug.js is excluded by !**/__snapshots__/** and included by **
  • packages/runtime-tags/src/__tests__/fixtures/hoist-dynamic-tag-var-many/__snapshots__/html.bundle.js is excluded by !**/__snapshots__/** and included by **
  • packages/runtime-tags/src/__tests__/fixtures/hoist-dynamic-tag-var/__snapshots__/html.bundle.debug.js is excluded by !**/__snapshots__/** and included by **
  • packages/runtime-tags/src/__tests__/fixtures/hoist-dynamic-tag-var/__snapshots__/html.bundle.js is excluded by !**/__snapshots__/** and included by **
  • packages/runtime-tags/src/__tests__/fixtures/hoist-native-tag-var-many/__snapshots__/html.bundle.debug.js is excluded by !**/__snapshots__/** and included by **
  • packages/runtime-tags/src/__tests__/fixtures/hoist-native-tag-var-many/__snapshots__/html.bundle.js is excluded by !**/__snapshots__/** and included by **
  • packages/runtime-tags/src/__tests__/fixtures/hoist-native-tag-var-minimum-scope/__snapshots__/html.bundle.debug.js is excluded by !**/__snapshots__/** and included by **
  • packages/runtime-tags/src/__tests__/fixtures/hoist-native-tag-var-minimum-scope/__snapshots__/html.bundle.js is excluded by !**/__snapshots__/** and included by **
  • packages/runtime-tags/src/__tests__/fixtures/hoist-native-tag-var/__snapshots__/html.bundle.debug.js is excluded by !**/__snapshots__/** and included by **
  • packages/runtime-tags/src/__tests__/fixtures/hoist-native-tag-var/__snapshots__/html.bundle.js is excluded by !**/__snapshots__/** and included by **
  • packages/runtime-tags/src/__tests__/fixtures/hoist-throws-in-render/__snapshots__/html.bundle.debug.js is excluded by !**/__snapshots__/** and included by **
  • packages/runtime-tags/src/__tests__/fixtures/html-script-nonce/__snapshots__/html.bundle.debug.js is excluded by !**/__snapshots__/** and included by **
  • packages/runtime-tags/src/__tests__/fixtures/html-script-nonce/__snapshots__/html.bundle.js is excluded by !**/__snapshots__/** and included by **
  • packages/runtime-tags/src/__tests__/fixtures/html-style-nonce/__snapshots__/html.bundle.debug.js is excluded by !**/__snapshots__/** and included by **
  • packages/runtime-tags/src/__tests__/fixtures/html-style-nonce/__snapshots__/html.bundle.js is excluded by !**/__snapshots__/** and included by **
  • packages/runtime-tags/src/__tests__/fixtures/if-default-false/__snapshots__/html.bundle.debug.js is excluded by !**/__snapshots__/** and included by **
  • packages/runtime-tags/src/__tests__/fixtures/if-default-false/__snapshots__/html.bundle.js is excluded by !**/__snapshots__/** and included by **
  • packages/runtime-tags/src/__tests__/fixtures/if-member-expression-intersection/__snapshots__/html.bundle.debug.js is excluded by !**/__snapshots__/** and included by **
  • packages/runtime-tags/src/__tests__/fixtures/if-member-expression-intersection/__snapshots__/html.bundle.js is excluded by !**/__snapshots__/** and included by **
  • packages/runtime-tags/src/__tests__/fixtures/if-no-content-script/__snapshots__/html.bundle.debug.js is excluded by !**/__snapshots__/** and included by **
  • packages/runtime-tags/src/__tests__/fixtures/if-no-content-script/__snapshots__/html.bundle.js is excluded by !**/__snapshots__/** and included by **
  • packages/runtime-tags/src/__tests__/fixtures/if-resume-link-via-nested-component-cleanup/__snapshots__/dom.bundle.debug.js is excluded by !**/__snapshots__/** and included by **
  • packages/runtime-tags/src/__tests__/fixtures/if-resume-link-via-nested-component-cleanup/__snapshots__/dom.bundle.js is excluded by !**/__snapshots__/** and included by **
  • packages/runtime-tags/src/__tests__/fixtures/if-resume-link-via-nested-component-cleanup/__snapshots__/html.bundle.debug.js is excluded by !**/__snapshots__/** and included by **
  • packages/runtime-tags/src/__tests__/fixtures/if-resume-link-via-nested-component-cleanup/__snapshots__/html.bundle.js is excluded by !**/__snapshots__/** and included by **
  • packages/runtime-tags/src/__tests__/fixtures/if-resume-link-via-nested-component-cleanup/__snapshots__/render.debug.md is excluded by !**/__snapshots__/** and included by **
  • packages/runtime-tags/src/__tests__/fixtures/if-resume-link-via-nested-component-cleanup/__snapshots__/render.md is excluded by !**/__snapshots__/** and included by **
  • packages/runtime-tags/src/__tests__/fixtures/if-resume-link-via-nested-component-cleanup/__snapshots__/writes.debug.html is excluded by !**/__snapshots__/** and included by **
  • packages/runtime-tags/src/__tests__/fixtures/if-resume-link-via-nested-component-cleanup/__snapshots__/writes.html is excluded by !**/__snapshots__/** and included by **
📒 Files selected for processing (129)
  • .changeset/resume-branch-fixes.md
  • .sizes.json
  • .sizes/dom.js
  • packages/runtime-tags/src/__tests__/fixtures-interop/ambiguous-tags-and-components-dir/sizes.json
  • packages/runtime-tags/src/__tests__/fixtures-interop/class/sizes.json
  • packages/runtime-tags/src/__tests__/fixtures-interop/custom-tag-parameters-from-args/sizes.json
  • packages/runtime-tags/src/__tests__/fixtures-interop/interop-basic-class-to-tags/sizes.json
  • packages/runtime-tags/src/__tests__/fixtures-interop/interop-basic-tags-to-class/sizes.json
  • packages/runtime-tags/src/__tests__/fixtures-interop/interop-class-in-components-in-tags-dir/sizes.json
  • packages/runtime-tags/src/__tests__/fixtures-interop/interop-class-to-tags-import/sizes.json
  • packages/runtime-tags/src/__tests__/fixtures-interop/interop-event-handler-render-body-tags-to-class/sizes.json
  • packages/runtime-tags/src/__tests__/fixtures-interop/interop-events-tags-to-class/sizes.json
  • packages/runtime-tags/src/__tests__/fixtures-interop/interop-nested-attr-tags-class-to-tags/sizes.json
  • packages/runtime-tags/src/__tests__/fixtures-interop/interop-nested-class-to-tags/sizes.json
  • packages/runtime-tags/src/__tests__/fixtures-interop/interop-nested-tags-to-class/sizes.json
  • packages/runtime-tags/src/__tests__/fixtures-interop/interop-stateless-tags-to-class/sizes.json
  • packages/runtime-tags/src/__tests__/fixtures-interop/interop-tag-params-class-to-tags/sizes.json
  • packages/runtime-tags/src/__tests__/fixtures-interop/interop-tag-params-tags-to-class/sizes.json
  • packages/runtime-tags/src/__tests__/fixtures-interop/lazy-class-child-event/sizes.json
  • packages/runtime-tags/src/__tests__/fixtures-interop/lazy-class-child-idle/sizes.json
  • packages/runtime-tags/src/__tests__/fixtures-interop/lazy-class-child-ssr-toggle/sizes.json
  • packages/runtime-tags/src/__tests__/fixtures-interop/lazy-class-child-ssr/sizes.json
  • packages/runtime-tags/src/__tests__/fixtures-interop/lazy-class-child-unmount-before-load/sizes.json
  • packages/runtime-tags/src/__tests__/fixtures-interop/lazy-class-child-visible/sizes.json
  • packages/runtime-tags/src/__tests__/fixtures-interop/let/sizes.json
  • packages/runtime-tags/src/__tests__/fixtures/assign-to-owner-closure/sizes.json
  • packages/runtime-tags/src/__tests__/fixtures/async-multi-resolve-in-order-and-update/sizes.json
  • packages/runtime-tags/src/__tests__/fixtures/async-state/sizes.json
  • packages/runtime-tags/src/__tests__/fixtures/at-tags-dynamic-with-params/sizes.json
  • packages/runtime-tags/src/__tests__/fixtures/at-tags-dynamic/sizes.json
  • packages/runtime-tags/src/__tests__/fixtures/await-cleanup/sizes.json
  • packages/runtime-tags/src/__tests__/fixtures/await-closure-in-order/sizes.json
  • packages/runtime-tags/src/__tests__/fixtures/await-closure-within/sizes.json
  • packages/runtime-tags/src/__tests__/fixtures/await-no-try-resume-rerender/sizes.json
  • packages/runtime-tags/src/__tests__/fixtures/await-no-try-resume-rerender/template.marko
  • packages/runtime-tags/src/__tests__/fixtures/await-no-try-resume-rerender/test.ts
  • packages/runtime-tags/src/__tests__/fixtures/await-remove-parent/sizes.json
  • packages/runtime-tags/src/__tests__/fixtures/await-update-after-resume/sizes.json
  • packages/runtime-tags/src/__tests__/fixtures/await-update-before-resume/sizes.json
  • packages/runtime-tags/src/__tests__/fixtures/basic-conditional-counter-multiple-nodes/sizes.json
  • packages/runtime-tags/src/__tests__/fixtures/basic-conditional-counter/sizes.json
  • packages/runtime-tags/src/__tests__/fixtures/basic-execution-order/sizes.json
  • packages/runtime-tags/src/__tests__/fixtures/basic-nested-for/sizes.json
  • packages/runtime-tags/src/__tests__/fixtures/basic-nested-params/sizes.json
  • packages/runtime-tags/src/__tests__/fixtures/basic-nested-scope-if/sizes.json
  • packages/runtime-tags/src/__tests__/fixtures/basic-push-pop-list/sizes.json
  • packages/runtime-tags/src/__tests__/fixtures/basic-shared-node-ref/sizes.json
  • packages/runtime-tags/src/__tests__/fixtures/basic-toggle-show/sizes.json
  • packages/runtime-tags/src/__tests__/fixtures/batched-updates-cleanup/sizes.json
  • packages/runtime-tags/src/__tests__/fixtures/body-content/sizes.json
  • packages/runtime-tags/src/__tests__/fixtures/cleanup-n-child-for-shallow/sizes.json
  • packages/runtime-tags/src/__tests__/fixtures/cleanup-n-child-if-deep/sizes.json
  • packages/runtime-tags/src/__tests__/fixtures/cleanup-n-child-if-same-scope/sizes.json
  • packages/runtime-tags/src/__tests__/fixtures/cleanup-n-child-if-shallow/sizes.json
  • packages/runtime-tags/src/__tests__/fixtures/cleanup-single-child-for-deep/sizes.json
  • packages/runtime-tags/src/__tests__/fixtures/cleanup-single-child-for-shallow/sizes.json
  • packages/runtime-tags/src/__tests__/fixtures/cleanup-single-child-if-deep/sizes.json
  • packages/runtime-tags/src/__tests__/fixtures/cleanup-single-child-if-same-scope/sizes.json
  • packages/runtime-tags/src/__tests__/fixtures/cleanup-single-child-if-shallow/sizes.json
  • packages/runtime-tags/src/__tests__/fixtures/closure-serialize-reason/sizes.json
  • packages/runtime-tags/src/__tests__/fixtures/conditional-dynamic-tag-in-loop-closure/sizes.json
  • packages/runtime-tags/src/__tests__/fixtures/conditional-table-row/sizes.json
  • packages/runtime-tags/src/__tests__/fixtures/controllable-checked-many/sizes.json
  • packages/runtime-tags/src/__tests__/fixtures/controllable-checked-spread/sizes.json
  • packages/runtime-tags/src/__tests__/fixtures/controllable-checked-value-empty-spread/sizes.json
  • packages/runtime-tags/src/__tests__/fixtures/controllable-checked-value-spread/sizes.json
  • packages/runtime-tags/src/__tests__/fixtures/controllable-checked-values-spread/sizes.json
  • packages/runtime-tags/src/__tests__/fixtures/controllable-details-open-spread/sizes.json
  • packages/runtime-tags/src/__tests__/fixtures/controllable-dialog-open-spread/sizes.json
  • packages/runtime-tags/src/__tests__/fixtures/controllable-dynamic-checkbox-checked-value/sizes.json
  • packages/runtime-tags/src/__tests__/fixtures/controllable-input-value-spread/sizes.json
  • packages/runtime-tags/src/__tests__/fixtures/controllable-merged-spread/sizes.json
  • packages/runtime-tags/src/__tests__/fixtures/controllable-partial-spread/sizes.json
  • packages/runtime-tags/src/__tests__/fixtures/controllable-select-dynamic-spread/sizes.json
  • packages/runtime-tags/src/__tests__/fixtures/controllable-select-mutated-option/sizes.json
  • packages/runtime-tags/src/__tests__/fixtures/controllable-select-spread/sizes.json
  • packages/runtime-tags/src/__tests__/fixtures/controllable-textarea-value-spread/sizes.json
  • packages/runtime-tags/src/__tests__/fixtures/custom-tag-parameters-from-args/sizes.json
  • packages/runtime-tags/src/__tests__/fixtures/custom-tag-parameters-from-attributes/sizes.json
  • packages/runtime-tags/src/__tests__/fixtures/custom-tag-parameters-from-single-arg/sizes.json
  • packages/runtime-tags/src/__tests__/fixtures/define-tag-for-attribute-tag/sizes.json
  • packages/runtime-tags/src/__tests__/fixtures/define-tag-render-closure/sizes.json
  • packages/runtime-tags/src/__tests__/fixtures/define-tag-render-conditional/sizes.json
  • packages/runtime-tags/src/__tests__/fixtures/destructure-stateful-upstream-alias/sizes.json
  • packages/runtime-tags/src/__tests__/fixtures/dollar-global-client/sizes.json
  • packages/runtime-tags/src/__tests__/fixtures/dynamic-native-dynamic-tag/sizes.json
  • packages/runtime-tags/src/__tests__/fixtures/dynamic-native-tag-events/sizes.json
  • packages/runtime-tags/src/__tests__/fixtures/dynamic-tag-args-tag-var/sizes.json
  • packages/runtime-tags/src/__tests__/fixtures/dynamic-tag-args/sizes.json
  • packages/runtime-tags/src/__tests__/fixtures/dynamic-tag-custom-native/sizes.json
  • packages/runtime-tags/src/__tests__/fixtures/dynamic-tag-custom-tags/sizes.json
  • packages/runtime-tags/src/__tests__/fixtures/dynamic-tag-input-intersection/sizes.json
  • packages/runtime-tags/src/__tests__/fixtures/dynamic-tag-resume-owns-branch-cleanup/sizes.json
  • packages/runtime-tags/src/__tests__/fixtures/dynamic-tag-resume-owns-branch-cleanup/tags/child.marko
  • packages/runtime-tags/src/__tests__/fixtures/dynamic-tag-resume-owns-branch-cleanup/template.marko
  • packages/runtime-tags/src/__tests__/fixtures/dynamic-tag-resume-owns-branch-cleanup/test.ts
  • packages/runtime-tags/src/__tests__/fixtures/dynamic-tag-single-arg/sizes.json
  • packages/runtime-tags/src/__tests__/fixtures/dynamic-tag-sometimes-null/sizes.json
  • packages/runtime-tags/src/__tests__/fixtures/dynamic-tag-with-updating-body/sizes.json
  • packages/runtime-tags/src/__tests__/fixtures/embed-control-flow-boundary/sizes.json
  • packages/runtime-tags/src/__tests__/fixtures/for-by-use-index/sizes.json
  • packages/runtime-tags/src/__tests__/fixtures/for-by/sizes.json
  • packages/runtime-tags/src/__tests__/fixtures/for-destructure/sizes.json
  • packages/runtime-tags/src/__tests__/fixtures/for-event-handler/sizes.json
  • packages/runtime-tags/src/__tests__/fixtures/for-resume-owns-branch-cleanup/sizes.json
  • packages/runtime-tags/src/__tests__/fixtures/for-resume-owns-branch-cleanup/tags/child.marko
  • packages/runtime-tags/src/__tests__/fixtures/for-resume-owns-branch-cleanup/template.marko
  • packages/runtime-tags/src/__tests__/fixtures/for-resume-owns-branch-cleanup/test.ts
  • packages/runtime-tags/src/__tests__/fixtures/for-resume-skip-link-when-cleanup-free/sizes.json
  • packages/runtime-tags/src/__tests__/fixtures/for-resume-skip-link-when-cleanup-free/tags/list.marko
  • packages/runtime-tags/src/__tests__/fixtures/for-resume-skip-link-when-cleanup-free/template.marko
  • packages/runtime-tags/src/__tests__/fixtures/for-resume-skip-link-when-cleanup-free/test.ts
  • packages/runtime-tags/src/__tests__/fixtures/for-tag-single-node-only-child-in-parent/sizes.json
  • packages/runtime-tags/src/__tests__/fixtures/for-tag-single-text-node-with-text-before/sizes.json
  • packages/runtime-tags/src/__tests__/fixtures/for-tag-with-state/sizes.json
  • packages/runtime-tags/src/__tests__/fixtures/for-to-range-resume-key/sizes.json
  • packages/runtime-tags/src/__tests__/fixtures/getter-on-single-node-only-child/sizes.json
  • packages/runtime-tags/src/__tests__/fixtures/hoist-custom-tag-var-from-dynamic/sizes.json
  • packages/runtime-tags/src/__tests__/fixtures/hoist-dynamic-tag-var-from-dynamic/sizes.json
  • packages/runtime-tags/src/__tests__/fixtures/hoist-native-tag-var-from-dynamic/sizes.json
  • packages/runtime-tags/src/__tests__/fixtures/html-script-nonce/sizes.json
  • packages/runtime-tags/src/__tests__/fixtures/html-style-nonce/sizes.json
  • packages/runtime-tags/src/__tests__/fixtures/if-default-false/sizes.json
  • packages/runtime-tags/src/__tests__/fixtures/if-member-expression-intersection/sizes.json
  • packages/runtime-tags/src/__tests__/fixtures/if-no-content-script/sizes.json
  • packages/runtime-tags/src/__tests__/fixtures/if-resume-link-via-nested-component-cleanup/sizes.json
  • packages/runtime-tags/src/__tests__/fixtures/if-resume-link-via-nested-component-cleanup/tags/leaf.marko
  • packages/runtime-tags/src/__tests__/fixtures/if-resume-link-via-nested-component-cleanup/tags/wrapper.marko
  • packages/runtime-tags/src/__tests__/fixtures/if-resume-link-via-nested-component-cleanup/template.marko
✅ Files skipped from review due to trivial changes (113)
  • .sizes.json
  • packages/runtime-tags/src/tests/fixtures/conditional-dynamic-tag-in-loop-closure/sizes.json
  • packages/runtime-tags/src/tests/fixtures/dynamic-tag-args/sizes.json
  • packages/runtime-tags/src/tests/fixtures/controllable-checked-many/sizes.json
  • packages/runtime-tags/src/tests/fixtures/basic-nested-for/sizes.json
  • packages/runtime-tags/src/tests/fixtures/controllable-details-open-spread/sizes.json
  • packages/runtime-tags/src/tests/fixtures/dynamic-tag-with-updating-body/sizes.json
  • packages/runtime-tags/src/tests/fixtures-interop/interop-basic-class-to-tags/sizes.json
  • packages/runtime-tags/src/tests/fixtures/cleanup-single-child-for-shallow/sizes.json
  • packages/runtime-tags/src/tests/fixtures/controllable-select-spread/sizes.json
  • packages/runtime-tags/src/tests/fixtures/controllable-input-value-spread/sizes.json
  • packages/runtime-tags/src/tests/fixtures/destructure-stateful-upstream-alias/sizes.json
  • packages/runtime-tags/src/tests/fixtures/dynamic-tag-single-arg/sizes.json
  • packages/runtime-tags/src/tests/fixtures/dynamic-tag-input-intersection/sizes.json
  • packages/runtime-tags/src/tests/fixtures/for-destructure/sizes.json
  • packages/runtime-tags/src/tests/fixtures-interop/interop-basic-tags-to-class/sizes.json
  • packages/runtime-tags/src/tests/fixtures-interop/lazy-class-child-visible/sizes.json
  • packages/runtime-tags/src/tests/fixtures/await-remove-parent/sizes.json
  • packages/runtime-tags/src/tests/fixtures-interop/interop-nested-attr-tags-class-to-tags/sizes.json
  • packages/runtime-tags/src/tests/fixtures/for-tag-single-text-node-with-text-before/sizes.json
  • packages/runtime-tags/src/tests/fixtures-interop/lazy-class-child-idle/sizes.json
  • packages/runtime-tags/src/tests/fixtures/controllable-select-mutated-option/sizes.json
  • packages/runtime-tags/src/tests/fixtures/define-tag-for-attribute-tag/sizes.json
  • packages/runtime-tags/src/tests/fixtures-interop/interop-event-handler-render-body-tags-to-class/sizes.json
  • packages/runtime-tags/src/tests/fixtures-interop/interop-nested-tags-to-class/sizes.json
  • packages/runtime-tags/src/tests/fixtures-interop/lazy-class-child-unmount-before-load/sizes.json
  • packages/runtime-tags/src/tests/fixtures-interop/let/sizes.json
  • packages/runtime-tags/src/tests/fixtures/basic-toggle-show/sizes.json
  • packages/runtime-tags/src/tests/fixtures-interop/custom-tag-parameters-from-args/sizes.json
  • packages/runtime-tags/src/tests/fixtures/controllable-dialog-open-spread/sizes.json
  • packages/runtime-tags/src/tests/fixtures/cleanup-n-child-for-shallow/sizes.json
  • packages/runtime-tags/src/tests/fixtures/define-tag-render-conditional/sizes.json
  • packages/runtime-tags/src/tests/fixtures/if-resume-link-via-nested-component-cleanup/template.marko
  • packages/runtime-tags/src/tests/fixtures/if-resume-link-via-nested-component-cleanup/tags/wrapper.marko
  • packages/runtime-tags/src/tests/fixtures/for-resume-skip-link-when-cleanup-free/template.marko
  • packages/runtime-tags/src/tests/fixtures/basic-push-pop-list/sizes.json
  • packages/runtime-tags/src/tests/fixtures/dynamic-tag-resume-owns-branch-cleanup/sizes.json
  • packages/runtime-tags/src/tests/fixtures/for-event-handler/sizes.json
  • packages/runtime-tags/src/tests/fixtures/if-default-false/sizes.json
  • packages/runtime-tags/src/tests/fixtures/controllable-checked-values-spread/sizes.json
  • packages/runtime-tags/src/tests/fixtures-interop/lazy-class-child-event/sizes.json
  • packages/runtime-tags/src/tests/fixtures/for-by-use-index/sizes.json
  • packages/runtime-tags/src/tests/fixtures/custom-tag-parameters-from-single-arg/sizes.json
  • packages/runtime-tags/src/tests/fixtures-interop/interop-stateless-tags-to-class/sizes.json
  • packages/runtime-tags/src/tests/fixtures/if-member-expression-intersection/sizes.json
  • packages/runtime-tags/src/tests/fixtures/cleanup-n-child-if-shallow/sizes.json
  • packages/runtime-tags/src/tests/fixtures/at-tags-dynamic/sizes.json
  • packages/runtime-tags/src/tests/fixtures-interop/lazy-class-child-ssr/sizes.json
  • packages/runtime-tags/src/tests/fixtures/for-resume-skip-link-when-cleanup-free/test.ts
  • packages/runtime-tags/src/tests/fixtures/html-script-nonce/sizes.json
  • packages/runtime-tags/src/tests/fixtures/await-no-try-resume-rerender/sizes.json
  • packages/runtime-tags/src/tests/fixtures-interop/interop-nested-class-to-tags/sizes.json
  • packages/runtime-tags/src/tests/fixtures/cleanup-single-child-if-same-scope/sizes.json
  • packages/runtime-tags/src/tests/fixtures-interop/interop-events-tags-to-class/sizes.json
  • packages/runtime-tags/src/tests/fixtures/if-no-content-script/sizes.json
  • packages/runtime-tags/src/tests/fixtures/at-tags-dynamic-with-params/sizes.json
  • packages/runtime-tags/src/tests/fixtures/assign-to-owner-closure/sizes.json
  • packages/runtime-tags/src/tests/fixtures/custom-tag-parameters-from-args/sizes.json
  • packages/runtime-tags/src/tests/fixtures/basic-shared-node-ref/sizes.json
  • packages/runtime-tags/src/tests/fixtures/async-multi-resolve-in-order-and-update/sizes.json
  • packages/runtime-tags/src/tests/fixtures/dynamic-tag-sometimes-null/sizes.json
  • packages/runtime-tags/src/tests/fixtures-interop/lazy-class-child-ssr-toggle/sizes.json
  • packages/runtime-tags/src/tests/fixtures/for-by/sizes.json
  • packages/runtime-tags/src/tests/fixtures/controllable-select-dynamic-spread/sizes.json
  • packages/runtime-tags/src/tests/fixtures/await-cleanup/sizes.json
  • packages/runtime-tags/src/tests/fixtures-interop/class/sizes.json
  • packages/runtime-tags/src/tests/fixtures/dynamic-native-tag-events/sizes.json
  • packages/runtime-tags/src/tests/fixtures/controllable-dynamic-checkbox-checked-value/sizes.json
  • packages/runtime-tags/src/tests/fixtures/cleanup-single-child-for-deep/sizes.json
  • packages/runtime-tags/src/tests/fixtures/dynamic-tag-custom-tags/sizes.json
  • packages/runtime-tags/src/tests/fixtures/dynamic-native-dynamic-tag/sizes.json
  • packages/runtime-tags/src/tests/fixtures/cleanup-n-child-if-deep/sizes.json
  • packages/runtime-tags/src/tests/fixtures/cleanup-single-child-if-deep/sizes.json
  • packages/runtime-tags/src/tests/fixtures-interop/interop-tag-params-tags-to-class/sizes.json
  • packages/runtime-tags/src/tests/fixtures/embed-control-flow-boundary/sizes.json
  • packages/runtime-tags/src/tests/fixtures/controllable-merged-spread/sizes.json
  • packages/runtime-tags/src/tests/fixtures/body-content/sizes.json
  • .changeset/resume-branch-fixes.md
  • packages/runtime-tags/src/tests/fixtures/closure-serialize-reason/sizes.json
  • packages/runtime-tags/src/tests/fixtures-interop/interop-class-in-components-in-tags-dir/sizes.json
  • packages/runtime-tags/src/tests/fixtures/async-state/sizes.json
  • packages/runtime-tags/src/tests/fixtures/controllable-checked-value-spread/sizes.json
  • packages/runtime-tags/src/tests/fixtures/getter-on-single-node-only-child/sizes.json
  • packages/runtime-tags/src/tests/fixtures/controllable-textarea-value-spread/sizes.json
  • packages/runtime-tags/src/tests/fixtures/for-to-range-resume-key/sizes.json
  • packages/runtime-tags/src/tests/fixtures/for-tag-single-node-only-child-in-parent/sizes.json
  • packages/runtime-tags/src/tests/fixtures/await-update-after-resume/sizes.json
  • packages/runtime-tags/src/tests/fixtures/await-closure-in-order/sizes.json
  • packages/runtime-tags/src/tests/fixtures/define-tag-render-closure/sizes.json
  • packages/runtime-tags/src/tests/fixtures/controllable-checked-spread/sizes.json
  • packages/runtime-tags/src/tests/fixtures/basic-nested-scope-if/sizes.json
  • packages/runtime-tags/src/tests/fixtures/for-resume-skip-link-when-cleanup-free/sizes.json
  • packages/runtime-tags/src/tests/fixtures-interop/interop-class-to-tags-import/sizes.json
  • packages/runtime-tags/src/tests/fixtures/dollar-global-client/sizes.json
  • packages/runtime-tags/src/tests/fixtures/basic-nested-params/sizes.json
  • packages/runtime-tags/src/tests/fixtures/hoist-native-tag-var-from-dynamic/sizes.json
  • packages/runtime-tags/src/tests/fixtures/custom-tag-parameters-from-attributes/sizes.json
  • packages/runtime-tags/src/tests/fixtures-interop/interop-tag-params-class-to-tags/sizes.json
  • packages/runtime-tags/src/tests/fixtures/cleanup-n-child-if-same-scope/sizes.json
  • packages/runtime-tags/src/tests/fixtures/await-closure-within/sizes.json
  • packages/runtime-tags/src/tests/fixtures/cleanup-single-child-if-shallow/sizes.json
  • packages/runtime-tags/src/tests/fixtures/dynamic-tag-custom-native/sizes.json
  • packages/runtime-tags/src/tests/fixtures/hoist-dynamic-tag-var-from-dynamic/sizes.json
  • packages/runtime-tags/src/tests/fixtures/dynamic-tag-args-tag-var/sizes.json
  • packages/runtime-tags/src/tests/fixtures/controllable-partial-spread/sizes.json
  • packages/runtime-tags/src/tests/fixtures/basic-execution-order/sizes.json
  • packages/runtime-tags/src/tests/fixtures/html-style-nonce/sizes.json
  • packages/runtime-tags/src/tests/fixtures/basic-conditional-counter/sizes.json
  • packages/runtime-tags/src/tests/fixtures/for-resume-owns-branch-cleanup/sizes.json
  • packages/runtime-tags/src/tests/fixtures/dynamic-tag-resume-owns-branch-cleanup/tags/child.marko
  • packages/runtime-tags/src/tests/fixtures-interop/ambiguous-tags-and-components-dir/sizes.json
  • packages/runtime-tags/src/tests/fixtures/controllable-checked-value-empty-spread/sizes.json
  • packages/runtime-tags/src/tests/fixtures/batched-updates-cleanup/sizes.json
🚧 Files skipped from review as they are similar to previous changes (13)
  • packages/runtime-tags/src/tests/fixtures/conditional-table-row/sizes.json
  • packages/runtime-tags/src/tests/fixtures/dynamic-tag-resume-owns-branch-cleanup/test.ts
  • packages/runtime-tags/src/tests/fixtures/dynamic-tag-resume-owns-branch-cleanup/template.marko
  • packages/runtime-tags/src/tests/fixtures/hoist-custom-tag-var-from-dynamic/sizes.json
  • packages/runtime-tags/src/tests/fixtures/for-resume-owns-branch-cleanup/tags/child.marko
  • packages/runtime-tags/src/tests/fixtures/for-tag-with-state/sizes.json
  • packages/runtime-tags/src/tests/fixtures/await-no-try-resume-rerender/test.ts
  • packages/runtime-tags/src/tests/fixtures/await-update-before-resume/sizes.json
  • packages/runtime-tags/src/tests/fixtures/for-resume-owns-branch-cleanup/test.ts
  • packages/runtime-tags/src/tests/fixtures/for-resume-owns-branch-cleanup/template.marko
  • .sizes/dom.js
  • packages/runtime-tags/src/tests/fixtures/await-no-try-resume-rerender/template.marko
  • packages/runtime-tags/src/tests/fixtures/basic-conditional-counter-multiple-nodes/sizes.json

Walkthrough

This patch fixes three resume-related bugs in @marko/runtime-tags. The _await_promise completion callback in the DOM runtime gains race-safe anchor reconciliation: it now checks whether the resolved branch is still active, derives the detached parent from the active branch marker, and removes or replaces the anchor based on parent equality, preventing a HierarchyRequestError on bare <await> re-resolve after resume. Four new test fixtures are added: await-no-try-resume-rerender, for-resume-owns-branch-cleanup, dynamic-tag-resume-owns-branch-cleanup, and for-resume-skip-link-when-cleanup-free/if-resume-link-via-nested-component-cleanup, covering bare-await re-render, branch cleanup after resume, and the closest-branch link optimization for cleanup-free branches. All affected sizes.json snapshots are updated accordingly.

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check name Status Explanation
Title check ✅ Passed The title 'fix(runtime-tags): correctly link control-flow branches on resume' clearly and specifically describes the main changes in the PR, which fix control-flow branch linking issues during resume in the runtime-tags module.
Description check ✅ Passed The PR description comprehensively explains both fixes: orphaned client-created branches and bare await re-resolution errors, with detailed context about the problems and solutions.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch claude/runtime-tags-bug-bash-apevcu
⚔️ Resolve merge conflicts
  • Resolve merge conflict in branch claude/runtime-tags-bug-bash-apevcu

Comment @coderabbitai help to get the list of available commands and usage tips.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🧹 Nitpick comments (1)
packages/runtime-tags/src/__tests__/fixtures/for-resume-owns-branch-cleanup/test.ts (1)

3-12: 🧹 Nitpick | 🔵 Trivial | ⚡ Quick win

Place the exported test config before helper implementations.

This file is currently helper-first; move the public API (config) to the top and keep helpers below, using function hoisting for readability.

Proposed reorder
 import type { TestConfig } from "../../main.test";
 
+export const config: TestConfig = {
+  steps: [{}, add, toggleOuter],
+};
+
 function add(container: Element) {
   container.querySelector<HTMLButtonElement>("`#a`")!.click();
 }
 function toggleOuter(container: Element) {
   container.querySelector<HTMLButtonElement>("`#o`")!.click();
 }
-
-export const config: TestConfig = {
-  steps: [{}, add, toggleOuter],
-};

As per coding guidelines, "**/*.{js,ts,jsx,tsx}: Organize file contents from most important to least important: Public API (exports), High-level orchestration logic, Helper functions, Low-level implementation details" and "Use function declaration hoisting to enable top-down file structure with progressive disclosure`".

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In
`@packages/runtime-tags/src/__tests__/fixtures/for-resume-owns-branch-cleanup/test.ts`
around lines 3 - 12, The file currently defines helper functions add and
toggleOuter before the exported config object, which violates the guideline to
organize files from most important (public API) to least important (helpers).
Move the exported config object to the top of the file and place the helper
functions add and toggleOuter below it. Since these are function declarations,
they will be hoisted and available to the config initialization, allowing the
top-down file structure while maintaining readability.

Source: Coding guidelines

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Nitpick comments:
In
`@packages/runtime-tags/src/__tests__/fixtures/for-resume-owns-branch-cleanup/test.ts`:
- Around line 3-12: The file currently defines helper functions add and
toggleOuter before the exported config object, which violates the guideline to
organize files from most important (public API) to least important (helpers).
Move the exported config object to the top of the file and place the helper
functions add and toggleOuter below it. Since these are function declarations,
they will be hoisted and available to the config initialization, allowing the
top-down file structure while maintaining readability.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: df849e2f-d9c4-4d4b-9352-af8a158a098e

📥 Commits

Reviewing files that changed from the base of the PR and between 69e199d and c96d4db.

⛔ Files ignored due to path filters (36)
  • packages/runtime-tags/src/__tests__/fixtures/await-no-try-resume-rerender/__snapshots__/dom.bundle.debug.js is excluded by !**/__snapshots__/** and included by **
  • packages/runtime-tags/src/__tests__/fixtures/await-no-try-resume-rerender/__snapshots__/dom.bundle.js is excluded by !**/__snapshots__/** and included by **
  • packages/runtime-tags/src/__tests__/fixtures/await-no-try-resume-rerender/__snapshots__/html.bundle.debug.js is excluded by !**/__snapshots__/** and included by **
  • packages/runtime-tags/src/__tests__/fixtures/await-no-try-resume-rerender/__snapshots__/html.bundle.js is excluded by !**/__snapshots__/** and included by **
  • packages/runtime-tags/src/__tests__/fixtures/await-no-try-resume-rerender/__snapshots__/render-csr.debug.md is excluded by !**/__snapshots__/** and included by **
  • packages/runtime-tags/src/__tests__/fixtures/await-no-try-resume-rerender/__snapshots__/render-csr.md is excluded by !**/__snapshots__/** and included by **
  • packages/runtime-tags/src/__tests__/fixtures/await-no-try-resume-rerender/__snapshots__/render-ssr.debug.md is excluded by !**/__snapshots__/** and included by **
  • packages/runtime-tags/src/__tests__/fixtures/await-no-try-resume-rerender/__snapshots__/render-ssr.md is excluded by !**/__snapshots__/** and included by **
  • packages/runtime-tags/src/__tests__/fixtures/await-no-try-resume-rerender/__snapshots__/writes.debug.html is excluded by !**/__snapshots__/** and included by **
  • packages/runtime-tags/src/__tests__/fixtures/await-no-try-resume-rerender/__snapshots__/writes.html is excluded by !**/__snapshots__/** and included by **
  • packages/runtime-tags/src/__tests__/fixtures/dynamic-tag-resume-owns-branch-cleanup/__snapshots__/dom.bundle.debug.js is excluded by !**/__snapshots__/** and included by **
  • packages/runtime-tags/src/__tests__/fixtures/dynamic-tag-resume-owns-branch-cleanup/__snapshots__/dom.bundle.js is excluded by !**/__snapshots__/** and included by **
  • packages/runtime-tags/src/__tests__/fixtures/dynamic-tag-resume-owns-branch-cleanup/__snapshots__/html.bundle.debug.js is excluded by !**/__snapshots__/** and included by **
  • packages/runtime-tags/src/__tests__/fixtures/dynamic-tag-resume-owns-branch-cleanup/__snapshots__/html.bundle.js is excluded by !**/__snapshots__/** and included by **
  • packages/runtime-tags/src/__tests__/fixtures/dynamic-tag-resume-owns-branch-cleanup/__snapshots__/render.debug.md is excluded by !**/__snapshots__/** and included by **
  • packages/runtime-tags/src/__tests__/fixtures/dynamic-tag-resume-owns-branch-cleanup/__snapshots__/render.md is excluded by !**/__snapshots__/** and included by **
  • packages/runtime-tags/src/__tests__/fixtures/dynamic-tag-resume-owns-branch-cleanup/__snapshots__/writes.debug.html is excluded by !**/__snapshots__/** and included by **
  • packages/runtime-tags/src/__tests__/fixtures/dynamic-tag-resume-owns-branch-cleanup/__snapshots__/writes.html is excluded by !**/__snapshots__/** and included by **
  • packages/runtime-tags/src/__tests__/fixtures/for-resume-owns-branch-cleanup/__snapshots__/dom.bundle.debug.js is excluded by !**/__snapshots__/** and included by **
  • packages/runtime-tags/src/__tests__/fixtures/for-resume-owns-branch-cleanup/__snapshots__/dom.bundle.js is excluded by !**/__snapshots__/** and included by **
  • packages/runtime-tags/src/__tests__/fixtures/for-resume-owns-branch-cleanup/__snapshots__/html.bundle.debug.js is excluded by !**/__snapshots__/** and included by **
  • packages/runtime-tags/src/__tests__/fixtures/for-resume-owns-branch-cleanup/__snapshots__/html.bundle.js is excluded by !**/__snapshots__/** and included by **
  • packages/runtime-tags/src/__tests__/fixtures/for-resume-owns-branch-cleanup/__snapshots__/render.debug.md is excluded by !**/__snapshots__/** and included by **
  • packages/runtime-tags/src/__tests__/fixtures/for-resume-owns-branch-cleanup/__snapshots__/render.md is excluded by !**/__snapshots__/** and included by **
  • packages/runtime-tags/src/__tests__/fixtures/for-resume-owns-branch-cleanup/__snapshots__/writes.debug.html is excluded by !**/__snapshots__/** and included by **
  • packages/runtime-tags/src/__tests__/fixtures/for-resume-owns-branch-cleanup/__snapshots__/writes.html is excluded by !**/__snapshots__/** and included by **
  • packages/runtime-tags/src/__tests__/fixtures/if-resume-owns-branch-cleanup/__snapshots__/dom.bundle.debug.js is excluded by !**/__snapshots__/** and included by **
  • packages/runtime-tags/src/__tests__/fixtures/if-resume-owns-branch-cleanup/__snapshots__/dom.bundle.js is excluded by !**/__snapshots__/** and included by **
  • packages/runtime-tags/src/__tests__/fixtures/if-resume-owns-branch-cleanup/__snapshots__/html.bundle.debug.js is excluded by !**/__snapshots__/** and included by **
  • packages/runtime-tags/src/__tests__/fixtures/if-resume-owns-branch-cleanup/__snapshots__/html.bundle.js is excluded by !**/__snapshots__/** and included by **
  • packages/runtime-tags/src/__tests__/fixtures/if-resume-owns-branch-cleanup/__snapshots__/render.debug.md is excluded by !**/__snapshots__/** and included by **
  • packages/runtime-tags/src/__tests__/fixtures/if-resume-owns-branch-cleanup/__snapshots__/render.md is excluded by !**/__snapshots__/** and included by **
  • packages/runtime-tags/src/__tests__/fixtures/if-resume-owns-branch-cleanup/__snapshots__/writes.debug.html is excluded by !**/__snapshots__/** and included by **
  • packages/runtime-tags/src/__tests__/fixtures/if-resume-owns-branch-cleanup/__snapshots__/writes.html is excluded by !**/__snapshots__/** and included by **
  • packages/runtime-tags/src/__tests__/fixtures/tags-dir-recursive/__snapshots__/writes.debug.html is excluded by !**/__snapshots__/** and included by **
  • packages/runtime-tags/src/__tests__/fixtures/tags-dir-recursive/__snapshots__/writes.html is excluded by !**/__snapshots__/** and included by **
📒 Files selected for processing (155)
  • .changeset/resume-branch-fixes.md
  • .sizes.json
  • .sizes/dom.js
  • packages/runtime-tags/src/__tests__/fixtures-interop/ambiguous-tags-and-components-dir/sizes.json
  • packages/runtime-tags/src/__tests__/fixtures-interop/class/sizes.json
  • packages/runtime-tags/src/__tests__/fixtures-interop/custom-tag-parameters-from-args/sizes.json
  • packages/runtime-tags/src/__tests__/fixtures-interop/interop-basic-class-to-tags/sizes.json
  • packages/runtime-tags/src/__tests__/fixtures-interop/interop-basic-tags-to-class/sizes.json
  • packages/runtime-tags/src/__tests__/fixtures-interop/interop-class-in-components-in-tags-dir/sizes.json
  • packages/runtime-tags/src/__tests__/fixtures-interop/interop-class-to-tags-import/sizes.json
  • packages/runtime-tags/src/__tests__/fixtures-interop/interop-event-handler-render-body-tags-to-class/sizes.json
  • packages/runtime-tags/src/__tests__/fixtures-interop/interop-events-tags-to-class/sizes.json
  • packages/runtime-tags/src/__tests__/fixtures-interop/interop-nested-attr-tags-class-to-tags/sizes.json
  • packages/runtime-tags/src/__tests__/fixtures-interop/interop-nested-class-to-tags/sizes.json
  • packages/runtime-tags/src/__tests__/fixtures-interop/interop-nested-tags-to-class/sizes.json
  • packages/runtime-tags/src/__tests__/fixtures-interop/interop-stateless-tags-to-class/sizes.json
  • packages/runtime-tags/src/__tests__/fixtures-interop/interop-tag-params-class-to-tags/sizes.json
  • packages/runtime-tags/src/__tests__/fixtures-interop/interop-tag-params-tags-to-class/sizes.json
  • packages/runtime-tags/src/__tests__/fixtures-interop/lazy-class-child-event/sizes.json
  • packages/runtime-tags/src/__tests__/fixtures-interop/lazy-class-child-idle/sizes.json
  • packages/runtime-tags/src/__tests__/fixtures-interop/lazy-class-child-ssr-toggle/sizes.json
  • packages/runtime-tags/src/__tests__/fixtures-interop/lazy-class-child-ssr/sizes.json
  • packages/runtime-tags/src/__tests__/fixtures-interop/lazy-class-child-unmount-before-load/sizes.json
  • packages/runtime-tags/src/__tests__/fixtures-interop/lazy-class-child-visible/sizes.json
  • packages/runtime-tags/src/__tests__/fixtures-interop/let/sizes.json
  • packages/runtime-tags/src/__tests__/fixtures/assign-to-owner-closure/sizes.json
  • packages/runtime-tags/src/__tests__/fixtures/async-multi-resolve-in-order-and-update/sizes.json
  • packages/runtime-tags/src/__tests__/fixtures/async-state/sizes.json
  • packages/runtime-tags/src/__tests__/fixtures/at-tags-dynamic-with-params/sizes.json
  • packages/runtime-tags/src/__tests__/fixtures/at-tags-dynamic/sizes.json
  • packages/runtime-tags/src/__tests__/fixtures/await-cleanup/sizes.json
  • packages/runtime-tags/src/__tests__/fixtures/await-closure-in-order/sizes.json
  • packages/runtime-tags/src/__tests__/fixtures/await-closure-within/sizes.json
  • packages/runtime-tags/src/__tests__/fixtures/await-no-try-resume-rerender/sizes.json
  • packages/runtime-tags/src/__tests__/fixtures/await-no-try-resume-rerender/template.marko
  • packages/runtime-tags/src/__tests__/fixtures/await-no-try-resume-rerender/test.ts
  • packages/runtime-tags/src/__tests__/fixtures/await-remove-parent/sizes.json
  • packages/runtime-tags/src/__tests__/fixtures/await-update-after-resume/sizes.json
  • packages/runtime-tags/src/__tests__/fixtures/await-update-before-resume/sizes.json
  • packages/runtime-tags/src/__tests__/fixtures/basic-conditional-counter-multiple-nodes/sizes.json
  • packages/runtime-tags/src/__tests__/fixtures/basic-conditional-counter/sizes.json
  • packages/runtime-tags/src/__tests__/fixtures/basic-execution-order/sizes.json
  • packages/runtime-tags/src/__tests__/fixtures/basic-nested-for/sizes.json
  • packages/runtime-tags/src/__tests__/fixtures/basic-nested-params/sizes.json
  • packages/runtime-tags/src/__tests__/fixtures/basic-nested-scope-if/sizes.json
  • packages/runtime-tags/src/__tests__/fixtures/basic-push-pop-list/sizes.json
  • packages/runtime-tags/src/__tests__/fixtures/basic-shared-node-ref/sizes.json
  • packages/runtime-tags/src/__tests__/fixtures/basic-toggle-show/sizes.json
  • packages/runtime-tags/src/__tests__/fixtures/batched-updates-cleanup/sizes.json
  • packages/runtime-tags/src/__tests__/fixtures/body-content/sizes.json
  • packages/runtime-tags/src/__tests__/fixtures/cleanup-n-child-for-shallow/sizes.json
  • packages/runtime-tags/src/__tests__/fixtures/cleanup-n-child-if-deep/sizes.json
  • packages/runtime-tags/src/__tests__/fixtures/cleanup-n-child-if-same-scope/sizes.json
  • packages/runtime-tags/src/__tests__/fixtures/cleanup-n-child-if-shallow/sizes.json
  • packages/runtime-tags/src/__tests__/fixtures/cleanup-single-child-for-deep/sizes.json
  • packages/runtime-tags/src/__tests__/fixtures/cleanup-single-child-for-shallow/sizes.json
  • packages/runtime-tags/src/__tests__/fixtures/cleanup-single-child-if-deep/sizes.json
  • packages/runtime-tags/src/__tests__/fixtures/cleanup-single-child-if-same-scope/sizes.json
  • packages/runtime-tags/src/__tests__/fixtures/cleanup-single-child-if-shallow/sizes.json
  • packages/runtime-tags/src/__tests__/fixtures/closure-serialize-reason/sizes.json
  • packages/runtime-tags/src/__tests__/fixtures/conditional-dynamic-tag-in-loop-closure/sizes.json
  • packages/runtime-tags/src/__tests__/fixtures/conditional-table-row/sizes.json
  • packages/runtime-tags/src/__tests__/fixtures/controllable-checked-many/sizes.json
  • packages/runtime-tags/src/__tests__/fixtures/controllable-checked-spread/sizes.json
  • packages/runtime-tags/src/__tests__/fixtures/controllable-checked-value-empty-spread/sizes.json
  • packages/runtime-tags/src/__tests__/fixtures/controllable-checked-value-spread/sizes.json
  • packages/runtime-tags/src/__tests__/fixtures/controllable-checked-values-spread/sizes.json
  • packages/runtime-tags/src/__tests__/fixtures/controllable-details-open-spread/sizes.json
  • packages/runtime-tags/src/__tests__/fixtures/controllable-dialog-open-spread/sizes.json
  • packages/runtime-tags/src/__tests__/fixtures/controllable-dynamic-checkbox-checked-value/sizes.json
  • packages/runtime-tags/src/__tests__/fixtures/controllable-input-value-spread/sizes.json
  • packages/runtime-tags/src/__tests__/fixtures/controllable-merged-spread/sizes.json
  • packages/runtime-tags/src/__tests__/fixtures/controllable-partial-spread/sizes.json
  • packages/runtime-tags/src/__tests__/fixtures/controllable-select-dynamic-spread/sizes.json
  • packages/runtime-tags/src/__tests__/fixtures/controllable-select-mutated-option/sizes.json
  • packages/runtime-tags/src/__tests__/fixtures/controllable-select-spread/sizes.json
  • packages/runtime-tags/src/__tests__/fixtures/controllable-textarea-value-spread/sizes.json
  • packages/runtime-tags/src/__tests__/fixtures/custom-tag-parameters-from-args/sizes.json
  • packages/runtime-tags/src/__tests__/fixtures/custom-tag-parameters-from-attributes/sizes.json
  • packages/runtime-tags/src/__tests__/fixtures/custom-tag-parameters-from-single-arg/sizes.json
  • packages/runtime-tags/src/__tests__/fixtures/define-tag-for-attribute-tag/sizes.json
  • packages/runtime-tags/src/__tests__/fixtures/define-tag-render-closure/sizes.json
  • packages/runtime-tags/src/__tests__/fixtures/define-tag-render-conditional/sizes.json
  • packages/runtime-tags/src/__tests__/fixtures/destructure-stateful-upstream-alias/sizes.json
  • packages/runtime-tags/src/__tests__/fixtures/dollar-global-client/sizes.json
  • packages/runtime-tags/src/__tests__/fixtures/dynamic-native-dynamic-tag/sizes.json
  • packages/runtime-tags/src/__tests__/fixtures/dynamic-native-tag-events/sizes.json
  • packages/runtime-tags/src/__tests__/fixtures/dynamic-tag-args-tag-var/sizes.json
  • packages/runtime-tags/src/__tests__/fixtures/dynamic-tag-args/sizes.json
  • packages/runtime-tags/src/__tests__/fixtures/dynamic-tag-custom-native/sizes.json
  • packages/runtime-tags/src/__tests__/fixtures/dynamic-tag-custom-tags/sizes.json
  • packages/runtime-tags/src/__tests__/fixtures/dynamic-tag-input-intersection/sizes.json
  • packages/runtime-tags/src/__tests__/fixtures/dynamic-tag-resume-owns-branch-cleanup/sizes.json
  • packages/runtime-tags/src/__tests__/fixtures/dynamic-tag-resume-owns-branch-cleanup/tags/child.marko
  • packages/runtime-tags/src/__tests__/fixtures/dynamic-tag-resume-owns-branch-cleanup/template.marko
  • packages/runtime-tags/src/__tests__/fixtures/dynamic-tag-resume-owns-branch-cleanup/test.ts
  • packages/runtime-tags/src/__tests__/fixtures/dynamic-tag-single-arg/sizes.json
  • packages/runtime-tags/src/__tests__/fixtures/dynamic-tag-sometimes-null/sizes.json
  • packages/runtime-tags/src/__tests__/fixtures/dynamic-tag-with-updating-body/sizes.json
  • packages/runtime-tags/src/__tests__/fixtures/embed-control-flow-boundary/sizes.json
  • packages/runtime-tags/src/__tests__/fixtures/for-by-use-index/sizes.json
  • packages/runtime-tags/src/__tests__/fixtures/for-by/sizes.json
  • packages/runtime-tags/src/__tests__/fixtures/for-destructure/sizes.json
  • packages/runtime-tags/src/__tests__/fixtures/for-event-handler/sizes.json
  • packages/runtime-tags/src/__tests__/fixtures/for-resume-owns-branch-cleanup/sizes.json
  • packages/runtime-tags/src/__tests__/fixtures/for-resume-owns-branch-cleanup/tags/child.marko
  • packages/runtime-tags/src/__tests__/fixtures/for-resume-owns-branch-cleanup/template.marko
  • packages/runtime-tags/src/__tests__/fixtures/for-resume-owns-branch-cleanup/test.ts
  • packages/runtime-tags/src/__tests__/fixtures/for-tag-single-node-only-child-in-parent/sizes.json
  • packages/runtime-tags/src/__tests__/fixtures/for-tag-single-text-node-with-text-before/sizes.json
  • packages/runtime-tags/src/__tests__/fixtures/for-tag-with-state/sizes.json
  • packages/runtime-tags/src/__tests__/fixtures/for-to-range-resume-key/sizes.json
  • packages/runtime-tags/src/__tests__/fixtures/getter-on-single-node-only-child/sizes.json
  • packages/runtime-tags/src/__tests__/fixtures/hoist-custom-tag-var-from-dynamic/sizes.json
  • packages/runtime-tags/src/__tests__/fixtures/hoist-dynamic-tag-var-from-dynamic/sizes.json
  • packages/runtime-tags/src/__tests__/fixtures/hoist-native-tag-var-from-dynamic/sizes.json
  • packages/runtime-tags/src/__tests__/fixtures/html-script-nonce/sizes.json
  • packages/runtime-tags/src/__tests__/fixtures/html-style-nonce/sizes.json
  • packages/runtime-tags/src/__tests__/fixtures/if-default-false/sizes.json
  • packages/runtime-tags/src/__tests__/fixtures/if-member-expression-intersection/sizes.json
  • packages/runtime-tags/src/__tests__/fixtures/if-no-content-script/sizes.json
  • packages/runtime-tags/src/__tests__/fixtures/if-resume-owns-branch-cleanup/sizes.json
  • packages/runtime-tags/src/__tests__/fixtures/if-resume-owns-branch-cleanup/tags/child.marko
  • packages/runtime-tags/src/__tests__/fixtures/if-resume-owns-branch-cleanup/template.marko
  • packages/runtime-tags/src/__tests__/fixtures/if-resume-owns-branch-cleanup/test.ts
  • packages/runtime-tags/src/__tests__/fixtures/input-missing-property/sizes.json
  • packages/runtime-tags/src/__tests__/fixtures/input-spread-value-also-read/sizes.json
  • packages/runtime-tags/src/__tests__/fixtures/known-define-tag-empty-section-closure/sizes.json
  • packages/runtime-tags/src/__tests__/fixtures/known-tag-attr-tags-rest/sizes.json
  • packages/runtime-tags/src/__tests__/fixtures/let-bind-stateful-upstream-alias/sizes.json
  • packages/runtime-tags/src/__tests__/fixtures/lifecycle-tag-conditional-child-cleanup/sizes.json
  • packages/runtime-tags/src/__tests__/fixtures/lifecycle-tag-conditional/sizes.json
  • packages/runtime-tags/src/__tests__/fixtures/namespaced-tags/sizes.json
  • packages/runtime-tags/src/__tests__/fixtures/native-tag-local-closures/sizes.json
  • packages/runtime-tags/src/__tests__/fixtures/native-tag-spread-content-opaque/sizes.json
  • packages/runtime-tags/src/__tests__/fixtures/native-tag-spread-void/sizes.json
  • packages/runtime-tags/src/__tests__/fixtures/nested-for-if-stateful/sizes.json
  • packages/runtime-tags/src/__tests__/fixtures/placeholder-static-multiple/sizes.json
  • packages/runtime-tags/src/__tests__/fixtures/resume-single-node/sizes.json
  • packages/runtime-tags/src/__tests__/fixtures/spread-removed-event-handler/sizes.json
  • packages/runtime-tags/src/__tests__/fixtures/spread-to-known-rest-input-with-attr-tags-deopt/sizes.json
  • packages/runtime-tags/src/__tests__/fixtures/static-content-conditional-consumer/sizes.json
  • packages/runtime-tags/src/__tests__/fixtures/tag-name-type-unions/sizes.json
  • packages/runtime-tags/src/__tests__/fixtures/tag-param-if-closure/sizes.json
  • packages/runtime-tags/src/__tests__/fixtures/tag-var-with-serialize-reason/sizes.json
  • packages/runtime-tags/src/__tests__/fixtures/tags-dir-recursive/sizes.json
  • packages/runtime-tags/src/__tests__/fixtures/toggle-nested-2/sizes.json
  • packages/runtime-tags/src/__tests__/fixtures/toggle-nested-3/sizes.json
  • packages/runtime-tags/src/__tests__/fixtures/toggle-only-child/sizes.json
  • packages/runtime-tags/src/__tests__/fixtures/toggle-stateful-component/sizes.json
  • packages/runtime-tags/src/__tests__/fixtures/try-effects-async/sizes.json
  • packages/runtime-tags/src/__tests__/fixtures/unused-dynamic-tag-body-serialize-reason/sizes.json
  • packages/runtime-tags/src/dom/control-flow.ts
  • packages/runtime-tags/src/html/dynamic-tag.ts
  • packages/runtime-tags/src/html/writer.ts

Link the owning scope's closest branch from the control-flow runtimes so a
client-created `<if>`/`<for>`/dynamic-tag branch is not orphaned from the branch
tree, which previously leaked effect and `onDestroy` cleanup when an ancestor
branch was removed. Also avoid a `HierarchyRequestError` thrown when a bare
`<await>` (with no enclosing `<try>`) re-resolves its promise after resume.

The closest-branch link is now omitted when a branch's contents provably
register no cleanup (no `$signal`/`<lifecycle>`, dynamic closure, `<await>`/
`<try>`, or custom/dynamic tag), trimming resume data for purely presentational
control flow.
@DylanPiercey DylanPiercey force-pushed the claude/runtime-tags-bug-bash-apevcu branch from c96d4db to af9da0f Compare June 22, 2026 15:59
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant