Skip to content

Add experimental.useExperimentalReact to opt into React's experimental channel#94861

Merged
gaojude merged 1 commit into
canaryfrom
jude/use-experimental-react
Jun 16, 2026
Merged

Add experimental.useExperimentalReact to opt into React's experimental channel#94861
gaojude merged 1 commit into
canaryfrom
jude/use-experimental-react

Conversation

@gaojude

@gaojude gaojude commented Jun 16, 2026

Copy link
Copy Markdown
Contributor

Opting into React's experimental channel — which emits <link rel="expect"> to hold first paint until the streamed shell is coherent, avoiding flicker from partially-streamed HTML — currently requires enabling an unrelated feature like experimental.taint as a side effect, which is confusing. This adds experimental.useExperimentalReact as a direct opt-in.

It feeds the existing needsExperimentalReact aggregation and the matching Turbopack react_channel switch, selecting the react@experimental build the same way taint, transitionIndicator, and gestureTransition do. It's opt-in only: an explicit false can't disable the channel when one of those still requires it (the taint APIs only exist in the experimental build), so assignDefaults warns on that contradiction. Covered by a webpack e2e test mirroring the existing taint channel test.

@github-actions

github-actions Bot commented Jun 16, 2026

Copy link
Copy Markdown
Contributor

Stats cancelled

Commit: f967d06
View workflow run

@github-actions

github-actions Bot commented Jun 16, 2026

Copy link
Copy Markdown
Contributor

Tests Passed

Commit: f967d06

@gaojude gaojude marked this pull request as ready for review June 16, 2026 16:13
@gaojude gaojude force-pushed the jude/use-experimental-react branch from 2782ced to f967d06 Compare June 16, 2026 17:03
@gaojude gaojude merged commit 71b70e0 into canary Jun 16, 2026
231 of 235 checks passed
@gaojude gaojude deleted the jude/use-experimental-react branch June 16, 2026 19:08
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