The Wire · Showcase
REACT FIXES EVENT LISTENER LEAK, JEST DITCHES SOURCE-MAP-SUPPORT
By RepoJournal · Filed · About Meta
React's Fiber patched inconsistent deletion behavior on text nodes that was silently retaining event listeners, while Jest is finally breaking free from a three-year-old pinned dependency that corrupts stack frames.
React shipped a critical fix for Fragment deletion effects that were leaving event listeners attached to text nodes while removing them from every other node type [1]. This inconsistency created silent memory leaks in applications with heavy text rendering. Across the React Native desk, the team tackled five separate production bugs in one cycle: a virtualized list orientation change that was calculating cell offsets with stale layout data [2], a NULL character truncation bug affecting text rendering on both iOS and Android [3], and a dev settings initialization path that bypassed packager connection setup entirely [4]. React Native also relocated its hand-written TypeScript definitions under a deprecated directory as part of a larger effort to remove deep imports [7]. On the Jest front, SimenB broke the three-year pin on `source-map-support@0.5.13` by building Jest's own implementation that preserves correct stack frame output instead of adopting the upstream spec interpretation that makes error traces harder to read [5]. The team also fixed Jest's stack frame detection logic that was hardcoded to look for `/jest/packages/` on disk, which fails in forks, worktrees, and vendored copies [6]. Activity this period: 15 commits and 3 PRs across the stack.
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
- → Review event listener handling in production apps with heavy Fragment text rendering facebook/react [plan]
- → Update Jest to latest and verify stack traces in CI facebook/jest [plan]
- → Test React Native virtualized lists and text rendering after next patch release facebook/react-native [monitor]
References
- [1] [Fiber] Run Fragment deletion effects for HostText children ↗ facebook/react
- [2] fix(virtualized-lists): invalidate content length on orientation change (#57871) facebook/react-native
- [3] Fix Text truncation at NULL character on iOS and Android (#24129) (#57906) facebook/react-native
- [4] Fix RCTDevSettings init (#57409) facebook/react-native
- [5] feat(@jest/source-map): replace `source-map-support` with a Jest-owned implementation ↗ facebook/jest
- [6] fix: detect Jest's own stack frames without assuming a directory name ↗ facebook/jest
- [7] Relocate manual .d.ts definitions under types_DEPRECATED/ (#57513) facebook/react-native