Integrate RN 0.85.0-nightly-20260224-42cd0f041#16294
Open
anuagragith wants to merge 8 commits into
Open
Conversation
Updates React Native Windows to nightly 0.85.0-nightly-20260224-42cd0f041 (Feb 24, 2026). Changes: - Updated all react-native and @react-native/* dependencies to target nightly - Upgraded platform overrides via react-native-platform-override - Added upstream AnimationBackend examples for RNTester - Added src-win/Libraries/LogBox to eslintignore for component keyword syntax - Removed obsolete vnext/src-win/jest/setup.js (now provided by upstream) - Updated yarn.lock Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…ntax hermes-eslint's no-unreachable does not recognize Flow `component` declarations as function boundaries, so returns inside them falsely mark following top-level declarations as unreachable. Add scoped eslint-disable comments to suppress these false positives. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
The nightly integration bumped the .flowconfig [version] to ^0.302.0 in vnext and @office-iss/react-native-win32 but left flow-bin at ^0.299.0, so flow-check failed the version guard. Bump flow-bin to ^0.302.0 in both packages to match. Flow 0.302.0's stricter invalid-compare check then flagged pre-existing dead code (an 'if (status === COMPLETE)' block made unreachable by the switch 'default: return null') in LogBoxInspectorSourceMapStatus.win32.js; remove it (behavior-preserving). Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
The nightly integration converted these FlatList example components to Flow 'component' syntax. hermes-eslint emits ComponentDeclaration AST nodes that ESLint's code-path analyzer does not treat as function boundaries, so a 'return' inside a component body leaks to module scope and falsely flags following top-level declarations as unreachable. Add a scoped file-level eslint-disable for no-unreachable to suppress these false positives. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Upstream React Native moved the Jest setup, mocks, and helpers out of the react-native package into @react-native/jest-preset. copyRNLibraries still copied from react-native/jest/** (now nonexistent), so vnext/jest ended up with only the RNW setup.js override and none of the ./mock or ./mocks/* siblings it imports, producing 22 cannot-resolve-module flow errors. Point copyRNLibraries at @react-native/jest-preset/jest/** and declare the package explicitly (pinned to the nightly) since react-native only lists it as an optional peer dependency. Verified flow-check passes with 0 errors for both react-native-windows (vnext) and @office-iss/react-native-win32. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Performance Test ResultsBranch: ✅ Passed161 scenario(s) across 28 suite(s) — no regressionsSectionList
FlatList
TouchableOpacity
ScrollView
TouchableHighlight
Pressable
Modal
Image
ActivityIndicator
Switch
Button
TextInput
View
Text
SectionList.native-perf-test.ts
FlatList.native-perf-test.ts
TouchableHighlight.native-perf-test.ts
TouchableOpacity.native-perf-test.ts
Pressable.native-perf-test.ts
ScrollView.native-perf-test.ts
ActivityIndicator.native-perf-test.ts
TextInput.native-perf-test.ts
Switch.native-perf-test.ts
Button.native-perf-test.ts
Modal.native-perf-test.ts
Image.native-perf-test.ts
View.native-perf-test.ts
Text.native-perf-test.ts
|
…mationBackend override - Add 'no-unreachable': 0 to hermes-eslint .js override block in shared eslint-config (root-cause fix for false positives from ComponentDeclaration/HookDeclaration AST nodes; Flow performs its own unreachable analysis) - Revert per-file eslint-disable edits on LogBox/FlatList override files (now handled by config; required because copy-type overrides must byte-match upstream) - Delete orphaned vnext/src-win/jest/setup.js (manifest entry removed by integration; upstream @react-native/jest-preset now provides it) - Add js/examples/AnimationBackend directoryCopy override to @react-native/tester manifest Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…change The 0.85.0-nightly-20260224 integration causes more views to carry a meaningful backgroundColor upstream, so RNW correctly materializes the background SpriteVisual (empty 0-size child visual) for those views. RNW's own color/view code (HostPlatformColor.h, CompositionViewComponentView.cpp) is unchanged. Regenerated snapshots via 'yarn e2etest -u' output. Also reflects a deterministic asset testUri path shift and text-background visual restructuring surfaced by the same integration. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
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.
Updates React Native Windows to nightly 0.85.0-nightly-20260224-42cd0f041 (Feb 24, 2026).
Description
Type of Change
Bug fix (non-breaking change which fixes an issue)
Why
Update RNW to a newer RN nightly build
Testing
Summary of all the chanegs made to fix all the failing linter checks and tests -
jest/folder (setup, mocks, helpers) moved out of react-native into the new@react-native/jest-preset(not auto-installed), breaking flow-check with ~22 "cannot resolve module" errorspackages/@rnw-scripts/just-task/copyRNLibraries.js,vnext/package.json,packages/@office-iss/react-native-win32/package.json,vnext/src-win/jest/setup.js(deleted),yarn.lock@react-native/jest-preset; add it as an explicit dep in vnext + win32; delete the orphaned override file (upstream preset now provides it); regenerate lockfile. 👉 Confirm relying on@react-native/jest-presetis the intended direction.no-unreachablelint errors — the new Flow component/hook syntax confuses ESLint's code-path analysis into flagging valid code as unreachablepackages/@rnw-scripts/eslint-config/eslintrc.jsno-unreachablefor hermes-parsed files. 👉 Main judgment call: per-file eslint-disable wasn't an option because those are "copy"-type overrides that must byte-match upstream. Safe since Flow does its own unreachable check.vnext/package.json,packages/@office-iss/react-native-win32/package.json,.../LogBoxInspectorSourceMapStatus.win32.jsifblock the newer Flow flagged.packages/@react-native/tester/overrides.jsonvnext/Microsoft.ReactNative/Fabric/FabricUIManagerModule.cpp.snapfiles underpackages/e2e-test-app-fabric/test/**/__snapshots__/yarn e2etest -u. 👉 Pure test-baseline updates; worth a glance to confirm the added background visuals look right.Changelog
No
Microsoft Reviewers: Open in CodeFlow