Skip to content

[0.73] Collections of pick for RC3 - #41057

Merged
huntie merged 12 commits into
0.73-stablefrom
nc/0.73-pick-for-a7f9080
Oct 19, 2023
Merged

[0.73] Collections of pick for RC3#41057
huntie merged 12 commits into
0.73-stablefrom
nc/0.73-pick-for-a7f9080

Conversation

@cortinico

Copy link
Copy Markdown
Contributor

Summary:

This PR contains all the necessary Picks for the upcoming RC3 related to Bridgeless & Fabric Interop.

I've also re-synced RNTester with main so future picks will be easier.

a9ba7f1 Make IntArray events work on Bridgeless for RN-Tester (#41047)
1dbdb0d Make events work for Fabric Interop on Bridgeless (#40941)
9c1a71b Simplify new app template for bridgeless (#40929)
03ff02d Fix broken Fabric Interop example (#40942)
1cfd7dd Make sure onIntArrayChanged is invoked on RN Tester (#40940)
faa7402 Add ExceptionsManagerModule for RNTester (#40767)
c9ef23b Add rn-tester Android BUCK configuration (#39987)
3c42df6 Move ReactHost to com.facebook.react (#39769)
e125485 Fix new arch example not render in RNTester (#39810)
f79ec4b Do not guard initializeFlipper for bridgeless for RN Tester
347eb37 rewrite RNTesterApplication to kotlin (#39557)
1e44e17 Revert "Add ExceptionsManagerModule for RNTester (#40767)"

Changelog:

[INTERNAL] - Collections of pick for RC3

Test Plan:

CI Should be green (or not regress)

@cortinico
cortinico requested a review from huntieOctober 18, 2023 14:19
@facebook-github-botfacebook-github-bot added CLA Signed This label is managed by the Facebook bot. Authors need to sign the CLA before a PR can be reviewed. p: Facebook Partner: Facebook Partner labels Oct 18, 2023
cortinicoand others added 12 commits October 19, 2023 13:31
Summary:
Rewrite `RNTesterApplication` to Kotlin as per [Help us Kotlin-ify React Native tests - Round 2](#38825)
## Changelog:
[ANDROID] [CHANGED] - Rewrite RNTesterApplication to Kotlin, add AnnotationTarget property.
Pull Request resolved: #39557
Test Plan:
`yarn && yarn android` ✅
The only thing I'm kinda unsure of is whether `AnnotationTarget.PROPERTY` should be added, but it didn't let me annotate `reactHostInterface` without that and didn't compile.
<img width="637" alt="image" src="https://github.com/facebook/react-native/assets/33528752/8bc84870-f3f2-4a46-b076-6ee7e38bd735">
cortinico mdvacca
Reviewed By: cortinico
Differential Revision: D49598401
Pulled By: mdvacca
fbshipit-source-id: 105ae0c13c93dae0eeb2b6fa9040f03f42d2736a
Summary:
We don't need this if-than-else because the initializeFlipper already checks if we're on bridgeless or not
Changelog:
[Internal] [Changed] - Do not guard initializeFlipper for bridgeless for RN Tester
Reviewed By: NickGerleman
Differential Revision: D49881903
fbshipit-source-id: e6bfc941b43382580bd418a5f27ad9426d300c69
Summary:
Pull Request resolved: #39810
Two issues will be fixed:
- Bridgeless has lazy view manager loading by default so the React Package that provides view managers must implement ViewManagerOnDemandReactPackage, we might could refactor the design of package classes later
- ThemedReactContext should **NOT** be used directly to call function ```getJSModule```, since it doesn't overrides ```getJSModule``` for Bridgeless, we can use it's internal variable ```meactApplicationContext``` which should be an instance of BridgelessReactContext
Reviewed By: cortinico
Differential Revision: D49912656
fbshipit-source-id: a0bdd717612398e8d7a6f36d36dba241a3b06bd7
Summary:
Pull Request resolved: #39769
Move ReactHost to com.facebook.react
bypass-github-export-checks
changelog: [internal] internal
Reviewed By: javache
Differential Revision: D49834870
fbshipit-source-id: 2cfdd34297399115457424f0ba1279fd477da4a1
Summary:
Pull Request resolved: #39987
Changelog: [Internal]
Reviewed By: fkgozali
Differential Revision: D49983211
fbshipit-source-id: c362d5b93e159bfb5ca17bea0ec0484adcdb4dca
Summary:
Pull Request resolved: #40767
Fix the following issue:
```Invariant Violation: TurboModuleRegistry.getEnforcing(...):
'ExceptionsManager' could not be found. Verify that a module by this name is registered in the native
binary.Bridgeless mode: true. TurboModule interop: true. Modules loaded: {"NativeModules":[],"TurboModules":
["PlatformConstants","AppState","SourceCode","BlobModule","WebSocketModule","DevSettings","DevToolsSettingsManager","LogBox","Networking","Appearance","DevLoadingView","DeviceInfo","DeviceEventManager",
"SoundManager","ImageLoader","DialogManagerAndroid","NativeAnimatedModule","I18nManager","AccessibilityInfo","StatusBarManager","StatusBarManager","IntentAndroid","ToastAndroid","ShareModule","Vibration"],
"NotFound":["NativePerformanceCxx","NativePerformanceObserverCxx","RedBox","BugReporting","HeadlessJsTaskSupport","FrameRateLogger","KeyboardObserver",
"AccessibilityManager","ModalManager","LinkingManager","ActionSheetManager","ExceptionsManager"]}
```
Changelog:
[Android][Changed] - Add Add ExceptionsManagerModule to CoreReactPackage
Reviewed By: cortinico
Differential Revision: D50017783
fbshipit-source-id: 8642bb23bdae50a1e702f5e0586b0ede80007bb1
Summary:
Pull Request resolved: #40940
Currently the `onIntArrayChanged` event is invoked
only once inside RN Tester. I'm changing the logic to make sure it fires whenever we click "Set Opacity"
Changelog:
[Internal] [Changed] - Make sure onIntArrayChanged is invoked on RN Tester
Reviewed By: mdvacca, dmytrorykun
Differential Revision: D50264765
fbshipit-source-id: 93a60fd1b657c3d8b8182cab6bb7cd4368ac9a42
Summary:
Pull Request resolved: #40942
The Fabric Interop example for Android is broken. This is due to the Kotlin conversion which moved the `Color.colorToHSV(color, hsv)` statement *after* the HSV array is read so the array is always [0,0,0].
I'm fixing it here.
Changelog:
[Internal] [Changed] - Fix broken Fabric Interop example
Reviewed By: cipolleschi
Differential Revision: D50264766
fbshipit-source-id: 27ae5289408c7c23c667d6d7112437fa7ebe36d5
Summary:
Pull Request resolved: #40929
This diff reduces the footprint that bridgeless is imposing on the new app template. Specifically:
- I've created a `.toReactHost` method that converts a DefaultReactNativeHost to a DefaultReactHost
- I've updated RN Tester to use the same setup as the New App template which reduces code duplication.
I also had to remove a couple of `UnstableReactNativeAPI` as those were bleeding in the new app template.
I don't think we should ask users to opt-in in `UnstableReactNativeAPI` in the New App template itself as
this means that all the apps will get this opt-in.
Instead we should keep it only for specific APIs that we want the users to opt into.
Changelog:
[Internal] [Changed] - Simplify new app template for bridgeless
Reviewed By: cipolleschi, luluwu2032
Differential Revision: D50227693
fbshipit-source-id: e86c54d5156cc27f1f898b43ca89c57d5cf148b8
Summary:
Pull Request resolved: #40941
Events are currently not working for Fabric Interop on Bridgeless. That's because the `BridgelessReactContext` is not checking for interop modules on `getJsModule` calls, so the `InteropEventEmitter` is never returned.
This extends `BridgelessReactContext` so that `InteropEventEmitter` is returned if the Interop Layer is turned on.
Changelog:
[Internal] [Changed] - Make events work for Fabric Interop on Bridgeless
Reviewed By: cipolleschi
Differential Revision: D50266484
fbshipit-source-id: 0188d71bdc7acc8c188d886d45f0258914ad7af7
Summary:
Pull Request resolved: #41047
Array events are currently broken in the sample for RN Tester. This is because the event name is not registered correctly.
I'm updating the event registration to be correct.
Changelog:
[Internal] [Changed] - Make IntArray events work on Bridgeless for RN-Tester
Reviewed By: cipolleschi
Differential Revision: D50266485
fbshipit-source-id: 13bbce91a41281383d4857048e573b6d9cc5387b
@huntie
huntieforce-pushed the nc/0.73-pick-for-a7f9080 branch from a9ba7f1 to 554661fCompareOctober 19, 2023 12:31
@huntie

Copy link
Copy Markdown
Collaborator

I've rebased on 0.73-stable to see if CI passes.

@analysis-bot

Copy link
Copy Markdown
PlatformEngineArchSize (bytes)Diff
androidhermesarm64-v8a8,516,224-9,132,801
androidhermesarmeabi-v7an/a--
androidhermesx86n/a--
androidhermesx86_64n/a--
androidjscarm64-v8a9,754,424-11,272,234
androidjscarmeabi-v7an/a--
androidjscx86n/a--
androidjscx86_64n/a--

Base commit: fbd8504
Branch: main

@huntie
huntie merged commit d6b73c6 into 0.73-stableOct 19, 2023
@huntie
huntie deleted the nc/0.73-pick-for-a7f9080 branch October 19, 2023 13:29
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

CLA SignedThis label is managed by the Facebook bot. Authors need to sign the CLA before a PR can be reviewed.p: FacebookPartner: FacebookPartnerPick Request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

7 participants

@cortinico@huntie@analysis-bot@facebook-github-bot@ShevO27@mdvacca@christophpurrer