Skip to content

[pull] main from chakra-ui:main - #296

Merged
pull[bot] merged 1 commit into
code:mainfrom
chakra-ui:main
Aug 19, 2026
Merged

[pull] main from chakra-ui:main#296
pull[bot] merged 1 commit into
code:mainfrom
chakra-ui:main

Conversation

@pull

@pull pull Bot commented Aug 19, 2026

Copy link
Copy Markdown

See Commits and Changes for more details.


Created by pull[bot] (v2.0.0-alpha.4)

Can you help keep this open source service alive? 💖 Please sponsor : )

#3980)

* fix(react): unwrap react.lazy asChild children across the RSC boundary

React's Flight protocol hands children across the server components
boundary wrapped in Symbol(react.lazy), which isValidElement rejects. The
factory bailed out and rendered neither the child nor the element it stood
in for.

Unwrap the lazy child with Children.toArray, gated on the lazy symbol so
every non-RSC path keeps its existing behavior. Matches the approach used
by Base UI; Radix solves the same bug via use().

Verified end-to-end against a Next.js 15 production build: an async server
component passed through asChild prerendered <main></main> before, and now
renders the child with className and data attributes merged.

Refs react/react#32392

Claude-Session: https://claude.ai/code/session_0133qcH6rpUR3edEeGJSxsF1

* test(react): cover ref composition through a react.lazy asChild child

The factory resolves the lazy child before reading its ref and before
merging props, so refs on a child that crossed the RSC boundary still
attach. Nothing covered that ordering.

Reading the ref or props off the un-unwrapped wrapper fails this test plus
the two existing lazy tests, while the nine non-lazy tests keep passing.

Claude-Session: https://claude.ai/code/session_0133qcH6rpUR3edEeGJSxsF1
@pull pull Bot locked and limited conversation to collaborators Aug 19, 2026
@pull pull Bot added the ⤵️ pull label Aug 19, 2026
@pull
pull Bot merged commit aa9f43a into code:main Aug 19, 2026
5 checks passed
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant