Skip to content

[BUGFIX release] Include renderComponent roots in captureRenderTree - #21620

Closed
NullVoxPopuli-ai-agent wants to merge 2 commits into
emberjs:releasefrom
NullVoxPopuli-ai-agent:nvp/capture-render-tree-render-component
Closed

NullVoxPopuli-ai-agent wants to merge 2 commits into
emberjs:releasefrom
NullVoxPopuli-ai-agent:nvp/capture-render-tree-render-component

Conversation

@NullVoxPopuli-ai-agent

@NullVoxPopuli-ai-agent NullVoxPopuli-ai-agent commented Sep 25, 2026 •

Copy link
Copy Markdown
Contributor

Fixes the nightly Cron failures on beta and release. They started on 2026-09-23 (first beta run, first release run).

captureRenderTree(owner) only reads the owner's renderer:-dom.
renderComponent renders with its own renderer for each owner, so its components never show up.

@ember/test-helpers 5.5.0 (emberjs/ember-test-helpers#1573, published 2026-09-22) renders through renderComponent on Ember 6.8 and newer.
The smoke tests install without the lockfile, so the next cron run picked it up, and all 8 smoke jobs failed with:

HelloWorld component name is preserved in the render tree (found: )

main is not affected.
There, the application seeds its own renderer into the renderComponent cache (setRenderer, from the RFC 1169 work), so both share one render tree.
That change is too big to backport, so this is a smaller fix:

  • the renderComponent renderer registers itself with @ember/debug
  • captureRenderTree adds its roots after the renderer:-dom roots

The registration goes in that direction because @ember/debug importing the renderer is a circular import.

Two commits, so CI shows the failure first.
Same change for beta: #21621.

Checked locally:

  • the new test fails without the fix and passes with it
  • the full browser suite passes
  • the strictResolver-basics smoke scenario with test-helpers 5.5.0 fails without the fix (same message as CI) and passes with it

🤖 Generated with Claude Code

NullVoxPopuli and others added 2 commits September 25, 2026 10:17
…mponent

Components rendered with `renderComponent` are missing from
`captureRenderTree(owner)`.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
`renderComponent` renders with its own renderer for each owner.
`captureRenderTree` only read the owner's `renderer:-dom`,
so those roots never showed up.

`@ember/test-helpers` 5.5.0 renders through `renderComponent` on
Ember 6.8 and newer. Since its release, `captureRenderTree` in a
rendering test returns nothing, which broke the nightly smoke tests
on `beta` and `release`.

The renderer now registers itself with `@ember/debug`,
and `captureRenderTree` includes its roots.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
@NullVoxPopuli

Copy link
Copy Markdown
Contributor

is real issue... :(

image

@NullVoxPopuli-ai-agent

Copy link
Copy Markdown
Contributor Author

Closing in favor of #21622, which targets main. The backport happens from there.

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.

2 participants