RepoJournal
Meta

Meta

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

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.

Pick a date

Topics: JavaScript AI / ML Full archive →

The Wire · Showcase

REACT DEVTOOLS FIXES BFCACHE LIFECYCLE CRASHES, BROWSER API LANDS

By RepoJournal · Filed · About Meta

React DevTools just patched a critical lifecycle race that crashes during browser back/forward cache navigation, while React DOM gains a new browser() API for server-side suspense boundaries.

The DevTools team shipped three targeted fixes addressing inconsistency errors that cascade when Chrome freezes the JavaScript heap during BFCache transitions [1]. The root issue: Chrome kills the DevTools port while the backend stays alive, creating a state React never expects. Simultaneously, they're now creating extension panels before React detection, which solves a long-standing UX bug where panels wouldn't appear unless a React app was already loaded [2]. Type safety got a boost too with FlowFixMe removal from the extension lifecycle, catching real-world errors that only surfaced during BFCache sessions [3]. On the feature front, ReactDOM now exports a browser() API that returns a usable suspending on the server but resolving in the browser, codifying a common pattern for client-only components [4]. Over in React Native, XMLHttpRequest.setRequestHeader now appends duplicate headers per spec instead of overwriting them [5], a breaking change that fixes compatibility with libraries like Sentry that depend on append behavior. The Native team also hardened their build pipeline: new SwiftPM iOS e2e workflows for RNTester and HelloWorld [6], a codegen fix preventing spurious Xcode failures when no native specs are present [7], and strict API enforcement via updated ReactPrivate imports for 0.87 [8].

One email a day. Unsubscribe in one click.

Action items

References

  1. [1] [DevTools] Reset extension backend on pagehide ↗ facebook/react
  2. [2] [DevTools] Create extension panels before React detection ↗ facebook/react
  3. [3] [DevTools] Remove FlowFixMe from extension lifecycle ↗ facebook/react
  4. [4] Add ReactDOM `browser()` API ↗ facebook/react
  5. [5] Fix XMLHttpRequest.setRequestHeader to append duplicate headers per spec facebook/react-native
  6. [6] CI: add SwiftPM iOS e2e workflows (RNTester, HelloWorld, new app) (#57659) facebook/react-native
  7. [7] fix(codegen): empty ReactCodegen input_files when no Native spec files found (#57759) facebook/react-native
  8. [8] Update ReactPrivate and InitializeCore imports (0.87 Strict API) (#36986) (#57753) facebook/react-native

Quick answers

What shipped in Meta on July 31, 2026?
React DevTools just patched a critical lifecycle race that crashes during browser back/forward cache navigation, while React DOM gains a new browser() API for server-side suspense boundaries. In total, 19 commits and 4 pull requests landed.
Who contributed to Meta on July 31, 2026?
6 developers shipped this update, including hoxyq, gnoff, 김민규(Mingyu Kim), Christian Falch, Nikita Levin, and Alex Hunt.
What were the notable Meta updates?
[DevTools] Reset extension backend on pagehide, [DevTools] Create extension panels before React detection, and [DevTools] Remove FlowFixMe from extension lifecycle.

More from Meta

Daily updates, in your inbox

Follow Meta

Keep up with Meta in about 3 minutes a day: what actually shipped — the commits, pull requests, releases, and security advisories that matter.

or

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

Elsewhere on the wire

Want every project, not just this one?