Skip to content

Conversation

@eps1lon
Copy link
Collaborator

@eps1lon eps1lon commented Jan 13, 2026

Fixes

IgnoreMe suspended while rendering, but no fallback UI was specified.

-- https://github.com/facebook/react/actions/runs/20886558894/job/60010693969

Regressed in #35456 because in React 17 we can't suspend the root.

It's interesting to test both 17 (because Suspense has a different impl in 17) as well as testing what happens if the root suspends (if the root wouldn't have a dedicated Suspense node, we'd need to change how we handle this case). So we test both React 17 upwards with an explicit root Suspense and React 18 upwards with an implicit one.

Test plan

$ yarn build react-debug-tools react-refresh internal-test-utils
$ ./scripts/ci/download_devtools_regression_build.js 17.0 --replaceBuild
$ node ./scripts/jest/jest-cli.js --build --project devtools --release-channel=experimental --reactVersion 17.0

@meta-cla meta-cla bot added the CLA Signed label Jan 13, 2026
@github-actions github-actions bot added the React Core Team Opened by a member of the React Core Team label Jan 13, 2026
@eps1lon eps1lon force-pushed the sebbie/01-13-_test_fix_devtools_regression_tests branch from 41e1d3d to 318e92c Compare January 13, 2026 11:52
@eps1lon eps1lon force-pushed the sebbie/01-13-_test_fix_devtools_regression_tests branch from 318e92c to 98005c3 Compare January 13, 2026 12:19
@eps1lon eps1lon requested a review from hoxyq January 13, 2026 12:24
@eps1lon eps1lon marked this pull request as ready for review January 13, 2026 12:24
Comment on lines 3242 to 3244
// React 18 would not show the "main" Suspense boundary yet since it hasn't
// finished completely. React 17 commits partial trees as hidden so "main"
// shows up in the Suspense tree.
Copy link
Contributor

@hoxyq hoxyq Jan 13, 2026

Choose a reason for hiding this comment

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

Would it make sense to add another test with the same steps that targets >=18? Because the one right above uses different tree.

You could also add forking inside the test, with something like this?

import {ReactVersion} from '../../../../ReactVersions';
const ReactVersionTestingAgainst = process.env.REACT_VERSION || ReactVersion;

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

That's the test below. The test above can only work in 18.

I was looking for a pattern to fork assertions on the React version. I'd prefer that to avoid confusion so I'll use the same approach you linked.

@eps1lon eps1lon force-pushed the sebbie/01-13-_test_fix_devtools_regression_tests branch from be6ac85 to 1d57d50 Compare January 13, 2026 14:22
@eps1lon eps1lon merged commit 8a83073 into main Jan 13, 2026
234 checks passed
@eps1lon eps1lon deleted the sebbie/01-13-_test_fix_devtools_regression_tests branch January 13, 2026 15:00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

CLA Signed React Core Team Opened by a member of the React Core Team

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants