Behavioral change in React core requires deep understanding of Suspense implementation.
The issue describes a behavioral change in React's Suspense component between versions 19.1 and 19.2, where large children are not rendered on the server side without JavaScript. This affects accessibility for non-JS users. The fix likely requires deep understanding of React's Suspense implementation and server-side rendering logic, making it a complex issue to address.
We use Suspense component in NextJs project to catch server side errors in components and to prevent ruining the whole page as recommended here.
In React 19.1 Suspense just renders children on page rendered on server side without JS. So if user without JS opens page, he gets regular page with the content.
In React 19.2 Suspense renders fallback and never renders children on page rendered on server side without JS. So now if user without JS opens page, he gets blank page.
It seems like Suspense does not render children if they are too big while it works fine for smaller children.
We are relying on Suspense behaviour from React 19.1 to keep page content accessible to non-JS users so we would like to know if new Suspense behaviour is standard now? If yes, if there any recommended way to capture server side rendering errors like Suspense does?
React version: 19.2.3
Suspense shows fallback instead of children if the children are too big.Suspense shows children if the children are small.Link to code example:
https://github.com/yoksel/suspense-issue
<img width="865" height="965" alt="Image" src="https://github.com/user-atta
Claim this issue to let others know you're working on it. You'll earn 10 points when you complete it!