Commit Graph

29575 Commits

Author SHA1 Message Date
David Vacca c66ca47f2b Back out "Add support for legacy UIManager in UIManagerHelper"
Summary:
Original commit changeset: 93eba1eb3106

Original Phabricator Diff: D50694805

changelog: [internal] internal

Reviewed By: fkgozali

Differential Revision: D50853438

fbshipit-source-id: 687cb100dfea28f3ea63812e1dd5b21e4c8ceb0e
2023-10-31 20:23:36 -07:00
Oskar Kwaśniewski ace81ff7d8 feat(iOS): remove usages of UIScreen mainScreen for Trait collections (#41214)
Summary:
The goal of this PR is to migrate from deprecated `[UIScreen mainScreen]` and get the `displayScale` from currentTraitCollection. Both of those return the same values.

## Changelog:

[IOS] [CHANGED] - retrieve screen scale from trait collection instead of UIScreen mainScreen

Pull Request resolved: https://github.com/facebook/react-native/pull/41214

Test Plan:
Go to Dimensions example and check that everything works as expected

### Before

<img src="https://github.com/facebook/react-native/assets/52801365/53141e67-63e2-4c3b-818e-6a232aae8a5b" height="500" />

### After

<img src="https://github.com/facebook/react-native/assets/52801365/33728fce-0298-459c-b63e-a0b8ea34bde1" height="500" />

Reviewed By: NickGerleman

Differential Revision: D50736794

Pulled By: javache

fbshipit-source-id: d512cba1120204be95caf43ac9916f6597e2ccc8
2023-10-31 17:57:56 -07:00
Nick Gerleman 817fedb0e7 Bail on hiPri render on missing layout data before checking priority (#41270)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/41270

`scheduleCellsToRenderUpdate()` is called in response to new measurements, or component changes. It has logic to decide whether to immediately calculate new state, or to defer it until a later batched period.

It will not immediately update state if we don't yet have measurements for cells, but this condition is after another which calculates priority, relying on these measurements. These are garbage if we don't yet have measurements, and trigger an invariant violation in horizontal RTL.

This switches around the conditions, to avoid offset resolution if we don't yet have valid measurements.

I suspect some "hiPri" renders where cells shift are bugged right now when we update state in response to content size change, before we have new corresponding cell layouts.

Changelog:
[General][Fixed] - Bail on hiPri render on missing layout data before checking priority

Reviewed By: yungsters

Differential Revision: D50791506

fbshipit-source-id: 8dbffc37edd2a42f7842c0090d344dcd6f3e3c6d
2023-10-31 16:49:58 -07:00
Cody Bennett 572dd76ba0 Revert "BlobManager: implement Blob from ArrayBuffer (#39276)" (#41170)
Summary:
As per https://github.com/facebook/react-native/issues/41079, we're outputting ASCII encoded data URIs to `FileReader.readAsDataURL` due to lack of native `ArrayBuffer` support and unclear use of encoding to align with web. I'll revisit this at a later point with a better testing strategy once we have a good idea of how this should behave internally.

Aside from purely reverting https://github.com/facebook/react-native/issues/39276, I've kept the use of `ArrayBuffer.isView(part)` to the previous `part instanceof global.ArrayBufferView` since it is more correct.

## Changelog:

[INTERNAL] [REMOVED] - Revert Blob from ArrayBuffer

Pull Request resolved: https://github.com/facebook/react-native/pull/41170

Test Plan:
Run the following at the project root to selectively test changes:

`jest packages/react-native/Libraries/Blob`

Reviewed By: cipolleschi

Differential Revision: D50601036

Pulled By: dmytrorykun

fbshipit-source-id: 0ef5c960c253db255c2f8532ea1f44111093706c
2023-10-31 11:58:27 -07:00
Nikita Lutsenko 37e509f2b6 rn-android | Allow injecting a custom ChoreographerProvider via ReactNativeHost into construction of ReactInstanceManager.
Summary:
Further propagating extension to the Android choreographer, now allowing to override it from the perspective of ReactNativeHost/ReactInstanceManager(Builder).

Changelog:
[Android][Added] ReactChoreographer can now use an implementation substitution instead of relying on android.view.Choreographer directly.

Reviewed By: javache

Differential Revision: D50827973

fbshipit-source-id: 42efaa3ece2c2b45fe4ee04a4bbc87c9d59132c8
2023-10-31 11:51:09 -07:00
Nikita Lutsenko 751f7e97ba rn-android | Add abstraction layer between ReactChoreographer and android.view.Choreographer that allows substituting current implementation.
Summary:
We want to have an extension point for choreographer, so we can override default behavior and have either rate-limiting, or testing or other form of manual control.
For all those cases allow substitution of choreographer that ReactChoreographer would use by default with a custom one.

Changelog:
[Android][Added] ReactChoreographer can now use an implementation substitution instead of relying on android.view.Choreographer directly.

Reviewed By: javache

Differential Revision: D50827975

fbshipit-source-id: 0fd78e1f4f96ffd832e5d8cdc6c805f9a9e272cf
2023-10-31 11:51:09 -07:00
Samuel Susla ae85be3e92 remove const from UIManager::createNode and UIManager::cloneNode
Summary:
changelog: [internal]

These shadow nodes are freshly created and unsealed. Return non-const.

Reviewed By: NickGerleman

Differential Revision: D50796024

fbshipit-source-id: 6e2a61bb03efbc6f63a489928787e645971780df
2023-10-31 09:58:05 -07:00
Riccardo Cipolleschi 475b835e43 Add Hermes Xcode integration test to GH Actions (#41187)
Summary:
After disabling the E2E tests, we lost a test that was verifying that Hermes works well with the latest version of React Native for iOS
This change introduce this test back in GH actions

## Changelog:
[Internal] Add tests for Hermes-Xcode integration to GH Actions

Pull Request resolved: https://github.com/facebook/react-native/pull/41187

Test Plan: CI is green 🤞

Reviewed By: NickGerleman

Differential Revision: D50737860

Pulled By: cipolleschi

fbshipit-source-id: f4bc09be879af7aba0ca42f1b7e407a5d5dc0986
2023-10-31 09:37:24 -07:00
Ruslan Lesiutin a286f00073 refactor(getInspectorDataForViewAtPoint): listen to attached renderers (#41202)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/41202

Changelog: [Internal]

Previous implementation only works because `getInspectorDataForViewAtPoint.js` module is evaluated once `Inspector` component is renderered, which is DEV-only and [imported with inline require](https://www.internalfb.com/code/fbsource/[86a4c61a19ad]/xplat/js/react-native-github/packages/react-native/Libraries/ReactNative/AppContainer.js?lines=72).

This also depends on React DevTools' hook being injected.

With these changes, `getInspectorDataForViewAtPoint` can be evaluated at startup, and it also listens to potential renderers attached later

Reviewed By: NickGerleman

Differential Revision: D50649867

fbshipit-source-id: c67426da313a80d7d57c918fe1d177ec685d753a
2023-10-31 09:06:21 -07:00
Pieter De Baets b35914de38 Remove references to global.nativeExtensions (#41260)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/41260

This was introduced some experiments which are no longer relevant.

Changelog: [Internal]

Reviewed By: yungsters

Differential Revision: D50736166

fbshipit-source-id: 7c9ff571112127e6a9e317113c05c30483626076
2023-10-31 08:26:28 -07:00
Peter Abbondanzo e8d622e9d1 Fix an issue where the status bar colors would not match when opening modals (#40979)
Summary:
The current ReactModalHostView implementation incorrectly applies system bar appearances by providing the wrong mask to the `setSystemBarsAppearance` method invocation. Per [this issue comment](https://github.com/facebook/react-native/issues/34350#issuecomment-1760339877), jaydonlau correctly identified that when the status bar is set to `light-content` (light icons, dark background), the function is called with both a `0` appearance and `0` mask, which should instead be provided with the `APPEARANCE_LIGHT_STATUS_BARS` mask.

The first pass at this PR attempted to pull out the entire appearance from the activity, compare it against the dialog's appearance, and only use a mask of differing bits (see the `appearanceMask` variable). However, if the `android:windowLightStatusBar` attribute is ever set to true, this does not impact the appearance of the status bar but rather the system UI visibility. As a result, the derived mask from system bars appearance would be 0 since both the activity and dialog would have appearances of 0.

Rather than try and "future-proof" this implementation for other uses of system bar appearance, this change is directed only at updating the `APPEARANCE_LIGHT_STATUS_BARS` bit in the dialog's system bar appearance. The only other native code that touches status bars is the `StatusBarModule` and that only touches this flag.

This is a follow-up to https://github.com/facebook/react-native/issues/34899.

## 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] - Fixed an issue where the status bar colors would not match when opening modals

Pull Request resolved: https://github.com/facebook/react-native/pull/40979

Test Plan:
First test:
- Replace the `RNTesterAppShared` implementation with the implementation from [this Expo snack](https://snack.expo.dev/abbondanzo/status-bar-tester)
- Toggle the status bar to show dark icons, open the modal and ensure that dark icons are displayed
- Toggle the status bar to show light icons, open the modal and ensure that light icons are displayed

Second test:
- Set the `android:windowLightStatusBar` attribute to true in the `AppTheme`
- Follow the steps from the First test above, guaranteeing that status bar appearance overrides the theme

Reviewed By: NickGerleman

Differential Revision: D50329714

Pulled By: luluwu2032

fbshipit-source-id: 26ecaca05f8e00a52e13767e468b552ac167fc98
2023-10-31 07:22:26 -07:00
Pieter De Baets dd694ec22e Remove unreferenced ParseUnhandledJSErrorStackNatively flag (#41239)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/41239

The experiment this covered was backed out and never re-landed (see D40387938).

Changelog: [Internal]

Reviewed By: NickGerleman

Differential Revision: D50641810

fbshipit-source-id: 6f92c46a37a07029ef2aa56ebf9b69e0503bb2cd
2023-10-31 07:09:46 -07:00
Pieter De Baets da5eb3efe3 Rollout RCTValidateCanSendEventInRCTEventEmitter (#41261)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/41261

Replaces a previous soft error with an RCTAssert.

Changelog: [Internal]

Reviewed By: RSNara

Differential Revision: D50641816

fbshipit-source-id: 06ef83d058169b3a73ad8179a778d32dff8db80d
2023-10-31 07:09:46 -07:00
dan 9a3b75c782 Apply Babel arrow transform only when needed (#41253)
Summary:
Hermes supports arrows. I assume the only reason the transform wasn't dropped is due to the scary TODO.

Originally, the arrow transform was conditional like this:

```js
  if (isNull || src.indexOf('=>') !== -1) {
    extraPlugins.push(es2015ArrowFunctions);
  }
```

I made it unconditional in https://github.com/facebook/metro/commit/beb3d1ab5dc46a856e0810f3c0787f8885c8f654 (D15947985) to work around an issue where React Refresh Babel plugin emitted arrow functions. However, I fixed that plugin to _not_ emit arrow functions a long time ago in https://github.com/facebook/react/pull/15956. So this TODO is effectively solved, and has been, for ages.

In this commit, we:

- Skip the transform for Hermes altogether
- For non-Hermes, revert to the old conditional behavior

Possible alternatives:

- We could skip it for Hermes but apply unconditionally otherwise (a bit simpler)
- Or, if all target non-Hermes runtimes already support it natively, we could completely remove it

## Changelog:

[GENERAL] [CHANGED] - Apply Babel arrow transform only on non-Hermes

Pull Request resolved: https://github.com/facebook/react-native/pull/41253

Test Plan: Run fbsource tests (that's for you, not for me :)

Reviewed By: NickGerleman

Differential Revision: D50818568

Pulled By: robhogan

fbshipit-source-id: ad96540bb7778792d38a6ddec06999d2acf620d0
2023-10-31 05:55:26 -07:00
Shivam Shashank a337f6eda7 Making setFabricEnabled Flag optional for ReactFragments (#41211)
Summary:
Making setFabricEnabled Flag optional for ReactFragments

## Changelog:
[ANDROID][CHANGED] - Continuation of PR: 36263

Pull Request resolved: https://github.com/facebook/react-native/pull/41211

Test Plan:
Kotlin Code Snippet to test:
```
supportFragmentManager
  .beginTransaction()
  .add(android.R.id.content,
     ReactFragment.Builder()
       .setComponentName("componentName")
       .setFabricEnabled(true)
       .build())
  .commit()
```

Reviewed By: cipolleschi

Differential Revision: D50732345

Pulled By: cortinico

fbshipit-source-id: 812fe1abeb8c09334bd755ce3a29f55ce8b7ac7b
2023-10-31 04:43:17 -07:00
tarunrajput a2f3fa65bc fix: textTransform not working in new arch (#41223)
Summary:
Fixes: https://github.com/facebook/react-native/issues/39524

## Changelog:

<!-- Help reviewers and the release process by writing your own changelog entry.

Pick one each for the category and type tags:
For more details, see:
https://reactnative.dev/contributing/changelogs-in-pull-requests
-->
[ANDROID] [FIXED] - Fix textTransform not working in new architecture

Pull Request resolved: https://github.com/facebook/react-native/pull/41223

Test Plan:
**Before:**
<img width="307" alt="image" src="https://github.com/facebook/react-native/assets/34857453/d44e6030-0a49-42c9-be44-cf7541583af0">

**After:**
<img width="307" alt="image" src="https://github.com/facebook/react-native/assets/34857453/fb717cec-72d3-41d7-8c48-4ec9a9ecb16b">

Reviewed By: javache

Differential Revision: D50773216

Pulled By: NickGerleman

fbshipit-source-id: 769bf67f2661ff4ff7b88121493bdd27564458d3
2023-10-30 18:20:55 -07:00
David Vacca a4edaf23cb Refactor NativeModule API
Summary:
EZ refactor NativeModule API:
- Reorder methods
- Add default implementation for deprecated methods

changelog: [internal] internal

Reviewed By: philIip

Differential Revision: D50610164

fbshipit-source-id: dd9dbf57be2b38c1c247858b6144f7fc6ef0fd31
2023-10-30 17:42:18 -07:00
David Vacca 7141c475bf Delete ReactInstancePackage (#41095)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/41095

I'm deleting this class becase ReactInstancePackage has been deprecated since 2018 and I analyzed internal meta codebase and OSS codebase and it seems it's not being used.

changelog: [Android][Breaking] Delete ReactInstancePackage

Reviewed By: philIip

Differential Revision: D50338299

fbshipit-source-id: 2824e58ff3bf9d17b605239dd9c9bea0adba93b8
2023-10-30 17:42:18 -07:00
David Vacca 5a57ec8a22 Migrate JSEngineResolutionAlgorithm to kotlin (#41015)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/41015

Migrate JSEngineResolutionAlgorithm to kotlin

changelog: [internal] internal

Reviewed By: christophpurrer, cortinico

Differential Revision: D50338298

fbshipit-source-id: 4d9cec37286ff834f188c300c054f644e03fc7cc
2023-10-30 17:42:18 -07:00
zhongwuzw a4a8695cec Fix module create dead-lock when start-up (#41194)
Summary:
`UIManager` gets module deadlock when start-up randomly. I think we can move it to the secondary thread safely.

```
(lldb) bt all
* thread https://github.com/facebook/react-native/issues/1, queue = 'com.apple.main-thread', stop reason = signal SIGSTOP
    frame #0: 0x000000010d66a5d6 libsystem_kernel.dylib`__psynch_cvwait + 10
    frame https://github.com/facebook/react-native/issues/1: 0x000000010d5f476b libsystem_pthread.dylib`_pthread_cond_wait + 1211
    frame https://github.com/facebook/react-native/issues/2: 0x000000010761dfe2 libc++.1.dylib`std::__1::condition_variable::wait(std::__1::unique_lock<std::__1::mutex>&) + 18
    frame https://github.com/facebook/react-native/issues/3: 0x00000001034a0a52 RNTester`-[RCTTurboModuleManager _provideObjCModule:moduleHolder:shouldPerfLog:](self=0x00007fafac10e990, _cmd="_provideObjCModule:moduleHolder:shouldPerfLog:", moduleName="AccessibilityManager", moduleHolder=0x0000600003c8cbd8, shouldPerfLog=YES) at RCTTurboModuleManager.mm:599:24
    frame https://github.com/facebook/react-native/issues/4: 0x00000001034a0488 RNTester`-[RCTTurboModuleManager _provideObjCModule:](self=0x00007fafac10e990, _cmd="_provideObjCModule:", moduleName="AccessibilityManager") at RCTTurboModuleManager.mm:517:32
    frame https://github.com/facebook/react-native/issues/5: 0x00000001034a2cfa RNTester`-[RCTTurboModuleManager moduleForName:warnOnLookupFailure:](self=0x00007fafac10e990, _cmd="moduleForName:warnOnLookupFailure:", moduleName="AccessibilityManager", warnOnLookupFailure=NO) at RCTTurboModuleManager.mm:976:32
    frame https://github.com/facebook/react-native/issues/6: 0x00000001030ba6aa RNTester`-[RCTCxxBridge moduleForName:lazilyLoadIfNecessary:](self=0x00007fafac105ab0, _cmd="moduleForName:lazilyLoadIfNecessary:", moduleName="AccessibilityManager", lazilyLoad=YES) at RCTCxxBridge.mm:568:35
  * frame https://github.com/facebook/react-native/issues/7: 0x000000010316fa38 RNTester`__26-[RCTUIManager setBridge:]_block_invoke(.block_descriptor=0x000060000055cb40) at RCTUIManager.m:188:55
    frame https://github.com/facebook/react-native/issues/8: 0x00000001090cc747 libdispatch.dylib`_dispatch_call_block_and_release + 12
    frame https://github.com/facebook/react-native/issues/9: 0x00000001090cd9f7 libdispatch.dylib`_dispatch_client_callout + 8
    frame https://github.com/facebook/react-native/issues/10: 0x00000001090dd856 libdispatch.dylib`_dispatch_main_queue_drain + 1362
    frame https://github.com/facebook/react-native/issues/11: 0x00000001090dd2f6 libdispatch.dylib`_dispatch_main_queue_callback_4CF + 31
    frame https://github.com/facebook/react-native/issues/12: 0x00000001088b4850 CoreFoundation`__CFRUNLOOP_IS_SERVICING_THE_MAIN_DISPATCH_QUEUE__ + 9
    frame https://github.com/facebook/react-native/issues/13: 0x00000001088af18b CoreFoundation`__CFRunLoopRun + 2463
    frame https://github.com/facebook/react-native/issues/14: 0x00000001088ae409 CoreFoundation`CFRunLoopRunSpecific + 557
    frame https://github.com/facebook/react-native/issues/15: 0x0000000114ede187 GraphicsServices`GSEventRunModal + 137
    frame https://github.com/facebook/react-native/issues/16: 0x0000000128be53a2 UIKitCore`-[UIApplication _run] + 972
    frame https://github.com/facebook/react-native/issues/17: 0x0000000128be9e10 UIKitCore`UIApplicationMain + 123
    frame https://github.com/facebook/react-native/issues/18: 0x0000000102fb7000 RNTester`main(argc=1, argv=0x00007ff7bcf4fce8) at main.m:15:12
    frame https://github.com/facebook/react-native/issues/19: 0x00000001069023ee dyld_sim`start_sim + 10
    frame https://github.com/facebook/react-native/issues/20: 0x000000010ea223a6 dyld`start + 1942
  thread https://github.com/facebook/react-native/issues/6, name = 'com.apple.uikit.eventfetch-thread'
    frame #0: 0x000000010d667a2e libsystem_kernel.dylib`mach_msg2_trap + 10
    frame https://github.com/facebook/react-native/issues/1: 0x000000010d675e4a libsystem_kernel.dylib`mach_msg2_internal + 84
    frame https://github.com/facebook/react-native/issues/2: 0x000000010d66eb6e libsystem_kernel.dylib`mach_msg_overwrite + 653
    frame https://github.com/facebook/react-native/issues/3: 0x000000010d667d1f libsystem_kernel.dylib`mach_msg + 19
    frame https://github.com/facebook/react-native/issues/4: 0x00000001088b45bf CoreFoundation`__CFRunLoopServiceMachPort + 143
    frame https://github.com/facebook/react-native/issues/5: 0x00000001088aed47 CoreFoundation`__CFRunLoopRun + 1371
    frame https://github.com/facebook/react-native/issues/6: 0x00000001088ae409 CoreFoundation`CFRunLoopRunSpecific + 557
    frame https://github.com/facebook/react-native/issues/7: 0x000000010a34ceee Foundation`-[NSRunLoop(NSRunLoop) runMode:beforeDate:] + 213
    frame https://github.com/facebook/react-native/issues/8: 0x000000010a34d16c Foundation`-[NSRunLoop(NSRunLoop) runUntilDate:] + 72
    frame https://github.com/facebook/react-native/issues/9: 0x0000000128cbd797 UIKitCore`-[UIEventFetcher threadMain] + 518
    frame https://github.com/facebook/react-native/issues/10: 0x000000010a377699 Foundation`__NSThread__start__ + 1024
    frame https://github.com/facebook/react-native/issues/11: 0x000000010d5f4202 libsystem_pthread.dylib`_pthread_start + 99
    frame https://github.com/facebook/react-native/issues/12: 0x000000010d5efbab libsystem_pthread.dylib`thread_start + 15
  thread https://github.com/facebook/react-native/issues/9, name = 'com.facebook.react.JavaScript'
    frame #0: 0x000000010d6691e2 libsystem_kernel.dylib`__ulock_wait + 10
    frame https://github.com/facebook/react-native/issues/1: 0x00000001090ce319 libdispatch.dylib`_dlock_wait + 46
    frame https://github.com/facebook/react-native/issues/2: 0x00000001090ce170 libdispatch.dylib`_dispatch_thread_event_wait_slow + 40
    frame https://github.com/facebook/react-native/issues/3: 0x00000001090debb2 libdispatch.dylib`__DISPATCH_WAIT_FOR_QUEUE__ + 371
    frame https://github.com/facebook/react-native/issues/4: 0x00000001090de5c9 libdispatch.dylib`_dispatch_sync_f_slow + 240
    frame https://github.com/facebook/react-native/issues/5: 0x00000001031847cb RNTester`RCTUnsafeExecuteOnMainQueueSync(block=0x00000001034a0bf0) at RCTUtils.m:277:5
    frame https://github.com/facebook/react-native/issues/6: 0x00000001034a0863 RNTester`-[RCTTurboModuleManager _provideObjCModule:moduleHolder:shouldPerfLog:](self=0x00007fafac10e990, _cmd="_provideObjCModule:moduleHolder:shouldPerfLog:", moduleName="AccessibilityManager", moduleHolder=0x0000600003c8cbd8, shouldPerfLog=YES) at RCTTurboModuleManager.mm:571:9
    frame https://github.com/facebook/react-native/issues/7: 0x00000001034a0488 RNTester`-[RCTTurboModuleManager _provideObjCModule:](self=0x00007fafac10e990, _cmd="_provideObjCModule:", moduleName="AccessibilityManager") at RCTTurboModuleManager.mm:517:32
    frame https://github.com/facebook/react-native/issues/8: 0x00000001034a2cfa RNTester`-[RCTTurboModuleManager moduleForName:warnOnLookupFailure:](self=0x00007fafac10e990, _cmd="moduleForName:warnOnLookupFailure:", moduleName="AccessibilityManager", warnOnLookupFailure=NO) at RCTTurboModuleManager.mm:976:32
    frame https://github.com/facebook/react-native/issues/9: 0x00000001030ba6aa RNTester`-[RCTCxxBridge moduleForName:lazilyLoadIfNecessary:](self=0x00007fafac105ab0, _cmd="moduleForName:lazilyLoadIfNecessary:", moduleName="AccessibilityManager", lazilyLoad=YES) at RCTCxxBridge.mm:568:35
    frame https://github.com/facebook/react-native/issues/10: 0x000000010366db7c RNTester`-[RCTBaseTextInputViewManager setBridge:](self=0x0000600000b19d60, _cmd="setBridge:", bridge=0x00007fafac105ab0) at RCTBaseTextInputViewManager.mm:104:53
    frame https://github.com/facebook/react-native/issues/11: 0x000000010a2c1796 Foundation`-[NSObject(NSKeyValueCoding) setValue:forKey:] + 278
    frame https://github.com/facebook/react-native/issues/12: 0x0000000103116f42 RNTester`-[RCTModuleData setBridgeForInstance](self=0x0000600003eb58c0, _cmd="setBridgeForInstance") at RCTModuleData.mm:256:7
    frame https://github.com/facebook/react-native/issues/13: 0x0000000103116971 RNTester`-[RCTModuleData setUpInstanceAndBridge:](self=0x0000600003eb58c0, _cmd="setUpInstanceAndBridge:", requestId=10) at RCTModuleData.mm:210:7
    frame https://github.com/facebook/react-native/issues/14: 0x0000000103118990 RNTester`-[RCTModuleData instance](self=0x0000600003eb58c0, _cmd="instance") at RCTModuleData.mm:395:7
    frame https://github.com/facebook/react-native/issues/15: 0x00000001030ba8b6 RNTester`-[RCTCxxBridge moduleForName:lazilyLoadIfNecessary:](self=0x00007fafac105ab0, _cmd="moduleForName:lazilyLoadIfNecessary:", moduleName="BaseTextInputViewManager", lazilyLoad=YES) at RCTCxxBridge.mm:587:23
    frame https://github.com/facebook/react-native/issues/16: 0x00000001030bad90 RNTester`-[RCTCxxBridge moduleForClass:](self=0x00007fafac105ab0, _cmd="moduleForClass:", moduleClass=RCTBaseTextInputViewManager) at RCTCxxBridge.mm:631:10
    frame https://github.com/facebook/react-native/issues/17: 0x000000010309bd59 RNTester`-[RCTComponentData manager](self=0x0000600002fbd920, _cmd="manager") at RCTComponentData.m:67:16
    frame https://github.com/facebook/react-native/issues/18: 0x00000001030a2831 RNTester`-[RCTComponentData viewConfig](self=0x0000600002fbd920, _cmd="viewConfig") at RCTComponentData.m:518:3
    frame https://github.com/facebook/react-native/issues/19: 0x0000000103180216 RNTester`moduleConstantsForComponentData(directEvents=7 key/value pairs, bubblingEvents=2 key/value pairs, componentData=0x0000600002fbd920) at RCTUIManager.m:1568:99
    frame https://github.com/facebook/react-native/issues/20: 0x00000001031800ea RNTester`__28-[RCTUIManager getConstants]_block_invoke(.block_descriptor=0x00007000042d35d0, name=@"RCTBaseTextInputView", componentData=0x0000600002fbd920, stop=NO) at RCTUIManager.m:1586:13
    frame https://github.com/facebook/react-native/issues/21: 0x000000010889d4fd CoreFoundation`__NSDICTIONARY_IS_CALLING_OUT_TO_A_BLOCK__ + 7
    frame https://github.com/facebook/react-native/issues/22: 0x00000001089c9281 CoreFoundation`-[__NSDictionaryM enumerateKeysAndObjectsWithOptions:usingBlock:] + 249
    frame https://github.com/facebook/react-native/issues/23: 0x000000010317feb7 RNTester`-[RCTUIManager getConstants](self=0x000060000206d0a0, _cmd="getConstants") at RCTUIManager.m:1582:3
    frame https://github.com/facebook/react-native/issues/24: 0x000000010317fdb1 RNTester`-[RCTUIManager constantsToExport](self=0x000060000206d0a0, _cmd="constantsToExport") at RCTUIManager.m:1573:10
    frame https://github.com/facebook/react-native/issues/25: 0x000000010311911b RNTester`-[RCTModuleData gatherConstantsAndSignalJSRequireEnding:](self=0x0000600003eb5500, _cmd="gatherConstantsAndSignalJSRequireEnding:", startMarkers=YES) at RCTModuleData.mm:462:28
    frame https://github.com/facebook/react-native/issues/26: 0x00000001031193e9 RNTester`-[RCTModuleData exportedConstants](self=0x0000600003eb5500, _cmd="exportedConstants") at RCTModuleData.mm:477:3
    frame https://github.com/facebook/react-native/issues/27: 0x0000000103125d09 RNTester`facebook::react::RCTNativeModule::getConstants(this=0x0000600000beac80) at RCTNativeModule.mm:68:42
    frame https://github.com/facebook/react-native/issues/28: 0x000000010370a0f2 RNTester`facebook::react::ModuleRegistry::getConfig(this=0x0000600003e913a0, name="UIManager") at ModuleRegistry.cpp:154:30
    frame https://github.com/facebook/react-native/issues/29: 0x0000000103797b6e RNTester`facebook::react::JSINativeModules::createModule(this=0x0000600002f8cf78, rt=0x0000600002f8d278, name="UIManager") at JSINativeModules.cpp:81:35
    frame https://github.com/facebook/react-native/issues/30: 0x000000010379778c RNTester`facebook::react::JSINativeModules::getModule(this=0x0000600002f8cf78, rt=0x0000600002f8d278, name=0x00007000042d4138) at JSINativeModules.cpp:46:17
    frame https://github.com/facebook/react-native/issues/31: 0x000000010378814a RNTester`facebook::react::JSIExecutor::NativeModuleProxy::get(this=0x000060000057ac88, rt=0x0000600002f8d278, name=0x00007000042d4138) at JSIExecutor.cpp:44:27
    frame https://github.com/facebook/react-native/issues/32: 0x00000001037448d6 RNTester`facebook::jsi::DecoratedHostObject::get(this=0x0000600001e3e118, (null)=0x0000600003cb8630, name=0x00007000042d4138) at decorator.h:70:22
    frame https://github.com/facebook/react-native/issues/33: 0x0000000109667ff7 hermes`facebook::hermes::HermesRuntimeImpl::JsiProxy::get(this=0x0000600000ba4d20, id=(id_ = 4435)) at hermes.cpp:698:20 [opt]
    frame https://github.com/facebook/react-native/issues/34: 0x00000001096e7436 hermes`hermes::vm::JSObject::getComputedWithReceiver_RJS(hermes::vm::Handle<hermes::vm::JSObject>, hermes::vm::Runtime&, hermes::vm::Handle<hermes::vm::HermesValue>, hermes::vm::Handle<hermes::vm::HermesValue>) [inlined] hermes::vm::HostObject::get(this=<unavailable>, name=<unavailable>) at HostModel.h:112:24 [opt]
    frame https://github.com/facebook/react-native/issues/35: 0x00000001096e742c hermes`hermes::vm::JSObject::getComputedWithReceiver_RJS(selfHandle=<unavailable>, runtime=0x00007fafae026000, nameValHandle=<unavailable>, receiver=Handle<hermes::vm::HermesValue> @ 0x00007000042d4190) at JSObject.cpp:1182:55 [opt]
    frame https://github.com/facebook/react-native/issues/36: 0x00000001096cc141 hermes`hermes::vm::CallResult<hermes::vm::HermesValue, (hermes::vm::detail::CallResultSpecialize)2> hermes::vm::Interpreter::interpretFunction<false, false>(hermes::vm::Runtime&, hermes::vm::InterpreterState&) [inlined] hermes::vm::JSObject::getComputed_RJS(selfHandle=<unavailable>, runtime=0x00007fafae026000, nameValHandle=<unavailable>) at JSObject.h:1940:10 [opt]
    frame https://github.com/facebook/react-native/issues/37: 0x00000001096cc12f hermes`hermes::vm::CallResult<hermes::vm::HermesValue, (hermes::vm::detail::CallResultSpecialize)2> hermes::vm::Interpreter::interpretFunction<false, false>(runtime=0x00007fafae026000, state=0x00007000042d4470) at Interpreter.cpp:2481:11 [opt]
    frame https://github.com/facebook/react-native/issues/38: 0x00000001096c84bc hermes`hermes::vm::Runtime::interpretFunctionImpl(this=0x00007fafae026000, newCodeBlock=0x0000600003068000) at Interpreter.cpp:825:12 [opt]
    frame https://github.com/facebook/react-native/issues/39: 0x000000010970fbc8 hermes`hermes::vm::Runtime::runBytecode(this=0x00007fafae026000, bytecode=<unavailable>, flags=<unavailable>, sourceURL=(Data = "http://localhost:8081/js/RNTesterApp.ios.bundle//&platform=ios&dev=true&lazy=true&minify=false&inlineSourceMap=false&modulesOnly=false&runModule=true&app=com.meta.RNTester.localDevelopment", Length = 188), environment=Handle<hermes::vm::Environment> @ 0x00007000042d44d0, thisArg=Handle<hermes::vm::HermesValue> @ 0x00007000042d4630) at Runtime.cpp:1079:11 [opt]
    frame https://github.com/facebook/react-native/issues/40: 0x000000010965ac1d hermes`facebook::hermes::HermesRuntimeImpl::evaluatePreparedJavaScript(std::__1::shared_ptr<facebook::jsi::PreparedJavaScript const> const&) [inlined] hermes::vm::Runtime::runBytecode(this=0x00007fafae026000, bytecode=nullptr, runtimeModuleFlags=RuntimeModuleFlags @ rbx, sourceURL=(Data = 0x0000000000000000, Length = 188), environment=<unavailable>) at Runtime.h:277:12 [opt]
    frame https://github.com/facebook/react-native/issues/41: 0x000000010965abe7 hermes`facebook::hermes::HermesRuntimeImpl::evaluatePreparedJavaScript(this=0x0000600003cb8630, js=std::__1::shared_ptr<const facebook::jsi::PreparedJavaScript>::element_type @ 0x00006000028d7038 strong=1 weak=1) at hermes.cpp:1494:23 [opt]
    frame https://github.com/facebook/react-native/issues/42: 0x000000010965aaa0 hermes`facebook::hermes::HermesRuntime::evaluateJavaScriptWithSourceMap(this=0x0000600003cb8630, buffer=std::__1::shared_ptr<const facebook::jsi::Buffer>::element_type @ 0x00006000009b4590 strong=2 weak=1, sourceMapBuf=nullptr, sourceURL=<unavailable>) at hermes.cpp:1361:22 [opt]
    frame https://github.com/facebook/react-native/issues/43: 0x000000010965bdef hermes`facebook::hermes::HermesRuntimeImpl::evaluateJavaScript(this=<unavailable>, buffer=<unavailable>, sourceURL=<unavailable>) at hermes.cpp:1506:10 [opt]
    frame https://github.com/facebook/react-native/issues/44: 0x0000000103742ef1 RNTester`facebook::jsi::RuntimeDecorator<facebook::jsi::Runtime, facebook::jsi::Runtime>::evaluateJavaScript(this=0x0000600002f8d278, buffer=std::__1::shared_ptr<const facebook::jsi::Buffer>::element_type @ 0x00006000009b4590 strong=2 weak=1, sourceURL="http://localhost:8081/js/RNTesterApp.ios.bundle//&platform=ios&dev=true&lazy=true&minify=false&inlineSourceMap=false&modulesOnly=false&runModule=true&app=com.meta.RNTester.localDevelopment") at decorator.h:118:20
    frame https://github.com/facebook/react-native/issues/45: 0x000000010374086d RNTester`facebook::jsi::WithRuntimeDecorator<facebook::react::(anonymous namespace)::ReentrancyCheck, facebook::jsi::Runtime, facebook::jsi::Runtime>::evaluateJavaScript(this=0x0000600002f8d278, buffer=std::__1::shared_ptr<const facebook::jsi::Buffer>::element_type @ 0x00006000009b4590 strong=2 weak=1, sourceURL="http://localhost:8081/js/RNTesterApp.ios.bundle//&platform=ios&dev=true&lazy=true&minify=false&inlineSourceMap=false&modulesOnly=false&runModule=true&app=com.meta.RNTester.localDevelopment") at decorator.h:530:16
    frame https://github.com/facebook/react-native/issues/46: 0x0000000103782c60 RNTester`facebook::react::JSIExecutor::loadBundle(this=0x00007fafabb07990, script=nullptr, sourceURL="http://localhost:8081/js/RNTesterApp.ios.bundle//&platform=ios&dev=true&lazy=true&minify=false&inlineSourceMap=false&modulesOnly=false&runModule=true&app=com.meta.RNTester.localDevelopment") at JSIExecutor.cpp:160:13
    frame https://github.com/facebook/react-native/issues/47: 0x0000000103718719 RNTester`facebook::react::NativeToJsBridge::loadBundle(std::__1::unique_ptr<facebook::react::RAMBundleRegistry, std::__1::default_delete<facebook::react::RAMBundleRegistry>>, std::__1::unique_ptr<facebook::react::JSBigString const, std::__1::default_delete<facebook::react::JSBigString const>>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>)::$_1::operator()(this=0x0000600001e81fc8, executor=0x00007fafabb07990) at NativeToJsBridge.cpp:144:21
    frame https://github.com/facebook/react-native/issues/48: 0x0000000103718600 RNTester`decltype(std::declval<facebook::react::NativeToJsBridge::loadBundle(std::__1::unique_ptr<facebook::react::RAMBundleRegistry, std::__1::default_delete<facebook::react::RAMBundleRegistry>>, std::__1::unique_ptr<facebook::react::JSBigString const, std::__1::default_delete<facebook::react::JSBigString const>>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>)::$_1&>()(std::declval<facebook::react::JSExecutor*>())) std::__1::__invoke[abi:v160006]<facebook::react::NativeToJsBridge::loadBundle(std::__1::unique_ptr<facebook::react::RAMBundleRegistry, std::__1::default_delete<facebook::react::RAMBundleRegistry>>, std::__1::unique_ptr<facebook::react::JSBigString const, std::__1::default_delete<facebook::react::JSBigString const>>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>)::$_1&, facebook::react::JSExecutor*>(__f=0x0000600001e81fc8, __args=0x00007000042d4aa0) at invoke.h:394:23
    frame https://github.com/facebook/react-native/issues/49: 0x00000001037185ad RNTester`void std::__1::__invoke_void_return_wrapper<void, true>::__call<facebook::react::NativeToJsBridge::loadBundle(std::__1::unique_ptr<facebook::react::RAMBundleRegistry, std::__1::default_delete<facebook::react::RAMBundleRegistry>>, std::__1::unique_ptr<facebook::react::JSBigString const, std::__1::default_delete<facebook::react::JSBigString const>>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>)::$_1&, facebook::react::JSExecutor*>(__args=0x0000600001e81fc8, __args=0x00007000042d4aa0) at invoke.h:487:9
    frame https://github.com/facebook/react-native/issues/50: 0x0000000103718585 RNTester`std::__1::__function::__alloc_func<facebook::react::NativeToJsBridge::loadBundle(std::__1::unique_ptr<facebook::react::RAMBundleRegistry, std::__1::default_delete<facebook::react::RAMBundleRegistry>>, std::__1::unique_ptr<facebook::react::JSBigString const, std::__1::default_delete<facebook::react::JSBigString const>>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>)::$_1, std::__1::allocator<facebook::react::NativeToJsBridge::loadBundle(std::__1::unique_ptr<facebook::react::RAMBundleRegistry, std::__1::default_delete<facebook::react::RAMBundleRegistry>>, std::__1::unique_ptr<facebook::react::JSBigString const, std::__1::default_delete<facebook::react::JSBigString const>>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>)::$_1>, void (facebook::react::JSExecutor*)>::operator()[abi:v160006](this=0x0000600001e81fc8, __arg=0x00007000042d4aa0) at function.h:185:16
    frame https://github.com/facebook/react-native/issues/51: 0x0000000103717311 RNTester`std::__1::__function::__func<facebook::react::NativeToJsBridge::loadBundle(std::__1::unique_ptr<facebook::react::RAMBundleRegistry, std::__1::default_delete<facebook::react::RAMBundleRegistry>>, std::__1::unique_ptr<facebook::react::JSBigString const, std::__1::default_delete<facebook::react::JSBigString const>>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>)::$_1, std::__1::allocator<facebook::react::NativeToJsBridge::loadBundle(std::__1::unique_ptr<facebook::react::RAMBundleRegistry, std::__1::default_delete<facebook::react::RAMBundleRegistry>>, std::__1::unique_ptr<facebook::react::JSBigString const, std::__1::default_delete<facebook::react::JSBigString const>>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>)::$_1>, void (facebook::react::JSExecutor*)>::operator()(this=0x0000600001e81fc0, __arg=0x00007000042d4aa0) at function.h:356:12
    frame https://github.com/facebook/react-native/issues/52: 0x0000000103723f2a RNTester`std::__1::__function::__value_func<void (facebook::react::JSExecutor*)>::operator()[abi:v160006](this=0x0000600002fad4d0, __args=0x00007000042d4aa0) const at function.h:510:16
    frame https://github.com/facebook/react-native/issues/53: 0x0000000103723ebd RNTester`std::__1::function<void (facebook::react::JSExecutor*)>::operator()(this=0x0000600002fad4d0, __arg=0x00007fafabb07990) const at function.h:1156:12
    frame https://github.com/facebook/react-native/issues/54: 0x0000000103723e97 RNTester`facebook::react::NativeToJsBridge::runOnExecutorQueue(std::__1::function<void (facebook::react::JSExecutor*)>&&)::$_8::operator()(this=0x0000600002fad4b0) const at NativeToJsBridge.cpp:308:9
    frame https://github.com/facebook/react-native/issues/55: 0x0000000103723e35 RNTester`decltype(std::declval<facebook::react::NativeToJsBridge::runOnExecutorQueue(std::__1::function<void (facebook::react::JSExecutor*)>&&)::$_8&>()()) std::__1::__invoke[abi:v160006]<facebook::react::NativeToJsBridge::runOnExecutorQueue(std::__1::function<void (facebook::react::JSExecutor*)>&&)::$_8&>(__f=0x0000600002fad4b0) at invoke.h:394:23
    frame https://github.com/facebook/react-native/issues/56: 0x0000000103723df5 RNTester`void std::__1::__invoke_void_return_wrapper<void, true>::__call<facebook::react::NativeToJsBridge::runOnExecutorQueue(std::__1::function<void (facebook::react::JSExecutor*)>&&)::$_8&>(__args=0x0000600002fad4b0) at invoke.h:487:9
    frame https://github.com/facebook/react-native/issues/57: 0x0000000103723dcd RNTester`std::__1::__function::__alloc_func<facebook::react::NativeToJsBridge::runOnExecutorQueue(std::__1::function<void (facebook::react::JSExecutor*)>&&)::$_8, std::__1::allocator<facebook::react::NativeToJsBridge::runOnExecutorQueue(std::__1::function<void (facebook::react::JSExecutor*)>&&)::$_8>, void ()>::operator()[abi:v160006](this=0x0000600002fad4b0) at function.h:185:16
    frame https://github.com/facebook/react-native/issues/58: 0x0000000103722b89 RNTester`std::__1::__function::__func<facebook::react::NativeToJsBridge::runOnExecutorQueue(std::__1::function<void (facebook::react::JSExecutor*)>&&)::$_8, std::__1::allocator<facebook::react::NativeToJsBridge::runOnExecutorQueue(std::__1::function<void (facebook::react::JSExecutor*)>&&)::$_8>, void ()>::operator()(this=0x0000600002fad4a0) at function.h:356:12
    frame https://github.com/facebook/react-native/issues/59: 0x00000001030cdd72 RNTester`std::__1::__function::__value_func<void ()>::operator()[abi:v160006](this=0x00006000028f85c0) const at function.h:510:16
    frame https://github.com/facebook/react-native/issues/60: 0x00000001030cdd35 RNTester`std::__1::function<void ()>::operator()(this= Lambda in File NativeToJsBridge.cpp at Line 298) const at function.h:1156:12
    frame https://github.com/facebook/react-native/issues/61: 0x00000001030e1145 RNTester`facebook::react::tryAndReturnError(func= Lambda in File NativeToJsBridge.cpp at Line 298) at RCTCxxUtils.mm:73:7
    frame https://github.com/facebook/react-native/issues/62: 0x000000010310a5c1 RNTester`facebook::react::RCTMessageThread::tryFunc(this=0x00006000028f0018, func= Lambda in File NativeToJsBridge.cpp at Line 298) at RCTMessageThread.mm:68:20
    frame https://github.com/facebook/react-native/issues/63: 0x000000010310e823 RNTester`facebook::react::RCTMessageThread::runOnQueue(std::__1::function<void ()>&&)::$_1::operator()(this=0x0000600000538d88) const at RCTMessageThread.mm:81:19
    frame https://github.com/facebook/react-native/issues/64: 0x000000010310e7c5 RNTester`decltype(std::declval<facebook::react::RCTMessageThread::runOnQueue(std::__1::function<void ()>&&)::$_1&>()()) std::__1::__invoke[abi:v160006]<facebook::react::RCTMessageThread::runOnQueue(std::__1::function<void ()>&&)::$_1&>(__f=0x0000600000538d88) at invoke.h:394:23
    frame https://github.com/facebook/react-native/issues/65: 0x000000010310e785 RNTester`void std::__1::__invoke_void_return_wrapper<void, true>::__call<facebook::react::RCTMessageThread::runOnQueue(std::__1::function<void ()>&&)::$_1&>(__args=0x0000600000538d88) at invoke.h:487:9
    frame https://github.com/facebook/react-native/issues/66: 0x000000010310e75d RNTester`std::__1::__function::__alloc_func<facebook::react::RCTMessageThread::runOnQueue(std::__1::function<void ()>&&)::$_1, std::__1::allocator<facebook::react::RCTMessageThread::runOnQueue(std::__1::function<void ()>&&)::$_1>, void ()>::operator()[abi:v160006](this=0x0000600000538d88) at function.h:185:16
    frame https://github.com/facebook/react-native/issues/67: 0x000000010310d709 RNTester`std::__1::__function::__func<facebook::react::RCTMessageThread::runOnQueue(std::__1::function<void ()>&&)::$_1, std::__1::allocator<facebook::react::RCTMessageThread::runOnQueue(std::__1::function<void ()>&&)::$_1>, void ()>::operator()(this=0x0000600000538d80) at function.h:356:12
    frame https://github.com/facebook/react-native/issues/68: 0x00000001030cdd72 RNTester`std::__1::__function::__value_func<void ()>::operator()[abi:v160006](this=0x00006000028fa690) const at function.h:510:16
    frame https://github.com/facebook/react-native/issues/69: 0x00000001030cdd35 RNTester`std::__1::function<void ()>::operator()(this= Lambda in File RCTMessageThread.mm at Line 79) const at function.h:1156:12
    frame https://github.com/facebook/react-native/issues/70: 0x000000010310a39a RNTester`invocation function for block in facebook::react::RCTMessageThread::runAsync(.block_descriptor=0x00006000028fa670) at RCTMessageThread.mm:44:7
    frame https://github.com/facebook/react-native/issues/71: 0x00000001088b4b06 CoreFoundation`__CFRUNLOOP_IS_CALLING_OUT_TO_A_BLOCK__ + 12
    frame https://github.com/facebook/react-native/issues/72: 0x00000001088b42b9 CoreFoundation`__CFRunLoopDoBlocks + 391
    frame https://github.com/facebook/react-native/issues/73: 0x00000001088af076 CoreFoundation`__CFRunLoopRun + 2186
    frame https://github.com/facebook/react-native/issues/74: 0x00000001088ae409 CoreFoundation`CFRunLoopRunSpecific + 557
    frame https://github.com/facebook/react-native/issues/75: 0x00000001030b6ec5 RNTester`+[RCTCxxBridge runRunLoop](self=RCTCxxBridge, _cmd="runRunLoop") at RCTCxxBridge.mm:332:12
    frame https://github.com/facebook/react-native/issues/76: 0x000000010a377699 Foundation`__NSThread__start__ + 1024
    frame https://github.com/facebook/react-native/issues/77: 0x000000010d5f4202 libsystem_pthread.dylib`_pthread_start + 99
    frame https://github.com/facebook/react-native/issues/78: 0x000000010d5efbab libsystem_pthread.dylib`thread_start + 15
  thread https://github.com/facebook/react-native/issues/10, name = 'hades'
    frame #0: 0x000000010d66a5d6 libsystem_kernel.dylib`__psynch_cvwait + 10
    frame https://github.com/facebook/react-native/issues/1: 0x000000010d5f476b libsystem_pthread.dylib`_pthread_cond_wait + 1211
    frame https://github.com/facebook/react-native/issues/2: 0x000000010761dfe2 libc++.1.dylib`std::__1::condition_variable::wait(std::__1::unique_lock<std::__1::mutex>&) + 18
    frame https://github.com/facebook/react-native/issues/3: 0x00000001097aee78 hermes`hermes::vm::HadesGC::Executor::worker() [inlined] void std::__1::condition_variable::wait<hermes::vm::HadesGC::Executor::worker()::'lambda'()>(this=0x0000600003cb8300, __lk=0x0000700004358f20, __pred=(unnamed class) @ rbx) at __mutex_base:400:9 [opt]
    frame https://github.com/facebook/react-native/issues/4: 0x00000001097aee5a hermes`hermes::vm::HadesGC::Executor::worker(this=0x0000600003cb82c0) at HadesGC.cpp:1084:11 [opt]
    frame https://github.com/facebook/react-native/issues/5: 0x00000001097aedba hermes`void* std::__1::__thread_proxy[abi:v160006]<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct>>, hermes::vm::HadesGC::Executor::Executor()::'lambda'()>>(void*) [inlined] hermes::vm::HadesGC::Executor::Executor(this=0x00006000009a8ba8)::'lambda'()::operator()() const at HadesGC.cpp:1051:33 [opt]
    frame https://github.com/facebook/react-native/issues/6: 0x00000001097aedb5 hermes`void* std::__1::__thread_proxy[abi:v160006]<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct>>, hermes::vm::HadesGC::Executor::Executor()::'lambda'()>>(void*) [inlined] decltype(std::declval<hermes::vm::HadesGC::Executor::Executor()::'lambda'()>()()) std::__1::__invoke[abi:v160006]<hermes::vm::HadesGC::Executor::Executor()::'lambda'()>(__f=0x00006000009a8ba8) at invoke.h:394:23 [opt]
    frame https://github.com/facebook/react-native/issues/7: 0x00000001097aedb5 hermes`void* std::__1::__thread_proxy[abi:v160006]<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct>>, hermes::vm::HadesGC::Executor::Executor()::'lambda'()>>(void*) [inlined] void std::__1::__thread_execute[abi:v160006]<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct>>, hermes::vm::HadesGC::Executor::Executor()::'lambda'()>(__t=size=2, (null)=<unavailable>) at thread:288:5 [opt]
    frame https://github.com/facebook/react-native/issues/8: 0x00000001097aedb5 hermes`void* std::__1::__thread_proxy[abi:v160006]<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct>>, hermes::vm::HadesGC::Executor::Executor()::'lambda'()>>(__vp=0x00006000009a8ba0) at thread:299:5 [opt]
    frame https://github.com/facebook/react-native/issues/9: 0x000000010d5f4202 libsystem_pthread.dylib`_pthread_start + 99
    frame https://github.com/facebook/react-native/issues/10: 0x000000010d5efbab libsystem_pthread.dylib`thread_start + 15
  thread https://github.com/facebook/react-native/issues/11, name = 'com.apple.CFStream.LegacyThread'
    frame #0: 0x000000010d667a2e libsystem_kernel.dylib`mach_msg2_trap + 10
    frame https://github.com/facebook/react-native/issues/1: 0x000000010d675e4a libsystem_kernel.dylib`mach_msg2_internal + 84
    frame https://github.com/facebook/react-native/issues/2: 0x000000010d66eb6e libsystem_kernel.dylib`mach_msg_overwrite + 653
    frame https://github.com/facebook/react-native/issues/3: 0x000000010d667d1f libsystem_kernel.dylib`mach_msg + 19
    frame https://github.com/facebook/react-native/issues/4: 0x00000001088b45bf CoreFoundation`__CFRunLoopServiceMachPort + 143
    frame https://github.com/facebook/react-native/issues/5: 0x00000001088aed47 CoreFoundation`__CFRunLoopRun + 1371
    frame https://github.com/facebook/react-native/issues/6: 0x00000001088ae409 CoreFoundation`CFRunLoopRunSpecific + 557
    frame https://github.com/facebook/react-native/issues/7: 0x00000001088d1e34 CoreFoundation`_legacyStreamRunLoop_workThread + 251
    frame https://github.com/facebook/react-native/issues/8: 0x000000010d5f4202 libsystem_pthread.dylib`_pthread_start + 99
    frame https://github.com/facebook/react-native/issues/9: 0x000000010d5efbab libsystem_pthread.dylib`thread_start + 15
  thread https://github.com/facebook/react-native/issues/12, name = 'com.facebook.SocketRocket.NetworkThread'
    frame #0: 0x000000010d667a2e libsystem_kernel.dylib`mach_msg2_trap + 10
    frame https://github.com/facebook/react-native/issues/1: 0x000000010d675e4a libsystem_kernel.dylib`mach_msg2_internal + 84
    frame https://github.com/facebook/react-native/issues/2: 0x000000010d66eb6e libsystem_kernel.dylib`mach_msg_overwrite + 653
    frame https://github.com/facebook/react-native/issues/3: 0x000000010d667d1f libsystem_kernel.dylib`mach_msg + 19
    frame https://github.com/facebook/react-native/issues/4: 0x00000001088b45bf CoreFoundation`__CFRunLoopServiceMachPort + 143
    frame https://github.com/facebook/react-native/issues/5: 0x00000001088aed47 CoreFoundation`__CFRunLoopRun + 1371
    frame https://github.com/facebook/react-native/issues/6: 0x00000001088ae409 CoreFoundation`CFRunLoopRunSpecific + 557
    frame https://github.com/facebook/react-native/issues/7: 0x000000010a34ceee Foundation`-[NSRunLoop(NSRunLoop) runMode:beforeDate:] + 213
    frame https://github.com/facebook/react-native/issues/8: 0x000000010381a49b RNTester`-[SRRunLoopThread main](self=0x00006000028e80f0, _cmd="main") at SRRunLoopThread.m:71:16
    frame https://github.com/facebook/react-native/issues/9: 0x000000010a377699 Foundation`__NSThread__start__ + 1024
    frame https://github.com/facebook/react-native/issues/10: 0x000000010d5f4202 libsystem_pthread.dylib`_pthread_start + 99
    frame https://github.com/facebook/react-native/issues/11: 0x000000010d5efbab libsystem_pthread.dylib`thread_start + 15
  thread https://github.com/facebook/react-native/issues/13
    frame #0: 0x000000010d5efb88 libsystem_pthread.dylib`start_wqthread
  thread https://github.com/facebook/react-native/issues/14, name = 'com.apple.NSURLConnectionLoader'
    frame #0: 0x000000010d667a2e libsystem_kernel.dylib`mach_msg2_trap + 10
    frame https://github.com/facebook/react-native/issues/1: 0x000000010d675e4a libsystem_kernel.dylib`mach_msg2_internal + 84
    frame https://github.com/facebook/react-native/issues/2: 0x000000010d66eb6e libsystem_kernel.dylib`mach_msg_overwrite + 653
    frame https://github.com/facebook/react-native/issues/3: 0x000000010d667d1f libsystem_kernel.dylib`mach_msg + 19
    frame https://github.com/facebook/react-native/issues/4: 0x00000001088b45bf CoreFoundation`__CFRunLoopServiceMachPort + 143
    frame https://github.com/facebook/react-native/issues/5: 0x00000001088aed47 CoreFoundation`__CFRunLoopRun + 1371
    frame https://github.com/facebook/react-native/issues/6: 0x00000001088ae409 CoreFoundation`CFRunLoopRunSpecific + 557
    frame https://github.com/facebook/react-native/issues/7: 0x00000001093cf78b CFNetwork`___lldb_unnamed_symbol13826 + 444
    frame https://github.com/facebook/react-native/issues/8: 0x000000010a377699 Foundation`__NSThread__start__ + 1024
    frame https://github.com/facebook/react-native/issues/9: 0x000000010d5f4202 libsystem_pthread.dylib`_pthread_start + 99
    frame https://github.com/facebook/react-native/issues/10: 0x000000010d5efbab libsystem_pthread.dylib`thread_start + 15
  thread https://github.com/facebook/react-native/issues/15, name = 'com.apple.CFSocket.private'
    frame #0: 0x000000010d670922 libsystem_kernel.dylib`__select + 10
    frame https://github.com/facebook/react-native/issues/1: 0x00000001088c2dcf CoreFoundation`__CFSocketManager + 643
    frame https://github.com/facebook/react-native/issues/2: 0x000000010d5f4202 libsystem_pthread.dylib`_pthread_start + 99
    frame https://github.com/facebook/react-native/issues/3: 0x000000010d5efbab libsystem_pthread.dylib`thread_start + 15
```

## Changelog:

[IOS] [FIXED] - Fix module create dead-lock when start-up

Pull Request resolved: https://github.com/facebook/react-native/pull/41194

Test Plan: Null.

Reviewed By: javache

Differential Revision: D50800290

Pulled By: sammy-SC

fbshipit-source-id: b60b8e0681cbec7b7aa8812188c9f7ea5f03966b
2023-10-30 13:38:32 -07:00
Samuel Susla 885a4ae09d only schedule frame callback when there are mount items in FabricUIManager
Summary:
changelog: [internal]

It is redundant to schedule frame callback if there is no work to do. Let's remove it.

Reviewed By: javache

Differential Revision: D50494928

fbshipit-source-id: fce7d9a84eb2486dc01d4bff98540c128b91969d
2023-10-30 12:05:00 -07:00
Samuel Susla 4655f2063d add feature flag to disable Choreographer callbacks in Paper infra
Summary:
changelog: [internal]

For constrained environments, we want to lower cpu usage of RN when the app is idle. `UIViewOperationQueue` and `EventDispatcherImpl` are not used in Fabric and therefore they do not need to run on each frame.

Reviewed By: javache

Differential Revision: D50741161

fbshipit-source-id: aa605893f1c8a4ac97a49bb7a6de2e2637a0832e
2023-10-30 07:42:24 -07:00
Oskar Kwaśniewski e2eb26c951 fix(iOS): adjust RCTRedBox to work for iPad and support orientation changes (#41217)
Summary:
When opening `RCTRedBox` on an iPad (and also visionOS) there was an issue with buttons width going out of screen. When changing screen orientation, RedBox wasn't recalculating view positions.

**Root cause**: Getting frame of root view to display this modal and basing all calculations on it.

**Solution**: Use Auto Layout to build UI that responds to orientation changes and device specific modal presentation.

I've also tested it with adding custom buttons to RedBox and it works properly.

## Changelog:

[IOS] [FIXED] - adjust RCTRedBox to work for iPad and support orientation changes

Pull Request resolved: https://github.com/facebook/react-native/pull/41217

Test Plan:
Launch the app without metro running and check out RedBox that's shown there. Also change screen orientation to see proper recalculation of view positions.

### Before

https://github.com/facebook/react-native/assets/52801365/892dcfe7-246f-4f36-be37-12c139c207ac

### After

https://github.com/facebook/react-native/assets/52801365/dfd0c3d8-5997-462d-97ec-dcc3de452e26

Reviewed By: GijsWeterings

Differential Revision: D50734569

Pulled By: javache

fbshipit-source-id: 51b854a47caf90ae46fcd32c4adcc64ec2ceb63f
2023-10-30 07:30:55 -07:00
Lulu Wu 10c3292694 Add support for legacy UIManager in UIManagerHelper (#41206)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/41206

Root cause: Currently Bridgeless only support FabricUIManager and the legacy UIManager is not supported

Next steps: check for other places where legacy UIManager is not supported

Changelog:
[Android][Changed] - Bridgeless: Add support for legacy UIManager in UIManagerHelper

Reviewed By: cortinico

Differential Revision: D50694805

fbshipit-source-id: 93eba1eb3106d4aa8dccf8be761d97ced778cf67
2023-10-29 18:37:40 -07:00
David Vacca 118e651bc2 Delete LazyReactPackage.getReactModuleInfoProviderViaReflection (#41096)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/41096

LazyReactPackage.getReactModuleInfoProviderViaReflection was deprecated in 0.72, I'm just deleting it.
There are no usages internally or externally

changelog: [Android][Breaking] Delete deprecated method LazyReactPackage.getReactModuleInfoProviderViaReflection

Reviewed By: arushikesarwani94

Differential Revision: D50338302

fbshipit-source-id: 02fe91d5da8d6f01b8d3852aced90034a1a5c8e8
2023-10-27 11:13:09 -07:00
David Vacca bfc64f444e Mark LazyReactPackage as Deprecated in the new architecture of React Native (#41097)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/41097

LazyReactPackage is beig replaced by TurboReactPackage / BaseReactPackage, that's why I'm docummenting LazyReactPackage as Deprecated

changelog: [internal] internal

Reviewed By: arushikesarwani94

Differential Revision: D50338301

fbshipit-source-id: 6093772400ccaf928a549c078791845513dcb56a
2023-10-27 11:13:09 -07:00
Oskar Kwaśniewski e08a1973f6 feat(iOS): migrate deprecated UIMenuController to UIEditMenuInteraction (#41125)
Summary:
The goal of this PR is to migrate deprecated `UIMenuController` to `UIEditMenuInteraction`. `UIMenuController` has been deprecated in iOS 16 and for that reason it's not available for VisionOS.

## Recording

https://github.com/facebook/react-native/assets/52801365/fed994be-d444-462a-9ed0-39b50531425d

bypass-github-export-checks

## 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] [CHANGED] - Migrate RCTTextView to UIEditMenuInteraction

Pull Request resolved: https://github.com/facebook/react-native/pull/41125

Test Plan: Launch RNTester and check for "Selectable Text" example and check that it works for iOS 16/17.

Reviewed By: javache

Differential Revision: D50551016

Pulled By: cipolleschi

fbshipit-source-id: 558ecc5a04a5daa9c4360fabddcab28fba72a323
2023-10-27 11:11:19 -07:00
Rob Hogan 7853b06929 Update Metro to ^0.80.0 - don't pin to exact version (#41219)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/41219

Bump to the latest Metro release. This includes minor breaking changes to Metro subpackages that should *not* be visible to RN users.

Metro release notes: https://github.com/facebook/metro/releases/tag/v0.80.0

## Moving to unpinned versioning
Metro is a multi-package project, and not pinning to an exact version means multiple versions of `metro*` packages may appear in an RN project.

This isn't unusual in the NPM ecosystem and *shouldn't* be a problem, but historically has caused issues (eg https://github.com/facebook/react-native/issues/34714, https://github.com/facebook/metro/issues/1017). The root cause of all of these issues, as far as we know, was fixed in https://github.com/facebook/metro/commit/6d46078e74ae9a43aa90bed46dbd6610e2696cd0, a bug where Node hierarchical resolution was effectively sidestepped via a relative worker path, resulting in a mismatch between transformer and host process.

In addition, the fact that `react-refresh`, `metro-react-native-babel-transformer` and `metro-react-native-babel-preset` are now fully moved into the `react-native/` scope and versioned with React Native means there are no circular dependencies between React Native and Metro, explicit or implicit, and we're much more clearly decoupled.

So, we're moving to caret versioning to allow React Native users to pick up Metro fixes and features without requiring React Native releases and user upgrades.

Changelog:
[General][Changed] - Update Metro to ^v0.80.0, stop pinning to an exact version

Reviewed By: GijsWeterings

Differential Revision: D50731999

fbshipit-source-id: 57b07bf73c0b31f392c4d36376ca48b48a8bd598
2023-10-27 10:42:46 -07:00
Krystof Woldrich 7612e6601a feat(tm-android): Reject Promise if Turbo Module method throws an Error (#37484)
Summary:
### [iOS change here](https://github.com/facebook/react-native/pull/40764)

This PR builds upon the previous work done in https://github.com/facebook/react-native/pull/36925, which introduced native stack traces to the JSError for synchronous functions.

The current modifications concentrate on functions that return Promises. Prior to this PR, errors within Promise-returning functions would be thrown at the platform layer crashing the app without a link to the JS stack.

After the implementation of this PR, errors thrown within Promise-returning functions are now captured and transformed into rejected Promises. These rejected Promises contain a JS Error object that contains both the JS stack trace and the cause, along with the platform stack trace.

Additionally, this PR ensures that rejections from native functions are now linked to the JS stack trace, providing a more comprehensive view of the rejection flow.

## Changelog:

<!-- Help reviewers and the release process by writing your own changelog entry.

Pick one each for the category and type tags:

[ANDROID|GENERAL|IOS|INTERNAL] [BREAKING|ADDED|CHANGED|DEPRECATED|REMOVED|FIXED|SECURITY] - Message

For more details, see:
https://reactnative.dev/contributing/changelogs-in-pull-requests
-->

[GENERAL][ADDED] - Turbo Modules Promise-returning functions reject with JS and platform stack traces information

Pull Request resolved: https://github.com/facebook/react-native/pull/37484

Test Plan:
| Android |
|--------|
| ![function_promise_android](https://github.com/krystofwoldrich/react-native/assets/31292499/1d1a3adf-986a-47b4-b98b-9e766176b7ae) |

Example of intentionally rejected promise on Android:

```
{
  "name": "Error",
  "message": "Exception in HostFunction: intentional promise rejection",
  "stack": "[native code]\ntryCallTwo@http://10.0.2.2:8081/js/RNTesterApp.android.bundle?platform=android&dev=true&lazy=true&minify=false&app=com.facebook.react.uiapp&modulesOnly=false&runModule=true:25844:9\ndoResolve@http://10.0.2.2:8081/js/RNTesterApp.android.bundle?platform=android&dev=true&lazy=true&minify=false&app=com.facebook.react.uiapp&modulesOnly=false&runModule=true:25975:25\nPromise@http://10.0.2.2:8081/js/RNTesterApp.android.bundle?platform=android&dev=true&lazy=true&minify=false&app=com.facebook.react.uiapp&modulesOnly=false&runModule=true:25863:14\n[native code]\nrejectPromise@http://10.0.2.2:8081/js/examples/TurboModule/SampleTurboModuleExample.bundle?platform=android&lazy=true&app=com.facebook.react.uiapp&modulesOnly=true&dev=true&minify=false&runModule=true&shallow=true:42:70\nonPress@http://10.0.2.2:8081/js/examples/TurboModule/SampleTurboModuleExample.bundle?platform=android&lazy=true&app=com.facebook.react.uiapp&modulesOnly=true&dev=true&minify=false&runModule=true&shallow=true:242:71\n_performTransitionSideEffects@http://10.0.2.2:8081/js/RNTesterApp.android.bundle?platform=android&dev=true&lazy=true&minify=false&app=com.facebook.react.uiapp&modulesOnly=false&runModule=true:51896:22\n_receiveSignal@http://10.0.2.2:8081/js/RNTesterApp.android.bundle?platform=android&dev=true&lazy=true&minify=false&app=com.facebook.react.uiapp&modulesOnly=false&runModule=true:51852:45\nonResponderRelease@http://10.0.2.2:8081/js/RNTesterApp.android.bundle?platform=android&dev=true&lazy=true&minify=false&app=com.facebook.react.uiapp&modulesOnly=false&runModule=true:51715:34\ninvokeGuardedCallbackProd@http://10.0.2.2:8081/js/RNTesterApp.android.bundle?platform=android&dev=true&lazy=true&minify=false&app=com.facebook.react.uiapp&modulesOnly=false&runModule=true:2962:21\ninvokeGuardedCallback@http://10.0.2.2:8081/js/RNTesterApp.android.bundle?platform=android&dev=true&lazy=true&minify=false&app=com.facebook.react.uiapp&modulesOnly=false&runModule=true:3048:42\ninvokeGuardedCallbackAndCatchFirstError@http://10.0.2.2:8081/js/RNTesterApp.android.bundle?platform=android&dev=true&lazy=true&minify=false&app=com.facebook.react.uiapp&modulesOnly=false&runModule=true:3051:36\nexecuteDispatch@http://10.0.2.2:8081/js/RNTesterApp.android.bundle?platform=android&dev=true&lazy=true&minify=false&app=com.facebook.react.uiapp&modulesOnly=false&runModule=true:3115:48\nexecuteDispatchesInOrder@http://10.0.2.2:8081/js/RNTesterApp.android.bundle?platform=android&dev=true&lazy=true&minify=false&app=com.facebook.react.uiapp&modulesOnly=false&runModule=true:3132:26\nexecuteDispatchesAndRelease@http://10.0.2.2:8081/js/RNTesterApp.android.bundle?platform=android&dev=true&lazy=true&minify=false&app=com.facebook.react.uiapp&modulesOnly=false&runModule=true:4856:35\nforEach@[native code]\nforEachAccumulated@http://10.0.2.2:8081/js/RNTesterApp.android.bundle?platform=android&dev=true&lazy=true&minify=false&app=com.facebook.react.uiapp&modulesOnly=false&runModule=true:3574:22\nrunEventsInBatch@http://10.0.2.2:8081/js/RNTesterApp.android.bundle?platform=android&dev=true&lazy=true&minify=false&app=com.facebook.react.uiapp&modulesOnly=false&runModule=true:4874:27\nrunExtractedPluginEventsInBatch@http://10.0.2.2:8081/js/RNTesterApp.android.bundle?platform=android&dev=true&lazy=true&minify=false&app=com.facebook.react.uiapp&modulesOnly=false&runModule=true:4896:25\nhttp://10.0.2.2:8081/js/RNTesterApp.android.bundle?platform=android&dev=true&lazy=true&minify=false&app=com.facebook.react.uiapp&modulesOnly=false&runModule=true:4914:42\nbatchedUpdates$1@http://10.0.2.2:8081/js/RNTesterApp.android.bundle?platform=android&dev=true&lazy=true&minify=false&app=com.facebook.react.uiapp&modulesOnly=false&runModule=true:14750:20\nbatchedUpdates@http://10.0.2.2:8081/js/RNTesterApp.android.bundle?platform=android&dev=true&lazy=true&minify=false&app=com.facebook.react.uiapp&modulesOnly=false&runModule=true:4845:36\ndispatchEvent@http://10.0.2.2:8081/js/RNTesterApp.android.bundle?platform=android&dev=true&lazy=true&minify=false&app=com.facebook.react.uiapp&modulesOnly=false&runModule=true:4907:23",
  "cause": {
    "nativeStackAndroid": [
      {
        "lineNumber": 173,
        "file": "SampleTurboModule.java",
        "methodName": "getValueWithPromise",
        "class": "com.facebook.fbreact.specs.SampleTurboModule"
      },
      {
        "lineNumber": -2,
        "file": "NativeRunnable.java",
        "methodName": "run",
        "class": "com.facebook.jni.NativeRunnable"
      },
      {
        "lineNumber": 942,
        "file": "Handler.java",
        "methodName": "handleCallback",
        "class": "android.os.Handler"
      },
      {
        "lineNumber": 99,
        "file": "Handler.java",
        "methodName": "dispatchMessage",
        "class": "android.os.Handler"
      },
      {
        "lineNumber": 27,
        "file": "MessageQueueThreadHandler.java",
        "methodName": "dispatchMessage",
        "class": "com.facebook.react.bridge.queue.MessageQueueThreadHandler"
      },
      {
        "lineNumber": 201,
        "file": "Looper.java",
        "methodName": "loopOnce",
        "class": "android.os.Looper"
      },
      {
        "lineNumber": 288,
        "file": "Looper.java",
        "methodName": "loop",
        "class": "android.os.Looper"
      },
      {
        "lineNumber": 228,
        "file": "MessageQueueThreadImpl.java",
        "methodName": "run",
        "class": "com.facebook.react.bridge.queue.MessageQueueThreadImpl$4"
      },
      {
        "lineNumber": 1012,
        "file": "Thread.java",
        "methodName": "run",
        "class": "java.lang.Thread"
      }
    ],
    "userInfo": null,
    "message": "intentional promise rejection",
    "code": "code 1"
  }
}
```

How I logged out the Errors:

```js
console.log('Error in JS:', JSON.stringify({
  name: e.name,
  message: e.message,
  stack: e.stack,
  ...e,
}, null, 2));
```

Reviewed By: RSNara

Differential Revision: D50613349

Pulled By: javache

fbshipit-source-id: b49c469118c8d8d27c43164f110dfe57ddd592d9
2023-10-27 10:20:40 -07:00
Riccardo Cipolleschi daedbe6e3e Make the interop-layer work with components with custom name (#41207)
Summary:
This should fix
https://github.com/facebook/react-native/issues/37905#issuecomment-1774851214

When working on react-native-fast-image, we realized that the interop layer does not work for components where the exported name is different from the iOS class.

To fix this, we can use the Bridge to retrieve the actual view manager, given the component name.

This solution should be much more robust than making assumptions on the ViewManager name, given the ComponentName.

On top of that, we realized tha the interop layer was not calling `didSetProps` after setting the props, so we are invoking that.

bypass-github-export-checks

## Changelog:
[iOS][Fixed] - Add support for Components with custom names in the interop layer.

Pull Request resolved: https://github.com/facebook/react-native/pull/41207

Test Plan: Tested locally on an app created in 0.72 and 0.73 in Bridge and Bridgeless mode.

Reviewed By: cortinico

Differential Revision: D50698172

Pulled By: cipolleschi

fbshipit-source-id: 49aee905418515b0204febbbe6a67c0114f37029
2023-10-27 08:03:04 -07:00
Riccardo Cipolleschi 4eed12b7df Fix RNTestProject testing on Android (#41172)
Summary:
While releasing RN 0.73.0-RC3, we relaized that the e2e test script was bugged for Android when used to test RNTestProject with the `-c` option.

There  were 2 problems:
- The downloaded maven-local was not actually used because it doesn't work with a zip. (We were always downloading a version from Maven)
- The versions of React Native between maven-local and the locally packaged React Native were different.

This change fixes the script by:
- Downloading maven-local
- Unzipping maven-local and passing the new folder to the Android app
- Downloading the React Native version that has been packaged in CI

By unzipping maven-local and using the unzipped folder, we make sure that Android is actually using the local repository.
By downloading both the packaged react native and the maven-local from the same CI workflow, we ensure that the versions are aligned.

This also speeds-up further the Android testing.

While running this change, we also moved the `pod install` step inside the `if (iOS)` branch, so we do not install Cocoapods if we need to test
Android.

## Changelog:
[Internal] - Fix Android E2E test script when downloading artefacts from CI

Pull Request resolved: https://github.com/facebook/react-native/pull/41172

Test Plan: Tested locally on both main and 0.73-stable, on both Android and iOS

Reviewed By: cortinico

Differential Revision: D50651448

Pulled By: cipolleschi

fbshipit-source-id: 70a9ed19072119d19c5388e8a4309d7333a08e13
2023-10-27 07:25:02 -07:00
Pieter De Baets 3648886ff0 Use AsyncCallback in RCTTurboModule (re-land) (#41049)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/41049

Similarly to D50319914, simplify the careful logic we have with CallbackWrapper and RCTBlockGuard and instead rely on bridging's `AsyncCallback` so safely handle jsi::Function for us.

The underlying issue causing memory corruption has been addressed in D50286876.

Changelog: [Internal]

Reviewed By: christophpurrer

Differential Revision: D50319913

fbshipit-source-id: e422518b9a647b7daa0b75eae529a8b04ce1c22b
2023-10-27 04:10:21 -07:00
Isabel Chai 8ac47faf32 Back out "setup test to use custom queue for RCTNetworking operations instead of module queue"
Summary:
Reverting D50588308 (GH commit: [1e21b5b08c](https://github.com/facebook/react-native/commit/1e21b5b08c165742d378a96b9321bc8a58f4df33)) as it is causing trouble to internal apps

bypass-github-export-checks

## Changelog:
[Internal] - Reverting [1e21b5b08c](https://github.com/facebook/react-native/commit/1e21b5b08c165742d378a96b9321bc8a58f4df33)

Differential Revision: D50730742

fbshipit-source-id: fc657fa9152894c47b134ca35effb7e67955966f
2023-10-27 03:53:20 -07:00
Isabel Chai 4e04ff5610 Back out "fix missed callsites for RCTNetworker requestQueue"
Summary:
Reverting D50680549 (GH commit: [0699347324](https://github.com/facebook/react-native/commit/069934732482bf35f717a5b451f83d5012220d55)) as it is causing trouble to internal apps

bypass-github-export-checks

## Changelog:
[Internal] - Reverting [0699347324](https://github.com/facebook/react-native/commit/069934732482bf35f717a5b451f83d5012220d55)

Differential Revision: D50730707

fbshipit-source-id: 30a475395318d37c5c7e6a182c4006bfa9d077fe
2023-10-27 03:53:20 -07:00
Phillip Pan 3f621df189 migrate RCTActionSheetManager to handle synchronous void method execution
Summary:
Changelog: [Internal]

in the future, all void native module methods will execute synchronously.

currently, many modules override the methodQueue selector to return the main queue so their async methods will be executed on the main thread by our infra. now that void methods are executing synchronously, this override will be ignored, thus causing unpredictable behavior for those methods that do depend on being run on main thread to behave correctly.

the migration in this stack will prevent bugs caused by this behavioral change by explicitly dispatching execution onto the main thread.

Reviewed By: mdvacca

Differential Revision: D50635827

fbshipit-source-id: 384ee2f0237a49dc4f50e4171092c864f2f55327
2023-10-26 21:44:40 -07:00
David Vacca ac7b158b3b Migrate ReactInstanceEventListener to kotlin (#41098)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/41098

Migrate ReactInstanceEventListener to kotlin

changelog: [internal] internal

Reviewed By: christophpurrer

Differential Revision: D50338295

fbshipit-source-id: 805b4ef65b8d88e9cde3f77f791d3a8d6f2e0a3c
2023-10-26 18:33:02 -07:00
Lulu Wu 6b3289bc73 Fall back to eager view manage loading (#41165)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/41165

Currently Bridgeless forces lazy view manager loading, each ReactPackage must implement ```ViewManagerOnDemandReactPackage```. This can bring extra hassle for OSS users in migration.

This diff add backward compatibility by falling back to eager view manage loading, after detecting any ReactPackage of current application NOT a subclass of ```ViewManagerOnDemandReactPackage```.

Changelog:
[Android][Changed] - Fall back to eager view manage loading for Bridgeless

Reviewed By: cortinico

Differential Revision: D50556405

fbshipit-source-id: 32357d1934068d0fa0f2b7cb46b54f2f41b3e24f
2023-10-26 08:31:48 -07:00
Nicola Corti 1a7a677a90 Do not attempt to query Maven Central if project has react.internal.mavenLocalRepo (#41175)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/41175

This will make sure that if you specify a maven local folder with `react.internal.mavenLocalRepo`
you're not attempting to fetch artifacts from Maven Central.

Changelog:
[Internal] [Changed] - Do not attempt to query Maven Central if project has react.internal.mavenLocalRepo

ignored-github-export-checks
bypass-github-export-checks

Reviewed By: mdvacca

Differential Revision: D50600815

fbshipit-source-id: f429c2ae9d7204e4aa2cb29357983c0dc3a1aab6
2023-10-26 07:46:51 -07:00
Riccardo Cipolleschi 3d1d2f5a23 Prevent test windows to pull in node 20 (#41200)
Summary:
Since yesterday, Chocolatey is pulling in Node 20 rather than Node 18 for tests.
It ends up that mock-fs is not working with Node 20, so, for the time being, we are going to keep 18.

## Changelog:
[Internal] - Use node 18 instead of 20 for Test Windows

Pull Request resolved: https://github.com/facebook/react-native/pull/41200

Test Plan: CircleCI is green

Reviewed By: hoxyq

Differential Revision: D50690846

Pulled By: cipolleschi

fbshipit-source-id: 505b8e8f90b46019d8e582cc8dad2e2d1edffd54
2023-10-26 05:14:48 -07:00
David Vacca dffd9d2170 Replace usages of deprecated class TurboReactPackage (#41197)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/41197

As part of https://github.com/facebook/react-native/pull/40775 we marked TurboReactPackage as DeprecatedInNewArchitecture introducing the new class BaseReactPackage.
In this diff I'm replacing usages of TurboReactPackage by BaseReactPackage to make sure new usages of BaseReactPackage work as expected.

changelog: [internal] internal

Reviewed By: arushikesarwani94

Differential Revision: D50611382

fbshipit-source-id: 867c5949463cb5537960a346099e687379baeb73
2023-10-25 23:50:45 -07:00
David Vacca 93f6970618 EZ cleanup of ReactInstanceManager (#41196)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/41196

cleanup of ReactInstanceManager to remove some lint warns

changelog: [internal] internal

Reviewed By: arushikesarwani94

Differential Revision: D50610673

fbshipit-source-id: d27684e0bc91dc9b137ac9dc412bfa8761774a37
2023-10-25 23:50:45 -07:00
David Vacca a05a705202 Mark ReactInstanceManager and ReactInstanceManagerBuilder as Stable (#41099)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/41099

Mark ReactInstanceManager and ReactInstanceManagerBuilder as Stable

bypass-github-export-checks

changelog: [internal] internal

Reviewed By: christophpurrer

Differential Revision: D50338305

fbshipit-source-id: 6b35c675048170c9dfd9d8aee02d40f34c4d3eb4
2023-10-25 23:42:23 -07:00
Phillip Pan 0699347324 fix missed callsites for RCTNetworker requestQueue (#41195)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/41195

Changelog: [Internal]

in PR 41183 , i introduced a new method to retrieve the RCTNetworker's execution queue. i missed updating a few of these asserts

Reviewed By: fkgozali

Differential Revision: D50680549

fbshipit-source-id: ac88382e13ade4434abbb7d6cbca168117df492e
2023-10-25 23:14:09 -07:00
Luna Wei 97647d1184 for 0.70.14 (#41177)
Summary:
[Internal] Changelog for 0.70.14

Pull Request resolved: https://github.com/facebook/react-native/pull/41177

Reviewed By: cortinico

Differential Revision: D50610159

Pulled By: lunaleaps

fbshipit-source-id: badd37c8b51ff5d45e328d1ac06eb8e996035506
2023-10-25 12:12:02 -07:00
Gabriel Donadel 13ae11152a Ensure namespace is specified for all the 3rd party libraries (#41085)
Summary:
As stated here https://github.com/react-native-community/discussions-and-proposals/issues/671 React Native 0.73 will depend on Android Gradle Plugin (AGP) 8.x  which requires all libraries to specify a namespace in their build.gradle file, even though this issue was raised many months ago, lots of libraries have not been updated and don't specify a `namespace` inside their build.gradle files

## Changelog:

[ANDROID] [CHANGED] - Ensure namespace is specified for all the 3rd party libraries

Pull Request resolved: https://github.com/facebook/react-native/pull/41085

Test Plan:
Run RNGP tests and test building rn-tester after doing the following procedure

1. Remove `namespace "com.facebook.react"` from react-native/packages/react-native/ReactAndroid/build.gradle
2. Add `package="com.facebook.react"` to react-native/packages/react-native/ReactAndroid/src/main/AndroidManifest.xml
3. Build rn-tester

Also tested this using [BareExpo](https://github.com/expo/expo/tree/main/apps/bare-expo) with AGP 8.1.1 and all libraries that were missing the `namespace` compiled correctly

Reviewed By: cipolleschi

Differential Revision: D50556667

Pulled By: cortinico

fbshipit-source-id: 3d75ec0a8b82427ff0ede89aa7bc58b28b288945
2023-10-25 12:11:21 -07:00
Rubén Norte 8809392d87 Add Systrace sections for async TurboModule calls on Android and iOS (#41192)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/41192

We currently don't have visibility on what the native module thread is doing when it's busy (on Android). This adds Systrace blocks to at least know the native module and the method we're running there.

Changelog: [internal]

Reviewed By: ryancat

Differential Revision: D50645557

fbshipit-source-id: 5cb6a7f1166bfd50c28f0aba634552c35a34c941
2023-10-25 11:49:00 -07:00
Oskar Kwaśniewski bf408a409b chore: remove unused RNTester assets (#41186)
Summary:
This PR removes some unused RNTester assets that were left during removal of slider and removal of Bookmarks feature in RNTester.

## 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] [REMOVED] - Removed unused images from RNTester

Pull Request resolved: https://github.com/facebook/react-native/pull/41186

Test Plan: Not needed

Reviewed By: shwanton

Differential Revision: D50649244

Pulled By: cortinico

fbshipit-source-id: 5203b446108c04619c8cc57ec56f2d5e8455df2b
2023-10-25 11:28:26 -07:00
Nicola Corti dca81e6172 Bump Fresco to 3.1.3 (#41190)
Summary:
Bumping Fresco to the latest version (3.1.3)

## Changelog:

[ANDROID] [FIXED] - Bump Fresco to 3.1.3

Pull Request resolved: https://github.com/facebook/react-native/pull/41190

Test Plan: CI Should be green

Reviewed By: lunaleaps

Differential Revision: D50650250

Pulled By: cortinico

fbshipit-source-id: ab8151e882300849ef27ec14c4adc77fdf8503e6
2023-10-25 11:14:48 -07:00
Lulu Wu b67bc3ffd3 Fix RNTester not showing Redbox when Metro is not connected (#41191)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/41191

In dev mode, display a Redbox for the first fatal error during RN initialization. So if the first fatal error is Metro not connected that will be displayed via Redbox.

Changelog:
[Android][Changed] - Fix RNTester not showing Redbox when Metro is not connected

Reviewed By: cortinico

Differential Revision: D50600631

fbshipit-source-id: f269091c1745a76b49e72d9051c4836a39fded12
2023-10-25 10:23:29 -07:00
Phillip Pan 1e21b5b08c setup test to use custom queue for RCTNetworking operations instead of module queue (#41183)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/41183

Changelog: [Internal]

in my quest to get rid of all synthesized methodQueues, we have RCTNetworking which uses it internally as well as exposes its underlying execution queue. in this diff, i add a config that replaces that queue with one that is managed by the module itself instead of the one generated by the infra.

this is the last one!

Reviewed By: cipolleschi

Differential Revision: D50588308

fbshipit-source-id: 98fa54a2b5851898a4514b1fb7feaf586cfdbb0c
2023-10-25 09:13:06 -07:00