forked from facebook/react-native
-
Notifications
You must be signed in to change notification settings - Fork 144
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[0.74] Merge to 0.74.5 #2155
Merged
Merged
[0.74] Merge to 0.74.5 #2155
Conversation
This file contains 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
#publish-packages-to-npm&0.74-stable
… from RNCLI (facebook#43049) Summary: Pull Request resolved: facebook#43049 This connects the OnLoad.cpp file used by OSS apps with the `rncli_cxxModuleProvider`. This method is created by the CLI and takes care of querying all the TM CXX Modules discovered and returning them. This PR is currently waiting on react-native-community/cli#2296 Changelog: [Internal] [Changed] - Hook the default-app-setup OnLoad.cpp file with the cxxModuleProvider from RNCLI Reviewed By: cipolleschi Differential Revision: D53812109 fbshipit-source-id: 47bc0ea699516993070cfa0127de97853acf8890
Summary: When using Flatlist on iOS and Android its failing because props are undefined The problem is described on facebook#34783 ![Captura de pantalla 2024-02-22 a las 4 13 11](https://github.com/facebook/react-native/assets/1161455/325738d9-2e49-44a0-bb6a-077b2e02e9cd) ![Captura de pantalla 2024-02-22 a las 4 14 58](https://github.com/facebook/react-native/assets/1161455/118f76e1-a818-428e-938e-123b55536b49) Fixed by setting constructor before any statement and removing unnecessary props declaration at the top of the class. ## Changelog: <!-- Help reviewers and the release process by writing your own changelog entry. Pick one each for the category and type tags: [ANDROID|GENERAL|IOS|INTERNAL] [BREAKING|ADDED|CHANGED|DEPRECATED|REMOVED|FIXED|SECURITY] - Message For more details, see: https://reactnative.dev/contributing/changelogs-in-pull-requests --> [GENERAL] [FIXED] - Fix undefined props crash in FlatList Pull Request resolved: facebook#43141 Reviewed By: javache Differential Revision: D54069559 Pulled By: robhogan fbshipit-source-id: b39cd9a273eb0279ed353f9efcb66a3c4ccf93b4
…idgeless mode Summary: RN-Tester is currently instacrashing on fast-refresh (pressing r on Metro) as it ends up on `onJSBundleLoadedFromServer` which throws an exception on Bridgeless mode. I'm fixing it by following the same logic as `onReloadWithJSDebugger`. Changelog: [Android] [Fixed] - Do not crash on onJSBundleLoadedFromServer when fast-refreshing on bridgeless mode Reviewed By: huntie Differential Revision: D54121838 fbshipit-source-id: 82d98ec0c5b2295f5751525368c956574dd7f3a0
Summary: Those files should not stay in the root `/app` folder but inside the `/app/gradle/wrapper` folder. I've noticed this in the Upgrade Helper UI hence I'm removing them. Changelog: [Internal] [Changed] - Remove accidental files included inside the template Reviewed By: mdvacca Differential Revision: D54122995 fbshipit-source-id: 8873a91ffbea20f609c7aabd428a815c77a38db5
Summary: Pull Request resolved: facebook#43153 This contains an hotfix for the CLI needed for 0.74 Changelog: [Internal] [Changed] - Bump CLI to 13.6.1 Reviewed By: huntie Differential Revision: D54073715 fbshipit-source-id: a5fdf02f47c5e144efc58e6b7fd355669a21e07b
…facebook#43127) Summary: This adds a new warning for React Native 0.74, implementing the [RFC 0759](https://github.com/react-native-community/discussions-and-proposals/blob/nc/rnf/proposals/0759-react-native-frameworks.md#the-init-command) init command changes. - It's added inside `react-native/cli.js` to avoid warning users when actually executing `npx react-native-community/cli` commands. - The check is fairly simple: `process.argv[2] === 'init'`. The first two args are the Node bin and the actual script bin paths. - The message is sent over `console.warn` to avoid potentially mixing JSON with non-JSON output. ## Changelog: [GENERAL] [ADDED] - Warn with future command when using `npx react-native init` Pull Request resolved: facebook#43127 Test Plan: Any command other than `init` must not warn. - `$ node ./path/to/react-native/cli.js init` - `$ node ./path/to/react-native/cli.js init --help` - Should warn with `Running: npx react-native-community/cli init` ![image](https://github.com/facebook/react-native/assets/1203991/a3f5e3d2-7b59-41fe-9a53-bc9ce5a21fd1) - `$ node ./path/to/react-native/cli.js --help` - Must not warn ![image](https://github.com/facebook/react-native/assets/1203991/97679429-db35-47f8-bdeb-33187bb167cf) Reviewed By: cipolleschi Differential Revision: D54063131 Pulled By: cortinico fbshipit-source-id: c60b8b6034087b584e98b51f5bedf68a46caf44c
#publish-packages-to-npm&0.74-stable
Summary: Changelog: [General][Fixed] Re-enable listing Hermes debugger targets in chrome://inspect, broken in 0.74 RC Fixes facebook#43259. Reverts D52958725 and fixes the original `Content-Length` Unicode bug using a different approach. Reviewed By: fabriziocucci Differential Revision: D54409847 fbshipit-source-id: ed5bb464ab67f37535947646b124814d8bbf797c
Summary: This diff removes extra argument from the `extractLibrariesFromJSON` call inside `findLibrariesFromReactNativeConfig`. This should fix the iOS failurte discribed in facebook#43204 Changelog: [iOS][Fixed] - Codegen correctly handles react-native.config.js. Reviewed By: cipolleschi Differential Revision: D54248400 fbshipit-source-id: 2ae5d0d29f49725877559a5b0edd7d59f8bdefaa
…heir props Summary: This change align the `getSurfacePresenter` and `getModuleRegistry` to the iOS convention for which these should be computed properties with no `get` prefix in their name. We want to land this change and to pick it in 0.74 so we can remove the `get` versions in 0.75. ## Changelog: [iOS][Deprecated] - Deprecate `getSurfacePresenter` and `getModuleRegistry` for `surfacePresenter` and moduleRegistry` props. Reviewed By: javache Differential Revision: D54253805 fbshipit-source-id: e9ff7db744a73a3bd0f8ae1d87875e54ddd9a1a4
…ok#43146) Summary: This PR fixes an issue that `_logWarnIfCreateRootViewWithBridgeIsOverridden` was called in wrong place. Assuming user overrides this method and call to `[super]`: ```objc - (UIView *)createRootViewWithBridge:(RCTBridge *)bridge moduleName:(NSString *)moduleName initProps:(NSDictionary *)initProps { UIView *view = [super createRootViewWithBridge:bridge moduleName:moduleName initProps:initProps]; view.backgroundColor = [UIColor redColor]; return view; } ``` This method still wasn't called in bridgeless (and not showing the error). Checking if user overrides this method in `appDidFinishWithLaunching` works every time ![simulator_screenshot_0E22557C-CE37-4617-A25A-F39A6ED4D3D0](https://github.com/facebook/react-native/assets/52801365/d7865f37-32f0-40ad-a252-74ab7c5b7757) ## Changelog: [IOS] [FIXED] - Properly warn about `createRootViewWithBridge` being deprecated Pull Request resolved: facebook#43146 Test Plan: Check if warning is shown when message is overridden Reviewed By: huntie Differential Revision: D54303506 Pulled By: cipolleschi fbshipit-source-id: cf30555c791493f28b3015a189cf93b60cace8f8
…r TurboModule.class.isAssignableFrom (facebook#43219) Summary: After discussing with mdvacca, we prefer to undo the change of `TurboModule` package to `.internal` as this is a quite aggressive breaking change for the ecosystem. Moreover: users should not invoke `TurboModule.class.isAssignableFrom` because `TurboModule` is `.internal`. Therefore I'm exposing another API to check if a class is a TurboModule as a static field of `ReactModuleInfo`. ## Changelog: [INTERNAL] - Do not use TurboModule.class.isAssignableFrom Pull Request resolved: facebook#43219 Test Plan: Tests are attached Reviewed By: mdvacca, cipolleschi Differential Revision: D54280882 Pulled By: cortinico fbshipit-source-id: 9443c8aa23cf70dd5cfe574fe573d83313134358
Summary: **History:** This component was originally introduced into React Native core in D52712758, to replace UIManagerModule.showPopupMenu(). **Problem:** But, React Native core should be lean. Adding this component to React Native bloats the core. **Changes:** So, this diff pulls PopupMenuAndroid out into its own package in the react-native GitHub repository. In the future, this will be migrated to a community package! Changelog: [Android][Removed] Move PopupMenu out of React Native core Reviewed By: NickGerleman Differential Revision: D53328110 fbshipit-source-id: 469d8dc3e756c06040c72e08fa004aafa1bd6e18
…mponent.android.js to fix CI Summary: This change renames `PopupMenuAndroidNativeComponent.js` to `PopupMenuAndroidNativeComponent.android.js`. The reason is that, without the suffix, Codegen was reading the NativeComponent spec also for iOS, generating some invalid specs and making RNTester fail. ## Changelog: [Android][Changed] - Rename `PopupMenuAndroidNativeComponent.js` to `PopupMenuAndroidNativeComponent.android.js` Reviewed By: cortinico, dmytrorykun Differential Revision: D54199736 fbshipit-source-id: 7fd67c4d38a69fe3a84c800c8ee5dcbd8c4f9a6c
#publish-packages-to-npm&0.74-stable
#publish-packages-to-npm&0.74-stable
#publish-packages-to-npm&0.74-stable
#publish-packages-to-npm&0.74-stable
#publish-packages-to-npm&0.74-stable
Summary: The `rrc_textinput` was not exposed via prefab. I'm adding it to make possible for react-native-live-markdown to integrate on top of React Native via prefab. Based on facebook#36166. ## Changelog: <!-- Help reviewers and the release process by writing your own changelog entry. Pick one each for the category and type tags: [ANDROID|GENERAL|IOS|INTERNAL] [BREAKING|ADDED|CHANGED|DEPRECATED|REMOVED|FIXED|SECURITY] - Message For more details, see: https://reactnative.dev/contributing/changelogs-in-pull-requests --> [ANDROID] [CHANGED] - Expose `rrc_textinput` via prefab. Pull Request resolved: facebook#43274 Reviewed By: cipolleschi Differential Revision: D54482657 Pulled By: cortinico fbshipit-source-id: ca7f4127f1808f841d88925238666e837de75bd0
Summary: The `rrc_text` was not exposed via prefab. I'm adding it to make possible for react-native-live-markdown to integrate on top of React Native via prefab. Based on facebook#36166. ## Changelog: <!-- Help reviewers and the release process by writing your own changelog entry. Pick one each for the category and type tags: [ANDROID|GENERAL|IOS|INTERNAL] [BREAKING|ADDED|CHANGED|DEPRECATED|REMOVED|FIXED|SECURITY] - Message For more details, see: https://reactnative.dev/contributing/changelogs-in-pull-requests --> [ANDROID] [CHANGED] - Expose `rrc_text` via prefab. Pull Request resolved: facebook#43275 Reviewed By: cipolleschi Differential Revision: D54536468 Pulled By: cortinico fbshipit-source-id: 8c4ef983467bfc46930f10bf7bd95761c2d11788
Summary: Pull Request resolved: facebook#43333 This change fixes facebook#43285. Basically, when using a `yarn` alias to install pods, yarn creates a copy of the `node` and `yarn` executables and the `command -v node` command will return the path to that executable. ## Changelog [iOS][Fixed] - Do not use temporary node when creating the .xcode.env.local Reviewed By: dmytrorykun Differential Revision: D54542774 fbshipit-source-id: 3ab0d0bb441988026feff9d5390dcfd10869a1b5
Summary: Pull Request resolved: facebook#44097 There are two places where we use a feature specific to the system version of 'cp', the: -X Do not copy Extended Attributes (EAs) or resource forks. This feature isn't available in GNU's cp, which is commonly installed on macOS using: brew install coreutils && brew link coreutils We can avoid the problem alltogether by being specific about the path of the system cp. Changelog: [General][Fixed] don't break script phase and codegen when coreutils installed on macOS Reviewed By: cipolleschi Differential Revision: D56143216 fbshipit-source-id: f1c1ef9ea2f01614d6d89c4e9eedf43113deb80c
facebook#45520) Summary: Added space to $(inherited) string to avoid creation of wrong cpp flags in RCTAppDelegate podspec <img width="1157" alt="Screenshot 2024-07-18 at 8 51 19 PM" src="https://github.com/user-attachments/assets/29d32d08-e81f-4c25-b8ee-5dccc0f620ea"> ## Changelog: [IOS] [FIXED] - Building of iOS project when RCTAppDelegate is used in the project Pull Request resolved: facebook#45520 Test Plan: To test this you can simply change in your node modules and run pod install, the build will now work successfully Reviewed By: cipolleschi Differential Revision: D59950906 Pulled By: arushikesarwani94 fbshipit-source-id: 0d58620aa0be7ac4fcbcd309f06df0eef7844016
…ook#45562) Summary: In Node 20, the script to run unit tests in CI (`scripts/run-ci-javascript-tests.js`) will fail, even when all the Jest tests pass. This happens because one of the JS modules being tested is setting `process.exitCode` (see jestjs/jest#9324 (comment)). Changes: - Modified the affected module to throw an exception when failing, instead of setting the exit code - Adjusted the unit test for that module ## Changelog: [General] [Fixed] - Remove setting of process.exitCode that breaks Jest tests Pull Request resolved: facebook#45562 Test Plan: Before this change, running `node scripts/run-ci-javascript-tests.js` would fail with Node 20. After this change, it succeeds. Reviewed By: blakef Differential Revision: D60033582 Pulled By: cipolleschi fbshipit-source-id: 71b7f4495d414e719a9bd2d892bd1bc3045ddd5d
Summary: As discussed with cipolleschi offline, this PR adds visionOS to the prebuilt Hermes binary for the CI. [IOS] [ADDED] - Prebuilt version of Hermes for visionOS Pull Request resolved: facebook#44691 Test Plan: Check if CI builds xcframework for visionOS. Reviewed By: cortinico Differential Revision: D58189271 Pulled By: cipolleschi fbshipit-source-id: dc76746b2c1e22670bef4c21411a598e43dad577
) Summary: Pull Request resolved: facebook#45374 This change factors out the language standard in a separate constant so we can easily control it from a single place. There are only 2 exception to this: 1. hermes-engine: the podspec is used in CI and it has no access to the rct_cxx_language_standard variable 2. Yoga: it can be used as a separate pod, outside of React Native, so it makes sense to leave it alone. This change also fixes a problem where, in some setup, the language was set to C++14 [Internal] - Refactor Cxx language standard in a single constant Reviewed By: dmytrorykun, blakef Differential Revision: D59629061 fbshipit-source-id: 41eac64e47c14e239d8ee78bd88ea30af244d695
Summary: Errors occurred on running `pod install`: ``` [!] An error occurred while processing the post-install hook of the Podfile. undefined method `symbol_type' for #<Xcodeproj::Project::Object::PBXAggregateTarget:0x000000010f6ea568> [redact]/node_modules/react-native/scripts/cocoapods/privacy_manifest_utils.rb:53:in `block in get_application_targets' ``` ## Changelog: [iOS] [Fixed] - Fix error on handling privacy manifest Pull Request resolved: facebook#45591 Reviewed By: cipolleschi Differential Revision: D60107607 Pulled By: dmytrorykun fbshipit-source-id: 316220fe54174b18c9b61775f807d5d05d9f0240
#publish-packages-to-npm&latest
Summary: Pull Request resolved: facebook#44479 TextInputs' onTextInput callback was removed way back in React Native 0.62 with facebook@3f7e0a2 , but remnants of the implementation exists. We first have to remove the event emitting in native code, and can land the full removal separately in D57092733, once there's no older client references remaining to this event. Changelog: [General][Removed] Remove deprecated onTextInput callback Reviewed By: cipolleschi Differential Revision: D57092734 fbshipit-source-id: 5b0beee3d55b70717216fe8ceaf52444540f5adc
#publish-packages-to-npm&latest
1b4539d
to
b377688
Compare
acoates-ms
approved these changes
Aug 9, 2024
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.
Merge up to upstream's 0.74.5 release
Summary:
Initial Merge Conflicts:
Followup fixes in other files:
Test Plan:
CI should pass