react-native 0.84.0-nightly-20251106-de5141a3d → 0.84.0-nightly-20251108-7486a2bc5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (181) hide show
  1. package/Libraries/Animated/createAnimatedComponent.js +1 -0
  2. package/Libraries/Blob/RCTBlobManager.mm +1 -4
  3. package/Libraries/Blob/RCTBlobPlugins.mm +14 -14
  4. package/Libraries/Blob/RCTFileReaderModule.mm +1 -4
  5. package/Libraries/Components/Button.js +0 -3
  6. package/Libraries/Core/ReactNativeVersion.js +1 -1
  7. package/Libraries/Image/RCTBundleAssetImageLoader.mm +1 -4
  8. package/Libraries/Image/RCTGIFImageDecoder.mm +1 -4
  9. package/Libraries/Image/RCTImageEditingManager.mm +1 -4
  10. package/Libraries/Image/RCTImageLoader.mm +1 -4
  11. package/Libraries/Image/RCTImagePlugins.h +1 -0
  12. package/Libraries/Image/RCTImagePlugins.mm +30 -17
  13. package/Libraries/Image/RCTImageStoreManager.mm +1 -4
  14. package/Libraries/Image/RCTImageViewManager.mm +1 -4
  15. package/Libraries/Image/RCTLocalAssetImageLoader.mm +1 -4
  16. package/Libraries/LinkingIOS/RCTLinkingManager.mm +1 -4
  17. package/Libraries/LinkingIOS/RCTLinkingPlugins.mm +10 -13
  18. package/Libraries/LogBox/Data/LogBoxData.js +31 -4
  19. package/Libraries/NativeAnimation/RCTAnimationPlugins.mm +14 -14
  20. package/Libraries/NativeAnimation/RCTNativeAnimatedModule.mm +1 -4
  21. package/Libraries/NativeAnimation/RCTNativeAnimatedTurboModule.mm +1 -4
  22. package/Libraries/Network/RCTDataRequestHandler.mm +1 -4
  23. package/Libraries/Network/RCTFileRequestHandler.mm +1 -4
  24. package/Libraries/Network/RCTHTTPRequestHandler.mm +1 -4
  25. package/Libraries/Network/RCTNetworkPlugins.mm +22 -16
  26. package/Libraries/Network/RCTNetworking.mm +1 -4
  27. package/Libraries/PushNotificationIOS/RCTPushNotificationManager.mm +1 -4
  28. package/Libraries/PushNotificationIOS/RCTPushNotificationPlugins.mm +10 -13
  29. package/Libraries/Settings/RCTSettingsManager.mm +1 -4
  30. package/Libraries/Settings/RCTSettingsPlugins.mm +10 -13
  31. package/Libraries/StyleSheet/PlatformColorValueTypes.android.js +2 -2
  32. package/Libraries/StyleSheet/PlatformColorValueTypes.ios.js +1 -1
  33. package/Libraries/StyleSheet/PlatformColorValueTypes.js.flow +4 -2
  34. package/Libraries/Text/BaseText/RCTBaseTextViewManager.mm +1 -4
  35. package/Libraries/Text/RawText/RCTRawTextViewManager.mm +1 -4
  36. package/Libraries/Text/Text/RCTTextViewManager.mm +1 -4
  37. package/Libraries/Text/TextInput/Multiline/RCTMultilineTextInputViewManager.mm +1 -4
  38. package/Libraries/Text/TextInput/RCTBaseTextInputViewManager.mm +1 -4
  39. package/Libraries/Text/TextInput/RCTInputAccessoryViewManager.mm +1 -4
  40. package/Libraries/Text/TextInput/Singleline/RCTSinglelineTextInputViewManager.mm +1 -4
  41. package/Libraries/Text/VirtualText/RCTVirtualTextViewManager.mm +1 -4
  42. package/Libraries/Vibration/RCTVibration.mm +1 -4
  43. package/Libraries/Vibration/RCTVibrationPlugins.mm +10 -13
  44. package/React/Base/RCTVersion.m +1 -1
  45. package/React/CoreModules/CoreModulesPlugins.mm +98 -35
  46. package/React/CoreModules/RCTAccessibilityManager.mm +1 -4
  47. package/React/CoreModules/RCTActionSheetManager.mm +1 -4
  48. package/React/CoreModules/RCTAlertManager.mm +1 -4
  49. package/React/CoreModules/RCTAppState.mm +1 -4
  50. package/React/CoreModules/RCTAppearance.mm +1 -4
  51. package/React/CoreModules/RCTClipboard.mm +1 -4
  52. package/React/CoreModules/RCTDevLoadingView.mm +1 -4
  53. package/React/CoreModules/RCTDevMenu.mm +1 -4
  54. package/React/CoreModules/RCTDevSettings.mm +1 -4
  55. package/React/CoreModules/RCTDevToolsRuntimeSettingsModule.mm +1 -5
  56. package/React/CoreModules/RCTDeviceInfo.mm +1 -4
  57. package/React/CoreModules/RCTEventDispatcher.mm +1 -4
  58. package/React/CoreModules/RCTExceptionsManager.mm +1 -4
  59. package/React/CoreModules/RCTI18nManager.mm +1 -4
  60. package/React/CoreModules/RCTKeyboardObserver.mm +1 -4
  61. package/React/CoreModules/RCTLogBox.mm +1 -4
  62. package/React/CoreModules/RCTPerfMonitor.mm +1 -4
  63. package/React/CoreModules/RCTPlatform.mm +1 -4
  64. package/React/CoreModules/RCTRedBox.mm +1 -4
  65. package/React/CoreModules/RCTSourceCode.mm +1 -4
  66. package/React/CoreModules/RCTStatusBarManager.mm +1 -4
  67. package/React/CoreModules/RCTTiming.mm +1 -4
  68. package/React/CoreModules/RCTWebSocketModule.mm +1 -4
  69. package/React/FBReactNativeSpec/FBReactNativeSpecJSI.h +16 -0
  70. package/React/Modules/RCTUIManager.mm +1 -4
  71. package/React/Views/RCTActivityIndicatorViewManager.m +1 -4
  72. package/React/Views/RCTDebuggingOverlayManager.m +1 -4
  73. package/React/Views/RCTModalHostViewManager.m +1 -4
  74. package/React/Views/RCTModalManager.m +1 -4
  75. package/React/Views/RCTSwitchManager.m +1 -4
  76. package/React/Views/RCTViewManager.m +1 -4
  77. package/React/Views/RefreshControl/RCTRefreshControlManager.m +1 -4
  78. package/React/Views/SafeAreaView/RCTSafeAreaViewManager.m +1 -4
  79. package/React/Views/ScrollView/RCTScrollContentViewManager.m +1 -4
  80. package/React/Views/ScrollView/RCTScrollViewManager.m +1 -4
  81. package/ReactAndroid/api/ReactAndroid.api +0 -13
  82. package/ReactAndroid/gradle.properties +1 -1
  83. package/ReactAndroid/src/main/java/com/facebook/react/ReactPackageTurboModuleManagerDelegate.kt +2 -3
  84. package/ReactAndroid/src/main/java/com/facebook/react/bridge/CatalystInstanceImpl.java +2 -6
  85. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ModuleHolder.kt +2 -2
  86. package/ReactAndroid/src/main/java/com/facebook/react/bridge/NativeModuleRegistry.kt +1 -16
  87. package/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricUIManager.java +1 -1
  88. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlags.kt +13 -1
  89. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsCxxAccessor.kt +21 -1
  90. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsCxxInterop.kt +5 -1
  91. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsDefaults.kt +5 -1
  92. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsLocalAccessor.kt +23 -1
  93. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsProvider.kt +5 -1
  94. package/ReactAndroid/src/main/java/com/facebook/react/internal/turbomodule/core/TurboModuleManager.kt +2 -35
  95. package/ReactAndroid/src/main/java/com/facebook/react/modules/systeminfo/ReactNativeVersion.kt +1 -1
  96. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/BaseViewManager.java +4 -5
  97. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/VirtualViewContainerStateExperimental.kt +7 -0
  98. package/ReactAndroid/src/main/jni/react/fabric/FabricUIManagerBinding.cpp +12 -0
  99. package/ReactAndroid/src/main/jni/react/featureflags/JReactNativeFeatureFlagsCxxInterop.cpp +29 -1
  100. package/ReactAndroid/src/main/jni/react/featureflags/JReactNativeFeatureFlagsCxxInterop.h +7 -1
  101. package/ReactAndroid/src/main/jni/react/jni/CatalystInstanceImpl.cpp +3 -13
  102. package/ReactAndroid/src/main/jni/react/jni/CatalystInstanceImpl.h +1 -4
  103. package/ReactAndroid/src/main/jni/react/jni/CxxModuleWrapperBase.h +0 -24
  104. package/ReactAndroid/src/main/jni/react/jni/JavaModuleWrapper.cpp +0 -1
  105. package/ReactAndroid/src/main/jni/react/jni/ModuleRegistryBuilder.cpp +1 -29
  106. package/ReactAndroid/src/main/jni/react/jni/ModuleRegistryBuilder.h +1 -2
  107. package/ReactAndroid/src/main/jni/react/jni/OnLoad.cpp +0 -2
  108. package/ReactAndroid/src/main/jni/react/runtime/jni/JReactHostInspectorTarget.cpp +8 -1
  109. package/ReactAndroid/src/main/jni/react/runtime/jni/JReactInstance.cpp +2 -1
  110. package/ReactAndroid/src/main/jni/react/turbomodule/ReactCommon/TurboModuleManager.cpp +1 -35
  111. package/ReactAndroid/src/main/jni/third-party/folly/CMakeLists.txt +1 -0
  112. package/ReactApple/RCTAnimatedModuleProvider/RCTAnimatedModuleProvider.mm +29 -4
  113. package/ReactCommon/cxxreact/ReactMarker.cpp +0 -1
  114. package/ReactCommon/cxxreact/ReactNativeVersion.h +1 -1
  115. package/ReactCommon/jsiexecutor/CMakeLists.txt +3 -1
  116. package/ReactCommon/jsiexecutor/React-jsiexecutor.podspec +2 -0
  117. package/ReactCommon/jsiexecutor/jsireact/JSIExecutor.cpp +0 -40
  118. package/ReactCommon/jsiexecutor/jsireact/JSIExecutor.h +1 -6
  119. package/ReactCommon/jsinspector-modern/ConsoleTask.cpp +27 -0
  120. package/ReactCommon/jsinspector-modern/ConsoleTask.h +38 -0
  121. package/ReactCommon/jsinspector-modern/ConsoleTaskContext.cpp +46 -0
  122. package/ReactCommon/jsinspector-modern/ConsoleTaskContext.h +102 -0
  123. package/ReactCommon/jsinspector-modern/ConsoleTaskOrchestrator.cpp +55 -0
  124. package/ReactCommon/jsinspector-modern/ConsoleTaskOrchestrator.h +48 -0
  125. package/ReactCommon/jsinspector-modern/HostTarget.h +8 -2
  126. package/ReactCommon/jsinspector-modern/HostTargetTraceRecording.cpp +6 -2
  127. package/ReactCommon/jsinspector-modern/HostTargetTraceRecording.h +15 -5
  128. package/ReactCommon/jsinspector-modern/HostTargetTracing.cpp +9 -5
  129. package/ReactCommon/jsinspector-modern/RuntimeAgent.cpp +3 -2
  130. package/ReactCommon/jsinspector-modern/RuntimeAgent.h +1 -1
  131. package/ReactCommon/jsinspector-modern/RuntimeTarget.cpp +12 -0
  132. package/ReactCommon/jsinspector-modern/RuntimeTarget.h +16 -13
  133. package/ReactCommon/jsinspector-modern/RuntimeTargetConsole.cpp +106 -1
  134. package/ReactCommon/jsinspector-modern/TracingAgent.cpp +19 -2
  135. package/ReactCommon/jsinspector-modern/tests/ConsoleCreateTaskTest.cpp +131 -0
  136. package/ReactCommon/jsinspector-modern/tests/ReactInstanceIntegrationTest.cpp +1 -0
  137. package/ReactCommon/jsinspector-modern/tests/TracingTest.cpp +59 -0
  138. package/ReactCommon/jsinspector-modern/tests/TracingTest.h +20 -7
  139. package/ReactCommon/jsinspector-modern/tracing/PerformanceTracer.cpp +32 -20
  140. package/ReactCommon/jsinspector-modern/tracing/PerformanceTracer.h +6 -2
  141. package/ReactCommon/jsinspector-modern/tracing/TargetTracingAgent.h +5 -0
  142. package/ReactCommon/jsinspector-modern/tracing/TraceEvent.h +2 -1
  143. package/ReactCommon/jsinspector-modern/tracing/TraceEventSerializer.cpp +2 -1
  144. package/ReactCommon/jsinspector-modern/tracing/TraceRecordingState.h +3 -0
  145. package/ReactCommon/jsinspector-modern/tracing/TracingCategory.h +126 -0
  146. package/ReactCommon/jsitooling/react/runtime/JSRuntimeBindings.cpp +54 -0
  147. package/ReactCommon/jsitooling/react/runtime/JSRuntimeBindings.h +20 -0
  148. package/ReactCommon/react/featureflags/ReactNativeFeatureFlags.cpp +9 -1
  149. package/ReactCommon/react/featureflags/ReactNativeFeatureFlags.h +11 -1
  150. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsAccessor.cpp +113 -77
  151. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsAccessor.h +6 -2
  152. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsDefaults.h +9 -1
  153. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsDynamicProvider.h +19 -1
  154. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsProvider.h +3 -1
  155. package/ReactCommon/react/nativemodule/core/platform/ios/ReactCommon/RCTTurboModuleManager.mm +0 -1
  156. package/ReactCommon/react/nativemodule/featureflags/NativeReactNativeFeatureFlags.cpp +11 -1
  157. package/ReactCommon/react/nativemodule/featureflags/NativeReactNativeFeatureFlags.h +5 -1
  158. package/ReactCommon/react/nativemodule/samples/platform/ios/ReactCommon/RCTSampleTurboModule.mm +1 -4
  159. package/ReactCommon/react/performance/timeline/CMakeLists.txt +1 -0
  160. package/ReactCommon/react/performance/timeline/PerformanceEntryReporter.cpp +9 -1
  161. package/ReactCommon/react/performance/timeline/React-performancetimeline.podspec +1 -0
  162. package/ReactCommon/react/renderer/animated/NativeAnimatedNodesManager.cpp +24 -19
  163. package/ReactCommon/react/renderer/animated/NativeAnimatedNodesManagerProvider.cpp +11 -6
  164. package/ReactCommon/react/renderer/animationbackend/AnimationBackend.cpp +67 -32
  165. package/ReactCommon/react/renderer/animationbackend/AnimationBackend.h +14 -2
  166. package/ReactCommon/react/renderer/core/EventDispatcher.cpp +1 -1
  167. package/ReactCommon/react/renderer/core/EventQueueProcessor.cpp +3 -3
  168. package/ReactCommon/react/runtime/ReactInstance.cpp +8 -6
  169. package/ReactCommon/react/runtime/ReactInstance.h +0 -1
  170. package/ReactCommon/react/runtime/TimerManager.cpp +0 -54
  171. package/ReactCommon/react/runtime/TimerManager.h +0 -12
  172. package/flow/bom.js.flow +7 -0
  173. package/package.json +8 -8
  174. package/scripts/ios-configure-glog.sh +6 -1
  175. package/src/private/featureflags/ReactNativeFeatureFlags.js +11 -1
  176. package/src/private/featureflags/specs/NativeReactNativeFeatureFlags.js +3 -1
  177. package/types_generated/Libraries/Components/Button.d.ts +1 -4
  178. package/types_generated/Libraries/StyleSheet/PlatformColorValueTypes.d.ts +3 -3
  179. package/ReactAndroid/src/main/java/com/facebook/react/bridge/CxxModuleWrapper.kt +0 -25
  180. package/ReactAndroid/src/main/java/com/facebook/react/bridge/CxxModuleWrapperBase.kt +0 -61
  181. package/ReactAndroid/src/main/jni/react/jni/CxxModuleWrapper.h +0 -37
@@ -125,6 +125,7 @@ export function unstable_createAnimatedComponentWithAllowlist<
125
125
  const [reducedProps, callbackRef] = useAnimatedProps<
126
126
  TProps,
127
127
  React.ElementRef<TInstance>,
128
+ // $FlowFixMe[incompatible-type]
128
129
  >(props);
129
130
  const ref = useMergeRefs<React.ElementRef<TInstance>>(
130
131
  callbackRef,
@@ -42,10 +42,7 @@ static NSString *const kBlobURIScheme = @"blob";
42
42
  dispatch_queue_t _processingQueue;
43
43
  }
44
44
 
45
- + (NSString *)moduleName
46
- {
47
- return @"BlobModule";
48
- }
45
+ RCT_EXPORT_MODULE(BlobModule)
49
46
 
50
47
  @synthesize bridge = _bridge;
51
48
  @synthesize moduleRegistry = _moduleRegistry;
@@ -13,21 +13,21 @@
13
13
 
14
14
  #import "RCTBlobPlugins.h"
15
15
 
16
- #import <string>
17
- #import <unordered_map>
18
-
19
- Class RCTBlobClassProvider(const char *name) {
20
- // Intentionally leak to avoid crashing after static destructors are run.
21
- static const auto sCoreModuleClassMap = new const std::unordered_map<std::string, Class (*)(void)>{
22
- {"BlobModule", RCTBlobManagerCls},
23
- {"FileReaderModule", RCTFileReaderModuleCls},
24
- };
25
-
26
- auto p = sCoreModuleClassMap->find(name);
27
- if (p != sCoreModuleClassMap->end()) {
28
- auto classFunc = p->second;
29
- return classFunc();
16
+ #import <string_view>
17
+
18
+ using namespace std::literals;
19
+
20
+ Class RCTBlobClassProvider(const char *name)
21
+ {
22
+
23
+ if (name == "BlobModule"sv) {
24
+ return RCTBlobManagerCls();
30
25
  }
26
+
27
+ if (name == "FileReaderModule"sv) {
28
+ return RCTFileReaderModuleCls();
29
+ }
30
+
31
31
  return nil;
32
32
  }
33
33
 
@@ -20,10 +20,7 @@
20
20
 
21
21
  @implementation RCTFileReaderModule
22
22
 
23
- + (NSString *)moduleName
24
- {
25
- return @"FileReaderModule";
26
- }
23
+ RCT_EXPORT_MODULE(FileReaderModule)
27
24
 
28
25
  @synthesize moduleRegistry = _moduleRegistry;
29
26
 
@@ -184,9 +184,6 @@ export type ButtonProps = $ReadOnly<{
184
184
  [button:source]:
185
185
  https://github.com/facebook/react-native/blob/HEAD/Libraries/Components/Button.js
186
186
 
187
- [button:examples]:
188
- https://js.coach/?menu%5Bcollections%5D=React%20Native&page=1&query=button
189
-
190
187
  ```jsx
191
188
  <Button
192
189
  onPress={onPressLearnMore}
@@ -29,7 +29,7 @@ export default class ReactNativeVersion {
29
29
  static major: number = 0;
30
30
  static minor: number = 84;
31
31
  static patch: number = 0;
32
- static prerelease: string | null = 'nightly-20251106-de5141a3d';
32
+ static prerelease: string | null = 'nightly-20251108-7486a2bc5';
33
33
 
34
34
  static getVersionString(): string {
35
35
  return `${this.major}.${this.minor}.${this.patch}${this.prerelease != null ? `-${this.prerelease}` : ''}`;
@@ -20,10 +20,7 @@
20
20
 
21
21
  @implementation RCTBundleAssetImageLoader
22
22
 
23
- + (NSString *)moduleName
24
- {
25
- return @"BundleAssetImageLoader";
26
- }
23
+ RCT_EXPORT_MODULE()
27
24
 
28
25
  - (BOOL)canLoadImageURL:(NSURL *)requestURL
29
26
  {
@@ -20,10 +20,7 @@
20
20
 
21
21
  @implementation RCTGIFImageDecoder
22
22
 
23
- + (NSString *)moduleName
24
- {
25
- return @"GIFImageDecoder";
26
- }
23
+ RCT_EXPORT_MODULE()
27
24
 
28
25
  - (BOOL)canDecodeImageData:(NSData *)imageData
29
26
  {
@@ -24,10 +24,7 @@
24
24
 
25
25
  @implementation RCTImageEditingManager
26
26
 
27
- + (NSString *)moduleName
28
- {
29
- return @"ImageEditingManager";
30
- }
27
+ RCT_EXPORT_MODULE()
31
28
 
32
29
  @synthesize moduleRegistry = _moduleRegistry;
33
30
 
@@ -92,10 +92,7 @@ static NSError *addResponseHeadersToError(NSError *originalError, NSHTTPURLRespo
92
92
  @synthesize maxConcurrentDecodingTasks = _maxConcurrentDecodingTasks;
93
93
  @synthesize maxConcurrentDecodingBytes = _maxConcurrentDecodingBytes;
94
94
 
95
- + (NSString *)moduleName
96
- {
97
- return @"RCTImageLoader";
98
- }
95
+ RCT_EXPORT_MODULE()
99
96
 
100
97
  - (instancetype)init
101
98
  {
@@ -29,6 +29,7 @@ extern "C" {
29
29
  Class RCTImageClassProvider(const char *name);
30
30
 
31
31
  // Lookup functions
32
+ Class RCTBundleAssetImageLoaderCls(void) __attribute__((used));
32
33
  Class RCTGIFImageDecoderCls(void) __attribute__((used));
33
34
  Class RCTImageEditingManagerCls(void) __attribute__((used));
34
35
  Class RCTImageLoaderCls(void) __attribute__((used));
@@ -13,24 +13,37 @@
13
13
 
14
14
  #import "RCTImagePlugins.h"
15
15
 
16
- #import <string>
17
- #import <unordered_map>
18
-
19
- Class RCTImageClassProvider(const char *name) {
20
- // Intentionally leak to avoid crashing after static destructors are run.
21
- static const auto sCoreModuleClassMap = new const std::unordered_map<std::string, Class (*)(void)>{
22
- {"GIFImageDecoder", RCTGIFImageDecoderCls},
23
- {"ImageEditingManager", RCTImageEditingManagerCls},
24
- {"ImageLoader", RCTImageLoaderCls},
25
- {"ImageStoreManager", RCTImageStoreManagerCls},
26
- {"LocalAssetImageLoader", RCTLocalAssetImageLoaderCls},
27
- };
28
-
29
- auto p = sCoreModuleClassMap->find(name);
30
- if (p != sCoreModuleClassMap->end()) {
31
- auto classFunc = p->second;
32
- return classFunc();
16
+ #import <string_view>
17
+
18
+ using namespace std::literals;
19
+
20
+ Class RCTImageClassProvider(const char *name)
21
+ {
22
+
23
+ if (name == "BundleAssetImageLoader"sv) {
24
+ return RCTBundleAssetImageLoaderCls();
25
+ }
26
+
27
+ if (name == "GIFImageDecoder"sv) {
28
+ return RCTGIFImageDecoderCls();
29
+ }
30
+
31
+ if (name == "ImageEditingManager"sv) {
32
+ return RCTImageEditingManagerCls();
33
33
  }
34
+
35
+ if (name == "ImageLoader"sv) {
36
+ return RCTImageLoaderCls();
37
+ }
38
+
39
+ if (name == "ImageStoreManager"sv) {
40
+ return RCTImageStoreManagerCls();
41
+ }
42
+
43
+ if (name == "LocalAssetImageLoader"sv) {
44
+ return RCTLocalAssetImageLoaderCls();
45
+ }
46
+
34
47
  return nil;
35
48
  }
36
49
 
@@ -32,10 +32,7 @@ static NSString *const RCTImageStoreURLScheme = @"rct-image-store";
32
32
 
33
33
  @synthesize methodQueue = _methodQueue;
34
34
 
35
- + (NSString *)moduleName
36
- {
37
- return @"ImageStoreManager";
38
- }
35
+ RCT_EXPORT_MODULE()
39
36
 
40
37
  + (BOOL)requiresMainQueueSetup
41
38
  {
@@ -20,10 +20,7 @@
20
20
 
21
21
  @implementation RCTImageViewManager
22
22
 
23
- + (NSString *)moduleName
24
- {
25
- return @"ImageViewManager";
26
- }
23
+ RCT_EXPORT_MODULE()
27
24
 
28
25
  - (RCTShadowView *)shadowView
29
26
  {
@@ -20,10 +20,7 @@
20
20
 
21
21
  @implementation RCTLocalAssetImageLoader
22
22
 
23
- + (NSString *)moduleName
24
- {
25
- return @"LocalAssetImageLoader";
26
- }
23
+ RCT_EXPORT_MODULE()
27
24
 
28
25
  - (BOOL)canLoadImageURL:(NSURL *)requestURL
29
26
  {
@@ -27,10 +27,7 @@ static void postNotificationWithURL(NSURL *URL, id sender)
27
27
 
28
28
  @implementation RCTLinkingManager
29
29
 
30
- + (NSString *)moduleName
31
- {
32
- return @"LinkingManager";
33
- }
30
+ RCT_EXPORT_MODULE()
34
31
 
35
32
  - (dispatch_queue_t)methodQueue
36
33
  {
@@ -13,20 +13,17 @@
13
13
 
14
14
  #import "RCTLinkingPlugins.h"
15
15
 
16
- #import <string>
17
- #import <unordered_map>
18
-
19
- Class RCTLinkingClassProvider(const char *name) {
20
- // Intentionally leak to avoid crashing after static destructors are run.
21
- static const auto sCoreModuleClassMap = new const std::unordered_map<std::string, Class (*)(void)>{
22
- {"LinkingManager", RCTLinkingManagerCls},
23
- };
24
-
25
- auto p = sCoreModuleClassMap->find(name);
26
- if (p != sCoreModuleClassMap->end()) {
27
- auto classFunc = p->second;
28
- return classFunc();
16
+ #import <string_view>
17
+
18
+ using namespace std::literals;
19
+
20
+ Class RCTLinkingClassProvider(const char *name)
21
+ {
22
+
23
+ if (name == "LinkingManager"sv) {
24
+ return RCTLinkingManagerCls();
29
25
  }
26
+
30
27
  return nil;
31
28
  }
32
29
 
@@ -412,6 +412,21 @@ export function observe(observer: Observer): Subscription {
412
412
  };
413
413
  }
414
414
 
415
+ /**
416
+ * Same as observe(), but doesn't call notify observer sync at the time of subscription.
417
+ * Expected to be used only in LogBoxStateSubscription.
418
+ */
419
+ function observeNext(observer: Observer): Subscription {
420
+ const subscription = {observer};
421
+ observers.add(subscription);
422
+
423
+ return {
424
+ unsubscribe(): void {
425
+ observers.delete(subscription);
426
+ },
427
+ };
428
+ }
429
+
415
430
  type LogBoxStateSubscriptionProps = $ReadOnly<{}>;
416
431
  type LogBoxStateSubscriptionState = $ReadOnly<{
417
432
  logs: LogBoxLogs,
@@ -447,12 +462,11 @@ export function withSubscription(
447
462
  }
448
463
 
449
464
  _subscription: ?Subscription;
465
+ _updateStateOnMountTimeoutId: ?TimeoutID;
450
466
 
451
467
  state: LogBoxStateSubscriptionState = {
452
- logs: new Set(),
453
- isDisabled: false,
454
468
  hasError: false,
455
- selectedLogIndex: -1,
469
+ ...getNextState(),
456
470
  };
457
471
 
458
472
  render(): React.Node {
@@ -472,12 +486,25 @@ export function withSubscription(
472
486
  }
473
487
 
474
488
  componentDidMount(): void {
475
- this._subscription = observe(data => {
489
+ this._subscription = observeNext(data => {
476
490
  this.setState(data);
477
491
  });
492
+
493
+ /**
494
+ * This should cover the case when the state changes in between the first render and mount effect.
495
+ * We defer the state update to next task to avoid cascading update.
496
+ */
497
+ this._updateStateOnMountTimeoutId = setTimeout(() => {
498
+ this._updateStateOnMountTimeoutId = null;
499
+ this.setState(getNextState());
500
+ }, 0);
478
501
  }
479
502
 
480
503
  componentWillUnmount(): void {
504
+ if (this._updateStateOnMountTimeoutId != null) {
505
+ clearTimeout(this._updateStateOnMountTimeoutId);
506
+ }
507
+
481
508
  if (this._subscription != null) {
482
509
  this._subscription.unsubscribe();
483
510
  }
@@ -13,21 +13,21 @@
13
13
 
14
14
  #import "RCTAnimationPlugins.h"
15
15
 
16
- #import <string>
17
- #import <unordered_map>
18
-
19
- Class RCTAnimationClassProvider(const char *name) {
20
- // Intentionally leak to avoid crashing after static destructors are run.
21
- static const auto sCoreModuleClassMap = new const std::unordered_map<std::string, Class (*)(void)>{
22
- {"NativeAnimatedModule", RCTNativeAnimatedModuleCls},
23
- {"NativeAnimatedTurboModule", RCTNativeAnimatedTurboModuleCls},
24
- };
25
-
26
- auto p = sCoreModuleClassMap->find(name);
27
- if (p != sCoreModuleClassMap->end()) {
28
- auto classFunc = p->second;
29
- return classFunc();
16
+ #import <string_view>
17
+
18
+ using namespace std::literals;
19
+
20
+ Class RCTAnimationClassProvider(const char *name)
21
+ {
22
+
23
+ if (name == "NativeAnimatedModule"sv) {
24
+ return RCTNativeAnimatedModuleCls();
30
25
  }
26
+
27
+ if (name == "NativeAnimatedTurboModule"sv) {
28
+ return RCTNativeAnimatedTurboModuleCls();
29
+ }
30
+
31
31
  return nil;
32
32
  }
33
33
 
@@ -30,10 +30,7 @@ typedef void (^AnimatedOperation)(RCTNativeAnimatedNodesManager *nodesManager);
30
30
  NSMutableDictionary<NSNumber *, NSNumber *> *_animIdIsManagedByFabric;
31
31
  }
32
32
 
33
- + (NSString *)moduleName
34
- {
35
- return @"NativeAnimatedModule";
36
- }
33
+ RCT_EXPORT_MODULE();
37
34
 
38
35
  + (BOOL)requiresMainQueueSetup
39
36
  {
@@ -30,10 +30,7 @@ typedef void (^AnimatedOperation)(RCTNativeAnimatedNodesManager *nodesManager);
30
30
  NSSet<NSString *> *_userDrivenAnimationEndedEvents;
31
31
  }
32
32
 
33
- + (NSString *)moduleName
34
- {
35
- return @"NativeAnimatedTurboModule";
36
- }
33
+ RCT_EXPORT_MODULE();
37
34
 
38
35
  + (BOOL)requiresMainQueueSetup
39
36
  {
@@ -20,10 +20,7 @@
20
20
  std::mutex _operationHandlerMutexLock;
21
21
  }
22
22
 
23
- + (NSString *)moduleName
24
- {
25
- return @"DataRequestHandler";
26
- }
23
+ RCT_EXPORT_MODULE()
27
24
 
28
25
  - (void)invalidate
29
26
  {
@@ -24,10 +24,7 @@
24
24
  std::mutex _operationHandlerMutexLock;
25
25
  }
26
26
 
27
- + (NSString *)moduleName
28
- {
29
- return @"FileRequestHandler";
30
- }
27
+ RCT_EXPORT_MODULE()
31
28
 
32
29
  - (void)invalidate
33
30
  {
@@ -33,10 +33,7 @@ void RCTSetCustomNSURLSessionConfigurationProvider(NSURLSessionConfigurationProv
33
33
 
34
34
  @synthesize moduleRegistry = _moduleRegistry;
35
35
 
36
- + (NSString *)moduleName
37
- {
38
- return @"HTTPRequestHandler";
39
- }
36
+ RCT_EXPORT_MODULE()
40
37
 
41
38
  - (void)invalidate
42
39
  {
@@ -13,23 +13,29 @@
13
13
 
14
14
  #import "RCTNetworkPlugins.h"
15
15
 
16
- #import <string>
17
- #import <unordered_map>
18
-
19
- Class RCTNetworkClassProvider(const char *name) {
20
- // Intentionally leak to avoid crashing after static destructors are run.
21
- static const auto sCoreModuleClassMap = new const std::unordered_map<std::string, Class (*)(void)>{
22
- {"DataRequestHandler", RCTDataRequestHandlerCls},
23
- {"FileRequestHandler", RCTFileRequestHandlerCls},
24
- {"HTTPRequestHandler", RCTHTTPRequestHandlerCls},
25
- {"Networking", RCTNetworkingCls},
26
- };
27
-
28
- auto p = sCoreModuleClassMap->find(name);
29
- if (p != sCoreModuleClassMap->end()) {
30
- auto classFunc = p->second;
31
- return classFunc();
16
+ #import <string_view>
17
+
18
+ using namespace std::literals;
19
+
20
+ Class RCTNetworkClassProvider(const char *name)
21
+ {
22
+
23
+ if (name == "DataRequestHandler"sv) {
24
+ return RCTDataRequestHandlerCls();
25
+ }
26
+
27
+ if (name == "FileRequestHandler"sv) {
28
+ return RCTFileRequestHandlerCls();
32
29
  }
30
+
31
+ if (name == "HTTPRequestHandler"sv) {
32
+ return RCTHTTPRequestHandlerCls();
33
+ }
34
+
35
+ if (name == "Networking"sv) {
36
+ return RCTNetworkingCls();
37
+ }
38
+
33
39
  return nil;
34
40
  }
35
41
 
@@ -167,10 +167,7 @@ static NSString *RCTGenerateFormBoundary()
167
167
 
168
168
  @synthesize methodQueue = _methodQueue;
169
169
 
170
- + (NSString *)moduleName
171
- {
172
- return @"Networking";
173
- }
170
+ RCT_EXPORT_MODULE()
174
171
 
175
172
  + (BOOL)requiresMainQueueSetup
176
173
  {
@@ -154,10 +154,7 @@ static BOOL IsNotificationRemote(UNNotification *notification)
154
154
  return [notification.request.trigger isKindOfClass:[UNPushNotificationTrigger class]];
155
155
  }
156
156
 
157
- + (NSString *)moduleName
158
- {
159
- return @"PushNotificationManager";
160
- }
157
+ RCT_EXPORT_MODULE()
161
158
 
162
159
  - (dispatch_queue_t)methodQueue
163
160
  {
@@ -13,20 +13,17 @@
13
13
 
14
14
  #import "RCTPushNotificationPlugins.h"
15
15
 
16
- #import <string>
17
- #import <unordered_map>
18
-
19
- Class RCTPushNotificationClassProvider(const char *name) {
20
- // Intentionally leak to avoid crashing after static destructors are run.
21
- static const auto sCoreModuleClassMap = new const std::unordered_map<std::string, Class (*)(void)>{
22
- {"PushNotificationManager", RCTPushNotificationManagerCls},
23
- };
24
-
25
- auto p = sCoreModuleClassMap->find(name);
26
- if (p != sCoreModuleClassMap->end()) {
27
- auto classFunc = p->second;
28
- return classFunc();
16
+ #import <string_view>
17
+
18
+ using namespace std::literals;
19
+
20
+ Class RCTPushNotificationClassProvider(const char *name)
21
+ {
22
+
23
+ if (name == "PushNotificationManager"sv) {
24
+ return RCTPushNotificationManagerCls();
29
25
  }
26
+
30
27
  return nil;
31
28
  }
32
29
 
@@ -25,10 +25,7 @@
25
25
 
26
26
  @synthesize moduleRegistry = _moduleRegistry;
27
27
 
28
- + (NSString *)moduleName
29
- {
30
- return @"SettingsManager";
31
- }
28
+ RCT_EXPORT_MODULE()
32
29
 
33
30
  + (BOOL)requiresMainQueueSetup
34
31
  {
@@ -13,20 +13,17 @@
13
13
 
14
14
  #import "RCTSettingsPlugins.h"
15
15
 
16
- #import <string>
17
- #import <unordered_map>
18
-
19
- Class RCTSettingsClassProvider(const char *name) {
20
- // Intentionally leak to avoid crashing after static destructors are run.
21
- static const auto sCoreModuleClassMap = new const std::unordered_map<std::string, Class (*)(void)>{
22
- {"SettingsManager", RCTSettingsManagerCls},
23
- };
24
-
25
- auto p = sCoreModuleClassMap->find(name);
26
- if (p != sCoreModuleClassMap->end()) {
27
- auto classFunc = p->second;
28
- return classFunc();
16
+ #import <string_view>
17
+
18
+ using namespace std::literals;
19
+
20
+ Class RCTSettingsClassProvider(const char *name)
21
+ {
22
+
23
+ if (name == "SettingsManager"sv) {
24
+ return RCTSettingsManagerCls();
29
25
  }
26
+
30
27
  return nil;
31
28
  }
32
29
 
@@ -9,14 +9,14 @@
9
9
  */
10
10
 
11
11
  import type {ProcessedColorValue} from './processColor';
12
- import type {ColorValue, NativeColorValue} from './StyleSheet';
12
+ import type {NativeColorValue} from './StyleSheet';
13
13
 
14
14
  /** The actual type of the opaque NativeColorValue on Android platform */
15
15
  type LocalNativeColorValue = {
16
16
  resource_paths?: Array<string>,
17
17
  };
18
18
 
19
- export const PlatformColor = (...names: Array<string>): ColorValue => {
19
+ export const PlatformColor = (...names: Array<string>): NativeColorValue => {
20
20
  /* $FlowExpectedError[incompatible-type]
21
21
  * LocalNativeColorValue is the actual type of the opaque NativeColorValue on Android platform */
22
22
  return ({resource_paths: names}: LocalNativeColorValue);
@@ -22,7 +22,7 @@ type LocalNativeColorValue = {
22
22
  },
23
23
  };
24
24
 
25
- export const PlatformColor = (...names: Array<string>): ColorValue => {
25
+ export const PlatformColor = (...names: Array<string>): NativeColorValue => {
26
26
  // $FlowExpectedError[incompatible-type] LocalNativeColorValue is the iOS LocalNativeColorValue type
27
27
  return ({semantic: names}: LocalNativeColorValue);
28
28
  };
@@ -9,9 +9,11 @@
9
9
  */
10
10
 
11
11
  import type {ProcessedColorValue} from './processColor';
12
- import type {ColorValue, NativeColorValue} from './StyleSheet';
12
+ import type {NativeColorValue} from './StyleSheet';
13
13
 
14
- declare export function PlatformColor(...names: Array<string>): ColorValue;
14
+ declare export function PlatformColor(
15
+ ...names: Array<string>
16
+ ): NativeColorValue;
15
17
 
16
18
  declare export function normalizeColorObject(
17
19
  color: NativeColorValue,
@@ -11,10 +11,7 @@
11
11
 
12
12
  @implementation RCTBaseTextViewManager
13
13
 
14
- + (NSString *)moduleName
15
- {
16
- return @"BaseText";
17
- }
14
+ RCT_EXPORT_MODULE(RCTBaseText)
18
15
 
19
16
  - (UIView *)view
20
17
  {