Integrate React NativeIntegrate React Native 0.87.0-nightly-20260519-58cd1bf58 (May 19th) 0.87.0-nightly-20260519-58cd1bf58 - #16431
Open
anuagragith wants to merge 1 commit into
Conversation
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Contributor
There was a problem hiding this comment.
🟡 Changes recommended
Four moderate issues remain in public type generation and RNTester image cache-buster URLs.
Once you've addressed the issues Copilot identified, you can request another Copilot review.
Pull request overview
Integrates React Native Windows with React Native 0.87.0-nightly-20260519-58cd1bf58, including dependency, override, native contract, and RNTester updates.
Changes:
- Updates React Native, Flow, Hermes, TypeScript, and related dependencies.
- Synchronizes Windows/Win32 overrides and ReactCommon changes.
- Adds RNTester image and animation-backend coverage.
File summaries
| File | Review |
|---|---|
yarn.lock |
Refreshes dependency resolutions. |
vnext/src-win/Libraries/Text/TextProps.windows.js |
Adds type-generation metadata. |
vnext/src-win/Libraries/Pressability/Pressability.windows.js |
Fixes hover-out timer tracking. |
vnext/src-win/Libraries/Modal/Modal.windows.js |
Adds type-generation metadata. |
vnext/src-win/Libraries/Components/View/ViewPropTypes.windows.js |
Adds View type metadata. |
vnext/src-win/Libraries/Components/View/View.windows.js |
Synchronizes with upstream formatting. |
vnext/src-win/Libraries/Components/Touchable/TouchableWithoutFeedback.windows.js |
Moderate (2 votes): Move @build-types from the Windows-only type to TouchableWithoutFeedbackProps so public interface emission remains available. |
vnext/src-win/Libraries/Components/Touchable/TouchableHighlight.windows.js |
Adds type-generation metadata. |
vnext/src-win/Libraries/Components/TextInput/TextInput.flow.windows.js |
Adds type-generation metadata. |
vnext/src-win/Libraries/Components/Switch/Switch.windows.js |
Adds type-generation metadata. |
vnext/src-win/Libraries/Components/ScrollView/ScrollView.windows.js |
Integrates upstream behavior and types. |
vnext/src-win/Libraries/Components/RefreshControl/RefreshControl.windows.js |
Adds type-generation metadata. |
vnext/src-win/Libraries/Components/Pressable/Pressable.windows.js |
Adds type-generation metadata. |
vnext/src-win/Libraries/Components/Button.windows.js |
Adds type-generation metadata. |
vnext/src-win/Libraries/Components/AccessibilityInfo/AccessibilityInfo.windows.js |
Updates accessibility events. |
vnext/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/uimanager/UIManager.cpp |
Integrates renderer lifecycle and race fixes. |
vnext/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/attributedstring/TextAttributes.cpp |
Adds text-effects handling. |
vnext/package.json |
Updates RNW dependencies and peers. |
vnext/overrides.json |
Advances override hashes and base version. |
vnext/Microsoft.ReactNative/Modules/AppearanceModule.h |
Updates the Appearance codegen contract. |
vnext/Microsoft.ReactNative/Modules/AppearanceModule.cpp |
Implements the updated Appearance signature. |
vnext/.flowconfig |
Requires Flow 0.314. |
packages/sample-custom-component/package.json |
Updates sample dependencies. |
packages/sample-app-fabric/package.json |
Updates Fabric sample dependencies. |
packages/react-native-windows-init/package.json |
Updates the integration dependency. |
packages/playground/package.json |
Updates Playground dependencies. |
packages/e2e-test-app-fabric/package.json |
Updates E2E app dependencies. |
packages/@rnw-scripts/metro-dev-config/package.json |
Updates Metro and React Native dependencies. |
packages/@rnw-scripts/integrate-rn/package.json |
Updates integration tooling’s RN version. |
packages/@rnw-scripts/eslint-config/package.json |
Updates upstream ESLint configuration. |
packages/@rnw-scripts/babel-react-native-config/package.json |
Updates the Babel preset. |
packages/@react-native/tester/package.json |
Synchronizes RNTester metadata and dependencies. |
packages/@react-native/tester/overrides.json |
Advances RNTester override hashes. |
packages/@react-native/tester/js/examples/Image/ImageExample.js |
Moderate (2 votes): Restore the missing query delimiter for cache-busters at lines 572 and 684; otherwise the JPEG path is invalid. |
packages/@react-native/tester/js/examples/Experimental/PlatformTest/RNTesterPlatformTestResultView.js |
Updates result layout. |
packages/@react-native/tester/js/examples/Experimental/PlatformTest/RNTesterPlatformTestResultsText.js |
Adds result IDs and spacing. |
packages/@react-native/tester/js/examples/Experimental/PlatformTest/RNTesterPlatformTestMinimizedResultView.js |
Updates minimized-result layout. |
packages/@react-native/tester/js/examples/Appearance/AppearanceExample.js |
Updates color-scheme behavior. |
packages/@react-native/tester/js/examples/AnimationBackend/PerformanceTestExample.js |
Adds an animation performance example. |
packages/@react-native/tester/js/examples/AnimationBackend/AnimationBackendIndex.js |
Registers animation examples. |
packages/@react-native/tester/js/examples/AnimationBackend/AllAnimatedPropsExample.js |
Adds comprehensive animated-property coverage. |
packages/@react-native/monorepo/package.json |
Updates upstream monorepo tooling. |
packages/@react-native/monorepo/overrides.json |
Advances monorepo override metadata. |
packages/@react-native-windows/tester/src/js/examples/Image/ImageExample.windows.js |
Moderate (2 votes): Restore the missing query delimiter for cache-busters at lines 606 and 821; otherwise the Windows JPEG path is invalid. |
packages/@react-native-windows/tester/package.json |
Updates Windows tester dependencies. |
packages/@react-native-windows/tester/overrides.json |
Advances Windows tester overrides. |
packages/@react-native-windows/perf-testing/package.json |
Updates the React Native peer dependency. |
packages/@react-native-windows/cli/package.json |
Updates CLI development dependencies. |
packages/@react-native-windows/automation-channel/package.json |
Updates automation dependencies. |
packages/@office-iss/react-native-win32/src-win/src/private/animated/NativeAnimatedHelper.win32.js |
Guards optional animated backend support. |
packages/@office-iss/react-native-win32/src-win/Libraries/Text/TextProps.win32.js |
Adds type-generation metadata. |
packages/@office-iss/react-native-win32/src-win/Libraries/Pressability/Pressability.win32.js |
Fixes hover-out timer tracking. |
packages/@office-iss/react-native-win32/src-win/Libraries/Components/View/ViewPropTypes.win32.js |
Moderate (2 votes): Move @build-types from HandledKeyboardEvent to ViewProps so the public interface is emitted for Nativewind/Expo compatibility. |
packages/@office-iss/react-native-win32/src-win/Libraries/Components/View/View.win32.js |
Updates text ancestor context. |
packages/@office-iss/react-native-win32/src-win/Libraries/Components/TextInput/TextInput.flow.win32.js |
Adds type-generation metadata. |
packages/@office-iss/react-native-win32/src-win/Libraries/Components/Pressable/Pressable.win32.js |
Adds type-generation metadata. |
packages/@office-iss/react-native-win32/src-win/Libraries/Components/Button.win32.js |
Adds type-generation metadata. |
packages/@office-iss/react-native-win32/src-win/Libraries/Components/AccessibilityInfo/AccessibilityInfo.win32.js |
Updates accessibility events. |
packages/@office-iss/react-native-win32/src-win/Libraries/Components/AccessibilityInfo/AccessibilityInfo.d.ts |
Updates public accessibility declarations. |
packages/@office-iss/react-native-win32/package.json |
Updates Win32 dependencies and peers. |
packages/@office-iss/react-native-win32/overrides.json |
Advances Win32 override hashes. |
packages/@office-iss/react-native-win32/.flowconfig |
Requires Flow 0.314. |
packages/@office-iss/react-native-win32-tester/package.json |
Updates Win32 tester dependencies. |
packages/@office-iss/react-native-win32-tester/overrides.json |
Advances Win32 tester overrides. |
package.json |
Updates the root React Native dependency. |
change/react-native-windows-init-c5ae7d1c-1132-4cee-80f2-79f6a9aa0b4d.json |
Adds the init package change record. |
change/react-native-windows-254122ae-7bce-4975-8525-f33d13e656d3.json |
Adds the RNW change record. |
change/@react-native-windows-perf-testing-d1533cf9-5a10-47c5-bd07-43eaece19192.json |
Adds the performance package change record. |
change/@react-native-windows-cli-aa343563-7366-418a-b528-6a4fef2fbf96.json |
Adds the CLI change record. |
change/@react-native-windows-automation-channel-23b56dc7-86c4-49f6-8d80-1625bae2e1fe.json |
Adds the automation change record. |
change/@office-iss-react-native-win32-5b2bd2a8-dc7c-4aae-940d-dbd686d9b680.json |
Adds the Win32 change record. |
Review details
Suppressed comments (2)
packages/@react-native-windows/tester/src/js/examples/Image/ImageExample.windows.js:826
- The Windows override points
IMAGE1at the checked-influx@3x.png, whose intrinsic size is 99×99, so this platform test will always report two failures. Update the expectations to match the retained Windows asset.
{
expectedHeight: 492,
expectedWidth: 960,
uri: IMAGE1,
name: 'large PNG',
},
packages/@react-native/tester/js/examples/Image/ImageExample.js:689
IMAGE1in this fork is an embedded 8×8 PNG, so this new test deterministically comparesImage.getSizeagainst the wrong 960×492 dimensions and fails. Keep the local asset override and update the expected metadata accordingly.
- Files reviewed: 69/71 changed files
- Comments generated: 4
- Review effort level: Balanced
💡 Configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
| accessibilityControls?: ?string, | ||
| }>; | ||
|
|
||
| /** @build-types emit-as-interface Nativewind, Expo compatibility */ |
| <Image | ||
| source={{ | ||
| uri: `https://images.pexels.com/photos/671557/pexels-photo-671557.jpeg?&buster=${Math.random()}`, | ||
| uri: `https://www.facebook.com/assets/react_native_oss_tests/large-image@1x.jpg&buster=${Math.random()}`, |
| <Image | ||
| source={{ | ||
| uri: `https://images.pexels.com/photos/671557/pexels-photo-671557.jpeg?&buster=${Math.random()}`, | ||
| uri: `https://www.facebook.com/assets/react_native_oss_tests/large-image@1x.jpg&buster=${Math.random()}`, |
| touchSoundDisabled?: ?boolean, | ||
| }; | ||
|
|
||
| /** @build-types emit-as-interface Expo compatibility */ |
anuagragith
requested review from
Andrew Coates (acoates-ms) and
Vladimir Morozov (vmoroz)
September 7, 2026 21:43
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Integrates React Native Windows with
react-native@0.87.0-nightly-20260519-58cd1bf58.Upstream React Native changes:
react/react-native@1181985...58cd1bf
This update:
@react-native/*dependencies throughout the monorepo.0.314.Validation
Microsoft Reviewers: Open in CodeFlow