RepoJournal
Meta

Meta

React, React Native, and Jest — the open source under what Meta ships

What actually shipped in Meta, written up every day — commits, pull requests, releases, and security advisories.

One email a day. Unsubscribe in one click.

Pick a date

Topics: JavaScript AI / ML Full archive →

The Wire · Showcase

REACT PATCHES HIDDEN COMPONENT STATE BUG, REACT-NATIVE FIXES KEYBOARD TRAP

By RepoJournal · Filed · About Meta

React shipped a critical fix for useSyncExternalStore mutations being missed when subtrees toggle visibility, while React-Native plugged an Android keyboard that won't close on unmount.

The React team landed a surgical fix [1] for a state synchronization bug in Fiber where components using useSyncExternalStore would fall stale after their Activity subtrees were hidden and revealed. The bug occurred because passive effects disconnected on hide, then replayed on reveal without a full render, leaving updateStoreInstance out of sync. This is the kind of mutation phantom that only surfaces under specific visibility patterns and would have caused subtle data inconsistencies in apps relying on external state stores.

On the React-Native desk, the team squashed an annoying Android regression [2] where the keyboard would stay open after a focused TextInput unmounted. The culprit was the unmount cleanup order: TextInputState was unregistered before the blur signal fired, so blur would check if the input was still registered, find nothing, and silently no-op. Simple reordering of those cleanup steps kills it.

The 0.87 release candidate push continues with a Hermes version bump [5] and a scripting fix [6] that corrects how hermes-version tags get written to the build config. React-Native also re-applied a performance module cleanup [3] that removes the legacy performance fallback, requiring the native NativePerformance module instead.

On the React side, a secondary fix landed [4] for scrollIntoView behavior on empty Fragments, ensuring the library handles edge cases like rendering a Fragment with no Host Components inside it.

One email a day. Unsubscribe in one click.

Action items

References

  1. [1] [Fiber] Detect useSyncExternalStore mutations missed while Activity tree was hidden ↗ facebook/react
  2. [2] Blur focused TextInput before unregistering it on unmount (fixes Android keyboard staying open) (#57584) facebook/react-native
  3. [3] Re-apply "Require the NativePerformance module and drop the legacy performance fallback" (#57609) facebook/react-native
  4. [4] [DOM] Handle scrolling of empty Fragments below containers ↗ facebook/react
  5. [5] Bump Hermes version to 250829098.0.16 to align with 0.87 rc2 (#57621) facebook/react-native
  6. [6] Fix bump-hermes-version.js to write hermes-v prefixed tag to .hermesv1version (#57619) facebook/react-native

Quick answers

What shipped in Meta on July 21, 2026?
React shipped a critical fix for useSyncExternalStore mutations being missed when subtrees toggle visibility, while React-Native plugged an Android keyboard that won't close on unmount. In total, 13 commits and 2 pull requests landed.
Who contributed to Meta on July 21, 2026?
5 developers shipped this update, including sophiebits, eps1lon, Andrew Sidorchuk, Rubén Norte, and Zeya Peng.
What were the notable Meta updates?
[Fiber] Detect useSyncExternalStore mutations missed while Activity tree was hidden, Blur focused TextInput before unregistering it on unmount (fixes Android keyboard staying open) (#57584), and Re-apply "Require the NativePerformance module and drop the legacy performance fallback" (#57609).

More from Meta

Daily updates, in your inbox

Follow Meta

What actually shipped in Meta, written up every day — commits, pull requests, releases, and security advisories.

or

One email a day. Unsubscribe in one click. Read a past issue →

Elsewhere on the wire

Want every project, not just this one?