-
Notifications
You must be signed in to change notification settings - Fork 126
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
Merge up to January 2nd upstream #2013
Commits on Nov 28, 2023
-
Kotlin to 1.8.22 (facebook#41661)
Summary: Pull Request resolved: facebook#41661 This aligns the Kotlin version used inside fbsource to the one used for React Native GitHub Changelog: [Internal] [Changed] - Kotlin to 1.8.22 Reviewed By: NickGerleman Differential Revision: D51587726 fbshipit-source-id: 5f985bd50c7688e4d369184b79dbf1bdc799876e
Configuration menu - View commit details
-
Copy full SHA for 4f3094a - Browse repository at this point
Copy the full SHA 4f3094aView commit details -
Fix several build warnings on RN Tester Android (facebook#41660)
Summary: Pull Request resolved: facebook#41660 While working on other things, I noticed those warnings firing on console which I'm fixing here. Changelog: [Internal] [Changed] - Fix several build warnings on RN Tester Android Reviewed By: cipolleschi Differential Revision: D51589072 fbshipit-source-id: 1ddb29afd0d150f1ccbc7a8def9f27ecedb69724
Configuration menu - View commit details
-
Copy full SHA for 25196ba - Browse repository at this point
Copy the full SHA 25196baView commit details -
do not use ShadowNode::defaultSharedProps in UIManager::clone (facebo…
…ok#41667) Summary: Pull Request resolved: facebook#41667 changelog: [internal] I made a mistake during refactor in D51471667 where I removed the check if rawProps is nullptr. We must check if props are empty during `UIManager::clone`, leaving the check for `ConcreteComponentDescriptor::cloneProps` does not lead to the same result. There is a deeper problem here that needs to be analysed but this should resolve the lunch blocker. Reviewed By: javache Differential Revision: D51614396 fbshipit-source-id: 055694c4a71a914d8732a3632c50026cc24cbe7d
Configuration menu - View commit details
-
Copy full SHA for a8fc206 - Browse repository at this point
Copy the full SHA a8fc206View commit details -
Backout - Schedule a Choreographer callback only if there is ongoing …
…animation Summary: caused performace problems with react app Reviewed By: gpalves Differential Revision: D51617862 fbshipit-source-id: 38c0c06dacdd7aa862fd523a7ce136e54ed55fa2
Configuration menu - View commit details
-
Copy full SHA for 528f971 - Browse repository at this point
Copy the full SHA 528f971View commit details -
CxxReactPackage: Use hungarian notation for hybridData (facebook#41675)
Summary: Pull Request resolved: facebook#41675 FBJni expects the HybridData object to exist on the mHybridData property of the java object. So, we have to call this propery mHybridData. Otherwise, this fbjni class just won't work. Changelog: [Internal] Reviewed By: javache Differential Revision: D51550621 fbshipit-source-id: d169266474717f0a38799ede7c07af57461012b7
Configuration menu - View commit details
-
Copy full SHA for 00e7035 - Browse repository at this point
Copy the full SHA 00e7035View commit details -
CxxReactPackage: Load So's during class loads (facebook#41674)
Summary: Pull Request resolved: facebook#41674 The problem: The Java runtime couldn't find CatalystCxxReactPackage.initHybrid. Why: I think is because CxxReactPackage loads CatalystCxxReactPackage's so in its constructor. This might be too late to load the derived class's so. So, I just switched derived delegates to load the so in the static initializer (i.e: the recomended approch for so loading): https://www.internalfb.com/code/fbsource/[91c4e41c49ed191ac864250ccaec52c01ddaeccc]/fbandroid/libraries/soloader/java/com/facebook/soloader/SoLoader.java?lines=52-54%2C60-61%2C63-67 This way: 1. The So's are loaded plenty early (the method not found error went away). 2. We don't create our own so loading infra, which complicates this abstraction, and makes it harder to work with, even more. Changelog: [Internal] Reviewed By: javache Differential Revision: D51550622 fbshipit-source-id: f4782d6fa9387f21fbf611191e9483e2a58b3a34
Configuration menu - View commit details
-
Copy full SHA for 4c1bdea - Browse repository at this point
Copy the full SHA 4c1bdeaView commit details -
Ensure C++ default tmmd can access the CxxReactPackage (facebook#41673)
Summary: Pull Request resolved: facebook#41673 ## The Problem The cxxReactPackage property isn't initialized by the time initHybrid was executed. So, initHybrid was being called with null as the cxxReactPackage. Why; 1. The default turbomodule manager delegate receives cxxReactPackage as a constructor param. 2. Java then executes all the constructors of the class hierarchy. This executes initHybrid. 3. Java finally initializes the properties of the derived class: default tmmd.cxxReactPackage (i.e: the parameter to initHybrid). **This is too late** ## The Fix Refactor the code such that hybrid data creation doesn't depend on property initialization: 1. Create a static initHybrid method in default tmmd. 2. Call this static method with the cxxReactPackage, and assign the resultant HybridData to mHybridData (in tmmd). Changelog: [Internal] Reviewed By: javache Differential Revision: D51550623 fbshipit-source-id: ed2b7587351cfca408cda3c8cef4dcf7547e5f1e
Configuration menu - View commit details
-
Copy full SHA for 129bd9d - Browse repository at this point
Copy the full SHA 129bd9dView commit details -
Move ActionSheet UI operation to main thread (facebook#41666)
Summary: Fixes UI operation not on the main thread. ![image](https://github.com/facebook/react-native/assets/5061845/276f7e9c-dcf8-4ba1-af2d-c9fa990d41a1) ![image](https://github.com/facebook/react-native/assets/5061845/cfe85921-3cc9-4f32-b794-a6a8bc00ee1d) ## Changelog: [IOS] [FIXED] - Move ActionSheet UI operation to main thread Pull Request resolved: facebook#41666 Test Plan: None. Reviewed By: philIip Differential Revision: D51613525 Pulled By: cipolleschi fbshipit-source-id: e5f543bbcc9bc0f5b6dda5bc2deb20279e851946
Configuration menu - View commit details
-
Copy full SHA for aa9e824 - Browse repository at this point
Copy the full SHA aa9e824View commit details
Commits on Nov 29, 2023
-
Fix incorrect wrapping of refs in Image component (facebook#41679)
Summary: Pull Request resolved: facebook#41679 This fixes a bug in the original implementation of image attached callbacks (still experimental). The problem was that we were unconditionally caching the ref passed to the underlying image component, which meant that whenever users passed new ref setters we wouldn't call them again. This fixes that by forcing the creation of a new ref value whenever a new ref is passed to the image component. Changelog: [internal] Reviewed By: jehartzog Differential Revision: D51618512 fbshipit-source-id: ac15160c528563c2131e8b3444dea4a6096f20bc
Configuration menu - View commit details
-
Copy full SHA for 40c7736 - Browse repository at this point
Copy the full SHA 40c7736View commit details -
Extend default tmmdelegate to support many cxxreactpackages (facebook…
…#41680) Summary: Pull Request resolved: facebook#41680 Just like how React Native can have n ReactPackages, it will support n CxxReactPackages. This way, many applications can share common CxxReactPackages. Changelog: [Internal] Reviewed By: christophpurrer Differential Revision: D51484844 fbshipit-source-id: b9b70cab719e80a7ff7e635057d710f1a86fb1c9
Configuration menu - View commit details
-
Copy full SHA for 9e4fa20 - Browse repository at this point
Copy the full SHA 9e4fa20View commit details -
Handle UTF8 in native exception message (facebook#41575)
Summary: Pull Request resolved: facebook#41575 We currently do not validate the incoming native exception message before passing it to the char* constructor of TwineChar16. Treat it as UTF-8 and convert it to UTF-16 before creating the JavaScript exception. Changelog: [Internal] Reviewed By: tmikov Differential Revision: D49551640 fbshipit-source-id: 762f8038b29818d804bda5a7f3b4762621c94336
Configuration menu - View commit details
-
Copy full SHA for 02b9447 - Browse repository at this point
Copy the full SHA 02b9447View commit details -
Adding getFabricUIManager() APIs to ReactContext (facebook#41506)
Summary: Pull Request resolved: facebook#41506 Adding APIs for `getFabricUIManager()` to ReactContext and it's subclasses. This will replace the `getJSIModule()` post JSI module deletion. Thereby replacing the callsite to context.getFabricUIManager() in UIManagerHelper. NOTE: This still has fallback to getJSIModule() in case the UIManagerProvider is not set Changelog: [Internal] internal Reviewed By: philIip Differential Revision: D50926218 fbshipit-source-id: f311affb0f82895b254fd4664aa8ea23ab31bac0
Configuration menu - View commit details
-
Copy full SHA for 2ddd9cd - Browse repository at this point
Copy the full SHA 2ddd9cdView commit details -
Explicitly default Fabric to
position: "static"
(facebook#41481)Summary: Pull Request resolved: facebook#41481 This will allow us to keep RN on it's "pseudo-static" mode, while changing the Yoga default back to relative, to avoid breaking existing layouts. Changelog: [Internal] Reviewed By: sammy-SC Differential Revision: D51182861 fbshipit-source-id: 25489d7f0642c4ff78340438c2b266e95a5fb207
Configuration menu - View commit details
-
Copy full SHA for fa436b4 - Browse repository at this point
Copy the full SHA fa436b4View commit details -
Change default back to
position: "relative"
(facebook#41480)Summary: Pull Request resolved: facebook#41480 X-link: facebook/yoga#1469 The previous version of static didn't do anything inside of Yoga. Now that we're making it do something, this changes the default back to relative so that users with no errata set don't see their deafult styles changing. Reviewed By: joevilches Differential Revision: D51182955 fbshipit-source-id: c0ea357694e1367fb6786f1907dfff784b19a4bc
Configuration menu - View commit details
-
Copy full SHA for 88a55ba - Browse repository at this point
Copy the full SHA 88a55baView commit details -
Fix warm start logging for ReactMarker (facebook#41693)
Summary: Pull Request resolved: facebook#41693 This diff fixes app warm start time. Before this change, we cache the first time when app start timing is logged, and ignore future loggings. Some apps are warm started and the startup time should be updated. Reviewed By: dmitry-voronkevich Differential Revision: D50481710 fbshipit-source-id: 03e00b75ee7ac578209ae3478adabe567e92a950
Configuration menu - View commit details
-
Copy full SHA for 44109dc - Browse repository at this point
Copy the full SHA 44109dcView commit details -
Ship "disableScrollEventThrottleRequirement" (facebook#41676)
Summary: Pull Request resolved: facebook#41676 This has been used in a significant amount of production for about 2 months, with no consistently statistically significant metric impact. Let's ship it. Note that we would not want to keep this change in a holdout if we remove the warning, since new usages could be added that relied on the behavior not in the holdout. It didn't seem worth the churn to make the same change to Paper, which leaves a question on how to handle the JS-side warning. Instead of jimmying in impl detection, I thought it might be more sane to remove the warning, though that also has a potential hit to Paper DevX. Changelog: [iOS][Changed] - `scrollEventThrottle` no longer needs to be set for continuous scroll events when using the new architecture. Reviewed By: javache Differential Revision: D51608970 fbshipit-source-id: 193019de208f3088519e6f6333dbec4e6b45a1eb
Configuration menu - View commit details
-
Copy full SHA for 56b57e2 - Browse repository at this point
Copy the full SHA 56b57e2View commit details -
Refactor DefaultReactNativeHost to use the new way of Fabric initiali…
…zation (facebook#41496) Summary: Pull Request resolved: facebook#41496 Refactoring `DefaultReactNativeHost` to use the new way of Fabric initialization through `FabricUIManagerProviderImpl` Reviewed By: christophpurrer Differential Revision: D51224854 fbshipit-source-id: 2af8021404365fa2adc9388f44bcc7c6301137dc
Configuration menu - View commit details
-
Copy full SHA for 667d85b - Browse repository at this point
Copy the full SHA 667d85bView commit details -
Make sure that third party libraries include Fabric code (facebook#41669
) Summary: Pull Request resolved: facebook#41669 In some previous changes ([a607692](facebook@a607692) and [6b53205](facebook@6b53205)) we make sure to always include all the pods (including Fabric) and we unify codegen to run in the same way on both architectures. While doing so, we enabled codegen to run on libraries tat already migrated to Fabric. These makes those libraries to fail when building as they were not including the Fabric code when the New Architecture is disabled. This change will make sue that the code is always included, thus the library should always build, and it also make sure that we can control the New/Old Architecture at build time. ## Changelog [iOS][Changed] - Make sure that libraries always include Fabric code also in the old architecture Reviewed By: dmytrorykun Differential Revision: D51617542 fbshipit-source-id: 883d1e258c341feb0405ad389bb8af34d64b59b8
Configuration menu - View commit details
-
Copy full SHA for 4a35f25 - Browse repository at this point
Copy the full SHA 4a35f25View commit details -
Remove duplicated jobs in CircleCI (facebook#41698)
Summary: Pull Request resolved: facebook#41698 With the previous changes on the Pod configuration, the build setup for the New and Old architecture are the same. The only observable difference happens at runtime. This change: 1. Removes the build job that are split by architecture (which is now duplicated work) 2. Add two more test jobs to run runtime tests (unit and integration test) to make sure that the two architectures continue working. ## Changelog: [Internal] - [CI] Remove duplicated build jobs, add tests jobs Reviewed By: cortinico Differential Revision: D51659275 fbshipit-source-id: 769c9ee004e7f4f1a7444f39c02b7083e007b780
Configuration menu - View commit details
-
Copy full SHA for dc95568 - Browse repository at this point
Copy the full SHA dc95568View commit details -
Fix android root view group removal during instance re-creation (face…
…book#41678) Summary: This is my proposed solution to facebook#41677. Fixes facebook#41677. ## Changelog: [ANDROID] [FIXED] - Fix android root view group removal during instance re-creation Pull Request resolved: facebook#41678 Test Plan: Both with fabric enabled and disabled (new architecture): 1. Clone repro repo: https://github.com/wschurman/rn-reload-repro 2. Build and run on android (I use android studio) 3. Click reload button, see timestamp doesn't change (indicating that the view is not removed) 4. Apply this PR as a patch. 5. Re-build and run. 6. Click reload button, see view is correctly disposed of and the new view is set. Reviewed By: cortinico Differential Revision: D51658524 Pulled By: javache fbshipit-source-id: d9a026cde677ad1ec113230bc31bd9297bca8bfc
Configuration menu - View commit details
-
Copy full SHA for bb075d7 - Browse repository at this point
Copy the full SHA bb075d7View commit details -
feat: allow OOT platforms to use custom resolver.resolveRequest (face…
…book#41697) Summary: Currently, when we have an additional platform in `react-native.config.js`, users cannot use custom `resolver.resolveRequest` functions as they are overwritten by `reactNativePlatformResolver`. Goal of this PR is to allow OOT platforms to use additional custom resolvers besides remapping react native imports. ## Changelog: [GENERAL] [FIXED] - Allow Out Of Tree platforms to pass custom resolvers Pull Request resolved: facebook#41697 Test Plan: 1. Add additional platform in `react-native.config.js` 2. Pass custom resolver to `metro.config.js`: ```js resolveRequest: (context, moduleName, platform) => { console.log('resolveRequest', moduleName, platform); return context.resolveRequest(context, moduleName, platform); } ``` 3. Check if user's `resolveRequest` function is called. Reviewed By: huntie Differential Revision: D51659721 Pulled By: robhogan fbshipit-source-id: 952589b59a6fa34e9406d36c900be53a7c1a79c3
Configuration menu - View commit details
-
Copy full SHA for 4ccd6e1 - Browse repository at this point
Copy the full SHA 4ccd6e1View commit details -
(refactor): kotlinify layout property applicator test (facebook#41649)
Summary: This PR converts to kotlin the java code for LayoutPropertyApplicatorTest, as requested in: facebook#38825 ## Changelog: [INTERNAL][CHANGED]: Convert LayoutPropertyApplicatorTest to Kotlin Pull Request resolved: facebook#41649 Test Plan: `./gradlew :packages:react-native:ReactAndroid:test ` Reviewed By: rshest Differential Revision: D51614921 Pulled By: cortinico fbshipit-source-id: 06ee403a496f34afc9abeabc0c406391e316538a
Configuration menu - View commit details
-
Copy full SHA for 3654089 - Browse repository at this point
Copy the full SHA 3654089View commit details -
Add CircleCI readme (facebook#41706)
Summary: Pull Request resolved: facebook#41706 This change introduces a ReadME in the CircleCI folder. This can be used as documentation to learn more about our CircleCI setup and will also help GitHub employees in executing the migration. ## Changelog: [Internal] - Add CircleCI documentation Reviewed By: cortinico Differential Revision: D51665453 fbshipit-source-id: f61325ed26572c4a8d4a68db1cca5934d3d968fb
Configuration menu - View commit details
-
Copy full SHA for f1df4ce - Browse repository at this point
Copy the full SHA f1df4ceView commit details -
Stop logging CREATE_I18N_ASSETS_MODULE events (facebook#41703)
Summary: Pull Request resolved: facebook#41703 TSIA Changelog: [Internal] Reviewed By: javache Differential Revision: D51661861 fbshipit-source-id: 6fd5e253d9113f6acf7f4fe889f35f9aa580797e
Configuration menu - View commit details
-
Copy full SHA for 5476121 - Browse repository at this point
Copy the full SHA 5476121View commit details -
Fix broken RN Tester custom ViewManager (facebook#41708)
Summary: Pull Request resolved: facebook#41708 RN-Tester is currently instacrashing due to a method accepting a `Float?` rather than a `Float`. `Float` from Kotlin gets converted to Java's `float`, while `Float?` gets converted to the boxed type, which is not recognized by the framework and is making the app crash. On top of this, the implementation of `setColor` was wrong as we don't properly handle the null case. Fixing it here as well. Changelog: [Internal] [Changed] - Fix broken RN Tester custom ViewManager Reviewed By: NickGerleman Differential Revision: D51667346 fbshipit-source-id: b7498a520936f81a0524ba53dc7230ad7ef57bf8
Configuration menu - View commit details
-
Copy full SHA for bae5238 - Browse repository at this point
Copy the full SHA bae5238View commit details -
CxxReactPackage: Make initHybrid static (facebook#41681)
Summary: Pull Request resolved: facebook#41681 ## Rationale Make initHybrid static. So that the derived class can initialize the C++ part with constructor arguments. **Note:** This diff just applies the fix from D51550623. into CxxReactPackage. Changelog: [Internal] Reviewed By: christophpurrer Differential Revision: D51642219 fbshipit-source-id: 095e452e03848379288af960969789aa5e9c0542
Configuration menu - View commit details
-
Copy full SHA for c0375b8 - Browse repository at this point
Copy the full SHA c0375b8View commit details -
Converge iOS oldarch scrollEventThrottle behavior (facebook#41695)
Summary: Pull Request resolved: facebook#41695 When I went to update documentation, I kinda internalized how inconsistent the API is if we don't change iOS Paper. The potential for breaks is if an iOS-specific component ignores a warning, and uses `onScroll` without `scrollEventThrottle`, then relies on `onScroll` only being called once. It didn't seem like we hit this scenario in practice when migrating Fabric ComponentView behavior, and components will need to support it in new arch anyway, so this change takes the less conservative option of unifying the behavior everywhere. Changelog: [iOS][Changed] - scrollEventThrottle no longer needs to be set for continuous scroll events Reviewed By: cipolleschi Differential Revision: D51647202 fbshipit-source-id: e2a57f3501b9096e4033cb198bbc214d53e9913c
Configuration menu - View commit details
-
Copy full SHA for 10b3e0e - Browse repository at this point
Copy the full SHA 10b3e0eView commit details -
Small refactor of image attached callbacks logic (facebook#41701)
Summary: Pull Request resolved: facebook#41701 I did a hotfix for this logic in D51618512. This does a small refactor to improve the code (moving more shared code to the hook and avoiding creating a closure unnecessarily in every call to it). Changelog: [internal] Reviewed By: javache Differential Revision: D51660288 fbshipit-source-id: 472836840b19958402bd0de3e2c09c7cec004156
Configuration menu - View commit details
-
Copy full SHA for c120ccb - Browse repository at this point
Copy the full SHA c120ccbView commit details -
Fix type definition of useMergeRefs (facebook#41700)
Summary: Pull Request resolved: facebook#41700 The type definition of `useMergeRefs` is incorrect, which forces all callsites to use `$FlowFixMe`. This fixes the definition and removes all the `$FlowFixMe`s caused by it. Changelog: [internal] Reviewed By: javache Differential Revision: D51660716 fbshipit-source-id: 4d4d3a72bdca8c409fd1dda59cc2c94113b024bb
Configuration menu - View commit details
-
Copy full SHA for 56291fa - Browse repository at this point
Copy the full SHA 56291faView commit details -
Revert D51224854: Refactor DefaultReactNativeHost to use the new way …
…of Fabric initialization Differential Revision: D51224854 Original commit changeset: 2af802140436 Original Phabricator Diff: D51224854 fbshipit-source-id: 039337be7057c9625d4a6e53520a18cd5071813e
Configuration menu - View commit details
-
Copy full SHA for 93be030 - Browse repository at this point
Copy the full SHA 93be030View commit details -
Revert D50926218: Adding getFabricUIManager() APIs to ReactContext
Differential Revision: D50926218 Original commit changeset: f311affb0f82 Original Phabricator Diff: D50926218 fbshipit-source-id: 313fd5aff1314860994487d1f4d17d2a2d5fe8c1
Configuration menu - View commit details
-
Copy full SHA for c8db60c - Browse repository at this point
Copy the full SHA c8db60cView commit details
Commits on Nov 30, 2023
-
Enable new lifecycle hooks by default everywhere (facebook#41709)
Summary: Pull Request resolved: facebook#41709 We shipped these new create()/reload()/destroy() methods to the Facebook app: - Part 1: D50802718 - Part 2: D50803283 This diff just enables them everywhere, by default. Created from CodeHub with https://fburl.com/edit-in-codehub Changelog: [Internal] Reviewed By: cortinico Differential Revision: D51590843 fbshipit-source-id: 02abeea78b7b7b844552989ad58d0a2f048424ad
Configuration menu - View commit details
-
Copy full SHA for ee31ec9 - Browse repository at this point
Copy the full SHA ee31ec9View commit details -
Set up gating for position: relative as default (facebook#41711)
Summary: Pull Request resolved: facebook#41711 We want the default position to be relative for a number of reasons. This should be fine for the most part but putting a killswitch around this change just in case things blow up. Changelog: [Internal] Reviewed By: NickGerleman Differential Revision: D51643446 fbshipit-source-id: 4f7d1e498eb663801ef6d88ba9cd9b64c781d66b
Configuration menu - View commit details
-
Copy full SHA for 05ed007 - Browse repository at this point
Copy the full SHA 05ed007View commit details -
Fix Binding JNI type (facebook#41657)
Summary: New implementation: This PR adds cast from interface Binding to BindingImpl class. Previous implementation: The changes made in this PR make the `mBinding` field of `FabricUIManager` visible for JNI. Without these changes, calling the method `JFabricUIManager::getBinding()` would result in an error. <img width="400" alt="Screenshot 2023-11-27 at 13 55 44" src="https://github.com/facebook/react-native/assets/36106620/04418291-8ce8-4bae-b16c-29a5c9f2ee52"> In the `react-native-reanimated` library, we utilize `JFabricUIManager::getBinding()`, and we have noticed this issue since version 0.73. This isn't perfect solution, but I'm not certain which change in RN or FBJNI is the source of the problem. If there are any alternative solutions worth considering, I am open to discussing them. Usage of `getBinding()` in Reanimated: https://github.com/software-mansion/react-native-reanimated/blob/main/android/src/main/cpp/NativeProxy.cpp#L57 ## Changelog: [ANDROID] [FIXED] - Fix type for unrecognisable field mBinding Pull Request resolved: facebook#41657 Test Plan: Just call `JFabricUIManager::getBinding` method (https://github.com/facebook/react-native/blob/v0.73.0-rc.5/packages/react-native/ReactAndroid/src/main/jni/react/fabric/JFabricUIManager.cpp#L14) or run app with repro: https://github.com/piaskowyk/missing-mBinding-repro after the app lunch you will receive error from above screenshot. Co-author: tomekzaw Reviewed By: NickGerleman Differential Revision: D51661873 Pulled By: javache fbshipit-source-id: 1891c36bf25c503ebc9b0501211df03be6f74115
Configuration menu - View commit details
-
Copy full SHA for 31d8a93 - Browse repository at this point
Copy the full SHA 31d8a93View commit details -
Clarify threading of OnViewAttach mount items (facebook#41704)
Summary: Pull Request resolved: facebook#41704 `mOnViewAttachItems` was set to be be concurrent, but this would be unexpected, as all mount item operations occur solely on the main thread. Simplify this to be just a LinkedList and annotate the methods as being UI thread only. Changelog: [Internal] Reviewed By: NickGerleman Differential Revision: D51662154 fbshipit-source-id: 9fe5784bce8a38d1339b5e3675791414676b6f4d
Configuration menu - View commit details
-
Copy full SHA for 424ac63 - Browse repository at this point
Copy the full SHA 424ac63View commit details -
Fix ReactInstanceManager leak (facebook#41719)
Summary: Pull Request resolved: facebook#41719 We leak ReactInstanceManager into a static singleton in `ReactCxxErrorHandler.setHandleErrorFunc`. Clean it up in `destroy()`. Changelog: [Internal] Reviewed By: cortinico Differential Revision: D51706624 fbshipit-source-id: 642825ba14ff0a9710b4435f5fb6026b3a81b711
Configuration menu - View commit details
-
Copy full SHA for b41937e - Browse repository at this point
Copy the full SHA b41937eView commit details -
Add JSI method for setting external memory size (facebook#41436)
Summary: Pull Request resolved: facebook#41436 Add a JSI API for associating some native memory with a JS object. This is intended to provide a mechanism to trigger more frequent garbage collection when JS retains large external memory allocations, in order to avoid memory buildup. This diff just adds the JSI method, without any implementations. Changelog: [General][Added] - Added JSI method for reporting native memory to the GC. Reviewed By: tmikov Differential Revision: D50524912 fbshipit-source-id: c8df0e18b0415d9523e0a00f6d0ed2faa648ac68
Configuration menu - View commit details
-
Copy full SHA for cfe129c - Browse repository at this point
Copy the full SHA cfe129cView commit details -
Update hermes-parser and related packages in fbsource to 0.18.0 (face…
…book#41689) Summary: Pull Request resolved: facebook#41689 Bump hermes-parser and related packages to 0.18.0. Changelog: [internal] Reviewed By: SamChou19815 Differential Revision: D51642821 fbshipit-source-id: b7abde7d3e0de195c18a5cb18d4cdd0a1d435127
Configuration menu - View commit details
-
Copy full SHA for c98fa9c - Browse repository at this point
Copy the full SHA c98fa9cView commit details -
Deploy 0.223.0 to fbsource (facebook#41725)
Summary: Pull Request resolved: facebook#41725 Reviewed By: SamChou19815 Differential Revision: D51713020 fbshipit-source-id: 84dc8c882f7603d642cb4ccb735fad0fb7e25d4d
Configuration menu - View commit details
-
Copy full SHA for ede35df - Browse repository at this point
Copy the full SHA ede35dfView commit details -
Remove unneeded const_cast (facebook#41712)
Summary: Pull Request resolved: facebook#41712 I fixed the const correctness of YGConfigGetErrata a while back when fixing up other YGConfig accessors. Changelog: [Internal] Reviewed By: christophpurrer Differential Revision: D51689323 fbshipit-source-id: 1af3deb44ec03a8a65643fa1496c534ac8f6d057
Configuration menu - View commit details
-
Copy full SHA for 7e5f15b - Browse repository at this point
Copy the full SHA 7e5f15bView commit details
Commits on Dec 1, 2023
-
Change comment on Yoga measure modes in RN (facebook#41732)
Summary: Pull Request resolved: facebook#41732 Was reading the code in this file and noticed that this comment is no longer true after D51068417 (facebook/yoga#1460). Updated the comment to reflect the current state of things Changelog: [Internal] Reviewed By: NickGerleman Differential Revision: D51730986 fbshipit-source-id: beaa5de9576d86e56def35f6e970376c7be8f7ee
Configuration menu - View commit details
-
Copy full SHA for 89ec746 - Browse repository at this point
Copy the full SHA 89ec746View commit details -
Replace $Call in babel-traverse libdef with conditional type (faceboo…
…k#41736) Summary: Pull Request resolved: facebook#41736 Changelog: [Internal] Reviewed By: gkz Differential Revision: D51735062 fbshipit-source-id: 942264cdc9f71e4aaa6f730d68f5a2a6e2fc7493
Configuration menu - View commit details
-
Copy full SHA for cd9b1d9 - Browse repository at this point
Copy the full SHA cd9b1d9View commit details -
Adding getFabricUIManager() APIs to ReactContext (facebook#41728)
Summary: Pull Request resolved: facebook#41728 Adding APIs for `getFabricUIManager()` to ReactContext and it's subclasses. This will replace the `getJSIModule()` post JSI module deletion. Reviewed By: philIip Differential Revision: D51718430 fbshipit-source-id: c897ab0ee9e755e3fdb3d1e5629177818870f293
Configuration menu - View commit details
-
Copy full SHA for f941f93 - Browse repository at this point
Copy the full SHA f941f93View commit details -
Fix typo in circleci config (facebook#41727)
Summary: This PR fixes typo in CircleCI config ## 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 --> [INTERNAL] [FIXED] - Typo in circleci config Pull Request resolved: facebook#41727 Test Plan: CI Green Reviewed By: cipolleschi Differential Revision: D51748329 Pulled By: cortinico fbshipit-source-id: 99f54c5b9ec4113205642076c010b748ab6229f6
Configuration menu - View commit details
-
Copy full SHA for 847f5de - Browse repository at this point
Copy the full SHA 847f5deView commit details -
Schedule CatalystInstanceImpl destruction using new thread (facebook#…
…41720) Summary: Pull Request resolved: facebook#41720 We currently go via the UI thread, so we can use AsyncTask to schedule the final bit of async ReactContext destruction. This is a requirement for the AsyncTask API, which is also deprecated. We should figure out a better way to schedule and re-use threads across React Native Android, but until then, we can just create a new Thread here, which is also what we do for instance creation. Changelog: [Internal] Reviewed By: NickGerleman Differential Revision: D51706689 fbshipit-source-id: cf17e20e91b195b956b1701e6d91d563fdba4d15
Configuration menu - View commit details
-
Copy full SHA for dbf0984 - Browse repository at this point
Copy the full SHA dbf0984View commit details -
Add
NDEBUG
flag for Release builds for both architectures (facebook……#41715) Summary: Currently React Native defines `NDEBUG` flag for all pods in Fabric only. This is useful for other libraries, like Reanimated, because they have no easy way of defining their compilation flags (at least none that I know of). Therefore defining `NDEBUG` for both architectures would be beneficial. ## Changelog: Pick one each for the category and type tags: [IOS] [CHANGED] - Add `NDEBUG` flag for Release builds for both architectures Pull Request resolved: facebook#41715 Test Plan: Run ruby test suite. ## Notes For the time being I just copied `prepare_pod_target_installation_results_mock` and `def prepare_installer_for_cpp_flags` to `utils-test.rb` since I wasn't sure how to handle the installer mock. Reviewed By: cortinico Differential Revision: D51708382 Pulled By: cipolleschi fbshipit-source-id: ff206f8fc151934dbae89aacd1bc69c57b4f28ee
Configuration menu - View commit details
-
Copy full SHA for 1a0e174 - Browse repository at this point
Copy the full SHA 1a0e174View commit details -
Gradle to 8.5 (facebook#41748)
Summary: Pull Request resolved: facebook#41748 Bumping to the latest stable of Gradle Changelog: [Internal] [Changed] - Gradle to 8.5 Reviewed By: cipolleschi Differential Revision: D51749139 fbshipit-source-id: 2ee0f9a6c910dd5221f7f63c0c599d4ab181e10a
Configuration menu - View commit details
-
Copy full SHA for 0e9c93c - Browse repository at this point
Copy the full SHA 0e9c93cView commit details -
Summary: Pull Request resolved: facebook#41747 Let's update AGP to the latest minor Changelog: [Internal] [Changed] - AGP to 8.2.0 Reviewed By: cipolleschi Differential Revision: D51749138 fbshipit-source-id: fe473b6d1613b73e60e65848c20098e3f77d3a61
Configuration menu - View commit details
-
Copy full SHA for a3f238a - Browse repository at this point
Copy the full SHA a3f238aView commit details -
Using UIManagerProvider instead of JSIModule in UIManagerHelper (face…
…book#41738) Summary: Pull Request resolved: facebook#41738 Replacing the callsite to `context.getFabricUIManager()` in UIManagerHelper instead of `getJSIModule()` Fixing the crash by directly making `getFabricUIManager()` of `ReactContext` independent of the assertion. Reviewed By: philIip Differential Revision: D51719040 fbshipit-source-id: f9118b16614724a1d6dabe59d5c4d25dd4bdbc73
Configuration menu - View commit details
-
Copy full SHA for 75019c8 - Browse repository at this point
Copy the full SHA 75019c8View commit details -
feat: improve e2e local testing script (facebook#41751)
Summary: iOS?ios?android?Android? Always making typos when using the local testing script with the platform argument... No more! ## Changelog: [INTERNAL][ADDED] - Improved E2E local testing script to be more flexible Pull Request resolved: facebook#41751 Reviewed By: cortinico Differential Revision: D51758529 Pulled By: huntie fbshipit-source-id: d9e633567a59fcfac1057cf1f21714ccef27ebb2
Configuration menu - View commit details
-
Copy full SHA for 84b0027 - Browse repository at this point
Copy the full SHA 84b0027View commit details -
react-native: Platformize android|ios textinput (facebook#41600)
Summary: Pull Request resolved: facebook#41600 Changelog: [Internal] Reviewed By: cipolleschi Differential Revision: D51515743 fbshipit-source-id: 156d9119d84d82f31b62b89b1916365547ce0afe
Configuration menu - View commit details
-
Copy full SHA for 288708f - Browse repository at this point
Copy the full SHA 288708fView commit details -
Refactor DefaultReactNativeHost to use the new way of Fabric initiali…
…zation (facebook#41739) Summary: Pull Request resolved: facebook#41739 Refactoring `DefaultReactNativeHost` to use the new way of Fabric initialization through `FabricUIManagerProviderImpl` Reviewed By: philIip Differential Revision: D51719555 fbshipit-source-id: bad471a8a273accecb0641ccaa77223534cd45fd
Configuration menu - View commit details
-
Copy full SHA for c30f2b6 - Browse repository at this point
Copy the full SHA c30f2b6View commit details -
Summary: Changelog: [Internal] Reviewed By: pieterv Differential Revision: D51768863 fbshipit-source-id: 716add02d82cdfa56f2d3fc4d4560fcb26e8f426
Configuration menu - View commit details
-
Copy full SHA for 448e6b8 - Browse repository at this point
Copy the full SHA 448e6b8View commit details -
Change strict layout conformance to not use the new static changes (f…
…acebook#41733) Summary: Pull Request resolved: facebook#41733 I am currently implementing position: static in Yoga. I have a huge stack of changes that is ready to ship but we are waiting on the default position type to be relative before shipping. The reason being, my changes will affect a whole ton of styles where there is no position set so if we can make static no longer the default we can safely ship this new code. However, this will take a while and keeping up with this stack of diffs though merge conflicts, flakey tests, and general slowness for my IDE is getting annoying. So a solution here is to ship that stack and make it so that no one gets this functionality by changing the strict layout conformance to include the errata that is gating my changes. The end result being that the code can be shipped but will have no affect at the time being. Right now, because that code is in a different branch and not on prod, this change will do nothing. Changelog: [Internal] Reviewed By: javache Differential Revision: D51731778 fbshipit-source-id: f0b7fd8559adb19e1658b3ac64fcfc4c5f8ecdf7
Configuration menu - View commit details
-
Copy full SHA for 01c627e - Browse repository at this point
Copy the full SHA 01c627eView commit details
Commits on Dec 2, 2023
-
Fixing Bridgeless Exception caused by the UIManager changes
Summary: Forward-fixing the crash in Bridgeless mode caused by UIManagerProvider changes to replace JSI Module bypass-github-export-checks Reviewed By: philIip Differential Revision: D51778494 fbshipit-source-id: f1837d7b164051e326e1227c432e493bad16cd51
Configuration menu - View commit details
-
Copy full SHA for 5e406cc - Browse repository at this point
Copy the full SHA 5e406ccView commit details -
Fix typos in ReactCompoundViewGroup comments (facebook#41729)
Summary: Was stepping with debugger through the code & noticed few typos. ## 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] [FIXED] - Typos in `ReactCompoundViewGroup` comments Pull Request resolved: facebook#41729 Test Plan: Typos in docs Reviewed By: cortinico Differential Revision: D51753447 Pulled By: arushikesarwani94 fbshipit-source-id: b373d67ca8b6c9f22d80ea1ccee98ecc5151b325
Configuration menu - View commit details
-
Copy full SHA for 3854735 - Browse repository at this point
Copy the full SHA 3854735View commit details
Commits on Dec 4, 2023
-
Add GraphNode example for Cxx TMs (facebook#41766)
Summary: Pull Request resolved: facebook#41766 Changelog: [Internal] Adds a simple example showing a recursive node, stored inside a collection in a Cxx TM. Currently we can't auto-generate [the necessary C++ Types](https://reactnative.dev/docs/next/the-new-architecture/cxx-custom-types#struct-generator) - but we can add it later if this scenarios becomes really common. Reviewed By: rshest Differential Revision: D51783974 fbshipit-source-id: 7352db1a354cd7da32febc650f7cc5e10dd16d2d
Configuration menu - View commit details
-
Copy full SHA for 5754b4a - Browse repository at this point
Copy the full SHA 5754b4aView commit details -
Add a BinaryTreeNode example for Cxx TMs (facebook#41767)
Summary: Pull Request resolved: facebook#41767 Changelog: [Internal] Adds a simple example showing a direct recursive node in a Cxx TM. Currently we can't auto-generate [the necessary C++ Types](https://reactnative.dev/docs/next/the-new-architecture/cxx-custom-types#struct-generator) - but we can add it later if this scenarios becomes really common. Direct recursive nodes, can't be value types - it would require infinite memory. Hence they are nullable and managed by a smart pointer. Reviewed By: rshest Differential Revision: D51784136 fbshipit-source-id: f6f0710d03583bdf1e6e72ba42d8df7f8ff8d915
Configuration menu - View commit details
-
Copy full SHA for ead73de - Browse repository at this point
Copy the full SHA ead73deView commit details -
fix: add verdaccio generated files to .gitignore (facebook#41783)
Summary: When working with Verdaccio (testing the template, releasing packages) - I've stumbled upon a lot of changes in the repo: ![CleanShot 2023-12-04 at 13 14 12@2x](https://github.com/facebook/react-native/assets/52801365/74ce53a2-b885-41f4-9a12-968a8577285e) ## Changelog: [INTERNAL] [ADDED] - Add verdaccio generated files to .gitignore Pull Request resolved: facebook#41783 Test Plan: CI Green Reviewed By: christophpurrer Differential Revision: D51808583 Pulled By: huntie fbshipit-source-id: fec2a13883590d0c6af179c3804fba9d4235dde2
Configuration menu - View commit details
-
Copy full SHA for 09b110f - Browse repository at this point
Copy the full SHA 09b110fView commit details -
Add logic to generate recursive TM members (facebook#41768)
Summary: Pull Request resolved: facebook#41768 Changelog: [Internal] Reviewed By: rshest Differential Revision: D51572375 fbshipit-source-id: e4ce0726c457ea02a7710ea1d21bbd697e35848a
Configuration menu - View commit details
-
Copy full SHA for 749b8dd - Browse repository at this point
Copy the full SHA 749b8ddView commit details -
Stabilize View-backface-visibility-e2e.js (facebook#41785)
Summary: Pull Request resolved: facebook#41785 Changelog: [Internal] modify backface visibility e2e test to comfortably fit within user viewport Reviewed By: makovkastar Differential Revision: D51806469 fbshipit-source-id: a8a8a1426a154b452c29df07561b7302f3150bd1
Configuration menu - View commit details
-
Copy full SHA for e5df45c - Browse repository at this point
Copy the full SHA e5df45cView commit details -
Remove flow exact object syntax {| brace pipe |} from TM example (fac…
…ebook#41779) Summary: Pull Request resolved: facebook#41779 Changelog: [Internal] `exact_by_default` (https://flow.org/en/docs/types/objects/#exact-and-inexact-object-types) is turned on - https://github.com/facebook/react-native/blob/main/.flowconfig#L40 - so we don't need these extra `|`. Reviewed By: rshest Differential Revision: D51803601 fbshipit-source-id: bef3699333471948330c4ae541e7a7023a7b1485
Configuration menu - View commit details
-
Copy full SHA for a481ae7 - Browse repository at this point
Copy the full SHA a481ae7View commit details -
Integrate binary-compatibility-validator into RN Android build system
Summary: In this diff I'm integrating 'org.jetbrains.kotlinx.binary-compatibility-validator' into RN Android build gradle system. The tool allows dumping binary API of a JVM part of a Kotlin library that is public in the sense of Kotlin visibilities and ensures that the public binary API wasn't changed in a way that makes this change binary incompatible More context on https://github.com/Kotlin/binary-compatibility-validator#building-the-project-locally bypass-github-export-checks Reviewed By: cortinico Differential Revision: D51262577 fbshipit-source-id: 1894f4e55a4019e3ce1585e9df12dee69944e5ce
Configuration menu - View commit details
-
Copy full SHA for e9b8097 - Browse repository at this point
Copy the full SHA e9b8097View commit details -
feat[ReactFabricPrivateInterface]: add getInternalInstanceHandleFromP…
…ublicInstance (facebook#41786) Summary: Pull Request resolved: facebook#41786 Changelog: [Internal] This is the preprequisite for facebook/react#27783 Reviewed By: rubennorte Differential Revision: D51808831 fbshipit-source-id: c8ddf67d7ad35a670fa462c246dcb7230ba47716
Configuration menu - View commit details
-
Copy full SHA for cd395b5 - Browse repository at this point
Copy the full SHA cd395b5View commit details -
Update GenerateModuleH fixture (facebook#41780)
Summary: Pull Request resolved: facebook#41780 This updates our test fixture with more concrete examples from: https://github.com/facebook/react-native/blob/main/packages/rn-tester/NativeCxxModuleExample/NativeCxxModuleExample.js Changelog: [Internal] Reviewed By: rshest Differential Revision: D51804559 fbshipit-source-id: 3290bc5447e0b47551ad73f5b041e332443e71c6
Configuration menu - View commit details
-
Copy full SHA for 974e584 - Browse repository at this point
Copy the full SHA 974e584View commit details
Commits on Dec 5, 2023
-
Use C++17 namespace (facebook#41771)
Summary: Pull Request resolved: facebook#41771 Changelog: [Internal] Since we are already enforcing C++20 (and 17), we can set the namespace declaration to the C++17 style Reviewed By: NickGerleman Differential Revision: D51789991 fbshipit-source-id: 165d7d4e652d60ab200e2355e084010a02f470a4
Configuration menu - View commit details
-
Copy full SHA for b101dd0 - Browse repository at this point
Copy the full SHA b101dd0View commit details -
Insets no longer apply to statically positioned nodes (facebook#41369)
Summary: X-link: facebook/yoga#1454 Pull Request resolved: facebook#41369 One of the most basic aspects of statically positioned nodes is that [insets do not apply to them](https://developer.mozilla.org/en-US/docs/Web/CSS/position#static). So I put a guard inside `Node::relativePosition` where we take that into account when setting the position. Reviewed By: NickGerleman Differential Revision: D50507808 fbshipit-source-id: 7aab4138b06e60936db0ddb6019a9a30f1ded2db
Configuration menu - View commit details
-
Copy full SHA for e48da2a - Browse repository at this point
Copy the full SHA e48da2aView commit details -
Let containing blocks layout their absolute descendants, not parents (f…
…acebook#41488) Summary: Pull Request resolved: facebook#41488 X-link: facebook/yoga#1470 The way we plan on implementing `position: static` is by changing how we lay out absolutely positioned nodes. Instead of letting their direct parent lay them out we are going to let their containing block handle it. This is useful because by the time the containing block gets to this step it will already know its size, which is needed to ensure that absolute nodes can get the right value with percentage units. Additionally, it means that we can "translate" the position of the absolute nodes to be relative to their parent fairly easily, instead of some second pass that would not be possible with a different design. This change just gets the core pieces of this process going. It makes it so that containing blocks will layout out absolute descendants that they contain. We also pass in the containing block size to the owner size args for `layoutAbsoluteChild`. This new path will only happen if we have the errata turned off. If there is no positioned ancestor for a given node we just assume the root is. This is not exactly how it works on the web - there is a notion of an initial containing block - but we are not implementing that as of right now. Reviewed By: NickGerleman Differential Revision: D51182593 fbshipit-source-id: 88b5730f7f4fec4f33ec64288618e23363091857
Configuration menu - View commit details
-
Copy full SHA for 33d6a59 - Browse repository at this point
Copy the full SHA 33d6a59View commit details -
Allow the containing block to set trailing position of absolute desce…
…ndants (facebook#41489) Summary: Pull Request resolved: facebook#41489 X-link: facebook/yoga#1471 If we are going to allow the containing block to layout its absolute descendants and NOT the direct parent then we need to change step 11 which is concerned with setting the trailing position in the case we are row or column reverse. This is the very last step in the function and is positioned that way because it operates on the assumption that all children have their position set by this time. That is no longer a valid assumption if CBs layout their absolute children. In that case the CB also needs to take care of setting the position here. Because of this problem I moved some things around. It now works like: * If errata is set, the direct parent will set trailing position for all non absolute children in step 11 * If errata is set the CB will set trailing position of absolute descendants after they are laid out inside of layoutAbsoluteDescendants Reviewed By: NickGerleman Differential Revision: D51217291 fbshipit-source-id: a7eea0d3623f9041b73d609a1de2bfb0f0343a26
Configuration menu - View commit details
-
Copy full SHA for 43ab5fe - Browse repository at this point
Copy the full SHA 43ab5feView commit details -
Use containing block to adjust absolute child position (facebook#41490)
Summary: Pull Request resolved: facebook#41490 X-link: facebook/yoga#1472 This change has most of the logic needed for supporting `position: static`. We do two things here that fix a lot of the broken static test: 1) We pass in the containing node to `layoutAbsoluteChild` and use it to properly position the child in the case that insets are defined. 2) We rewrite the absolute child's position to be relative to it's parent in the event that insets are defined for that child (and thus it is positioned relative to its CB). Yoga's layout position has always be relative to parent, so I feel it is easier to just adjust the coordinates of a node to adhere to that design rather than change the consumers of yoga. The "hard" part of this algorithm is determining how to iterate the offset from the containing block needed to do this translation described above. That is handled in `layoutAbsoluteDescendants`. Reviewed By: NickGerleman Differential Revision: D51224327 fbshipit-source-id: ae6dc54fe2a71bebb4090ba21a0afb0125264cbc
Configuration menu - View commit details
-
Copy full SHA for a48e0d5 - Browse repository at this point
Copy the full SHA a48e0d5View commit details -
Introduce positionAbsoluteChild (facebook#41491)
Summary: X-link: facebook/yoga#1473 Pull Request resolved: facebook#41491 To simplify the logic a bit I introduce a new function called `positionAbsoluteChild`. This function will, eventually, be the **sole function that matters** when determining the layout position of an absolute node. Because [absolute nodes do not participate in flex layout](https://drafts.csswg.org/css-flexbox/#abspos-items), we can determine the position of said node independently of its siblings. The only information we need are the node itself, its parent, and its containing block - which we have all of in `layoutAbsoluteChild`. Right now, however, this is purely a BE change with no functionality different. There was a big set of if statements at the end of `layoutAbsoluteChild` that would position the node on the main and cross axis for certain cases. The old code had it so that the main and cross axis had basically the same logic but the code was repeated. This puts that logic, as is, in `positionAbsoluteChild` and calls that from `layoutAbsoluteChild`. I will soon edit this function to actually do what it is envisioned to do (i.e. be the sole place that position is set for absolute nodes). Reviewed By: NickGerleman Differential Revision: D51272855 fbshipit-source-id: 68fa1f0e0f4d595faf2af1d9eaceb467382ca406
Configuration menu - View commit details
-
Copy full SHA for 7459529 - Browse repository at this point
Copy the full SHA 7459529View commit details -
Fix issue where start/end would not be respected in flex edge getters (…
…facebook#41682) Summary: X-link: facebook/yoga#1479 Pull Request resolved: facebook#41682 There are two ways to get the value of a style for a specific edge right now: 1) From the inline start/end edge which is determined via the writing direction (ltr or rtl), assuming you do not have errata on 2) From the flex start/end edge which is determined via the flex direction (row, row-reverse, column, column-reverse) There is a weird curiosity in the second case: you can define a style to be on the "start" or "end" edge when writing the stylex/css. The physical edge that this refers to is dependent on the writing direction. So `start` would be `left` in `ltr` and `right` in `rtl`, with `end` the opposite. It is **never** determined via the flex direction. Additionally, `start`/`end` takes precedence over the physical edge it corresponds to in the case both are defined. So, all of this means that to actually get the value of a style from the flex start/end edges, we need to account for the case that one of these relative edges was defined and would overwrite any physical edge. Since this mapping is solely determined by the writing direction, we need to pass that in to all the flex start/end getters and do that logic. This is done in `flexStartRelativeEdge`/`flexEndRelativeEdge` which was added earlier but for some reason only being used on border. Reviewed By: NickGerleman Differential Revision: D51293315 fbshipit-source-id: 26fafff54827134e7c5b10354ff9bfdf67096f5b
Configuration menu - View commit details
-
Copy full SHA for aa31c6c - Browse repository at this point
Copy the full SHA aa31c6cView commit details -
New file for layout methods related to absolute children (facebook#41794
) Summary: X-link: facebook/yoga#1495 Pull Request resolved: facebook#41794 This is a copy of D51369722 to make it so that it preserves the file history CalculateLayout.cpp is massive and approaching 3k lines. I added a few large functions dealing with layout of absolute nodes and was thinking it would be nice if that logic was just in its own file so it was more isolated and easier to reason about. So I made AbsoluteLayout.cpp and AbsoluteLayout.h to house this logic. In order for this to work I had to expose calculateLayoutInternal in CalculateLayout.h as layoutAbsoluteChild calls it. This is unideal and I would like to find a better way... I also make LayoutUtils.h to house misc small helper methods as they are called in AbsoluteLayout.cpp and CalculateLayout.cpp Reviewed By: NickGerleman Differential Revision: D51824115 fbshipit-source-id: 9b27449e3c1516492c01e6167a6b2c4568a33807
Configuration menu - View commit details
-
Copy full SHA for 0cc09f2 - Browse repository at this point
Copy the full SHA 0cc09f2View commit details -
Deploy 0.223.3 to xplat (facebook#41797)
Summary: Pull Request resolved: facebook#41797 Changelog: [Internal] Reviewed By: gkz Differential Revision: D51839509 fbshipit-source-id: 961fc4e8fc0f7a45c3882753301d027f319b9ea6
Configuration menu - View commit details
-
Copy full SHA for 09451ae - Browse repository at this point
Copy the full SHA 09451aeView commit details -
Revert D51839509: Deploy 0.223.3 to xplat
Differential Revision: D51839509 Original commit changeset: 961fc4e8fc0f Original Phabricator Diff: D51839509 fbshipit-source-id: 71a97ee1971d5c882cb704f4f9ff42a95e6d52f6
Configuration menu - View commit details
-
Copy full SHA for be91968 - Browse repository at this point
Copy the full SHA be91968View commit details -
Remove extraneous log statment (facebook#41799)
Summary: Pull Request resolved: facebook#41799 Noticed this when doing local build. Changelog: [Internal] Created from CodeHub with https://fburl.com/edit-in-codehub Reviewed By: rshest Differential Revision: D51845672 fbshipit-source-id: 2f24d69cea1a2fededed271865a5836e791cea41
Configuration menu - View commit details
-
Copy full SHA for 363ee48 - Browse repository at this point
Copy the full SHA 363ee48View commit details -
Re-enabled disabled tests ReactPropForShadowNodeSpecTest and ReactPro…
…pForShadowNodeSetterTest (facebook#41788) Summary: X-link: facebook/yoga#1494 Pull Request resolved: facebook#41788 Those tests are currently disabled due to Yoga attempting to do JNI calls. I've added infra to bypass .so loading during tests, and we should be good to re-enable those tests by now. Changelog: [Internal] [Changed] - Re-enabled disabled tests ReactPropForShadowNodeSpecTest and ReactPropForShadowNodeSetterTest Reviewed By: NickGerleman Differential Revision: D51814491 fbshipit-source-id: adbbace19c94a0c6d8947f61221fafafd7797ac8
Configuration menu - View commit details
-
Copy full SHA for ee74b4c - Browse repository at this point
Copy the full SHA ee74b4cView commit details -
Use C++17 namespace for compoments (facebook#41791)
Summary: Pull Request resolved: facebook#41791 Same as facebook#41771 - but this time for compoments Changelog: [Internal] Reviewed By: cortinico Differential Revision: D51804740 fbshipit-source-id: 87f4db5dabfce4639f16fdcb1b1df0fee338a555
Configuration menu - View commit details
-
Copy full SHA for 19420b7 - Browse repository at this point
Copy the full SHA 19420b7View commit details -
Refresh the New Issue template (facebook#41800)
Summary: Pull Request resolved: facebook#41800 I've cleaned up the new issue template: 1. Added Expo to the template selector list 2. Added a short blurb with relevant links at the beginning of every issue template 3. I've added a dedicated field for reproducer and one for extra 4. I've added rendering to the react-native info block 5. I've added another rendered blog for stacktraces. 6. I've added a drop-down item for affected platform Changelog: [Internal] [Changed] - Refresh the New Issue template Reviewed By: GijsWeterings Differential Revision: D51847659 fbshipit-source-id: 565a2dcab4913825f441e2315ae9b4dd34fd2f4f
Configuration menu - View commit details
-
Copy full SHA for bdcc9d0 - Browse repository at this point
Copy the full SHA bdcc9d0View commit details -
refactor: convert
NetworkingModuleTest
to kotlin (facebook#41792)Summary: Migrated `NetworkingModuleTest` to kotlin (part of facebook#38825) ## Changelog: [Android] [CHANGED] - NetworkingModuleTest.java -> NetworkingModuleTest.kt Pull Request resolved: facebook#41792 Test Plan: `./gradlew :packages:react-native:ReactAndroid:test` Reviewed By: cortinico Differential Revision: D51847402 Pulled By: rshest fbshipit-source-id: 7a1938c575a7e5b22b6ff578e1f8d26b600f2c27
Configuration menu - View commit details
-
Copy full SHA for 852f2b1 - Browse repository at this point
Copy the full SHA 852f2b1View commit details -
Deploy 0.223.3 to xplat (facebook#41809)
Summary: Pull Request resolved: facebook#41809 Changelog: [Internal] Reviewed By: samwgoldman Differential Revision: D51855821 fbshipit-source-id: 4fe9c937aff925150fb015be2ea93fa120e7f462
Configuration menu - View commit details
-
Copy full SHA for ea309a7 - Browse repository at this point
Copy the full SHA ea309a7View commit details -
Remove dead unit tests related to text/layout property settings. (fac…
…ebook#41804) Summary: Pull Request resolved: facebook#41804 Those 4 tests are Ignored since a while and I haven't found a easy way to re-enable them. I believe we can safely delete them. Changelog: [Internal] [Changed] - Remove dead unit tests related to text/layout property settings. Reviewed By: sammy-SC Differential Revision: D51848089 fbshipit-source-id: 89880f5402774cb0560ac8fe4ba21e1e44c24889
Configuration menu - View commit details
-
Copy full SHA for ff77680 - Browse repository at this point
Copy the full SHA ff77680View commit details -
Extract binaryCompatibilityValidator into gradle.properties file (fac…
…ebook#41811) Summary: Pull Request resolved: facebook#41811 In this diff I'm extracting binaryCompatibilityValidator configuration into gradle.properties file. The goal is to reuse these properties from BUCK changelog:[Internal] internal Reviewed By: cortinico Differential Revision: D51402033 fbshipit-source-id: 9b585dd07c5c00a39caadac47a2f0d605c5419f2
Configuration menu - View commit details
-
Copy full SHA for 704f07b - Browse repository at this point
Copy the full SHA 704f07bView commit details -
Flow: make more objects exact (facebook#27790)
Summary: Changelog: [Internal] This makes a couple objects more exact. Nothing critical, just noticed this old branch I had created when doing some Flow upgrades in the past. DiffTrain build for commit facebook/react@f498aa2. Reviewed By: hoxyq Differential Revision: D51824015 Pulled By: kassens fbshipit-source-id: ecadc98ffb233d6458c65c38150a29ff65a10121
Configuration menu - View commit details
-
Copy full SHA for b2d4236 - Browse repository at this point
Copy the full SHA b2d4236View commit details -
Use okhttp4 for buck-based Android unit tests (facebook#41812)
Summary: Pull Request resolved: facebook#41812 # Changelog: [Internal]- This makes sure that unit tests that use okhttp, do consistently use okhttp v4 for both gradle and buck based workflows when running tests. Reviewed By: christophpurrer Differential Revision: D51864344 fbshipit-source-id: 7fd80fd1e7e9ccdc5ec75a41c5dd03f9fc2751a0
Configuration menu - View commit details
-
Copy full SHA for e3d1e15 - Browse repository at this point
Copy the full SHA e3d1e15View commit details -
Test against XCode 14.3 and 15 (facebook#41798)
Summary: Apple will require XCode 15 next year to ship to the app store, and it aligns with how we build and test React Native internally. XCode 15 and 14.3 add support for a lot of [missing C++ 20 features](https://developer.apple.com/xcode/cpp/#c++20) from earlier versions as well. Last I was aware, Riccardo was onboard with bumping min supported in 0.74 to XCode 15. This change does a slightly more conservative bump to min 14.3, and main of 15.0 (though we might want to move these before 0.74 comes out). All of this will get migrated over to GHA soon enough as well, but... formalizing this is the only thing blocking usage of C++ 20 ranges today. Changelog: [ios][breaking] - Require XCode >= 14.3 Pull Request resolved: facebook#41798 Test Plan: 1. CircleCI Passes 2. Can still boot RNTester from XCode with code signing related changes. Reviewed By: cortinico Differential Revision: D51840617 Pulled By: NickGerleman fbshipit-source-id: 58f8951a436eb7c892a00432a8aad0ddd0a49da1
Configuration menu - View commit details
-
Copy full SHA for 1c57e96 - Browse repository at this point
Copy the full SHA 1c57e96View commit details
Commits on Dec 6, 2023
-
Introduce cxxreactpackage provider into default tmmdelegate (facebook…
…#41735) Summary: Pull Request resolved: facebook#41735 Changelog: [Internal] Reviewed By: christophpurrer Differential Revision: D51734655 fbshipit-source-id: 2966e9d7ef0af852750c35b35ec39d9e8f9b9a80
Configuration menu - View commit details
-
Copy full SHA for 73d0cf5 - Browse repository at this point
Copy the full SHA 73d0cf5View commit details -
fix: add isChildPublicInstance to ReactNativeTypes (facebook#27788) (f…
…acebook#41807) Summary: Pull Request resolved: facebook#41807 Changelog: [Internal] Follow-up on facebook/react#27783. React Native is actually using `ReactNativeTypes`, which are synced from this repo. In order to make `isChildPublicInstance` visible for renderers inside React Native repository, we need to list it in `ReactNativeTypes`. Because of current circular dependency between React Native and React, it is impossible to actually type it properly: - Can't import any types in `ReactNativeTypes` from local files, because it will break React Native, once synced. - Implementations can't use real types in their definitions, because it will break these checks: https://github.com/facebook/react/blob/223db40d5a04dc3311f963f5296675f7f43139e8/packages/react-native-renderer/fabric.js#L12-L13 https://github.com/facebook/react/blob/223db40d5a04dc3311f963f5296675f7f43139e8/packages/react-native-renderer/index.js#L12-L14 DiffTrain build for commit facebook/react@c29ca23. Test Plan: Sandcastle tests Reviewed By: kassens Differential Revision: D51849040 Pulled By: hoxyq fbshipit-source-id: f75593e44c114289ad4c6fb8b4b37c4c5fd6d3d4
Configuration menu - View commit details
-
Copy full SHA for 616a907 - Browse repository at this point
Copy the full SHA 616a907View commit details -
Add function properties to C++ TM complex datatyes (facebook#41810)
Summary: Pull Request resolved: facebook#41810 Changelog: [Internal] Reviewed By: zeyap Differential Revision: D51858746 fbshipit-source-id: e45ee68fc40e8b7ae3388ecdcedfec646d022e19
Configuration menu - View commit details
-
Copy full SHA for db609ff - Browse repository at this point
Copy the full SHA db609ffView commit details -
feat: support isChildPublicInstance from renderer (facebook#41806)
Summary: Pull Request resolved: facebook#41806 Changelog: [Internal] Adds `isChildPublicInstance` to renderers implementations, which makes it available for usage from `RendererProxy`. Reviewed By: rubennorte Differential Revision: D51822905 fbshipit-source-id: 3ac92ead9d31dd3c7e5e7764daf27fe5f0eca942
Configuration menu - View commit details
-
Copy full SHA for 78c8681 - Browse repository at this point
Copy the full SHA 78c8681View commit details -
Add changelog for 0.73.0 [skip ci] (facebook#41741)
Summary: Adds changelog for the 0.73.0 release. The changelog was generated using the following command: `npx rnx-kit/rn-changelog-generator --base v0.73.0-rc.4 --compare v0.73.0-rc.8` ## 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 --> [INTERNAL] [CHANGED] - Add changelog for the 0.73.0 release. Pull Request resolved: facebook#41741 Test Plan: Read the changelog 🤞 Reviewed By: rubennorte Differential Revision: D51892080 Pulled By: huntie fbshipit-source-id: 191ece6dbb1a65210efb16e13fdab49b55b84145
Configuration menu - View commit details
-
Copy full SHA for 89f75c5 - Browse repository at this point
Copy the full SHA 89f75c5View commit details -
Move several libraries to static linking (facebook#41815)
Summary: Pull Request resolved: facebook#41815 Our Apps in OSS ends up shipping with too many .so files. I'm attempting to move several libraries from dynamic to static. This is a first round of it affecnting only libraries which are not exposed via prefab and that are not having an OnLoad method Changelog: [Internal] [Changed] - Move several libraries to static linking Reviewed By: NickGerleman Differential Revision: D51895785 fbshipit-source-id: 1ba2dbbbae6b6c2639ba0e064f1b331b2a157f03
Configuration menu - View commit details
-
Copy full SHA for eb661df - Browse repository at this point
Copy the full SHA eb661dfView commit details
Commits on Dec 7, 2023
-
Fix lint warns and errors in ReactEditText (facebook#41820)
Summary: Pull Request resolved: facebook#41820 Fix lint warns and errors in ReactEditText changelog: [internal] internal Reviewed By: NickGerleman Differential Revision: D51919967 fbshipit-source-id: e32d69f7d950f2577a1fcb372d501db83322d61c
Configuration menu - View commit details
-
Copy full SHA for 18f8a53 - Browse repository at this point
Copy the full SHA 18f8a53View commit details -
Adds "Needs: Author Feedback" if "Needs: Repro" is applied
Summary: As the title says, if we discover that an issue needs a repro, then we should also apply the "Needs: Author Feedback" as that will make the issue stale quicker (30 days) rather than (90) Changelog: [Internal] [Changed] - Adds "Needs: Author Feedback" if "Needs: Repro" is applied Reviewed By: NickGerleman Differential Revision: D51895945 fbshipit-source-id: 3ed651aec96795ada3e7c28b0f1e68d68f7fc870
Configuration menu - View commit details
-
Copy full SHA for 38d07eb - Browse repository at this point
Copy the full SHA 38d07ebView commit details -
refactor: convert ReactPropForShadowNodeSetterTest to kotlin (faceboo…
…k#41774) Summary: This PR convert `ReactPropForShadowNodeSetterTest` to kotlin as part of facebook#38825 ## Changelog: [INTERNAL] [CHANGED] - Convert ReactPropForShadowNodeSetterTest to kotlin <!-- 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 Pull Request resolved: facebook#41774 Test Plan: ``` ./gradlew :packages:react-native:ReactAndroid:test ``` Reviewed By: NickGerleman Differential Revision: D51882685 Pulled By: cortinico fbshipit-source-id: ff1cce824dc342200f1f5ccbb297b955747b10c8
Configuration menu - View commit details
-
Copy full SHA for 186fc85 - Browse repository at this point
Copy the full SHA 186fc85View commit details -
Bump Android Docker Image to v12 (facebook#41828)
Summary: Pull Request resolved: facebook#41828 Bumping the docker image used inside CircleCI to v12 This image contains NDK 26.0.10792818 which was bumped recently. Without it the CI will attempt to download it everytime consuming time and bandwidth Changelog: [Internal] [Changed] - Bump Android Docker Image to v12 Reviewed By: NickGerleman Differential Revision: D51897068 fbshipit-source-id: a510568efc2574917d94371eeab6f0a53550bc1d
Configuration menu - View commit details
-
Copy full SHA for d8aa1a3 - Browse repository at this point
Copy the full SHA d8aa1a3View commit details -
rntester-ios : Fix Bundle path (internal) (facebook#41825)
Summary: Pull Request resolved: facebook#41825 Changelog: [Internal] Reviewed By: rshest Differential Revision: D51937593 fbshipit-source-id: 2f4a4e49487b7031cd91deda2bc6916f195ee734
Configuration menu - View commit details
-
Copy full SHA for a8ca9b0 - Browse repository at this point
Copy the full SHA a8ca9b0View commit details -
feature(dev-middleware): add
enableNetworkInspector
experiment (fac……ebook#41787) Summary: This enables the network panel/inspector by passing the `unstable_enableNetworkPanel=true` to the React Native JS Inspector. (See facebookexperimental/rn-chrome-devtools-frontend#2) By setting this inside the `experiments`, we can enable/disable network related CDP handlers within the proxy. ## Changelog: [GENERAL] [ADDED] - Add `enableNetworkInspector` experiment to enable Network panel and CDP handlers in inspector proxy Pull Request resolved: facebook#41787 Test Plan: TBD, will provide a repository using an Expo canary / RN 0.73.0-rc release. Reviewed By: NickGerleman Differential Revision: D51811892 Pulled By: huntie fbshipit-source-id: 541d96b6f0735104a4050a24a152e1158871ed1d
Configuration menu - View commit details
-
Copy full SHA for 8ef807b - Browse repository at this point
Copy the full SHA 8ef807bView commit details -
Sync debugger-frontend (12a45e0) (facebook#41840)
Summary: Pull Request resolved: facebook#41840 Sync `react-native/debugger-frontend`. Includes: - facebookexperimental/rn-chrome-devtools-frontend#2 Changelog: [Internal] Differential Revision: D51946121 fbshipit-source-id: 8118cb5075aa86d95bbd8e1ba56a73360122aaab
Configuration menu - View commit details
-
Copy full SHA for 8081265 - Browse repository at this point
Copy the full SHA 8081265View commit details
Commits on Dec 8, 2023
-
Make positionAbsoluteChild the sole place that matters when determini…
…ng absolute node's position (facebook#41684) Summary: X-link: facebook/yoga#1481 Pull Request resolved: facebook#41684 Absolute nodes can be laid out by themselves and do not have to care about what is happening to their siblings. Because of this we can make `positionAbsoluteChild` the sole place where we handle this logic. Right now that is scattered around algorithm with many `if (child is absolute)` cases everywhere. This makes implementing position static a lot harder since we are relying on the CB to do all this work, not the parent. With this change the only time we set position for an absolute node and it matter (i.e. not overwritten) is in `positionAbsoluteChild` Reviewed By: NickGerleman Differential Revision: D51290723 fbshipit-source-id: 405d81b1d28826cbb0323dc117c406a44d381dff
Configuration menu - View commit details
-
Copy full SHA for 6025d50 - Browse repository at this point
Copy the full SHA 6025d50View commit details -
Make position static behave like position static (facebook#41685)
Summary: X-link: facebook/yoga#1482 Pull Request resolved: facebook#41685 This is the final step (that I know of) to get the core features of static working. Here we turn on all of the tests and pass down the correct owner size for the call to `calculateLayoutInternal` that is in `layoutAbsoluteChild` Reviewed By: NickGerleman Differential Revision: D51293606 fbshipit-source-id: 972259e7ebecb19b55aef2ef866bd7cb57aaf0ca
Configuration menu - View commit details
-
Copy full SHA for 475036d - Browse repository at this point
Copy the full SHA 475036dView commit details -
Fix issue where percentages were off of the border box, not padding b…
…ox (facebook#41686) Summary: X-link: facebook/yoga#1485 Pull Request resolved: facebook#41686 The size of the containing block is the size of the padding box of the containing node for absolute nodes. We were looking at `containingNode->getLayout().measuredDimension(Dimension::Width)` which is the border box. So we need to subtract the border from this. Added a test that was failing before this change as well Reviewed By: NickGerleman Differential Revision: D51330526 fbshipit-source-id: adc448dfb71b54f1bbed0d9d61c5553bda4b106c
Configuration menu - View commit details
-
Copy full SHA for e826d1c - Browse repository at this point
Copy the full SHA e826d1cView commit details -
Fix bug with align start not taking into account parent padding (face…
…book#41687) Summary: X-link: facebook/yoga#1484 Pull Request resolved: facebook#41687 Tsia. Added test and accounted for parent padding Reviewed By: NickGerleman Differential Revision: D51374086 fbshipit-source-id: ed9d79887aa1613ea93c10c639cd1465271d23d8
Configuration menu - View commit details
-
Copy full SHA for ea3dd6b - Browse repository at this point
Copy the full SHA ea3dd6bView commit details -
Fix bug where we used border box for size of containing block in a ce…
…rtain case (facebook#41688) Summary: X-link: facebook/yoga#1486 Pull Request resolved: facebook#41688 Somehow missed this case. We never want to measure the CB as that gets border box but we want padding box Reviewed By: NickGerleman Differential Revision: D51376309 fbshipit-source-id: 2b5119c421ef92fadb28a70254cb7fe02aeb8c28
Configuration menu - View commit details
-
Copy full SHA for 5b05c79 - Browse repository at this point
Copy the full SHA 5b05c79View commit details -
Fix issue where we were not centering absolute nodes correctly when j…
…ustifying (facebook#41690) Summary: X-link: facebook/yoga#1489 Pull Request resolved: facebook#41690 Centering involves centering the margin box in the content box of the parent, and then getting the distance from the flex start edge of the parent to the child Reviewed By: NickGerleman Differential Revision: D51383625 fbshipit-source-id: 6bbbace95689ef39c35303bea4b99505952df457
Configuration menu - View commit details
-
Copy full SHA for 983e784 - Browse repository at this point
Copy the full SHA 983e784View commit details -
Fix issue where we were not applying flex end correctly when justifyi…
…ng (facebook#41691) Summary: X-link: facebook/yoga#1487 Pull Request resolved: facebook#41691 The code here was just wrong. I changed it to be the same logic as the Justify:FlexStart case, but with the flex end sides. Then I get the position for the opposite edge since we need to write to flex start side. Reviewed By: NickGerleman Differential Revision: D51383792 fbshipit-source-id: 372835a44edff361dbd84dd92ff9f2ec844b9f9c
Configuration menu - View commit details
-
Copy full SHA for 579ef2b - Browse repository at this point
Copy the full SHA 579ef2bView commit details -
Fix issues with aligning absolute nodes (facebook#41692)
Summary: X-link: facebook/yoga#1490 Pull Request resolved: facebook#41692 In the previous diffs I fixed problems with justifying absolute nodes. The same issues plague aligning so I fixed them in the same way. Added tests that were failing before but now passing Reviewed By: NickGerleman Differential Revision: D51404489 fbshipit-source-id: 604495d651eb67cfdcca40df9d8d3a125c5741a8
Configuration menu - View commit details
-
Copy full SHA for 31005b7 - Browse repository at this point
Copy the full SHA 31005b7View commit details -
Remove internal references of onCatalystInstanceDestroy() (facebook#4…
…1835) Summary: Pull Request resolved: facebook#41835 This removes internal usages of `onCatalystInstanceDestroy`. The method is still available inside `NativeModule` but is `Deprecated(forRemoval = true)` so we're getting warning of its usages all over the places. Changelog: [Internal] [Changed] - Remove internal references of onCatalystInstanceDestroy() Reviewed By: hoxyq Differential Revision: D51589276 fbshipit-source-id: 84ed4d099a444977b95b4ef00e53750b79018e6f
Configuration menu - View commit details
-
Copy full SHA for a78a8e1 - Browse repository at this point
Copy the full SHA a78a8e1View commit details -
fix: add build generated files to *ignore config (facebook#41826)
Summary: This PR adds build generated files to *ignore config files. This allows to locally run `yarn lint` ## Changelog: [INTERNAL] [ADDED] - Add build generated files to local config files Pull Request resolved: facebook#41826 Test Plan: CI Green Reviewed By: huntie Differential Revision: D51939024 Pulled By: cortinico fbshipit-source-id: cfd6c1c13dd23c692859cd06fa5955024fafc522
Configuration menu - View commit details
-
Copy full SHA for 1e0fc76 - Browse repository at this point
Copy the full SHA 1e0fc76View commit details -
Convert the last Unit Tests to Kotlin (facebook#41852)
Summary: Pull Request resolved: facebook#41852 I'm doing a pass and converting the last Java Unit Tests we had to Kotlin I've also re-enabled multiple tests that were disabled in the past. Changelog: [Internal] [Changed] - Convert the last Unit Tests to Kotlin Reviewed By: mdvacca Differential Revision: D51891716 fbshipit-source-id: 7f953cf039a7b45bd773d1995253b4db262f8d22
Configuration menu - View commit details
-
Copy full SHA for 99ad364 - Browse repository at this point
Copy the full SHA 99ad364View commit details -
Update sort-imports lint rule to latest (facebook#41841)
Summary: @public TSIA Pull Request resolved: facebook#41841 Changelog: [Internal] Reviewed By: robhogan Differential Revision: D51946720 fbshipit-source-id: 28b55c3555b4757f13b896068c5b43ac761fc5cf
Configuration menu - View commit details
-
Copy full SHA for 5df1940 - Browse repository at this point
Copy the full SHA 5df1940View commit details -
commit ReactAndroid.api (facebook#41847)
Summary: Pull Request resolved: facebook#41847 Create first version of binary compatibility api metadata file (ReactAndroid.api) changelog: [internal] internal Reviewed By: cortinico Differential Revision: D51429463 fbshipit-source-id: 34befd148d0d46a2161a97dce5c865eca777ecbb
Configuration menu - View commit details
-
Copy full SHA for 82652f8 - Browse repository at this point
Copy the full SHA 82652f8View commit details -
Revert D51891716: Convert the last Unit Tests to Kotlin
Differential Revision: D51891716 Original commit changeset: 7f953cf039a7 Original Phabricator Diff: D51891716 fbshipit-source-id: 43fc6362d9d3b976029d8c7f7f2841abf36a2217
Configuration menu - View commit details
-
Copy full SHA for a9dd43c - Browse repository at this point
Copy the full SHA a9dd43cView commit details
Commits on Dec 11, 2023
-
Bump CLI to 13.0.0 (facebook#41722)
Summary: Updates the RN CLI to v13.0.0, which targets main and future 0.74 ## Changelog: [GENERAL] [CHANGED] - Bump CLI to v13.0.0 Pull Request resolved: facebook#41722 Reviewed By: robhogan Differential Revision: D51809848 Pulled By: huntie fbshipit-source-id: 653d747526bec5c4f766c22ffd3fcae8eac620a0
Configuration menu - View commit details
-
Copy full SHA for 6e88d67 - Browse repository at this point
Copy the full SHA 6e88d67View commit details -
Removing Fabric check from UIManagerProvider (facebook#41880)
Summary: Pull Request resolved: facebook#41880 Pull Request resolved: facebook#41664 Moving the check for Fabric i.e. `ReactFeatureFlags.enableFabricRenderer` to old JSI Module path logic instead of new UIManagerProvider path for Fabric initialization Reviewed By: philIip Differential Revision: D51610399 fbshipit-source-id: 1d868111dd2b65ac8d69198f7ab115ac8a2b43ec
Configuration menu - View commit details
-
Copy full SHA for 8832dda - Browse repository at this point
Copy the full SHA 8832ddaView commit details -
Update docs link for metro.config.js in template (facebook#41855)
Summary: Small edit to point to the newer React Native docs guide for Metro, which includes more clarity on the `metro.config.js` file setup in React Native projects. Changelog: [Internal] Pull Request resolved: facebook#41855 Test Plan: — Reviewed By: christophpurrer Differential Revision: D52031862 Pulled By: huntie fbshipit-source-id: 705418f35e5f6a3eddbec129e283773bb9d0f89c
Configuration menu - View commit details
-
Copy full SHA for 6a52025 - Browse repository at this point
Copy the full SHA 6a52025View commit details -
Fix init for out-of-tree platforms by passing name to CLI (facebook#4…
…1723) Summary: To unlock ~~certain OOT platform capabilities~~ seamless `init` integration for out-of-tree platforms with CLI, we need to pass the package name to it. This change landed on 0.73 branch already: facebook#41530 Depends on facebook#41722 ## Changelog: [INTERNAL] [ADDED] - Fix init for out-of-tree platforms by passing name to CLI Pull Request resolved: facebook#41723 Test Plan: CI green Reviewed By: christophpurrer Differential Revision: D51979329 Pulled By: dmytrorykun fbshipit-source-id: 451f70dc42ae0667bc65cba2e77898c9eec8d9ec
Configuration menu - View commit details
-
Copy full SHA for 547643e - Browse repository at this point
Copy the full SHA 547643eView commit details -
Summary: Bridgeless dev menu couldn't open due to self.bridge being null here. Changelog: [Android][Changed] - Fix dev menu not open for Bridgeless Reviewed By: cortinico Differential Revision: D51746610 fbshipit-source-id: 2e9bab686c965271bbfad264ff22ff61e28849c3
Configuration menu - View commit details
-
Copy full SHA for e4887a5 - Browse repository at this point
Copy the full SHA e4887a5View commit details -
Fix NSAppTransportSecurity being overwritten during pod install (face…
…book#41875) Summary: This PR fixes facebook#41874. ## 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 --> [iOS] [Fixed] - Fix NSAppTransportSecurity being overwritten during pod install Pull Request resolved: facebook#41875 Test Plan: 1. Delete the whole `NSAppTransportSecurity` in Info.plist and run `pod install`: `NSAllowsArbitraryLoads` and `NSAllowsLocalNetworking` are added as expected. 2. Modify `NSAppTransportSecurity` to only contain `NSExceptionDomains` and run `pod install`: `NSAllowsArbitraryLoads` and `NSAllowsLocalNetworking` are added, and `NSExceptionDomains` is still there. 3. Run `pod install` again: nothing changes. Reviewed By: christophpurrer Differential Revision: D52032400 Pulled By: dmytrorykun fbshipit-source-id: 48cf29809c283af80613ffbf1ac0dc663a0a2fb5
Configuration menu - View commit details
-
Copy full SHA for a0b76d9 - Browse repository at this point
Copy the full SHA a0b76d9View commit details -
Convert the last Unit Tests to Kotlin (facebook#41889)
Summary: Pull Request resolved: facebook#41889 Resubmit of D51891716 I'm doing a pass and converting the last Java Unit Tests we had to Kotlin I've also re-enabled multiple tests that were disabled in the past. Changelog: [Internal] [Changed] - Convert the last Unit Tests to Kotlin Reviewed By: GijsWeterings Differential Revision: D52033328 fbshipit-source-id: fabe19f88129f5c4b1d77d45cf5089117aed439e
Configuration menu - View commit details
-
Copy full SHA for 4a565e7 - Browse repository at this point
Copy the full SHA 4a565e7View commit details -
Enhance IP address retrieval for iOS devices in Metro bundler setup (f…
…acebook#41839) Summary: After introducing this commit facebook@a56e5da script may fail in some circumstances. Example: When there is IP address available only for en1 and not en0, first "ipconfig" command in the loop fails with error code 1 and cancels whole script. ## Changelog: [iOS] [Fixed] - [enhance IP address retrieval for iOS devices in Metro bundler setup](facebook@6a351db) Pull Request resolved: facebook#41839 Reviewed By: christophpurrer Differential Revision: D51979040 Pulled By: dmytrorykun fbshipit-source-id: 0f6f42a7dd70bac012875ffae5d651b74b225c94
Configuration menu - View commit details
-
Copy full SHA for 9f28616 - Browse repository at this point
Copy the full SHA 9f28616View commit details -
Revert D52033328: Convert the last Unit Tests to Kotlin
Differential Revision: D52033328 Original commit changeset: fabe19f88129 Original Phabricator Diff: D52033328 fbshipit-source-id: 3186196dd6df1bd720164894828f8fd1c9215710
Configuration menu - View commit details
-
Copy full SHA for 6b532c7 - Browse repository at this point
Copy the full SHA 6b532c7View commit details -
Lint source files, sort imports, remove unused imports (facebook#41829)
Summary: This PR lints source files using eslint. I've executed `yarn lint --fix` and also manually fixed some of eslint issues. Before: ![CleanShot 2023-12-07 at 12 07 10@2x](https://github.com/facebook/react-native/assets/52801365/2b00cf23-e5a0-46b8-802f-adcb67224111) After: ![CleanShot 2023-12-07 at 12 06 24@2x](https://github.com/facebook/react-native/assets/52801365/bb05b2c0-2b27-4f99-b7b4-cb47a51a3885) ## Changelog: [GENERAL] [FIXED] - Lint source files, sort imports, remove unused ones Pull Request resolved: facebook#41829 Test Plan: CI Green Reviewed By: christophpurrer Differential Revision: D51979074 Pulled By: dmytrorykun fbshipit-source-id: e11b90721e33f5e9949a0833e5f39fe7ba3d1067
Configuration menu - View commit details
-
Copy full SHA for 7d1a98c - Browse repository at this point
Copy the full SHA 7d1a98cView commit details -
Revert D51610399: Removing Fabric check from UIManagerProvider
Differential Revision: D51610399 Original commit changeset: 1d868111dd2b Original Phabricator Diff: D51610399 fbshipit-source-id: e8f84782ee94729f580ed96321ed9f66aaff363b
Configuration menu - View commit details
-
Copy full SHA for 37c7f84 - Browse repository at this point
Copy the full SHA 37c7f84View commit details -
Add position type to LayoutMetrics (facebook#41819)
Summary: Pull Request resolved: facebook#41819 This will be needed in order to access the position type while implementing offsetLeft/Top, which needs to know if a node is static or not to get the proper offset. This is simply making the position type available to be read from LayoutMetrics. Changelog: [Internal] Reviewed By: NickGerleman Differential Revision: D51412428 fbshipit-source-id: b101d8065ddfe0322f77f64d1de0f9ead3975c60
Configuration menu - View commit details
-
Copy full SHA for 3fb47c5 - Browse repository at this point
Copy the full SHA 3fb47c5View commit details -
Ignore the one-time NullPointerException and print error log
Summary: Why ignore for now? - It only happen once during initialization and doesn't cause any breakages for RNTester - The race condition happens in Android System code which is hard to tackle: ```Exception in native call java.lang.NullPointerException: java.lang.NullPointerException at com.facebook.jni.NativeRunnable.run(Native Method) at android.os.Handler.handleCallback(Handler.java:958) at android.os.Handler.dispatchMessage(Handler.java:99) at com.facebook.react.bridge.queue.MessageQueueThreadHandler.dispatchMessage(MessageQueueThreadHandler.java:30) at android.os.Looper.loopOnce(Looper.java:205) at android.os.Looper.loop(Looper.java:294) at com.facebook.react.bridge.queue.MessageQueueThreadImpl$4.run(MessageQueueThreadImpl.java:235) at java.lang.Thread.run(Thread.java:1012) ``` From stack trace message.callback is checked in ```at android.os.Handler.dispatchMessage(Handler.java:99)``` but becomes null in ```at android.os.Handler.handleCallback(Handler.java:958)``` [Android source code](https://l.facebook.com/l.php?u=https%3A%2F%2Fandroid.googlesource.com%2Fplatform%2Fframeworks%2Fbase%2F%2B%2Fmaster%2Fcore%2Fjava%2Fandroid%2Fos%2FHandler.java&h=AT1aQS0Vmknao8kLbYE_hhLj1G3idUf69jFQE3ZLAqjrbcMX4OdQUV1dzZpAkAvLaZ9HAOanpsKCC8z59Ce9XJa6cOhQL2L95gM9iMrSr7FbrpTKPLKbWjDmTz89WUL2pQprnBVKyA8) of Handler. Reviewed By: cortinico Differential Revision: D51550240 fbshipit-source-id: 6288e196da1da88a37f5c69bfce82e3e09c6f106
Configuration menu - View commit details
-
Copy full SHA for ca9b6b5 - Browse repository at this point
Copy the full SHA ca9b6b5View commit details -
Clean up eventTarget retaining logic in the pointer event processor (f…
…acebook#41471) Summary: Pull Request resolved: facebook#41471 Changelog: [Internal] - Clean up eventTarget retaining logic in the pointer event processor This refactors calls to EventTarget::retain/release to occur in the actual methods that require the event target to be retained instead of expecting the caller to manage that which should be more maintainable. Reviewed By: sammy-SC Differential Revision: D51279974 fbshipit-source-id: db7251504a44ca59e4475928af7e6cf993cfa6e3
Configuration menu - View commit details
-
Copy full SHA for 952b32b - Browse repository at this point
Copy the full SHA 952b32bView commit details
Commits on Dec 12, 2023
-
fix: paddingTop problem for multiline
TextInput
(facebook#41772)Summary: Fixed: facebook#41773 ## Changelog: [GENERAL] [FIXED] - not applying `multilineInput` when props's style has paddingTop related style <!-- Help reviewers and the release process by writing your own changelog entry. Pick one each for the category and type tags: [GENERAL] [FIXED] - Message For more details, see: https://reactnative.dev/contributing/changelogs-in-pull-requests Pull Request resolved: facebook#41772 Reviewed By: NickGerleman Differential Revision: D51894473 Pulled By: yungsters fbshipit-source-id: f11466100111cd8dd5f36bdbd4eb99f6a1633d66
Configuration menu - View commit details
-
Copy full SHA for da3ba74 - Browse repository at this point
Copy the full SHA da3ba74View commit details -
Update profiler button to use "Toggle" string. (facebook#41900)
Summary: Fixes facebook#38192, this issue wasn't fixed properly, cortinico fixed same case but for inspector button. ## Changelog: [ANDROID] [FIXED] - Update profiler button to use "Toggle" string. Pull Request resolved: facebook#41900 Test Plan: CI Reviewed By: cortinico Differential Revision: D52049181 Pulled By: ryancat fbshipit-source-id: 9225edb3a5a582b879f4ebb835f6ac52cba4c042
Configuration menu - View commit details
-
Copy full SHA for 8bcaed9 - Browse repository at this point
Copy the full SHA 8bcaed9View commit details -
Throw parser error in case direct recursive types are not nullable (f…
…acebook#41866) Summary: Pull Request resolved: facebook#41866 Direct recursive member types require infinite memory and aren't possible with current hardware. Throw parser error to make this visible. Changelog: [Internal] Reviewed By: rshest Differential Revision: D51999832 fbshipit-source-id: 671f87325f33dd24f70ff3e2229c9d0b888d7445
Configuration menu - View commit details
-
Copy full SHA for 4187a8c - Browse repository at this point
Copy the full SHA 4187a8cView commit details -
Network invalidate handlers to cleanup in turbo module mode (facebook…
…#41775) Summary: We should do some cleanup for handlers in Networking to fix some memory leaks.Ex. `RCTHTTPRequestHandler` hander, `session` retains the handler which leads to leaks. https://github.com/facebook/react-native/blob/385473522cbc525aad08500f5a752dea734c14c3/packages/react-native/Libraries/Network/RCTHTTPRequestHandler.mm#L97 ## Changelog: [IOS] [FIXED] - Network invalidate handlers to cleanup in turbo module mode Pull Request resolved: facebook#41775 Test Plan: Network handlers clean up after invalidating. Reviewed By: NickGerleman Differential Revision: D51846962 Pulled By: dmytrorykun fbshipit-source-id: 17a2875903cda187f2e3ecea46e8f7f3e10d5264
Configuration menu - View commit details
-
Copy full SHA for 44d6e43 - Browse repository at this point
Copy the full SHA 44d6e43View commit details -
Fabric: Fixes image blob url not work (facebook#41881)
Summary: Added image blob url support. Before: ![image](https://github.com/facebook/react-native/assets/5061845/35835e06-1946-4cc0-9f09-ad8201c7d9b5) After: ![image](https://github.com/facebook/react-native/assets/5061845/cde4b3cf-039c-42ba-b1d0-15e5e898df72) ## Changelog: [IOS] [FIXED] - Fabric: Fixes image blob url not work Pull Request resolved: facebook#41881 Test Plan: none. Reviewed By: cortinico Differential Revision: D52044019 Pulled By: ryancat fbshipit-source-id: d8d8b863ddd24099ee1c2692dbe698844c0bece9
Configuration menu - View commit details
-
Copy full SHA for cdef53d - Browse repository at this point
Copy the full SHA cdef53dView commit details -
Fixes ScrollView contentInsetAdjustmentBehavior assignment (facebook#…
…41879) Summary: Fixes ScrollView contentInsetAdjustmentBehavior wrong assignment ## Changelog: [IOS] [FIXED] - Fixes ScrollView contentInsetAdjustmentBehavior assignment Pull Request resolved: facebook#41879 Test Plan: None. Reviewed By: cortinico Differential Revision: D52031541 Pulled By: NickGerleman fbshipit-source-id: 283e260fa40d2eff0202b5f8140b1c087d3124d5
Configuration menu - View commit details
-
Copy full SHA for 86df742 - Browse repository at this point
Copy the full SHA 86df742View commit details -
Summary: X-link: facebook/yoga#1497 The lowest common denominator we have had for Yoga has been Clang 12 + MSVC 2017 stdlib. This has allowed Yoga to use C++ 20 language features, but not library features. React Native for mobile has not been bound to this restriction. Builds using that toolchain are being updated to latest MSVC 2019 stdlib (which has good C++ 20 library support), along with Clang 17 (or maybe a stop at 15) pending projects using `-fcoroutines-ts` being migrated to C++ 20. This tests out some C++ 20 standard library usages against the current Clang 12 + MSVC 2019 stdlib toolchain that didn't work before, and adds a couple concepts for better constraints/compiler error messages if misused. This bumps min-tested XCode (and minimum required) version to 14.3, matching a similar change for React Native. This should probably be bumped to 15 sometime before Apple starts requiring 15+ to go out to the iOS app store. We are approaching a practical support range of: 1. XCode >= 14.3 2. NDK >= 26 3. Clang/libc++ >= 14 4. GCC/libstdc++ >= 11 5. MSVC >= 16.11 (VS 2019) Changelog: [Internal] Reviewed By: cortinico Differential Revision: D51604487 fbshipit-source-id: d394d0d86672b69781b8ae071d87adcf944ddc72
Configuration menu - View commit details
-
Copy full SHA for 1727ffa - Browse repository at this point
Copy the full SHA 1727ffaView commit details -
Add InspectorFlags, conditionally disable Hermes CDP registration (fa…
…cebook#41672) Summary: Pull Request resolved: facebook#41672 Progress towards an opt-in setup for our new CDP backend. - Adds `InspectorFlags.h`, a singleton intended to allow convienient access to static boolean feature flags for the new CDP backend/inspector features across platforms. This will be written to in upcoming diffs, with the accessor for `enable_modern_cdp_registry` soft-defaulting to `false` here. - References this to conditionally disable legacy ~CDP registration in `HermesExecutorFactory` (Bridge) and `HermesInstance` (Bridgeless) code paths. - Stubs a `false` value for `react_native_devx:enable_modern_cdp_registry` in `EmptyReactNativeConfig` (documentation/convenience point for open source partners and integrators). Changelog: [Internal] Reviewed By: motiz88 Differential Revision: D51563107 fbshipit-source-id: 446f319228ec627fdc0ecba9517a1a3faad9d262
Configuration menu - View commit details
-
Copy full SHA for b6adbf7 - Browse repository at this point
Copy the full SHA b6adbf7View commit details -
Fix last spacer constrain logic in VirtualizedList (facebook#41846)
Summary: The logic to constrain the last spacer size is incorrect in some cases where the spacer is the last spacer, but not the last section in the list. For more context, the role of spacer constraining is explained in this comment: ``` // Without getItemLayout, we limit our tail spacer to the _highestMeasuredFrameIndex to // prevent the user for hyperscrolling into un-measured area because otherwise content will // likely jump around as it renders in above the viewport. ``` For example it is incorrect in the case where we have: ITEMS SPACER ITEMS In this case the spacer is not actually the tail spacer so the constraining is incorrectly appied. This causes issues mainly when using `maintainVisibleContentPosition` since it will cause it to scroll to an incorrect position and then cause the view that was supposed to stay visible to be virtualized away. ## Changelog: [GENERAL] [FIXED] - Fix last spacer constrain logic in VirtualizedList Pull Request resolved: facebook#41846 Test Plan: Tested using https://gist.github.com/janicduplessis/b67d1fafc08ef848378263208ab93d4c in RN tester, before the change content will jump on first click on add items. Tested using the same example and setting initial posts to 1000, then we can see our content view size is still constrained properly (see scrolling indicator as reference). Reviewed By: yungsters Differential Revision: D51964500 Pulled By: NickGerleman fbshipit-source-id: 4465aa5a36c95466aef6571314973c1e2c9a0f2c
Configuration menu - View commit details
-
Copy full SHA for 3ed4bf9 - Browse repository at this point
Copy the full SHA 3ed4bf9View commit details -
Convert ReactAndroid and RN-Tester to Kotlin DSL (facebook#41834)
Summary: Pull Request resolved: facebook#41834 I'm updating other two `build.gradle` to `build.gradle.kts` files. The only functional change I made was to remove the function to check if major >= 1 and turn on New Architecture. This needs to be moved to RNGP as Kotlin doesn't have dynamic accessors to Object so we can't convert that function. Changelog: [Internal] [Changed] - Convert ReactAndroid and RN-Tester to Kotlin DSL Reviewed By: mdvacca Differential Revision: D51856356 fbshipit-source-id: ef75579cd3ec121ef6ac9a357c1e10bcf9995432
Configuration menu - View commit details
-
Copy full SHA for a115f97 - Browse repository at this point
Copy the full SHA a115f97View commit details -
Remove REACT_NATIVE_SKIP_PREFAB as unused (facebook#41833)
Summary: Pull Request resolved: facebook#41833 I'm removing those environment variables as they're legacy and not used anymore: - REACT_NATIVE_SKIP_PREFAB - REACT_NATIVE_HERMES_SKIP_PREFAB Changelog: [Internal] [Changed] - Remove REACT_NATIVE_SKIP_PREFAB as unused Reviewed By: dmytrorykun Differential Revision: D51890227 fbshipit-source-id: 6579ff73d3030fe1acb587250cd99aff44a1de29
Configuration menu - View commit details
-
Copy full SHA for 646ff6e - Browse repository at this point
Copy the full SHA 646ff6eView commit details -
Remove the installArchives task (facebook#41832)
Summary: Pull Request resolved: facebook#41832 I'm removing the `installArchives` task and all the setup to publish the Maven Local inside the NPM package as we're not using this entirely and we won't be able to use it anyway (as the Maven Local is too big to fit an NPM package). Changelog: [Internal] [Changed] - Remove the installArchives task Reviewed By: GijsWeterings Differential Revision: D51890224 fbshipit-source-id: 3ffdc67a9fe931118596f6f74a5a2df0313ca3f2
Configuration menu - View commit details
-
Copy full SHA for f11608d - Browse repository at this point
Copy the full SHA f11608dView commit details -
Resolve several Gradle build warning (facebook#41831)
Summary: Pull Request resolved: facebook#41831 The build is currently firing several build warnings due to the Groovy -> Kotlin migration. I've fixed them all over here. Changelog: [Internal] [Changed] - Resolve several Gradle build warning Reviewed By: mdvacca Differential Revision: D51890225 fbshipit-source-id: 4a2ff9dc168fca62893db704e282793e0bf03653
Configuration menu - View commit details
-
Copy full SHA for 2bf29a3 - Browse repository at this point
Copy the full SHA 2bf29a3View commit details -
Convert ReactAndroid/hermes-engine/build.gradle to Kotlin DSL (facebo…
…ok#41830) Summary: Pull Request resolved: facebook#41830 Moving another Gradle file from Groovy to Kotlin DSL Changelog: [Internal] [Changed] - Convert ReactAndroid/hermes-engine/build.gradle to Kotlin DSL Reviewed By: dmytrorykun Differential Revision: D51890226 fbshipit-source-id: 989c4b1ca053718a9d9e1b45d1230c9729685724
Configuration menu - View commit details
-
Copy full SHA for 1c77919 - Browse repository at this point
Copy the full SHA 1c77919View commit details -
Fix cleanAssetCatalog error (facebook#41865)
Summary: There is currently an error when building in release on iOS when using asset catalogs (experimental feature that is partially merged facebook#30129) This was probably incorrectly migrated from the community cli repo. `.imageset` is actually folders so it needs to be removed with `{recursive: true, force: true}`. I also renamed the variable `files` which is confusing since its folders. ## Changelog: [IOS] [FIXED] - Fix cleanAssetCatalog error Pull Request resolved: facebook#41865 Test Plan: Tested in an app that uses asset catalogs Reviewed By: NickGerleman Differential Revision: D52032258 Pulled By: huntie fbshipit-source-id: 1dc0ca09e0da0d514b03d7d72707bdcaef03301d
Configuration menu - View commit details
-
Copy full SHA for d5114a4 - Browse repository at this point
Copy the full SHA d5114a4View commit details
Commits on Dec 13, 2023
-
support Array param for native component command in codegen (facebook…
…#41894) Summary: Pull Request resolved: facebook#41894 Changelog: [Internal] Reviewed By: rshest Differential Revision: D51866557 fbshipit-source-id: 595de8d49c0654b36d70a2c8872173fd6232a2be
Configuration menu - View commit details
-
Copy full SHA for c848bf9 - Browse repository at this point
Copy the full SHA c848bf9View commit details -
translation auto-update for i18n/fb4a.config.json on master
Summary: Chronos Job Instance ID: 1125907944443632 Sandcastle Job Instance ID: 9007200387925392 allow-large-files ignore-conflict-markers opt-out-review Differential Revision: D52106728 fbshipit-source-id: b60dc162b0b45dc6b7a06f6a0f258d32789b8e88
Configuration menu - View commit details
-
Copy full SHA for f676f42 - Browse repository at this point
Copy the full SHA f676f42View commit details -
Add fbjni wrapper for InspectorFlags (facebook#41913)
Summary: Pull Request resolved: facebook#41913 Progress towards an opt-in setup for our new CDP backend. - Adds and configures an [fbjni](https://github.com/facebookincubator/fbjni) interface for reading `jsinspector_modern::InspectorFlags`, allowing access in Java contexts. Changelog: [Internal] Reviewed By: motiz88 Differential Revision: D52040150 fbshipit-source-id: 5459eda2747279633a8312a3979ba29a1e0d1bde
Configuration menu - View commit details
-
Copy full SHA for 7bdba28 - Browse repository at this point
Copy the full SHA 7bdba28View commit details -
Omit synthetic Debugger.disable message in modern CDP backend (facebo…
…ok#41912) Summary: Pull Request resolved: facebook#41912 Progress towards an opt-in setup for our new CDP backend. - For `DevSupportManagerBase` on Android: Conditionally omit sending `Debugger.disable` CDP message when new CDP backend is enabled. Reviewed By: motiz88 Differential Revision: D52040149 fbshipit-source-id: 452f46395261d2d9670bd38192d06e6fa8e1f93f
Configuration menu - View commit details
-
Copy full SHA for 4fcfde1 - Browse repository at this point
Copy the full SHA 4fcfde1View commit details -
Drop WITH_INSPECTOR build flag (facebook#41911)
Summary: Pull Request resolved: facebook#41911 Follow-up to D52040150. Changelog: [Internal] Reviewed By: motiz88 Differential Revision: D52072475 fbshipit-source-id: d028ca4c5282c4c061af08be5d7e63f1c3d9bdcb
Configuration menu - View commit details
-
Copy full SHA for 957a197 - Browse repository at this point
Copy the full SHA 957a197View commit details -
Add 127.0.0.1 to allowlist for source map fetch
Summary: Adds ipv4 localhost representation (127.0.0.1) to allowlisted hostnames for the inspector-proxy, to allow for proxied network requests fetching source maps. Changelog: [General][Fixed] Allow source map fetching in the inspector proxy from 127.0.0.1 Reviewed By: motiz88 Differential Revision: D52112849 fbshipit-source-id: e6d45fa2fdfd570b7ab4f36121ba615c9b06d442
Configuration menu - View commit details
-
Copy full SHA for 46d304a - Browse repository at this point
Copy the full SHA 46d304aView commit details -
Update getDefaultJSExecutorFactory to load Hermes first and fallback …
…to JSC (facebook#41914) Summary: Pull Request resolved: facebook#41914 If the user does not specify which engine they're using, we still default to loading JSC first and then attempting to load Hermes. This has a small performance hit (as we attempt to load an existing library) + it prints an inactionable log for the user every time. Changelog: [Android] [Fixed] - Update getDefaultJSExecutorFactory to load Hermes first and fallback to JSC Reviewed By: luluwu2032 Differential Revision: D52080545 fbshipit-source-id: 95f37304d713da7d7079eabbd2dfdf230d29a1b9
Configuration menu - View commit details
-
Copy full SHA for 70a757f - Browse repository at this point
Copy the full SHA 70a757fView commit details -
Fixed the height result of onContentSizeChange callback on iOS (faceb…
…ook#41803) Summary: The height returned by TextInput's 'onContentSizeChange' callback method is incorrect Because, the borderwidth and horizontal padding are not subtracted from the content width used to calculate the height of the text. I have seen many people in the same situation in many issues. When I solved, some people suggested I submit a PR. More information can be found here [facebook#35234 ## Changelog: [IOS] [FIXED] - the wrong height result of onContentSizeChange callback <!-- 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 Pull Request resolved: facebook#41803 Test Plan: CI Green Reviewed By: NickGerleman Differential Revision: D51891909 Pulled By: dmytrorykun fbshipit-source-id: fa297155ebdfc933cf0ea6bcdab37d7410809e8c
Configuration menu - View commit details
-
Copy full SHA for 5217cc9 - Browse repository at this point
Copy the full SHA 5217cc9View commit details -
Fix "Show Perf Monitor" crash in Catalyst (facebook#41926)
Summary: Pull Request resolved: facebook#41926 "Show Perf Monitor" is crashing due to some methods in FpsDebugFrameCallback.java calls bridge-only methods. Changelog: [Android][Changed] - Fix "Show Perf Monitor" crash in Catalyst Reviewed By: cortinico Differential Revision: D52053678 fbshipit-source-id: 1a49ce6e9bb77cc07ceb796c5cacec179dba946d
Configuration menu - View commit details
-
Copy full SHA for 6f11511 - Browse repository at this point
Copy the full SHA 6f11511View commit details -
Ignore RCTThirdPartyFabricComponentsProvider for npm publish (faceboo…
…k#41868) Summary: When publishing my RN fork I hit this issue where a RCTThirdPartyFabricComponentsProvider module would end up in the npm tarball which causes build issues. This file is generated by codegen and should never be included. ## Changelog: [INTERNAL] [FIXED] - Ignore RCTThirdPartyFabricComponentsProvider for npm publish Pull Request resolved: facebook#41868 Test Plan: Tested that the file is no longer included when publishing my RN fork Reviewed By: christophpurrer Differential Revision: D52032223 Pulled By: dmytrorykun fbshipit-source-id: a846813176d60119d97261131fd9d9a6aa919e62
Configuration menu - View commit details
-
Copy full SHA for 5a600e6 - Browse repository at this point
Copy the full SHA 5a600e6View commit details -
fix: reformat RCTLegacyInteropComponents (facebook#41908)
Summary: When Codegen generates interop components it reformats `RCTLegacyInteropComponents.mm` to have each component in a new line. This creates this unnecessary diff every time I run `pod install`. This PR aims to commit a formatted version of the codegen-generated file to avoid creating this diff every time. Here is a reference of Codegen function generating this: https://github.com/facebook/react-native/blob/44d6e4310cc9ad0d711d05e8dd5ee5220738e5b5/packages/react-native/scripts/codegen/generate-legacy-interop-components.js#L53 ![CleanShot 2023-12-12 at 14 09 34@2x](https://github.com/facebook/react-native/assets/52801365/2d5454d0-3bcb-484c-aa45-b5286c3ac5ba) ## Changelog: [INTERNAL] [CHANGED] - Reformat `RCTLegacyInteropComponents` to follow Codegen generated formatting Pull Request resolved: facebook#41908 Test Plan: CI Green Reviewed By: cipolleschi Differential Revision: D52077611 Pulled By: cortinico fbshipit-source-id: 12fbbfacc7e73147a988d321c8bc771acaaad8bb
Configuration menu - View commit details
-
Copy full SHA for d5b1c71 - Browse repository at this point
Copy the full SHA d5b1c71View commit details -
Add safe guard when receive network response data too long (facebook#…
…41717) Summary: Fixes facebook#41651 ## Changelog: [IOS] [FIXED] - Add safe guard when receive network response data too long Pull Request resolved: facebook#41717 Test Plan: None. Reviewed By: cortinico Differential Revision: D51981597 Pulled By: dmytrorykun fbshipit-source-id: fabaa1490684da6725270e8ca617e3da97c56978
Configuration menu - View commit details
-
Copy full SHA for 3c4517f - Browse repository at this point
Copy the full SHA 3c4517fView commit details -
(iOS) Fix strict prototype warning (facebook#41805)
Summary: When using `RCT_EXTERN_REMAP_MODULE` a warning is produced with the following message: "A function declaration without a prototype is deprecated in all versions of C". This warning can be silenced by setting the `CLANG_WARN_STRICT_PROTOTYPES ` build setting. However this PR addresses the underlying problem resulting in no warning messages. ## Changelog: [IOS] [FIXED] - Fixed strict prototype warning when using the RCT_EXTERN_REMAP_MODULE macro. Pull Request resolved: facebook#41805 Reviewed By: NickGerleman Differential Revision: D51891880 Pulled By: dmytrorykun fbshipit-source-id: 7804d624b248b568643956a8a7b7e0f8540b5ae2
Configuration menu - View commit details
-
Copy full SHA for 746ad37 - Browse repository at this point
Copy the full SHA 746ad37View commit details -
remove unused methods from RCTAppearance (facebook#41920)
Summary: Pull Request resolved: facebook#41920 Changelog: [Internal] these overrides do nothing, the superclass leaves these empty as well. remove Reviewed By: cipolleschi Differential Revision: D51968873 fbshipit-source-id: a214903d2834aa502c9e81ebaab928694bfa0818
Configuration menu - View commit details
-
Copy full SHA for 9dbecc5 - Browse repository at this point
Copy the full SHA 9dbecc5View commit details -
Change offsetParent, offsetTop and offsetLeft to respect positioned a…
…ncestor, not parent (facebook#41903) Summary: Pull Request resolved: facebook#41903 These offset methods are supposed to be in reference to the node's nearest positioned (non-static) ancestor: https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/offsetParent. Right now, because static did not exist, they return the offset from the parent. This changes it so that the API is spec compliant and will look at the position of its ancestors before settling on the right offset. I added a helper `getNewestPositionedAncestorOfShadowNode` to get the correct node. Then I use that to calculate the proper offset Changelog: [Internal] Reviewed By: rubennorte, NickGerleman Differential Revision: D51414950 fbshipit-source-id: ebc8de1d3a0f3e9485f63e792b5bef5b9151460d
Configuration menu - View commit details
-
Copy full SHA for 1e22fa3 - Browse repository at this point
Copy the full SHA 1e22fa3View commit details
Commits on Dec 14, 2023
-
Use enum classes in C++ Turbo Modules (facebook#41923)
Summary: Pull Request resolved: facebook#41923 Changelog: [Internal][BREAKING] Use C++ enum classes in C++ Turbo Modules Problem: Using **C styles** `enums` can easily cause compiliation errors if symbol names collide. This code does not compile: ``` enum CustomEnumInt { A = 23, B = 42 }; static int A = 22; ``` This **C++ code**, using `enum classes` compiles: ``` enum class CustomEnumInt : int32_t { A = 23, B = 42 }; static int A = 22; ``` Reviewed By: rshest Differential Revision: D52098598 fbshipit-source-id: c919bd2e41970c83a032fec91b0537cd6fae8397
Configuration menu - View commit details
-
Copy full SHA for 8183afe - Browse repository at this point
Copy the full SHA 8183afeView commit details -
Unify SetProps for View and ShadowView in the InteropLayer (facebook#…
…41941) Summary: Pull Request resolved: facebook#41941 While working on the interop layer, I realized that htis code is duplicated. ## Changelog [Internal] - Use the same method for View And ShadowView in the Interop layer Reviewed By: sammy-SC Differential Revision: D51752171 fbshipit-source-id: 579652de262fea7edb13a1329cb07683eab78124
Configuration menu - View commit details
-
Copy full SHA for 201d2d1 - Browse repository at this point
Copy the full SHA 201d2d1View commit details -
Improve setting props of the Interop Layer (facebook#41942)
Summary: Pull Request resolved: facebook#41942 Previously, every time a component was updated, we were passing all the props to the interoperated component. With this change, we are going to only pass the props that are changed. As a safety feature, if the new codepath is not able to detect the type of the prop properly, it will fall back to the previous behavior. ## Changelog: [Internal] - Only pass props to the interoperated component when they changes Reviewed By: sammy-SC Differential Revision: D51755764 fbshipit-source-id: 0185d2cceeab2a1e45b87d5a1e82ab06e00aa82d
Configuration menu - View commit details
-
Copy full SHA for b098297 - Browse repository at this point
Copy the full SHA b098297View commit details -
deprecate @Property methodQueue (facebook#41944)
Summary: Pull Request resolved: facebook#41944 Changelog: [iOS][Deprecated] i think we can now communicate the deprecation of this selector. after removing all of the synthesize methodQueue callsites in our codebase, our native modules are still stable, save for one native module, RCTNetworking. so i feel comfortable recommending users to create their own queues. and after removing `methodQueue` overrides to support synchronous void methods, those modules are also still stable, so i'm also comfortable we can recommend handling the dispatch_async in the product layer. Reviewed By: arushikesarwani94, cipolleschi Differential Revision: D52150696 fbshipit-source-id: ff6b90fc685796e5560167f1377a76526ee07744
Configuration menu - View commit details
-
Copy full SHA for a0efa26 - Browse repository at this point
Copy the full SHA a0efa26View commit details -
support Array param for native component command (facebook#41899)
Summary: Pull Request resolved: facebook#41899 Changelog: [Internal] Reviewed By: dmytrorykun Differential Revision: D52046165 fbshipit-source-id: b8276b3db54b3f88b90f16a3275d591decfa5fb3
Configuration menu - View commit details
-
Copy full SHA for c52af32 - Browse repository at this point
Copy the full SHA c52af32View commit details -
Deploy 0.224.0 to xplat (facebook#41949)
Summary: Pull Request resolved: facebook#41949 Changelog: [internal] Reviewed By: gkz Differential Revision: D52177280 fbshipit-source-id: 37fe478645ad30b40f4fb4e81d7fc467ac971928
Configuration menu - View commit details
-
Copy full SHA for 1fed7ab - Browse repository at this point
Copy the full SHA 1fed7abView commit details
Commits on Dec 15, 2023
-
Update ReactAndroid.api (facebook#41951)
Summary: Pull Request resolved: facebook#41951 Update ReactAndroid.api changelog: [internal] internal Reviewed By: RSNara Differential Revision: D52185871 fbshipit-source-id: b8284e1cfaa6fe998904f9a5e7ae4c297905f1eb
Configuration menu - View commit details
-
Copy full SHA for 8e1c45a - Browse repository at this point
Copy the full SHA 8e1c45aView commit details -
add RNTester example for native command Array param (facebook#41897)
Summary: Pull Request resolved: facebook#41897 Changelog: [Internal] Reviewed By: christophpurrer Differential Revision: D51875073 fbshipit-source-id: 403274b3063d7c49fe4642347d2f724d58a46c1f
Configuration menu - View commit details
-
Copy full SHA for 5d1eac0 - Browse repository at this point
Copy the full SHA 5d1eac0View commit details -
Introduce "outputDir" property of "codegenConfig" (facebook#41782)
Summary: Pull Request resolved: facebook#41782 This diff adds `outputDir` property to `codegenConfig`. Now codegen output dir is resolved like this: 1. It is set to `outputDir` argument of `generate-codegen-artifacts.js` if it is present. 2. *[New]* It is set to `outputDir` property of `codegenConfig` if it is present. 3. It is set to the project root. Changelog: [General][Added] - Introduce "outputDir" property of "codegenConfig" Reviewed By: cipolleschi Differential Revision: D51494009 fbshipit-source-id: 0f6e3607b29a3c6d228a88a9460d55bb65c7e55a
Configuration menu - View commit details
-
Copy full SHA for d45a01d - Browse repository at this point
Copy the full SHA d45a01dView commit details -
Use conditional type to flattern RN styles (facebook#41931)
Summary: Pull Request resolved: facebook#41931 `GenericStyleProp` is defined as ``` type GenericStyleProp<+T> = | null | void | T | false | '' | $ReadOnlyArray<GenericStyleProp<T>>; ``` and `____FlattenStyleProp_Internal` is designed to reverse it. We can use conditional type to achieve it instead of $Call: `null | void | false | ''` doesn't contribute to anything doing reversal, so they are mapped to empty. When we encounter $ReadOnlyArray, we recursively apply `____FlattenStyleProp_Internal`. Otherwise, we return the input type. Changelog: [Internal] Reviewed By: jbrown215 Differential Revision: D52142082 fbshipit-source-id: 590c71c6400498730675e20c67b173c3bc285d00
Configuration menu - View commit details
-
Copy full SHA for ce69213 - Browse repository at this point
Copy the full SHA ce69213View commit details
Commits on Dec 16, 2023
-
Fix sizing and alignment issues with multi-line containers (facebook#…
…41916) Summary: X-link: facebook/yoga#1513 Pull Request resolved: facebook#41916 Fixes facebook/yoga#1300 Fixes facebook/yoga#1008 This fixes a smattering of issues related to both sizing and aligment of multi-line-containers: 1. We were previously incorrectly bounding the size of each flex line to the min/max of the entire container. 2. Per-line leads were sometimes incorrectly contributing to alignment within the line 3. The cross dim size used for multi-line alignment is not correct, or correctly clamped. If the available size comes from a max constraint, that was incorrectly used instead of a definite size, or size of content. Leads were entirely skipped for min constraint. Need to test how breaking this is, to see if it might need to go behind an errata. See related PRs: 1. facebook/yoga#1491 2. facebook/yoga#1493 3. facebook/yoga#1013 Changelog: [General][Fixed] - Fix Yoga sizing and alignment issues with multi-line containers Reviewed By: joevilches Differential Revision: D52087013 fbshipit-source-id: 8d95ad17e58c1fec1cceab9756413d0b3bd4cd8f
Configuration menu - View commit details
-
Copy full SHA for b221265 - Browse repository at this point
Copy the full SHA b221265View commit details -
Install bundler versions depending on Ruby version (facebook#41962)
Summary: Since yesterday evening (why it is always friday evening???) CircleCI or Gem decided to update the default bundler version that is installed with `gem bundle install`. Therefore, CI for iOS stopped working. This change installs bundler's versions so that they are compatible with the Ruby version. ## Changelog: [Internal] - Fix CI for iOS installing versions of bundler that are compatible with Ruby Pull Request resolved: facebook#41962 Test Plan: CircleCI is green Reviewed By: GijsWeterings Differential Revision: D52230544 Pulled By: cipolleschi fbshipit-source-id: 2f96e16ecb94159953056e8de757ea4d249f80f0
Configuration menu - View commit details
-
Copy full SHA for 479b4bb - Browse repository at this point
Copy the full SHA 479b4bbView commit details -
Ensure Bridge and Bridgeless register native modules using the same o…
…rder Summary: I've noticed that Bridge and Bridgeless initialize the list of ReactPackages using a different order, we are fixing it in this diff Reviewed By: philIip Differential Revision: D52145148 fbshipit-source-id: 6ad85bd0903f9beab455783e8deaf5c529b87a2e
Configuration menu - View commit details
-
Copy full SHA for 17d2c8a - Browse repository at this point
Copy the full SHA 17d2c8aView commit details
Commits on Dec 17, 2023
-
std::terminate belongs to <exception> header (facebook#41917)
Summary: Pull Request resolved: facebook#41917 See also https://en.cppreference.com/w/cpp/error/terminate. X-link: facebook/yoga#1511 Reviewed By: christophpurrer Differential Revision: D52072882 Pulled By: NickGerleman fbshipit-source-id: 4d4d442b82d108d1d2ff5d241fbdc8df89045fed
Configuration menu - View commit details
-
Copy full SHA for b3ba340 - Browse repository at this point
Copy the full SHA b3ba340View commit details -
Fix align-content of cross-stretched container (facebook#41964)
Summary: Pull Request resolved: facebook#41964 X-link: facebook/yoga#1524 D52087013 (microsoft#1513) fixed some issues, including where measuring under max-content or fit-content, align-content stretch would consume the entire available cross-dimensions, instead of only sizing to definite dimension, like the spec dicates. I missed a case, where flexbox considers a container as having a definite cross-size if it is being stretched, even if it doesn't have a definite length. https://www.w3.org/TR/css-flexbox-1/#definite-sizes > 3. Once the cross size of a flex line has been determined, items in auto-sized flex containers are also considered definite for the purpose of layout; > 1. If a single-line flex container has a definite cross size, the outer cross size of any stretched flex items is the flex container’s inner cross size (clamped to the flex item’s min and max cross size) and is considered definite. We handle `align-items: stretch` of a flex container after cross-size determination by laying out the child under stretch-fit (previously YGMeasureModeExactly) constraint. This checks that case, and sizing the line container to specified cross-dim if we are told to stretch to it. We could probably afford to merge this a bit with later with what is currently step 9, where we end up redoing some of this same math. Reviewed By: yungsters Differential Revision: D52234980 fbshipit-source-id: 475773a352fd01f63a4b21e93a55519726dc0da7
Configuration menu - View commit details
-
Copy full SHA for b7eb0c8 - Browse repository at this point
Copy the full SHA b7eb0c8View commit details -
Change Style::resolveColumnGap() return from Length to Style::Length
Summary: X-link: facebook/yoga#1525 Accidentally left this inconsistent with some of the refactoring. Rename the lone usage of `Length` within Style class to `Style::Length` to match the rest of the code. This is functionally identical as before. Changelog: [Internal] bypass-github-export-checks Reviewed By: yungsters Differential Revision: D52096820 fbshipit-source-id: d6c569a02fb27a6e7548a9c12ff764afb823a282
Configuration menu - View commit details
-
Copy full SHA for 2441fa2 - Browse repository at this point
Copy the full SHA 2441fa2View commit details
Commits on Dec 18, 2023
-
Use $REACT_NATIVE_PATH instead of relative path (facebook#41968)
Summary: I believe it's valuable to be able to initialise the React Native template into a mono-repo and have it work with zero updates to the configuration. In its current form the template's Xcode project makes assumptions on the relative location of the `react-native` package, while it could instead use the `REACT_NATIVE_PATH` variable set in the `scripts/cocoapods/utils.rb` script: https://github.com/facebook/react-native/blob/2441fa284716ef782ec12dd0c2801548f8c47339/packages/react-native/scripts/cocoapods/utils.rb#L82 via https://github.com/facebook/react-native/blob/2441fa284716ef782ec12dd0c2801548f8c47339/packages/react-native/template/ios/Podfile#L35 ## Changelog: [IOS] [ADDED] - Add use of the `REACT_NATIVE_PATH` in the "Bundle React Native code and images" shell script build phase. This will help apps initialized into a mono-repo which hoists the `react-native` package. Pull Request resolved: facebook#41968 Test Plan: I initialized the React Native template into an NPM workspaces mono-repo and experienced a failure running the script phase. I updated it to the code in this PR, which resolved the issue. Reviewed By: christophpurrer, cipolleschi Differential Revision: D52240559 Pulled By: robhogan fbshipit-source-id: 1c5710c8ffe9d289f32c5ed83cb58ae27f3c931a
Configuration menu - View commit details
-
Copy full SHA for 289e783 - Browse repository at this point
Copy the full SHA 289e783View commit details -
chore: changelog for 0.73.1 (facebook#41970)
Summary: Adds changelog for the 0.73.1 patch. ## 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 --> [Internal] [Changed] - Add 0.73.1 changelog Pull Request resolved: facebook#41970 Reviewed By: christophpurrer Differential Revision: D52253474 Pulled By: huntie fbshipit-source-id: 18fb45afcbb4fa0f864916922c0e9d69cc6d213f
Configuration menu - View commit details
-
Copy full SHA for 13c5cef - Browse repository at this point
Copy the full SHA 13c5cefView commit details -
Remove last useges of configFileDir CLI argument (facebook#41936)
Summary: Pull Request resolved: facebook#41936 This argument was removed in D51303793. This diff removes all remaining usages of it. Changelog: [Internal] Reviewed By: cipolleschi Differential Revision: D52035346 fbshipit-source-id: 99886be7ed810f58d8fb31fb22a44b2471e974ce
Configuration menu - View commit details
-
Copy full SHA for a5ee029 - Browse repository at this point
Copy the full SHA a5ee029View commit details -
Add the DoubleConversion dependency to third-party libraries (faceboo…
…k#41972) Summary: Pull Request resolved: facebook#41972 This diff adds the `DoubleConversion` dependency to the `install_modules_dependencies` function, that installs all the dependencies that third-party libraries might need. The libraries will need the `DoubleConversion` pod if they include the generated Fabric files. Changelog: [Internal] Reviewed By: cipolleschi Differential Revision: D51848314 fbshipit-source-id: ae2ce022c6f51ce392852494c61e26ff810d30d0
Configuration menu - View commit details
-
Copy full SHA for 32dab7a - Browse repository at this point
Copy the full SHA 32dab7aView commit details -
Make the Fabric Interop Layer automatic (facebook#41656)
Summary: Pull Request resolved: facebook#41656 This change makes all the legacy components to go through the interop layer. It also introduce the `RCTFabricInteropLayerEnabled()` and the `RCTEnableFabricInteropLayer(BOOL)` functions to work as feature flags behind the change to completely disable the Interop layer. ## Changelog [iOS][Changed] - Make the Fabric Interop Layer automatic when the Nw architecture is enabled. Reviewed By: cortinico Differential Revision: D51586461 fbshipit-source-id: 8f92a76e6dbbee93055a1ebe49779dd64e484d95
Configuration menu - View commit details
-
Copy full SHA for 27f38f6 - Browse repository at this point
Copy the full SHA 27f38f6View commit details -
fix(rn-tester): add missing params when running Android app from watc…
…h mode (facebook#41979) Summary: Passed `--mode HermesDebug` to `run-android` command when running from watch mode by pressing `a` on terminal running a dev server. The flag is the same as in the `package.json`: https://github.com/facebook/react-native/blob/27f38f6f0647ec1809ee0a0d8e9da3a77a9115b1/packages/rn-tester/package.json#L17 ## Changelog: [INTERNAL] [CHANGED] - Add missing params when running Android app from watch mode by pressing `a` Pull Request resolved: facebook#41979 Test Plan: Run `yarn start` press `a` in the watch mode, and Android app should be build and launch correctly. Reviewed By: cipolleschi Differential Revision: D52265462 Pulled By: lunaleaps fbshipit-source-id: b2fbe6c889d8067876e160a8ce64dedcc4ce24d7
Configuration menu - View commit details
-
Copy full SHA for 43826fa - Browse repository at this point
Copy the full SHA 43826faView commit details
Commits on Dec 19, 2023
-
Removing Fabric check from UIManagerProvider (facebook#41982)
Summary: Pull Request resolved: facebook#41982 Moving the check for Fabric i.e. `ReactFeatureFlags.enableFabricRenderer` to old JSI Module path logic instead of new UIManagerProvider path for Fabric initialization and changing the default of UIManagerProvider from `null` -> `reactApplicationContext -> null;` since we are adding null check on the returned `UIManager` Slight change of design of API for JSI Module in order to address the issues faced due to `ReactFeatureFlags.enableFabricRenderer`, 1. Getting rid of this check for the new Fabric initialization and keeping the old JSI Module path intact. 2. Allowing the UIManager to be nullable so as to allow Twilight surface not have UIManager set even though they it succeeds in initializing the TwilightJSIModule. 3. As made the UIManager nullable, added the null check for the same. 4. This eradicates the dependency on this flag for Anna as well. Reviewed By: christophpurrer Differential Revision: D52273097 fbshipit-source-id: bdf8b1de3771250c987c8f8bd4e48192f67a1afa
Configuration menu - View commit details
-
Copy full SHA for 1045b22 - Browse repository at this point
Copy the full SHA 1045b22View commit details -
Replace utils.parseArgs with yargs (facebook#41924)
Summary: Pull Request resolved: facebook#41924 `utils.parseArgs` are only available in Node >=18.3, we can't use this function because we target Node >=18.0. This diff replaces `utils.parseArgs` with `yargs`. Changelog: [Internal] Reviewed By: cipolleschi Differential Revision: D52117818 fbshipit-source-id: 79223997874b6cfdea2ce38243b615a0dbb704a6
Configuration menu - View commit details
-
Copy full SHA for c45c13f - Browse repository at this point
Copy the full SHA c45c13fView commit details -
Introduce "codegenConfig.includesGeneratedCode" property (facebook#41655
) Summary: Pull Request resolved: facebook#41655 This diff adds support for checked-in codegen artifacts for libraries. It introduces a new property to `codegenConfig`, called `includesGeneratedCode`. If codegen sees `includesGeneratedCode: true` in a project's dependency, it assumes that the library has codegen artifacts in it, and will not generate any code. Changelog: [General][Added] - Introduce "codegenConfig.includesGeneratedCode" property. Reviewed By: cipolleschi Differential Revision: D51207265 fbshipit-source-id: 65855fd846e24a53cb18008839121e99eeb59309
Configuration menu - View commit details
-
Copy full SHA for 21784e2 - Browse repository at this point
Copy the full SHA 21784e2View commit details -
feat: Optimise RCTKeyWindow() calls in RCTForceTouchAvailable method (f…
…acebook#41935) Summary: This PR optimises RCTKeyWindow() calls in `RCTForceTouchAvailable` method. This method was calling RCTKeyWindow hundreds of times while scrolling on the screen. Before: On the video you can see that this function is being called **350 times** just from simple list scrolling. RCTKeyWindow is looping over app windows so it's not a cheap operation. https://github.com/facebook/react-native/assets/52801365/5b69cbd6-d148-4d06-b672-bd7b60472c13 After: the function is called only few times at the start of the app to get initial layout measurements. Solution: I think we can check just once for the force touch capabilities as devices can't change it on the fly bypass-github-export-checks ## Changelog: [IOS] [FIXED] - Optimise RCTKeyWindow() calls in RCTForceTouchAvailable method Pull Request resolved: facebook#41935 Test Plan: CI Green Reviewed By: dmytrorykun Differential Revision: D52172510 Pulled By: cipolleschi fbshipit-source-id: 881a3125a2af4376ce65d785d8eee09c7d8f1f16
Configuration menu - View commit details
-
Copy full SHA for 90fb73e - Browse repository at this point
Copy the full SHA 90fb73eView commit details -
Make CompactValue internal detail of
yoga::Style
(facebook#41776)Summary: Pull Request resolved: facebook#41776 X-link: facebook/yoga#1492 # Summary In preparation to replace `CompactValue`, this fully encapsulates it as an implementation detail of `yoga::Style`. The internal API now always operates on `Style::Length`, converted to `YGValue` at the public API boundary. In the next step, we can plug in a new representation within `Style`, which should enable 64 bit values, and lower memory usage. # Test Plan 1. Existing tests (inc for style, invalidation, CompactValue) pass 2. Check that constexpr `yoga::isinf()` produces same assembly under Clang as `std::isinf()` 3. Fabric Android builds 4. Yoga benchmark does style reads # Performance Checking whether a style is defined, then reading after, is a hot path, and we are doubling any space style lengths take in the stack (but not long-term on the node). After a naive move, on one system, the Yoga benchmark creating, laying out, and destroying a tree, ran about 8-10% slower in the "Huge nested flex" example. We are converting in many more cases instead of doing undefined check, but operating on accessed style values no longer needs to do the conversion multiple times. I changed the `CompactValue` conversion to YGValue/StyleLength path to check for undefined as the common case (since we always convert, instead of calling `isUndefined` directly on CompactValue. That seemed to get the difference down to ~5-6% when I was playing with it then. We can optimistically make some of this up with ValuePool giving better locality, and fix this more holistically if we reduce edge and value resolution. On another machine where I tested this, the new revision went the opposite direction, and was about 5% faster, so this isn't really a cut and dry regression, but we see different characteristics than before. # Changelog [Internal] Reviewed By: rozele Differential Revision: D51775346 fbshipit-source-id: c618af41b4882b4a227c917fcad07375806faf78
Configuration menu - View commit details
-
Copy full SHA for 6e71851 - Browse repository at this point
Copy the full SHA 6e71851View commit details -
yoga::resolveValue -> Length::resolve (facebook#41939)
Summary: Pull Request resolved: facebook#41939 X-link: facebook/yoga#1520 This code originates as `YGValueResolve`, used to compute a YGValue to a length in points, using a reference for 100%. This moves it to `Style::Length`, so we can encapsulate parts of it (for style value functions), and make the API more cohesive now that we can do C++ style OOP with it. Changelog: [Internal] Reviewed By: joevilches Differential Revision: D51796973 fbshipit-source-id: a7c359c7544f4bd2066a80d976dde67a0d16f1dd
Configuration menu - View commit details
-
Copy full SHA for 87a636a - Browse repository at this point
Copy the full SHA 87a636aView commit details -
Node::styleDefinesDimension() -> Node::hasDefiniteLength() (facebook#…
…41995) Summary: Pull Request resolved: facebook#41995 X-link: facebook/yoga#1526 This function has made quite the journey from something that originally made more sense. This renames, refactors, and adds documentation for what it actually does. This should eventually make its way into `yoga::Style` once computed style is moved into that structure. bypass-github-export-checks Reviewed By: joevilches Differential Revision: D52105718 fbshipit-source-id: 6492224dd2e10cef3c5fc6a139323ad189a0925c
Configuration menu - View commit details
-
Copy full SHA for 52af3e4 - Browse repository at this point
Copy the full SHA 52af3e4View commit details -
Reorder members in
Node.h
(facebook#41994)Summary: Pull Request resolved: facebook#41994 X-link: facebook/yoga#1529 Reorganizes the header according to common C++ convnetions. Public first, then private. Constructors, then functions, then member variables. Reviewed By: joevilches Differential Revision: D52106056 fbshipit-source-id: 0095cf7caa58dc79c1803b3b231911e4fc66ddaf
Configuration menu - View commit details
-
Copy full SHA for 9436d2d - Browse repository at this point
Copy the full SHA 9436d2dView commit details -
Deploy 0.225.0 to xplat (facebook#42004)
Summary: Pull Request resolved: facebook#42004 Changelog: [Internal] Reviewed By: SamChou19815 Differential Revision: D52305312 fbshipit-source-id: b18045c450dc3204b08452ede17b76d1a43cce50
Configuration menu - View commit details
-
Copy full SHA for bd4ddbe - Browse repository at this point
Copy the full SHA bd4ddbeView commit details -
Add E2E Test for experimental_layoutConformance (facebook#42002)
Summary: Pull Request resolved: facebook#42002 Adds an E2E test on top of the RNTester example for this (as a practice we should probably do this for new examples). I didn't add unit tests for this originally, but probably should do that as well if it gets more interesting... Changelog: [Internal] Reviewed By: joevilches Differential Revision: D51639134 fbshipit-source-id: 379d95dfc676252e10b7076e294ac5534c6f06bf
Configuration menu - View commit details
-
Copy full SHA for 11d3e11 - Browse repository at this point
Copy the full SHA 11d3e11View commit details -
Set InspectorFlags in RCTAppDelegate (facebook#41976)
Summary: Pull Request resolved: facebook#41976 Progress towards an opt-in setup for our new CDP backend. - Wires up D51563107 to conditionally disable the legacy Hermes debugger via `ReactNativeConfig`. - **Configuration covered**: iOS, for the `RCTAppDelegate` code path. - Create C++-only overload of `RCTAppSetupPrepareApp`, deprecate the previous function. Changelog: [iOS][Deprecated] - Deprecate `RCTAppSetupPrepareApp`, replaced with C++ overload Reviewed By: motiz88 Differential Revision: D51589221 fbshipit-source-id: 1688f97c69abb06d271b4d26b875365a8d86ba77
Configuration menu - View commit details
-
Copy full SHA for 7a4950b - Browse repository at this point
Copy the full SHA 7a4950bView commit details -
Delete unused methods in JSCHeapCapture (facebook#41973)
Summary: Pull Request resolved: facebook#41973 Delete unused methods in JSCHeapCapture changelog: [internal] internal Reviewed By: christophpurrer Differential Revision: D52153259 fbshipit-source-id: 323dfc5ab5848f246a3a603ae8b973db9044685f
Configuration menu - View commit details
-
Copy full SHA for 0373329 - Browse repository at this point
Copy the full SHA 0373329View commit details
Commits on Dec 20, 2023
-
clean up unused methods from NativeBugReporting (facebook#41984)
Summary: Pull Request resolved: facebook#41984 Changelog: [Internal] this is unused anywhere, delete. for some reason we only have the spec file in oss but no native implementation Reviewed By: christophpurrer Differential Revision: D51968870 fbshipit-source-id: a4931d08c50954bfa557451e5e4d79a10dfeaefe
Configuration menu - View commit details
-
Copy full SHA for 60b1182 - Browse repository at this point
Copy the full SHA 60b1182View commit details -
Update hermes-parser and related packages in fbsource to 0.18.2 (face…
…book#42003) Summary: Pull Request resolved: facebook#42003 Bump hermes-parser and related packages to [0.18.2](https://github.com/facebook/hermes/blob/main/tools/hermes-parser/js/CHANGELOG.md). Changelog: [internal] Reviewed By: pieterv Differential Revision: D52303145 fbshipit-source-id: 1b2b07c16bf55879ecb3b6611cbd53faa1ecc012
Configuration menu - View commit details
-
Copy full SHA for e730fdf - Browse repository at this point
Copy the full SHA e730fdfView commit details -
Back out "Add log message if App moves to background" (facebook#41971)
Summary: Pull Request resolved: facebook#41971 Original commit changeset: 29e1aba9c4ea Original Phabricator Diff: D49956535 D49956535 added the new behaviour of logging helpful messages to the CDP console when the app is backgrounded/foregrounded. The underlying UX issue is legitimate: how do we reinforce the mental connection between the debugger frontend and the app being debugged, when they might be running in different windows or even machines, and particularly when the app might be backgrounded while the debugger frontend remains active. However, this implementation is too closely coupled to the socket management layer, and is iOS-specific to boot. I'm removing it here to simplify porting `RCTInspectorPackagerConnection` to C++. We can revisit this UX problem later - preferably by investigating how it's handled in the case of Chrome Android and a remote DevTools client. This feature has not been included in an OSS release of React Native yet, so very few users will be affected by its removal. Changelog: [iOS][Removed] - Revert D49956535; remove console.log notification in DevTools if app transitions between back/foreground. Reviewed By: blakef Differential Revision: D51468311 fbshipit-source-id: b875d6cf03d3521c8e876c358b2299f20d395400
Configuration menu - View commit details
-
Copy full SHA for 82bc2d7 - Browse repository at this point
Copy the full SHA 82bc2d7View commit details -
Use didReceiveMessageWithString in RCTInspectorPackagerConnection (fa…
…cebook#41974) Summary: Pull Request resolved: facebook#41974 Changelog: [Internal] Switches `RCTInspectorPackagerConnection` to use the recommended and type-safe `didReceiveMessageWithString` method to receive messages from SRWebSocket. Reviewed By: huntie Differential Revision: D52257082 fbshipit-source-id: ce1233a06b15a353500f81ae5a7730422c668be7
Configuration menu - View commit details
-
Copy full SHA for 9842994 - Browse repository at this point
Copy the full SHA 9842994View commit details -
Update CHANGELOG.md (facebook#42011)
Summary: Adds changelog for the 0.72.8 release. ## 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 --> [INTERNAL] [CHANGED] - Add changelog for the 0.72.8 release. Pull Request resolved: facebook#42011 Test Plan: Read the changelog 🤞 Reviewed By: christophpurrer Differential Revision: D52325318 Pulled By: huntie fbshipit-source-id: 377a81f255c909b7da9370d6e3856265e2081b46
Configuration menu - View commit details
-
Copy full SHA for b00569c - Browse repository at this point
Copy the full SHA b00569cView commit details -
Introduce "headerPrefix" codegen option (facebook#41956)
Summary: Pull Request resolved: facebook#41956 By default, generated Cxx sources for components all end up in same directory. However the include declarations in them look like this: ``` #include <react/renderer/components/${libraryName}/ShadowNodes.h> ``` And not like this: ``` #include "ShadowNodes.h" ``` This works fine with Buck because it supports header prefixes. To get this working with CocoaPods we define additional `HEADER_SEARCH_PATHS` for our `React-Codegen` pod. This approach will not work if we want to generate code at the library level and check in the artifacts. That's because we don't have control over the Podspec there, and can't inject those additional `HEADER_SEARCH_PATHS`. This diff adds the `headerPrefix` argument to the codegen entry point. It is `react/renderer/components/${libraryName}` by default, but can become empty if we want to generate code at the library level, and don't want to deal with this nested header structure. *Note:* `RNCodegen` runs all the generators [in a loop](https://github.com/facebook/react-native/blob/main/packages/react-native-codegen/src/generators/RNCodegen.js#L263-L275), assuming that the all have same function signature So I had to add the `headerPrefix` argument to all the generators, even to the ones that don't really need it. Changelog: [General][Added] - Introduce "headerPrefix" codegen option. Reviewed By: zeyap Differential Revision: D51811596 fbshipit-source-id: c5c3e1e571c7c4ea2f5354eb9a7b0df6b917fc0c
Configuration menu - View commit details
-
Copy full SHA for dae4a11 - Browse repository at this point
Copy the full SHA dae4a11View commit details -
Remove unused bundle status reporting from inspector infra (facebook#…
…41975) Summary: Pull Request resolved: facebook#41975 The version of `inspector-proxy` included with React Native has not used the `isLastBundleDownloadSuccess` and `bundleUpdateTimestamp` properties in years. This diff removes the backend support for reporting them (in preparation for a C++ rewrite of this infrastructure). We can consider bringing a similar feature back in the future on top of the modern CDP infra (which we are currently building). Changelog: [General][Breaking] Remove APIs for reporting bundle download status to inspector-proxy, which does not use this information. Reviewed By: huntie Differential Revision: D52258567 fbshipit-source-id: e810278f949d8ab7dbc660cdc036a0f8464727f6
Configuration menu - View commit details
-
Copy full SHA for cfa02ee - Browse repository at this point
Copy the full SHA cfa02eeView commit details -
C++ InspectorPackagerConnection (facebook#41977)
Summary: Pull Request resolved: facebook#41977 Changelog: [Internal] Adds a new C++ implementation of `InspectorPackagerConnection`, intended to eventually replace `RCTInspectorPackagerConnection` on iOS and `InspectorPackagerConnection.java` on Android. The main *new* abstraction in the C++ version is the `InspectorPackagerConnectionDelegate` interface, which will allow each platform to plug in its own scheduler and WebSocket implementation This is almost entirely a direct translation of the Objective-C implementation to C++, so I've modelled it as a file copy in source control for ease of review. We may iterate further on the API at a later date, especially once the old implementations are gone. Reviewed By: huntie Differential Revision: D52134592 fbshipit-source-id: b4778b9c4fd424c4fa8d23bb9171629874e50e73
Configuration menu - View commit details
-
Copy full SHA for db0d178 - Browse repository at this point
Copy the full SHA db0d178View commit details -
C++ InspectorPackagerConnection tests (facebook#42017)
Summary: Pull Request resolved: facebook#42017 Changelog: [Internal] C++ unit tests for D52134592. The tests heavily use gtest / gmock features to mock the various interfaces associated with `InspectorPackagerConnection` (see `InspectorMocks.h`) and to make it easy to write complex assertions on dynamic and JSON values (see `FollyDynamicMatchers.h`). To simplify access to the mock objects while they are owned by the `InspectorPackagerConnection` under test, I've also created the `UniquePtrFactory` helper (see doc comments and unit tests that fully explain its functionality). Reviewed By: huntie Differential Revision: D52134593 fbshipit-source-id: 23b8098232898be7e5cbd9b31b3358640c5e5eec
Configuration menu - View commit details
-
Copy full SHA for 2b63b9b - Browse repository at this point
Copy the full SHA 2b63b9bView commit details
Commits on Dec 21, 2023
-
RN: Remove Deprecated Prop Types (facebook#42019)
Summary: Pull Request resolved: facebook#42019 Removes the following deprecated properties from React Native: - `Image.propTypes` - `Text.propTypes` - `TextInput.propTypes` - `ColorPropType` - `EdgeInsetsPropType` - `PointPropType` - `ViewPropTypes` The deprecation history for these prop types is not super obvious, so here is a summary: - `react@15.5` extracted `prop-types` into a separate package to reflect that not everybody uses them. - `react-native@0.68` added a deprecation warning to built-in prop types. (facebook@3f62904) - `react-native@0.69` removed built-in prop types. (facebook@3e229f2) - `react-native@0.71` restored built-in prop types, along with bug fixes to isolate deprecated usage. (facebook@b966d29) We believe that by the next public release, enough time will have passed for the community to be able to upgrade without patching React Native or otherwise working around the removal of these deprecated prop types. **If anyone has trouble identifying the source of a deleted prop types usage, please file an issue so we can help track it down with you.** Changelog: [General][Removed] - Removed deprecated prop types Reviewed By: lunaleaps, NickGerleman Differential Revision: D52337762 fbshipit-source-id: 9731f7e1dec29f3df535ab75cc50bed001fdfa0b
Configuration menu - View commit details
-
Copy full SHA for 228cb80 - Browse repository at this point
Copy the full SHA 228cb80View commit details -
Improved RNTester deeplink support to go straight to a specific examp…
…le (facebook#41981) Summary: Pull Request resolved: facebook#41981 Improved RNTester URL deeplink support to cover: * `rntester://example/<moduleKey>` * `rntester://example/<moduleKey>/<exampleKey>` Extra details: * For example modules that do not specify `showIndividualExamples: true`, allow deeplink URL with the specific exampleKey to only render the specific example, instead of all of them. * Added flexibility for moduleKey: search for optional suffixes ("Index", "Example"). * Adjusted Back button action to properly go back to the root after a deeplink. * Added `example-container` generic testID on the example wrapper component. Changelog: [Internal] Reviewed By: yungsters, NickGerleman Differential Revision: D52227013 fbshipit-source-id: 4ba050592f39d6895f5124fa25c77f2d0199aa3f
Configuration menu - View commit details
-
Copy full SHA for a47d7c5 - Browse repository at this point
Copy the full SHA a47d7c5View commit details -
RNTester: inline BorderExample testIDs for simpler maintenance (faceb…
…ook#41987) Summary: Pull Request resolved: facebook#41987 Previously, the examples allow overriding the testIDs for each inner example from BorderExample.js in RNTester. However, that setup relies on another infra/abstraction to inject the testIDs properly. For simplicity, let's just make them hardcoded using the pattern `border-test-<example-name>`. Changelog: [Internal] Reviewed By: NickGerleman, mdvacca Differential Revision: D52282922 fbshipit-source-id: 8fdc3d799befddbbb9bd8e60c8a904670c035d59
Configuration menu - View commit details
-
Copy full SHA for f7e99e6 - Browse repository at this point
Copy the full SHA f7e99e6View commit details -
ReactNativeCoreE2E: hardcode testIDs for View tests (facebook#42026)
Summary: Pull Request resolved: facebook#42026 Previously, the examples allow overriding the testIDs for each inner example from ViewExample.js in RNTester. However, that setup relies on another infra/abstraction to inject the testIDs properly. For simplicity, let's just make them hardcoded using the pattern view-test-<example-name>. Changelog: [Internal] Reviewed By: NickGerleman Differential Revision: D52349100 fbshipit-source-id: 09d51935318d0592a9aae7da61cab0c87ac69152
Configuration menu - View commit details
-
Copy full SHA for 08c916d - Browse repository at this point
Copy the full SHA 08c916dView commit details -
Deploy 0.225.1 to xplat (facebook#42027)
Summary: Pull Request resolved: facebook#42027 Changelog: [Internal] Reviewed By: SamChou19815 Differential Revision: D52353283 fbshipit-source-id: 4f6cefdcfe38d34c8629178823df6b39c5aebbfb
Configuration menu - View commit details
-
Copy full SHA for 1f89a1c - Browse repository at this point
Copy the full SHA 1f89a1cView commit details -
Create new inspector flag for enabling the C++ packager connection im…
…plementation (facebook#42035) Summary: Pull Request resolved: facebook#42035 In upcoming diffs we will begin integrating the new C++ `InspectorPackagerConnection` (D52134592) into React Native on Android and iOS. This diff adds a shared C++ flag that is the source of truth for whether the new implementation should be enabled. Changelog: [Internal] Reviewed By: huntie Differential Revision: D52335446 fbshipit-source-id: 7f16ffc1728c8de7d4fbf090268ffed6fbaa879f
Configuration menu - View commit details
-
Copy full SHA for 210a7c2 - Browse repository at this point
Copy the full SHA 210a7c2View commit details -
Remove exclude for normalize-colors in template test setup (facebook#…
…42033) Summary: Pull Request resolved: facebook#42033 Intends to fix failing `test_*_template` jobs in CircleCI, broken after D52337762. Changelog: [Internal] Reviewed By: motiz88, cipolleschi Differential Revision: D52364225 fbshipit-source-id: 0e088f300fc8f38dc439446a29d81f2bec2e5d51
Configuration menu - View commit details
-
Copy full SHA for 7eed881 - Browse repository at this point
Copy the full SHA 7eed881View commit details -
use Pressable over TouchableWithoutFeedback (facebook#42016)
Summary: Pull Request resolved: facebook#42016 changelog: [internal] TouchableWithoutFeedback is broken with React 18. Before we fix it, let's use Pressable in tests. Reviewed By: fkgozali Differential Revision: D52328529 fbshipit-source-id: 1d7d5032ffaf7f8ff5ffa47af2a87b733fd2e840
Configuration menu - View commit details
-
Copy full SHA for 4885743 - Browse repository at this point
Copy the full SHA 4885743View commit details -
Introduce the "platform" option to generate-codegen-artifacts.js (fac…
…ebook#42012) Summary: Pull Request resolved: facebook#42012 Up until now `generate-codegen-artifacts.js` has been iOS only. But its logic is actually quite general, and this diff makes it platform agnostic. Changelog: [General][Added] - Introduce the "platform" option to generate-codegen-artifacts.js Reviewed By: RSNara Differential Revision: D52257542 fbshipit-source-id: b7e698c779f7c6dae9b0de98a19ba452111fea5e
Configuration menu - View commit details
-
Copy full SHA for 7b10609 - Browse repository at this point
Copy the full SHA 7b10609View commit details -
Bump minimum version of activesupport for CVE-2023-38037 (facebook#42023
) Summary: Bump activesupport to minimum 6.1.7.5 CVE-2023-38037. More details GHSA-cr5q-6q9f-rq6q Updated the gemfile and then ran `bundle install` at the root ## Changelog: [IOS] [SECURITY] - Bump activesupport to minimum 6.1.7.5 CVE-2023-38037. Pull Request resolved: facebook#42023 Reviewed By: cipolleschi Differential Revision: D52346223 Pulled By: lunaleaps fbshipit-source-id: f8141048b68cde9c58eb23ee2d41cb4a6becb6ef
Configuration menu - View commit details
-
Copy full SHA for 07a159f - Browse repository at this point
Copy the full SHA 07a159fView commit details -
Introduce "npx react-native codegen" command (facebook#41925)
Summary: Pull Request resolved: facebook#41925 This diff introduces the `npx react-native codegen` command. It runs the codegen for the `package.json` file in current working directory. Changelog: [General][Added] - Introduce "npx react-native codegen" command. Reviewed By: cipolleschi Differential Revision: D51495465 fbshipit-source-id: 1fd4c3645235a12f68f9032349a443b92b4764b8
Configuration menu - View commit details
-
Copy full SHA for a612053 - Browse repository at this point
Copy the full SHA a612053View commit details -
Improve codegen logging formatting (facebook#42013)
Summary: Pull Request resolved: facebook#42013 The existing codegen logging is quite wild. This diff makes it slightly nicer. Changelog: [Internal] Reviewed By: RSNara Differential Revision: D52328744 fbshipit-source-id: 1466de2d1188d35a746ab94ce9fc60ef08e3ddda
Configuration menu - View commit details
-
Copy full SHA for 06a053f - Browse repository at this point
Copy the full SHA 06a053fView commit details -
Move prop diffing for Interop Layer to Adapter
Summary: We have 1 coordinator per class but 1 adapter per instance. Currently, the `oldProps` are stored in the coordinator and not into the adapter. Therefore, when we create multiple instances of the same legacy component, the props might get messy or not updated properly. This change moves the `oldProps` and the diffing code to the Adapter rather than to the coordinator, making them instance-specific. ## Changelog: [iOS][Fixed] - Move old props and prop diffing to the interop layer adapter Reviewed By: sammy-SC Differential Revision: D52368222 fbshipit-source-id: 0f0c47b586fe61404250c5bfe51a7e2c63012815
Configuration menu - View commit details
-
Copy full SHA for 3b80531 - Browse repository at this point
Copy the full SHA 3b80531View commit details -
Refactor hover tracking logic to the shared C++ renderer (facebook#41519
) Summary: Pull Request resolved: facebook#41519 Changelog: [Internal] - Refactor hover tracking logic to the shared c++ renderer This diff refactors our hover tracking logic out of the platform (in this case only iOS, integrating Android is going to require extra work due to their pointer events being untyped) and puts it into the event intercepting infra in Fabric's C++ core. This is a big-ish diff so I'm going to try my best to use this summary to guide you through the changes. To begin with — the changes inside `RCTSurfacePointerHandler.mm` are mostly about removing the existing hover tracking logic. The logic of the hover tracking is largely the same between the objective-c and c++ implementations with minor tweaks in order to be a better citizen when it comes to storing node references. One small "addition" to this file is explicitly firing a `pointerleave` event from the iOS layer when we detect that the pointer has left the app entirely because the C++ would otherwise not know when the pointer leaves the app. We don't need to include a special case for `pointerenter` because we can derive that in C++ from the first `pointermove` event that gets sent once the pointer re-enters the app's root view. Next I think it makes most sense to continue onto the `PointerEventsProcessor.h/mm` which is the central class we're working in. One small change is adding a flag to the `ActivePointer` struct (`shouldLeaveWhenReleased`) which we will set during `ActivePointer` registration — setting to false if the pointer in question exists in the (also) newly added `previousHoverTrackersPerPointer_` registry. This logic is primarily used for knowing later when the pointer is released and whether we should emit the synthetic leave/out event on release. If the pointer existed in `previousHoverTrackersPerPointer_` **before** the `ActivePointer` registration that implies that the pointer is capable of hovering to some degree and we should **not** emit those leave/out events yet. The real meat & potatoes of this diff is the `handleIncomingPointerEventOnNode` method which matches the `handleIncomingPointerEvent` method we removed from `RCTSurfacePointerHandler.mm`. This method derives the enter/leave/over/out pointer events by comparing the current event's target path (list of nodes from the root node to the target node of the event) to the previously recorded event target path. The representation of this event path is through the new `PointerHoverTracker` class which stores a pointer to just the root node and the target node as we can recreate the entire event path from these. For over/out events all that matters is when the deepest-most target changes which is checked in `handleIncomingPointerEventOnNode` by leveraging `PointerHoverTracker`'s `hasSameTarget` method. For enter/leave events we need to fire discrete events for every node in the path which has either been removed or added, so the `diffEventPath` method was introduced on `PointerHoverTracker` to provide that. Reviewed By: yungsters Differential Revision: D51317492 fbshipit-source-id: e15ac3a396d5afa7ab921e4589861b43b07a33b5
Configuration menu - View commit details
-
Copy full SHA for 72b876a - Browse repository at this point
Copy the full SHA 72b876aView commit details -
Remove duplicate declaration of calculateLayoutInternal (facebook#42030)
Summary: X-link: facebook/yoga#1532 Pull Request resolved: facebook#42030 as per title Reviewed By: joevilches Differential Revision: D52289613 fbshipit-source-id: 51a810dda32e6fe44be05a42fe21d78aede52d30
Configuration menu - View commit details
-
Copy full SHA for ff8938c - Browse repository at this point
Copy the full SHA ff8938cView commit details -
Move trailing position functions (facebook#42031)
Summary: X-link: facebook/yoga#1533 Pull Request resolved: facebook#42031 I have some reservations about some of the conditional setting of trailing position in general, and some of the repeated transformations that neccesitates this, but these functions don't belong in `CalculateLayout.h`. For now, just move these to their own header. Reviewed By: joevilches Differential Revision: D52292121 fbshipit-source-id: 4a998a4390a8d045af45f5424adaf049ed635e7a
Configuration menu - View commit details
-
Copy full SHA for 9271957 - Browse repository at this point
Copy the full SHA 9271957View commit details -
Rename prefix of binaryCompatibilityValidator properties (facebook#42041
) Summary: Pull Request resolved: facebook#42041 binaryCompatibilityValidator is a generic library, it shouldn't have referecences to react. I'm renaming: ``` react.internal.binaryCompatibilityValidator... ``` by ``` binaryCompatibilityValidator... ``` changelog: [internal] internal Reviewed By: philIip Differential Revision: D52380035 fbshipit-source-id: fc71595939e7f71b135acc44a9918f09361a604f
Configuration menu - View commit details
-
Copy full SHA for fa470ef - Browse repository at this point
Copy the full SHA fa470efView commit details
Commits on Dec 22, 2023
-
Clean up stale mobileconfig reading for pointer events (facebook#41946)
Summary: Pull Request resolved: facebook#41946 Changelog: [Internal] Reviewed By: yungsters Differential Revision: D52090274 fbshipit-source-id: 592c03c841ca26509d39ef597cab776c8fa84fcb
Configuration menu - View commit details
-
Copy full SHA for 0be527b - Browse repository at this point
Copy the full SHA 0be527bView commit details -
RNTester: fixed up ScrollViewExample test name (facebook#42043)
Summary: Pull Request resolved: facebook#42043 It had a typo: pressableStickyHeader vs pressableStickyHeaders Changelog: [Internal] Reviewed By: lunaleaps Differential Revision: D52378237 fbshipit-source-id: b0ee4029797868298c00aab74808fce73e59e357
Configuration menu - View commit details
-
Copy full SHA for d5797ae - Browse repository at this point
Copy the full SHA d5797aeView commit details -
Re-sync with internal repository (facebook#42046)
The internal and external repositories are out of sync. This Pull Request attempts to brings them back in sync by patching the GitHub repository. Please carefully review this patch. You must disable ShipIt for your project in order to merge this pull request. DO NOT IMPORT this pull request. Instead, merge it directly on GitHub using the MERGE BUTTON. Re-enable ShipIt after merging.
Configuration menu - View commit details
-
Copy full SHA for c54bfe4 - Browse repository at this point
Copy the full SHA c54bfe4View commit details -
docs: bump minSdk to 23 (facebook#42034)
Summary: The Android minSdk has been bumped in facebook#38874 but not in the README. ## Changelog: [General] [Fixed] - Updated docs to match Android 6.0 (API 23) minimum requirement. Pull Request resolved: facebook#42034 Test Plan: N/A Reviewed By: fkgozali Differential Revision: D52364522 Pulled By: arushikesarwani94 fbshipit-source-id: b04b5aa94b629380b559b2717e12a882f8817a6f
Configuration menu - View commit details
-
Copy full SHA for 192a88d - Browse repository at this point
Copy the full SHA 192a88dView commit details
Commits on Dec 26, 2023
-
BridgelessUIManager: Make error reporting more readable (facebook#42001)
Summary: Pull Request resolved: facebook#42001 ## Rational Every call-site was calling into console.error. Some call-sites were using string concatination. This diff introduces a new error reporting method: raiseSoftError, that hides all the string concatination and console.errors. I believe this makes the error reporting logic within BridgelessUIManager more readable. Changelog: [Internal] Reviewed By: luluwu2032 Differential Revision: D52002911 fbshipit-source-id: 186842a4835ca65f326dda35b1c0db50f8ff149c
Configuration menu - View commit details
-
Copy full SHA for 09ab59a - Browse repository at this point
Copy the full SHA 09ab59aView commit details -
BridgelessUIManager: Refactor how constants are retrieved and cached (f…
…acebook#42000) Summary: Pull Request resolved: facebook#42000 I think this makes BridgelessUIManager easier to read: if the getUIManagerConstants method exists, get the cached constants. Also, this unifies the nomenclature between PaperUIManager and BridgleessUIManager. That way, it's easy to compare/constrast the two files. Changelog: [Internal] Reviewed By: dmytrorykun, luluwu2032 Differential Revision: D52002910 fbshipit-source-id: 01bfbd5fedbe3f995b4a1f68309714d84027133b
Configuration menu - View commit details
-
Copy full SHA for 55e4543 - Browse repository at this point
Copy the full SHA 55e4543View commit details -
RNTester iOS: internal profiling test setup (facebook#42071)
Summary: Pull Request resolved: facebook#42071 Proxying background handling to set up Meta internal test infra. Changelog: [Internal] Reviewed By: RSNara Differential Revision: D52420805 fbshipit-source-id: a68645b7b630f976dfd9e863b0c985c738c658ec
Configuration menu - View commit details
-
Copy full SHA for 5d520ab - Browse repository at this point
Copy the full SHA 5d520abView commit details
Commits on Dec 27, 2023
-
BridgelessUIManager: Use blocks for all functions (facebook#41999)
Summary: Pull Request resolved: facebook#41999 Just a cosmetic change, that will remove noise from the subsequent diffs. Now, all the raiseSoftError are on similar columns in the file. Changelog: [internal] Reviewed By: cortinico Differential Revision: D52041976 fbshipit-source-id: bc22add358becf1ad8d5f7602253e2af28697d42
Configuration menu - View commit details
-
Copy full SHA for 963ce9b - Browse repository at this point
Copy the full SHA 963ce9bView commit details -
BridgelessUIManager: Pull already implemented methods out (facebook#4…
…2068) Summary: Pull Request resolved: facebook#42068 These methods are overriden in UIManager.js Let's pull them out, so that we don't get distracted by them. Changelog: [Internal] Reviewed By: fkgozali Differential Revision: D52350348 fbshipit-source-id: 3d4b446c40be9d8797ec787f45335f42f8982956
Configuration menu - View commit details
-
Copy full SHA for e75f050 - Browse repository at this point
Copy the full SHA e75f050View commit details -
Refactor React to get rid of JSIModule (facebook#42069)
Summary: Pull Request resolved: facebook#42069 Refactor React to get rid of JSIModule and its dependencies now that the changes are rolled out for all internal apps. Changelog: [Internal] Internal Reviewed By: christophpurrer Differential Revision: D51058885 fbshipit-source-id: 07a7335235605fbc07657f8da8588ec548bce797
Configuration menu - View commit details
-
Copy full SHA for 6555205 - Browse repository at this point
Copy the full SHA 6555205View commit details -
Tests to get rid of JSI module (facebook#42058)
Summary: Pull Request resolved: facebook#42058 Getting rid of JSIModule from tests Changelog: [Internal] internal Reviewed By: christophpurrer Differential Revision: D50925102 fbshipit-source-id: bce1c9459ae2c4d690712e2c09a7e935fa8e4427
Configuration menu - View commit details
-
Copy full SHA for cd5f6aa - Browse repository at this point
Copy the full SHA cd5f6aaView commit details -
Get rid of old APIs in FabricUIManagerProvider (facebook#42059)
Summary: Pull Request resolved: facebook#42059 Getting rid of old APIs in FabricUIManagerProvider and also clearing it of the inheritance dependency it has on JSIModule post it's references have been cleared. Reviewed By: christophpurrer Differential Revision: D51001239 fbshipit-source-id: c3d4650c292e957e9f939304662932c11af7a24f
Configuration menu - View commit details
-
Copy full SHA for c2c346c - Browse repository at this point
Copy the full SHA c2c346cView commit details -
Avoid using std::views::filter to fix issues with macosx-x86_64 toolc…
…hain (facebook#42076) Summary: Pull Request resolved: facebook#42076 ## Changelog: [Internal] - In facebook#41519 we introduced usage of C++20s range operations, which broke MacOSX desktop builds for the x86_64 targets (e.g. on Intel Mac laptops). This appears to be a [known issue](https://stackoverflow.com/questions/73929080/error-with-clang-15-and-c20-stdviewsfilter), fixed in the later clang versions, however we need to support the earlier ones as well. This changes the code to use the good old imperative style to do the same thing, but without using `std::views::filter`, thus working around the problem. Reviewed By: christophpurrer Differential Revision: D52428984 fbshipit-source-id: 6d0a390549c462b7040b5c0e669c00932bd99af7
Configuration menu - View commit details
-
Copy full SHA for ffe219c - Browse repository at this point
Copy the full SHA ffe219cView commit details -
Fix comment about adding packages in android template (facebook#41856)
Summary: I noticed this comment is still in Java in the Kotlin template. It also doesn't really work anymore since there is no packages variable. To fix it I completed the comment with all code needed for it to work in kotlin. I think an older version of the template used to be more like: ```kotlin val packages = PackageList(this).packages // packages.add(MyReactNativePackage()) return packages ``` But then it requires adding a lint suppress annotation since packages variable can be simplified. I think this is simpler even if it makes the comment a few more lines. ## Changelog: [GENERAL] [FIXED] - Fix comment about adding packages in android template Pull Request resolved: facebook#41856 Test Plan: Tested that uncommenting that code works Reviewed By: cipolleschi Differential Revision: D51987483 Pulled By: cortinico fbshipit-source-id: d0135b5b536960017ccc7b25f92c75b3bd863cd9
Configuration menu - View commit details
-
Copy full SHA for ac9b87c - Browse repository at this point
Copy the full SHA ac9b87cView commit details -
Convert the last Unit Tests to Kotlin (facebook#42078)
Summary: Pull Request resolved: facebook#42078 Resubmit of D51891716 and D52033328 I'm doing a pass and converting the last Java Unit Tests we had to Kotlin I've also re-enabled multiple tests that were disabled in the past. Changelog: [Internal] [Changed] - Convert the last Unit Tests to Kotlin Reviewed By: rshest Differential Revision: D52430728 fbshipit-source-id: e6b4a6ed88d852024d959cf5148e992e97a84434
Configuration menu - View commit details
-
Copy full SHA for c75abef - Browse repository at this point
Copy the full SHA c75abefView commit details
Commits on Dec 28, 2023
-
Move legacy tests from OSS to fbandroid/java/com/facebook/fbreact (fa…
…cebook#41802) Summary: Pull Request resolved: facebook#41802 Those tests are not executing at all, they're just compiled. Our internal infra is still depending on some bits of it though, so I'm moving them to `fbandroid/java/com/facebook/fbreact Changelog: [Internal] [Changed] - Move legacy tests from OSS to fbandroid/java/com/facebook/fbreact Reviewed By: rshest Differential Revision: D51805702 fbshipit-source-id: 2c5cec68efa9854184e981220202d8f356ff690a
Configuration menu - View commit details
-
Copy full SHA for d992abc - Browse repository at this point
Copy the full SHA d992abcView commit details -
Make TurboModuleManager not implement JSIModule (facebook#42060)
Summary: Pull Request resolved: facebook#42060 For removal of JSIModule getting rid of the inheritance relationship b/w interfaces TurboModuleManager & JSIModule by directly defining `invalidate()`. `initialize()` here isn't being used hence not defining it. Changelog: [Internal] internal Reviewed By: philIip, mdvacca Differential Revision: D49977957 fbshipit-source-id: 8de644b1f344d8ce8d4a78655556829f860a2b10
Configuration menu - View commit details
-
Copy full SHA for b507e11 - Browse repository at this point
Copy the full SHA b507e11View commit details -
Fix support for --sourcemap-output path containing spaces in Xcode pr…
…ojects (facebook#40937) Summary: This PR contains the changes from facebook#30981 that got closed due to inactivity. Many thanks to nickdowell for this bug report & fix. We encountered this error in our project when we had an Xcode scheme that contains a space (like `AppName alpha`). This change fixes the generation of source maps for Xcode projects where the output path contains spaces. The `EXTRA_ARGS` environment variable, being a plain string, would be split into arguments by whitespace - so a path containing spaces was being treated as several arguments rather than one. This change uses an array to contain the arguments instead, allowing the proper handling of arguments that may contain spaces. bypass-github-export-checks ## Changelog: [iOS] [Fixed] - Fix support for --sourcemap-output path containing spaces Pull Request resolved: facebook#40937 Test Plan: Tested using a sample project with the following "Bundle React Native code and images" Xcode build phase ``` export SOURCEMAP_FILE="$CONFIGURATION_BUILD_DIR/$UNLOCALIZED_RESOURCES_FOLDER_PATH/main.jsbundle.map" set -e export NODE_BINARY=node ../node_modules/react-native/scripts/react-native-xcode.sh ``` and a `CONFIGURATION_BUILD_DIR` that contains spaces - `~/Library/Xcode/Derived Data`. **You can also try an XCode-scheme that contains a space.** ### Before ``` + EXTRA_ARGS= + case "$PLATFORM_NAME" in + BUNDLE_PLATFORM=ios + EMIT_SOURCEMAP= + [[ ! -z /Users/nick/Library/Developer/Xcode/Derived Data/RN064-cpnwckdferodycbevupbrkjydate/Build/Products/Release-iphonesimulator/RN064.app/main.jsbundle.map ]] + EMIT_SOURCEMAP=true + PACKAGER_SOURCEMAP_FILE= + [[ true == true ]] + [[ '' == true ]] + PACKAGER_SOURCEMAP_FILE='/Users/nick/Library/Developer/Xcode/Derived Data/RN064-cpnwckdferodycbevupbrkjydate/Build/Products/Release-iphonesimulator/RN064.app/main.jsbundle.map' + EXTRA_ARGS=' --sourcemap-output /Users/nick/Library/Developer/Xcode/Derived Data/RN064-cpnwckdferodycbevupbrkjydate/Build/Products/Release-iphonesimulator/RN064.app/main.jsbundle.map' + node /Users/nick/Desktop/RN064/node_modules/react-native/cli.js bundle --entry-file index.js --platform ios --dev false --reset-cache --bundle-output '/Users/nick/Library/Developer/Xcode/Derived Data/RN064-cpnwckdferodycbevupbrkjydate/Build/Products/Release-iphonesimulator/main.jsbundle' --assets-dest '/Users/nick/Library/Developer/Xcode/Derived Data/RN064-cpnwckdferodycbevupbrkjydate/Build/Products/Release-iphonesimulator/RN064.app' --sourcemap-output /Users/nick/Library/Developer/Xcode/Derived Data/RN064-cpnwckdferodycbevupbrkjydate/Build/Products/Release-iphonesimulator/RN064.app/main.jsbundle.map Welcome to Metro! Fast - Scalable - Integrated info Writing bundle output to:, /Users/nick/Library/Developer/Xcode/Derived Data/RN064-cpnwckdferodycbevupbrkjydate/Build/Products/Release-iphonesimulator/main.jsbundle info Writing sourcemap output to:, /Users/nick/Library/Developer/Xcode/Derived ``` Note the incorrect sourcemap output path. ### After ``` + EXTRA_ARGS=() + case "$PLATFORM_NAME" in + BUNDLE_PLATFORM=ios + EMIT_SOURCEMAP= + [[ ! -z /Users/nick/Library/Developer/Xcode/Derived Data/RN064-cpnwckdferodycbevupbrkjydate/Build/Products/Release-iphonesimulator/RN064.app/main.jsbundle.map ]] + EMIT_SOURCEMAP=true + PACKAGER_SOURCEMAP_FILE= + [[ true == true ]] + [[ '' == true ]] + PACKAGER_SOURCEMAP_FILE='/Users/nick/Library/Developer/Xcode/Derived Data/RN064-cpnwckdferodycbevupbrkjydate/Build/Products/Release-iphonesimulator/RN064.app/main.jsbundle.map' + EXTRA_ARGS+=("--sourcemap-output") + EXTRA_ARGS+=("$PACKAGER_SOURCEMAP_FILE") + node /Users/nick/Desktop/RN064/node_modules/react-native/cli.js bundle --entry-file index.js --platform ios --dev false --reset-cache --bundle-output '/Users/nick/Library/Developer/Xcode/Derived Data/RN064-cpnwckdferodycbevupbrkjydate/Build/Products/Release-iphonesimulator/main.jsbundle' --assets-dest '/Users/nick/Library/Developer/Xcode/Derived Data/RN064-cpnwckdferodycbevupbrkjydate/Build/Products/Release-iphonesimulator/RN064.app' --sourcemap-output '/Users/nick/Library/Developer/Xcode/Derived Data/RN064-cpnwckdferodycbevupbrkjydate/Build/Products/Release-iphonesimulator/RN064.app/main.jsbundle.map' Welcome to Metro! Fast - Scalable - Integrated info Writing bundle output to:, /Users/nick/Library/Developer/Xcode/Derived Data/RN064-cpnwckdferodycbevupbrkjydate/Build/Products/Release-iphonesimulator/main.jsbundle info Writing sourcemap output to:, /Users/nick/Library/Developer/Xcode/Derived Data/RN064-cpnwckdferodycbevupbrkjydate/Build/Products/Release-iphonesimulator/RN064.app/main.jsbundle.map ``` sourcemap output path fixed 🎉 Reviewed By: arushikesarwani94 Differential Revision: D52431057 Pulled By: cipolleschi fbshipit-source-id: 528217c84fe3f467a30baa15cfa4dcb2ed713165
Configuration menu - View commit details
-
Copy full SHA for e25a9b4 - Browse repository at this point
Copy the full SHA e25a9b4View commit details -
Detect
ccache
and provide a default configuration (facebook#42051)Summary: Building native modules from source, may take a long time. Xcode already helps bring this down, by providing incremental builds, as long as the user doesn't delete their `ios/build` directory. But in some situations, i.e. when iterating the native code of an app or library or when the developer need to delete that `ios/build` directory, it's advantageous to use a compiler cache, such as ccache. This is already outlined in our ["Speeding up your Build phase"](https://reactnative.dev/docs/build-speed#xcode-specific-setup) guide. But setting up an Xcode project to use Ccache with the correct configuration, isn't trivial in a way that doesn't require symlinking `clang` and `clang++` or passing configuration via environment variables on every `npm run ios` invokation. This PR takes its inspiration from the existing guide on [setting up Ccache for Xcode](https://reactnative.dev/docs/build-speed#xcode-specific-setup), but applies the build settings only if an installation of `ccache` is detected and the feature is explicitly opted into via an argument to the `react_native_post_install` function or a `USE_CCACHE` environment variable. It uses two shell scripts to wrap the call to `ccache`, which both injects a default `CCACHE_CONFIGPATH` environment variable (i.e. it won't override this if already provided, to allow for customisations on CI), pointing to a `ccache.config` which works well with React Native projects (it has the same values as the guide mentions). For context, I posted about this change in the ios channel of the contributors Discord server, where I discussed it with cipolleschi and saadnajmi ### Additional output printed when running `pod install` #### When `ccache_available and ccache_enabled` ``` [Ccache]: Ccache found at /opt/homebrew/bin/ccache [Ccache]: Setting CC, LD, CXX & LDPLUSPLUS build settings ``` #### When `ccache_available and !ccache_enabled` ``` [Ccache]: Ccache found at /opt/homebrew/bin/ccache [Ccache]: Pass ':ccache_enabled => true' to 'react_native_post_install' in your Podfile or set environment variable 'USE_CCACHE=1' to increase the speed of subsequent builds ``` #### When `!ccache_available and ccache_enabled` ``` [!] [Ccache]: Install ccache or ensure your neither passing ':ccache_enabled => true' nor setting environment variable 'USE_CCACHE=1' ``` #### Otherwise If the user doesn't have ccache installed and doesn't explicitly opt into this feature, nothing will be printed. bypass-github-export-checks ## Changelog: [IOS] [ADDED] - Added better support for `ccache`, to speed up subsequent builds of native code. After installing `ccache` and running `pod install`, the Xcode project is injected with compiler and linker build settings pointing scripts that loads a default Ccache configuration and invokes the `ccache` executable. Pull Request resolved: facebook#42051 Test Plan: I've tested this manually - would love some inspiration on how to automate this, if the reviewer deem it needed. To test this locally: 1. Install Ccache and make sure the `ccache` executable is in your `PATH` (verify by running `ccache --version`) 2. Create a new template app instance and apply the changes of this PR to the `node_modules/react-native` package. 3. Set the `USE_CCACHE` environment variable using `export USE_CCACHE=1`. 4. Run `pod install` in the `ios` directory. 5. Check the stats of Ccache (running `ccache -s`). 6. Run `npm run ios` or build the project from Xcode. 7. Check the Ccache stats again to verify ccache is intercepting compilation ("Cacheable calls" should ideally be 100%). 8. To check the speed gain: a. Delete the `ios/builds` directory b. Zero out the ccache stats (by running `ccache -z`) c. Run `pod install` again (only needed if you ran the initial `pod install` with new architecture enabled `RCT_NEW_ARCH_ENABLED=1`). d. Run `npm run ios` or build the project from Xcode. e. This last step should be significantly faster and you should see "Hits" under "Local storage" in the ccache stats approach 100%. Reviewed By: huntie Differential Revision: D52431507 Pulled By: cipolleschi fbshipit-source-id: 6cfe39acd6250fae03959f0ee74d1f2fc46b0827
Configuration menu - View commit details
-
Copy full SHA for e85d51c - Browse repository at this point
Copy the full SHA e85d51cView commit details -
Unhandled promise rejection - attach non-standard Error object stack …
…info if possible (facebook#42079) Summary: This is a continuation of my [last PR](facebook#40914) which improved the symbolication of unhandled promise rejections. While I was developing another library I noticed I still got an error stack of the log adding and not of the error itself. The library I'm trying to debug does not throw a standard error object but rather a custom one, but it still contains the stack field. By passing this stack field to the logbox call I was able to get a better symbolicated stack trace. The exact line of the failure is not displayed but at least the correct file is. ## Changelog: <!-- Help reviewers and the release process by writing your own changelog entry. Pick one each for the category and type tags: [GENERAL] [ADDED] - Unhandled promise rejection - attach non-standard Error object stack info if possible For more details, see: https://reactnative.dev/contributing/changelogs-in-pull-requests Pull Request resolved: facebook#42079 Test Plan: Test any unhandled promise rejection with a non-standard error (line 23, toString must not return `[object Error]`) and see if the correct (or at least a better) stack trace is shown. Here is the one I got before and after this change: <img src="https://github.com/facebook/react-native/assets/1634213/3d07faad-9535-42c9-8032-b4d8fe407e88" width="200" /> <img src="https://github.com/facebook/react-native/assets/1634213/2c39bd82-c7a1-4f58-8ac4-5c479bb96b6e" width="200" /> Reviewed By: huntie Differential Revision: D52431711 Pulled By: cipolleschi fbshipit-source-id: be2172d3b1e2fc3f72812faac372c83bc6dface2
Configuration menu - View commit details
-
Copy full SHA for 655b12d - Browse repository at this point
Copy the full SHA 655b12dView commit details -
Deprecate old JSI module APIs (facebook#42085)
Summary: Pull Request resolved: facebook#42085 Deprecating the old JSI module APIs: `getJSIModule(JSIModuleType moduleType)`, `addJSIModules(List<JSIModuleSpec> jsiModules)` and `setTurboModuleManager(JSIModule getter)` to further delete them in future release. Deprecating them as of now to cater the OSS use-cases Changelog: [Internal] internal Reviewed By: christophpurrer Differential Revision: D50927292 fbshipit-source-id: 1d25f9f28b8aaf34979a90e4792317b263ae1714
Configuration menu - View commit details
-
Copy full SHA for e2fb88e - Browse repository at this point
Copy the full SHA e2fb88eView commit details -
Remove * dependencies on @react-native (facebook#42081)
Summary: See facebook#41929 for an issue on multiple monorepo packages being installed. The reason is that `*` resolves to whatever is tagged `latest` on npm. We still need to fix the fact that our monorepo publish script will update the latest tag everytime we publish. For now, we should remove these from `main` and we will also update this in the 0.73 release branch. I've left the two peer dependencies on `react-native` to keep at `*`. ``` virtualized-lists/package.json 30: "react-native": "*" rn-tester/package.json 32: "react-native": "*" ``` As a peer-dependency this won't be a problem in terms of installing a second `react-native`. I thought about updating these to `nightly`, but that would install multiple nightly react-natives as the tag will be updated with each nightly release. I think for now this is fine and something we can revisit. Things left to do [ ] Fix monorepo publish script to not update `--latest` [ ] Remove ^ dependencies on monorepo packages: facebook#41958 [ ] Re-evaluate how we bump and align monorepo packages when we cut a release branch. I forget if we manually update this when we cut or if there is a script. We may want to change the script and have `main` dependencies point to some fake version like `1000.0.0` and only update these on nightly publishes. Regardless, this will need some discussion. ## Changelog: [GENERAL] [CHANGED] - Be explicit about what monorepo versions we are using Pull Request resolved: facebook#42081 Test Plan: N/A Reviewed By: cortinico, cipolleschi Differential Revision: D52435234 Pulled By: lunaleaps fbshipit-source-id: 67da029d2b637e3997c12c21fe2a9ab9bc344399
Configuration menu - View commit details
-
Copy full SHA for b5e08e8 - Browse repository at this point
Copy the full SHA b5e08e8View commit details
Commits on Dec 29, 2023
-
iOS: renamed experimental new-arch-only flag to clarify its intent (f…
…acebook#42072) Summary: Pull Request resolved: facebook#42072 This existing flag was for experimental (WIP) purpose only, and is undocumented, by design. Let's rename it so to make it clear. Libraries/Apps should not use this flag. Changelog: [Internal] Reviewed By: christophpurrer Differential Revision: D52424750 fbshipit-source-id: 742fc6e31d1887e68439849e157dd23aaa054e36
Configuration menu - View commit details
-
Copy full SHA for 95bed60 - Browse repository at this point
Copy the full SHA 95bed60View commit details
Commits on Dec 31, 2023
-
Deprecate
[RCTConvert UIBarStyle:]
(facebook#42100)Summary: The enums [UIBarStyleBlackOpaque](https://developer.apple.com/documentation/uikit/uibarstyle/uibarstyleblackopaque) and [UIBarStyleBlackTranslucent](https://developer.apple.com/documentation/uikit/uibarstyle/uibarstyleblacktranslucent) have been deprecated since iOS 13, already below React Native's minimum OS of iOS 13.4. Indeed, they are not available on visionOS and tvOS, making this a source of extra diffs. Rather than deprecate and remove those options, I noticed that we don't actually use that `RCTConvert` method in the core repo, and haven't since `0.58-stable` (presumably before the lean core effort). Let's just remove it, it's a conversion that should be easy enough to replicate elsewhere. However, removal is a breaking change, so let's deprecate it for one release (0.74) and remove it for the next one (0.75). For posterity, tracking deprecation with microsoft#2008 and removal with microsoft#2009 . ## Changelog: [IOS] [DEPRECATED] - Deprecate `[RCTConvert UIBarStyle:]` Pull Request resolved: facebook#42100 Test Plan: CI should pass Reviewed By: shwanton Differential Revision: D52458912 Pulled By: NickGerleman fbshipit-source-id: 5614b6624b9b929ba601ac976149b2002163ff54
Configuration menu - View commit details
-
Copy full SHA for 157cb0e - Browse repository at this point
Copy the full SHA 157cb0eView commit details
Commits on Jan 2, 2024
-
Delete getJSIModule() from context (facebook#42097)
Summary: Pull Request resolved: facebook#42097 Since we switched all apps from `getJSIModule()` to `getFabricUIManager()` from `ReactContext` and it's subclasses it's safe to delete this method. NOTE: The fallback for FabricUIManager is still catalystInstance.getJSIModule() that's still there for backwards comptability just deleting the indirection through ReactContext Changelog: [Internal] Internal Reviewed By: christophpurrer Differential Revision: D51748655 fbshipit-source-id: dbf1a661f9e380307614662dd6079110f878d143
Configuration menu - View commit details
-
Copy full SHA for ce54772 - Browse repository at this point
Copy the full SHA ce54772View commit details -
Making UIManager not implement JSIModule (facebook#42061)
Summary: Pull Request resolved: facebook#42061 For removal of JSIModule getting rid of the inheritance relationship b/w interfaces UIManager & JSIModule by directly defining `initialize()` and `invalidate()` Changelog: [Internal] internal Reviewed By: philIip, mdvacca Differential Revision: D49306312 fbshipit-source-id: 041870418e13bb4b2381e609b94331c87be5f6fa
Configuration menu - View commit details
-
Copy full SHA for af8c56a - Browse repository at this point
Copy the full SHA af8c56aView commit details -
Add function to customise RootView in Bridgeless (facebook#42088)
Summary: Pull Request resolved: facebook#42088 This change adds an extra function to customise the RootView in both Bridge and Bridgeless mode. To nudge users in a migration, we also add a warning message for next version that should push our users to migrate away from the old implementation to the new one. *The Warning is shown ONLY when the user do customise the rootView*. For users which were not customising the Root View, the warning will not appear. The documentation of the new method plus the warning should guide the users toward the right migration path. ## Changelog [iOS][Added] - Added the customiseRootView method which is called in both bridge and bridgeless. Added also a warning for 0.74 with instructions on how to migrate. Reviewed By: cortinico Differential Revision: D52442598 fbshipit-source-id: 8b99b67f4741ee61989a8659a3d74c1eba27bc5b
Configuration menu - View commit details
-
Copy full SHA for db9c9ea - Browse repository at this point
Copy the full SHA db9c9eaView commit details -
Add functions to check whether the New Arch is enabled at runtime (fa…
…cebook#42090) Summary: Pull Request resolved: facebook#42090 This change is the last pieces of removing `RCT_NEW_ARCH_ENABLED` flag and defragmenting the build setup on iOS. Before, 3rd party libraries had to use the `#if RCT_NEW_ARCH_ENABLED` flag to compile in and out segment of code depending on whether the new architecture was turned on or not. After the recent changes, we can now expose the `RCTIsNewArchEnabled()` function to read whether the New Arch is enabled at runtime or not. This will promote better code practices as we can replace ugly, compile time, `#if-#else-#endif`s with a more readable and natural regular obj-c code. We can also use inheritance to have different implementation based on the architecture. To use the new function, a 3rd party library have to: 1. `#import <React/RCTUtils.h>` (if they use the `install_modules_dependencies` function we provide, they can already do it) 2. invoke `RCTIsNewArchEnabled()` which returns a BOOL. 3. implement the code accordingly, depending on the New arch state. **Note:** we implemented also the `RCTSetNewArchEnabled` function. This is called as soon as React Native is initialized in the `RCTAppDelegate`. The method can be called only once per React Native lifecycle. Subsequent calls to that method are ignored. ## Changelog: [iOS][Added] - Added the `RCTIsNewArchEnabled()` to check whether the New Arch is enabled at runtime. Reviewed By: cortinico Differential Revision: D52445107 fbshipit-source-id: 1b432832912d33c85687b4c37f9e360ce9699f59
Configuration menu - View commit details
-
Copy full SHA for f1a7f08 - Browse repository at this point
Copy the full SHA f1a7f08View commit details
Commits on Jan 3, 2024
-
Configuration menu - View commit details
-
Copy full SHA for 40233fc - Browse repository at this point
Copy the full SHA 40233fcView commit details
Commits on Jan 5, 2024
-
Configuration menu - View commit details
-
Copy full SHA for a20aa46 - Browse repository at this point
Copy the full SHA a20aa46View commit details -
Configuration menu - View commit details
-
Copy full SHA for f738dc8 - Browse repository at this point
Copy the full SHA f738dc8View commit details -
Configuration menu - View commit details
-
Copy full SHA for 1d1025b - Browse repository at this point
Copy the full SHA 1d1025bView commit details
Commits on Jan 10, 2024
-
Configuration menu - View commit details
-
Copy full SHA for 34f7044 - Browse repository at this point
Copy the full SHA 34f7044View commit details