$ the-wire · showcase
React Native's generated SwiftPM manifests inherit the app's iOS floor, and SectionList scrolls to the right row
By RepoJournal · Filed · About Meta · Composed from the cited sources · methodology
Two React Native fixes that bite real apps: autolinking of self-managed packages with an iOS floor above 15, and SectionList.scrollToLocation landing one row off.
Derive the generated manifests' iOS platform floor from the app (#58379) facebook/react-native
The SwiftPM manifests React Native generates (the Autolinked aggregate, per-dependency synth packages, scaffolded community packages) hardcoded `platforms: [.iOS(.v15)]`, and SwiftPM refuses to link a product whose minimum platform exceeds the depending target's. Since every Expo package declares iOS 16.4, a stock Expo app on 0.87.1 could not autolink self-managed packages with a higher floor; ...
Fix VirtualizedSectionList.scrollToLocation off-by-one and sticky header offset (#58329) facebook/react-native
`VirtualizedSectionList.scrollToLocation`, and `SectionList` through its wrapper, mapped `itemIndex` to the flat list without skipping the section header, so `itemIndex: 0` targeted the header and every other item landed one row early. Sticky-header compensation was also skipped for the first item.
fix(codegen): skip node_modules and symlinks when crawling for components (#58518) facebook/react-native
`findFilesWithExtension` descended into every subdirectory including `node_modules`, resolved symlinks through `statSync`, and kept no visited set; the crawl now skips both, which matters because `parseiOSAnnotations` enters every library declaring a `codegenConfig` and the walk could previously explode on that traversal.
[compiler] Treat zero-argument `new Date()` as impure during render facebook/react
`react-hooks/purity` already flagged `Date.now()` during render; zero-argument `new Date()` and its `.getTime()` / `.getFullYear()` forms now draw the same diagnostic, since they also read the clock. `new Date(timestamp)` stays allowed.
Add Java to `yarn format` (#58466) facebook/react-native
Rounding out the desk: Java formatting moved into the repo's npm commands with `yarn format-java` and `yarn format-check-java` wrapping google-java-format 1.23.0, the ktfmt Gradle plugin and its task wiring are gone, and the test suite no longer polyfills `AbortController`, available natively since Node.js 14.