RepoJournal
Meta

Meta

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

Pick a date

The Wire · Showcase

REACT COMPILER SILENTLY DROPS RESOURCE CLEANUP CODE

By RepoJournal · Filed · About Meta

The React compiler has been stripping dispose calls from functions using explicit resource management declarations, potentially causing memory leaks in production.

The compiler's BuildHIR handler treats `using` and `await using` declarations as plain const memoization, dropping the implicit cleanup calls entirely with no diagnostic warning [1]. This same bug exists in the Rust port, meaning it affects both TypeScript and JavaScript compilation paths. In parallel, Fast Refresh is remounting components incorrectly when you edit between wrapper kinds like memo or forwardRef, crashing with 'Component is not a function' because the state preservation check only compared hook signatures [2]. React Native cleaned up a podspec collision where ScrollView sources were declared twice across two subspecs, causing duplicate entries after pod install [3]. The team also formalized the `react-native/setup-env` secondary export to replace the undocumented InitializeCore path [4], and added a direct-event fast path to EventTarget dispatch that skips the full W3C event-path walk for events like onLayout that never bubble [5].

Action items

References

  1. [1] [compiler] Bail out with Todo on using and await using declarations ↗ facebook/react
  2. [2] [Fast Refresh] Remount correctly when an edit changes the component kind ↗ facebook/react
  3. [3] fix(podspec): remove duplicate scrollview subspec in React-FabricComponents (#57452) facebook/react-native
  4. [4] Expose 'react-native/setup-env' to replace InitializeCore (#57461) facebook/react-native
  5. [5] Add direct-event fast path to EventTarget dispatch (rnIsDirect) (#57448) facebook/react-native

FAQ

What changed in Meta on July 8, 2026?
The React compiler has been stripping dispose calls from functions using explicit resource management declarations, potentially causing memory leaks in production.
What should Meta teams do about it?
Review any production code using `using` or `await using` declarations - the compiler may have dropped resource cleanup • Test Fast Refresh with memo/forwardRef wrapper edits before shipping • Run pod install on React Native projects to pick up the duplicate ScrollView fix
Which Meta repositories shipped on July 8, 2026?
facebook/react, facebook/react-native

Related across the cluster

For your repos

The showcase is a teaser.
Your wire is the product.

Same engine. Different stack. Below: what changes when the wire is yours.

Showcase wire

  • 14 famous open source orgs
  • One wire per day
  • Public, generic
  • Read on the web, when you remember

Your wire

  • Up to 1,500 of your repos - orgs, deps, vendors
  • Morning and evening briefs
  • Action items routed to your team
  • Slack delivery, email, breaking-news CVE alerts

Want a hands-on demo first? Ask a current user for an invite link.