mirror of
https://github.com/facebook/react-native.git
synced 2025-11-01 09:14:26 +00:00
a337f6eda71424e2eaa765aabef2a932bfac221f
29561
Commits
| Author | SHA1 | Message | Date | |
|---|---|---|---|---|
|
|
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 |
||
|
|
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 |
||
|
|
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 |
||
|
|
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 |
||
|
|
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 |
||
|
|
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 |
||
|
|
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 |
||
|
|
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 |
||
|
|
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 |
||
|
|
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 |
||
|
|
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 |
||
|
|
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 |
||
|
|
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 |
||
|
|
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 |
||
|
|
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 | |--------| |  | 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 |
||
|
|
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 |
||
|
|
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 |
||
|
|
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 |
||
|
|
8ac47faf32 |
Back out "setup test to use custom queue for RCTNetworking operations instead of module queue"
Summary: Reverting D50588308 (GH commit: [ |
||
|
|
4e04ff5610 |
Back out "fix missed callsites for RCTNetworker requestQueue"
Summary: Reverting D50680549 (GH commit: [ |
||
|
|
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 |
||
|
|
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 |
||
|
|
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 |
||
|
|
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 |
||
|
|
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 |
||
|
|
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 |
||
|
|
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 |
||
|
|
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 |
||
|
|
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 |
||
|
|
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 |
||
|
|
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 |
||
|
|
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 |
||
|
|
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 |
||
|
|
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 |
||
|
|
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 |
||
|
|
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 |
||
|
|
7093a45b1c |
setup test to use custom queue for RCTBlobManager operations instead of module queue (#41182)
Summary: Pull Request resolved: https://github.com/facebook/react-native/pull/41182 Changelog: [Internal] in my quest to get rid of all synthesized methodQueues, we have RCTBlobManager which 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. Reviewed By: cipolleschi Differential Revision: D50587693 fbshipit-source-id: 993a13c617afe48c3989d8cd5ad5fbda050603f4 |
||
|
|
7e26e0270b |
Fix createAnimatedStyle when providing undefined transform style (#41176)
Summary: https://github.com/facebook/react-native/pull/35198 introduced a regression where if an `{transform: undefined}` style is provided to an Animated View a `Cannot read property 'map' of undefined` type error is thrown <img src="https://github.com/facebook/react-native/assets/11707729/bb87781e-1ba7-40ec-879d-a57cef3e10d9" height="200" /> ## Changelog: [GENERAL] [FIXED] - Fix `createAnimatedStyle` when providing an undefined transform style Pull Request resolved: https://github.com/facebook/react-native/pull/41176 Test Plan: <details> <summary>Render an `Animated.View` passing `style={{transform: undefined}}`</summary> E.g. ``` const UndefinedTransform = () => { return ( <View> <Animated.View style={{transform: undefined}} /> </View> ); }; ``` </details> ### RNTester 1. Open the RNTester app and navigate to the Animated page 2. Navigate to the Transform Styles page 3. App should not throw any errors <table> <tr><th>Before</th><th>After</th></tr> <tr> <td><video src="https://github.com/facebook/react-native/assets/11707729/92ba9c3b-60b0-4805-8080-0e7fb7c00345"/></td> <td><video src="https://github.com/facebook/react-native/assets/11707729/80e2bba8-6ff6-4cf5-bcb8-26de0b869036"/></td> </tr> </table> Reviewed By: fabriziocucci Differential Revision: D50638415 Pulled By: javache fbshipit-source-id: 0ee949f019a77b8bef557888694e0e8404810105 |
||
|
|
b1e92d6e0d |
RNTester enable concurrent root when using Fabric (#41166)
Summary: RNTester's `AppDelegate` override `prepareInitialProps` method of super class `RCTAppDelegate` https://github.com/facebook/react-native/blob/70acd3f7d9edae9e40cc4603bede9778da281a85/packages/react-native/Libraries/AppDelegate/RCTAppDelegate.mm#L152, so we missed `concurrentRoot` initial prop.  cc javache cipolleschi ## Changelog: [IOS] [FIXED] - RNTester enable concurrent root when using Fabric Pull Request resolved: https://github.com/facebook/react-native/pull/41166 Test Plan: Warning disappear. Reviewed By: cipolleschi Differential Revision: D50596693 Pulled By: javache fbshipit-source-id: d73a17cd137b3088405f86b739cb0ed7b5a9839e |
||
|
|
e167ac9eab |
Fabric: clean up oldChildShadowView when handle Insert mount (#41155)
Summary: We don't need to get oldChildShadowView when we handle the insert mount. So we can remove it. ## Changelog: [IOS] [CHANGED] - Fabric: clean up oldChildShadowView when handling Insert mount Pull Request resolved: https://github.com/facebook/react-native/pull/41155 Test Plan: None. Reviewed By: sammy-SC Differential Revision: D50554037 Pulled By: javache fbshipit-source-id: 3250b6bbe119d800f05f39f790dc6949357d4f27 |
||
|
|
586de42d90 |
iOS: Export RCTConvert+Transform.h header (#41179)
Summary: Pull Request resolved: https://github.com/facebook/react-native/pull/41179 Some libraries need to import it, e.g.: https://github.com/software-mansion/react-native-svg/blob/f9c7d8a807c8dc5b21e8ac0358a9bf7a820a1f61/apple/ViewManagers/RNSVGNodeManager.mm#L12 But depending on the build configuration, `#import "RCTConvert.h"` may not be able to find the header properly, so let's move it to `<React/RCTConvert.h>` Changelog: [Internal] Reviewed By: javache Differential Revision: D50586352 fbshipit-source-id: a770008acec311a498cf667545bf899f9a8cbef9 |
||
|
|
c999535fe6 |
Refactor LazyTurboModuleManagerDelegate to avoid holding references to TurboModules (#41181)
Summary: Pull Request resolved: https://github.com/facebook/react-native/pull/41181 The goal of this refactor is to ensure that LazyTurboModuleManagerDelegate doesn't hold references to TurboModules. EveryTime that LazyTurboModuleManagerDelegate.getModule is called, it will create a new TurboModule. This 'should' be fine because the references to already created TurboModules are held on TurboModuleManager.mModuleHolders. As part of this diff I'm also throwing an exception when the method LazyTurboModuleManagerDelegate.unstable_isModuleRegistered is called. This should be fine because I ensured that "LazyTurboModuleManagerDelegate.unstable_isModuleRegistered' is not called for this experiment. changelog: [internal] internal Reviewed By: RSNara Differential Revision: D50610163 fbshipit-source-id: 8d9d808b9b637c8e9bc3fd9c2502793161cac42c |
||
|
|
833d589a68 |
setup test to use custom queue for RCTImageStoreManager operations instead of module queue (#41178)
Summary: Pull Request resolved: https://github.com/facebook/react-native/pull/41178 Changelog: [Internal] in my quest to get rid of all synthesized `methodQueue`s, we have `RCTImageStoreManager` which uses this throughout. in this diff, i add a config that uses a queue that is managed by the module itself instead of the one generated by the infra. Reviewed By: cipolleschi Differential Revision: D50585904 fbshipit-source-id: a33f8a4844fe3ef861bf1c3a7b87a9ed4b24d13f |
||
|
|
b5dae017f7 |
Implement atomic reporting of UI changes in Runtime Scheduler (#41157)
Summary: Pull Request resolved: https://github.com/facebook/react-native/pull/41157 This is internal until we're ready to test this outside of Meta. Changelog: [internal] ## Context In the new architecture, every time we commit a new tree in React we send a transaction to the host platform to make all the necessary mutations in the underlying native views. This can be bad for user experience, because the user might see quick changes to the UI in succession for related changes. It also breaks the semantics of things like layout effects and ref callbacks, which are core to the React programming model and should work across all platforms. The main semantic that this behavior breaks in React Native is that layout effects are supposed to be blocking for paint. That means that any state updates (or UI mutations) done in layout effects should be applied to the UI atomically with the original changes that triggered them, so users see a single update where the final state is applied. This doesn't work in React Native as none of the commits coming from React are blocked waiting for effects, and instead they're all mounted/applied as they come. This isn't only a problem for React, but also for future Web-like APIs that rely on microtasks. Those are also assumed to block paint in browsers, and we don't support that behavior either. ## Changes Now that we're adding support for a well-defined event loop in React Native, we can add a new step to notify UI changes to the host platform in specific points in time, after macrotasks and microtasks are done (the "Update the rendering" step defined on the [Web specification](https://html.spec.whatwg.org/multipage/webappapis.html#event-loop-processing-model)). This implements that step in the new `RuntimeScheduler`. This works by batching all the notifications from the `UIManager` to `MountingCoordinator` and calling all those methods from `RuntimeScheduler` at the right time. There will be cases where the notifications will be to mount the same tree multiple times, but the mounting coordinator already handles this correctly (would mount the last version of the tree for each surface ID the first time, and be a no-op the other times). This change will reduce the amount of mount operations we do on the main thread, which means that we could potentially remove the push model from Android if performance is acceptable with this. NOTE: This only works with the modern runtime scheduler, and only makes sense when used with microtasks enabled too and background executor disabled. Reviewed By: javache Differential Revision: D49536327 fbshipit-source-id: fabcbd6a6fb89a851f4c2b4ebefbb330a6ad3a18 |
||
|
|
0f8227df63 |
Clenaup ReactPackageHelper (#41100)
Summary: Pull Request resolved: https://github.com/facebook/react-native/pull/41100 Fix lint warnings bypass-github-export-checks changelog: [internal] internal Reviewed By: arushikesarwani94 Differential Revision: D50338306 fbshipit-source-id: 07623821bb3a684bf70575af80530c1616fd949b |
||
|
|
615057c239 |
Deploy 0.219.4 to xplat (#41173)
Summary: Pull Request resolved: https://github.com/facebook/react-native/pull/41173 Changelog: [Internal] Reviewed By: gkz Differential Revision: D50589991 fbshipit-source-id: c221988e75fccccabec8ee69f6941bb83e42a052 |
||
|
|
98e7ecd280 |
Remove ReactCallback interface (#41168)
Summary: Pull Request resolved: https://github.com/facebook/react-native/pull/41168 This API is just used to send callbacks from C++ to Java and is completely internal. Changelog: [Internal] Reviewed By: rshest Differential Revision: D50226596 fbshipit-source-id: f521ae1f35cc31e8e8aeab66b41fd3e95d9467cb |
||
|
|
9666814750 |
Fix autoscrollToTopThreshold on iOS old arch (#38245)
Summary: Currently `autoscrollToTopThreshold` does not work correctly, it will scroll to top even when the scroll position is past the `autoscrollToTopThreshold` value. The value of x/y is taken before we adjust the scroll position so we do not need to subtract the delta. Note that this was already fixed when I ported this code to fabric, so this fix is only needed in the old arch code. bypass-github-export-checks ## Changelog: [IOS] [FIXED] - Fix autoscrollToTopThreshold on iOS old arch Pull Request resolved: https://github.com/facebook/react-native/pull/38245 Test Plan: In RNTester example, threshold is set to 10, so it should not scroll to top if we are further than 10px from the top of the list. Before: https://github.com/facebook/react-native/assets/2677334/13723787-1bc4-4263-9bcb-91ddf7454de3 After: https://github.com/facebook/react-native/assets/2677334/a8cfdaac-59fc-40de-970a-ff992366e25f Reviewed By: rshest Differential Revision: D50447644 Pulled By: cipolleschi fbshipit-source-id: b21f1836db293120a7a795c8f8f6dd54887495a7 |
||
|
|
31cf4c4ead |
Fix AppDelegate not passing props in bridgeless and rename getBundleURL (#41169)
Summary: Pull Request resolved: https://github.com/facebook/react-native/pull/41169 * `initialProperties` should be based on `prepareInitialProps`, not `launchOptions` (which don't seem to have an equivalent in bridgeless) * `getBundleURL` is not idiomatic Objective-C (eg https://developer.apple.com/library/archive/documentation/Cocoa/Conceptual/CodingGuidelines/Articles/NamingMethods.html), so rename to `bundleURL` Changelog: [Internal] Reviewed By: cipolleschi Differential Revision: D50595790 fbshipit-source-id: b718ebf2590b1d4512bcbd4846c8d11200f486e4 |
||
|
|
70acd3f7d9 |
remove folly hash from codebase (#41148)
Summary: Pull Request resolved: https://github.com/facebook/react-native/pull/41148 changelog: [internal] RN moved away from using folly::hash. These are a few places missed during the migration. Reviewed By: cipolleschi Differential Revision: D50540176 fbshipit-source-id: 497c13032c23c5b2dfab9e3d6f226f596b90761e |