114 wires and counting
$ status: archived — this briefing has stopped; the archive stays readable. browse live briefings →

$ status

wire 2026-07-31
stories 23

© 2026 RepoJournal Home Showcase Explore How it works Privacy

$ the-wire · showcase

REACT DEVTOOLS FIXES BFCACHE LIFECYCLE CRASHES, BROWSER API LANDS

By RepoJournal · Filed · About Meta · Composed from the cited sources · methodology

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].

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.