The Wire · Showcase
REACT FIXES PRODUCTION HANG IN SERVER-RENDERED APPS
By RepoJournal · Filed · About Meta
React shipped an emergency fix for a critical hang that freezes apps when updates hit hidden server-rendered boundaries before hydration completes.
The hang [1] occurs when an update changes content inside a server-rendered Suspense or Activity boundary before that boundary has hydrated, and the affected content is hidden. React renders the new content once data arrives, but then discards the render every time, scheduling nothing and leaving the app frozen indefinitely. This is a production blocker for any Next.js app using server rendering with hidden content mutations. React Native 0.87 moves forward with stricter module boundaries [2], migrating internal imports to dedicated entry points like `react-private-interface` to enforce the private contract between React and React Native. On the Native side, artifact downloads now try a proxy cache server first before falling back to Maven Central and CocoaPods [3], speeding builds across the ecosystem. FileReader compliance gaps are closing [4], and a critical 0.87 bug with extensionless script imports is fixed [5], unblocking `react-native spm add` commands that were failing in the wild.
One email a day. Unsubscribe in one click.
Keep up with Meta in about 3 minutes a day: what actually shipped — the commits, pull requests, releases, and security advisories that matter.
One email a day. Unsubscribe in one click. Read a past issue →
Action items
- → Upgrade React to latest patch immediately if running server rendering with hidden boundary updates facebook/react [immediate]
- → Update React Native imports to use react-private-interface before upgrading to 0.87 facebook/react-native [plan]
- → Test script imports and artifact resolution after updating to React Native 0.87 facebook/react-native [monitor]
References
- [1] [Fiber] Fix hang when updating a dehydrated boundary inside a hidden tree ↗ facebook/react
- [2] [RN] Update ReactPrivate and InitializeCore imports (0.87 Strict API) (#36986) facebook/react
- [3] Download React Native artifacts from the proxy cache server first (#57325) facebook/react-native
- [4] Close remaining File API spec gaps in FileReader (#57745) facebook/react-native
- [5] Fix compat with extensionless scripts/* imports (#57718) facebook/react-native