react-native 0.83.0-nightly-20251104-502efe1cc → 0.84.0-nightly-20251105-5ec5cc3a3

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 (59) hide show
  1. package/Libraries/AppDelegate/RCTReactNativeFactory.h +3 -0
  2. package/Libraries/AppDelegate/RCTReactNativeFactory.mm +12 -0
  3. package/Libraries/AppDelegate/RCTRootViewFactory.h +10 -4
  4. package/Libraries/AppDelegate/RCTRootViewFactory.mm +21 -5
  5. package/Libraries/Core/ReactNativeVersion.js +2 -2
  6. package/Libraries/StyleSheet/StyleSheetTypes.d.ts +2 -2
  7. package/React/Base/RCTBundleManager.h +59 -7
  8. package/React/Base/RCTBundleManager.m +98 -0
  9. package/React/Base/RCTBundleURLProvider.h +24 -0
  10. package/React/Base/RCTBundleURLProvider.mm +49 -4
  11. package/React/Base/RCTVersion.m +2 -2
  12. package/React/CoreModules/RCTPlatform.mm +3 -2
  13. package/React/CxxBridge/RCTCxxBridge.mm +1 -2
  14. package/React/CxxModule/RCTCxxUtils.mm +1 -11
  15. package/React/FBReactNativeSpec/FBReactNativeSpecJSI.h +127 -127
  16. package/ReactAndroid/gradle.properties +1 -1
  17. package/ReactAndroid/src/main/java/com/facebook/react/ReactDelegate.kt +7 -7
  18. package/ReactAndroid/src/main/java/com/facebook/react/ViewManagerOnDemandReactPackage.kt +53 -4
  19. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/CxxInspectorPackagerConnection.kt +99 -9
  20. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/inspector/InspectorNetworkHelper.kt +1 -1
  21. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/perfmonitor/PerfMonitorOverlayManager.kt +22 -1
  22. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/perfmonitor/PerfMonitorOverlayView.kt +4 -3
  23. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlags.kt +2 -2
  24. package/ReactAndroid/src/main/java/com/facebook/react/modules/systeminfo/ReactNativeVersion.kt +2 -2
  25. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactAxOrderHelper.kt +47 -0
  26. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactHorizontalScrollView.java +23 -3
  27. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollView.java +7 -2
  28. package/ReactAndroid/src/main/jni/react/devsupport/JCxxInspectorPackagerConnectionWebSocket.cpp +29 -2
  29. package/ReactAndroid/src/main/jni/react/jni/JSLoader.cpp +1 -1
  30. package/ReactAndroid/src/main/jni/react/jni/JSLoader.h +2 -1
  31. package/ReactAndroid/src/main/res/devsupport/drawable/ic_perf_issue.xml +10 -0
  32. package/ReactCommon/cxxreact/JSBigString.h +14 -5
  33. package/ReactCommon/cxxreact/JSIndexedRAMBundle.cpp +4 -5
  34. package/ReactCommon/cxxreact/ReactNativeVersion.h +3 -3
  35. package/ReactCommon/jsiexecutor/jsireact/JSIExecutor.cpp +2 -3
  36. package/ReactCommon/jsiexecutor/jsireact/JSIExecutor.h +2 -2
  37. package/ReactCommon/jsinspector-modern/PerfMonitorV2.cpp +9 -1
  38. package/ReactCommon/jsinspector-modern/PerfMonitorV2.h +4 -1
  39. package/ReactCommon/jsinspector-modern/TracingAgent.cpp +1 -5
  40. package/ReactCommon/jsinspector-modern/tracing/PerformanceTracer.cpp +99 -0
  41. package/ReactCommon/jsinspector-modern/tracing/PerformanceTracer.h +47 -1
  42. package/ReactCommon/react/featureflags/ReactNativeFeatureFlags.h +2 -2
  43. package/ReactCommon/react/nativemodule/core/platform/ios/ReactCommon/RCTTurboModuleManager.mm +4 -27
  44. package/ReactCommon/react/performance/cdpmetrics/CdpPerfIssuesReporter.cpp +4 -2
  45. package/ReactCommon/react/renderer/css/CSSSyntaxParser.h +7 -0
  46. package/ReactCommon/react/runtime/ReactInstance.cpp +4 -4
  47. package/ReactCommon/react/runtime/platform/ios/ReactCommon/RCTHost.h +3 -2
  48. package/ReactCommon/react/runtime/platform/ios/ReactCommon/RCTHost.mm +10 -6
  49. package/ReactCommon/yoga/yoga/style/StyleLength.h +7 -0
  50. package/ReactCommon/yoga/yoga/style/StyleSizeLength.h +7 -0
  51. package/package.json +9 -9
  52. package/sdks/hermes-engine/version.properties +1 -1
  53. package/src/private/components/virtualview/VirtualView.js +16 -9
  54. package/src/private/components/virtualview/logger/VirtualViewLogger.js +21 -0
  55. package/src/private/components/virtualview/logger/VirtualViewLoggerTypes.js +24 -0
  56. package/src/private/featureflags/ReactNativeFeatureFlags.js +2 -2
  57. package/types_generated/src/private/components/virtualview/VirtualView.d.ts +3 -1
  58. package/React/CxxModule/RCTCxxModule.h +0 -29
  59. package/React/CxxModule/RCTCxxModule.mm +0 -87
@@ -65,7 +65,7 @@ private:
65
65
 
66
66
  template <typename P0, typename P1>
67
67
  struct NativeReactDevToolsRuntimeSettingsModulePartialReloadAndProfileConfig {
68
- P0 shouldReloadAndProfile;
68
+ P0 shouldReloadAndProfile{};
69
69
  P1 recordChangeDescriptions;
70
70
  bool operator==(const NativeReactDevToolsRuntimeSettingsModulePartialReloadAndProfileConfig &other) const {
71
71
  return shouldReloadAndProfile == other.shouldReloadAndProfile && recordChangeDescriptions == other.recordChangeDescriptions;
@@ -116,7 +116,7 @@ struct NativeReactDevToolsRuntimeSettingsModulePartialReloadAndProfileConfigBrid
116
116
 
117
117
  template <typename P0, typename P1>
118
118
  struct NativeReactDevToolsRuntimeSettingsModuleReloadAndProfileConfig {
119
- P0 shouldReloadAndProfile;
119
+ P0 shouldReloadAndProfile{};
120
120
  P1 recordChangeDescriptions;
121
121
  bool operator==(const NativeReactDevToolsRuntimeSettingsModuleReloadAndProfileConfig &other) const {
122
122
  return shouldReloadAndProfile == other.shouldReloadAndProfile && recordChangeDescriptions == other.recordChangeDescriptions;
@@ -1168,15 +1168,15 @@ private:
1168
1168
 
1169
1169
  template <typename P0, typename P1, typename P2, typename P3, typename P4, typename P5, typename P6, typename P7, typename P8, typename P9>
1170
1170
  struct NativeAlertManagerArgs {
1171
- P0 title;
1172
- P1 message;
1173
- P2 buttons;
1174
- P3 type;
1175
- P4 defaultValue;
1176
- P5 cancelButtonKey;
1177
- P6 destructiveButtonKey;
1178
- P7 preferredButtonKey;
1179
- P8 keyboardType;
1171
+ P0 title{};
1172
+ P1 message{};
1173
+ P2 buttons{};
1174
+ P3 type{};
1175
+ P4 defaultValue{};
1176
+ P5 cancelButtonKey{};
1177
+ P6 destructiveButtonKey{};
1178
+ P7 preferredButtonKey{};
1179
+ P8 keyboardType{};
1180
1180
  P9 userInterfaceStyle;
1181
1181
  bool operator==(const NativeAlertManagerArgs &other) const {
1182
1182
  return title == other.title && message == other.message && buttons == other.buttons && type == other.type && defaultValue == other.defaultValue && cancelButtonKey == other.cancelButtonKey && destructiveButtonKey == other.destructiveButtonKey && preferredButtonKey == other.preferredButtonKey && keyboardType == other.keyboardType && userInterfaceStyle == other.userInterfaceStyle;
@@ -1304,8 +1304,8 @@ private:
1304
1304
 
1305
1305
  template <typename P0, typename P1, typename P2>
1306
1306
  struct NativeAnimatedModuleEndResult {
1307
- P0 finished;
1308
- P1 value;
1307
+ P0 finished{};
1308
+ P1 value{};
1309
1309
  P2 offset;
1310
1310
  bool operator==(const NativeAnimatedModuleEndResult &other) const {
1311
1311
  return finished == other.finished && value == other.value && offset == other.offset;
@@ -1361,7 +1361,7 @@ struct NativeAnimatedModuleEndResultBridging {
1361
1361
 
1362
1362
  template <typename P0, typename P1>
1363
1363
  struct NativeAnimatedModuleEventMapping {
1364
- P0 nativeEventPath;
1364
+ P0 nativeEventPath{};
1365
1365
  P1 animatedValueTag;
1366
1366
  bool operator==(const NativeAnimatedModuleEventMapping &other) const {
1367
1367
  return nativeEventPath == other.nativeEventPath && animatedValueTag == other.animatedValueTag;
@@ -1649,8 +1649,8 @@ private:
1649
1649
 
1650
1650
  template <typename P0, typename P1, typename P2>
1651
1651
  struct NativeAnimatedTurboModuleEndResult {
1652
- P0 finished;
1653
- P1 value;
1652
+ P0 finished{};
1653
+ P1 value{};
1654
1654
  P2 offset;
1655
1655
  bool operator==(const NativeAnimatedTurboModuleEndResult &other) const {
1656
1656
  return finished == other.finished && value == other.value && offset == other.offset;
@@ -1706,7 +1706,7 @@ struct NativeAnimatedTurboModuleEndResultBridging {
1706
1706
 
1707
1707
  template <typename P0, typename P1>
1708
1708
  struct NativeAnimatedTurboModuleEventMapping {
1709
- P0 nativeEventPath;
1709
+ P0 nativeEventPath{};
1710
1710
  P1 animatedValueTag;
1711
1711
  bool operator==(const NativeAnimatedTurboModuleEventMapping &other) const {
1712
1712
  return nativeEventPath == other.nativeEventPath && animatedValueTag == other.animatedValueTag;
@@ -2170,7 +2170,7 @@ private:
2170
2170
 
2171
2171
  template <typename P0, typename P1>
2172
2172
  struct NativeBlobModuleConstants {
2173
- P0 BLOB_URI_SCHEME;
2173
+ P0 BLOB_URI_SCHEME{};
2174
2174
  P1 BLOB_URI_HOST;
2175
2175
  bool operator==(const NativeBlobModuleConstants &other) const {
2176
2176
  return BLOB_URI_SCHEME == other.BLOB_URI_SCHEME && BLOB_URI_HOST == other.BLOB_URI_HOST;
@@ -2348,8 +2348,8 @@ private:
2348
2348
 
2349
2349
  template <typename P0, typename P1, typename P2>
2350
2350
  struct NativeDeviceInfoDeviceInfoConstants {
2351
- P0 Dimensions;
2352
- P1 isEdgeToEdge;
2351
+ P0 Dimensions{};
2352
+ P1 isEdgeToEdge{};
2353
2353
  P2 isIPhoneX_deprecated;
2354
2354
  bool operator==(const NativeDeviceInfoDeviceInfoConstants &other) const {
2355
2355
  return Dimensions == other.Dimensions && isEdgeToEdge == other.isEdgeToEdge && isIPhoneX_deprecated == other.isIPhoneX_deprecated;
@@ -2405,9 +2405,9 @@ struct NativeDeviceInfoDeviceInfoConstantsBridging {
2405
2405
 
2406
2406
  template <typename P0, typename P1, typename P2, typename P3>
2407
2407
  struct NativeDeviceInfoDimensionsPayload {
2408
- P0 window;
2409
- P1 screen;
2410
- P2 windowPhysicalPixels;
2408
+ P0 window{};
2409
+ P1 screen{};
2410
+ P2 windowPhysicalPixels{};
2411
2411
  P3 screenPhysicalPixels;
2412
2412
  bool operator==(const NativeDeviceInfoDimensionsPayload &other) const {
2413
2413
  return window == other.window && screen == other.screen && windowPhysicalPixels == other.windowPhysicalPixels && screenPhysicalPixels == other.screenPhysicalPixels;
@@ -2472,9 +2472,9 @@ struct NativeDeviceInfoDimensionsPayloadBridging {
2472
2472
 
2473
2473
  template <typename P0, typename P1, typename P2, typename P3>
2474
2474
  struct NativeDeviceInfoDisplayMetrics {
2475
- P0 width;
2476
- P1 height;
2477
- P2 scale;
2475
+ P0 width{};
2476
+ P1 height{};
2477
+ P2 scale{};
2478
2478
  P3 fontScale;
2479
2479
  bool operator==(const NativeDeviceInfoDisplayMetrics &other) const {
2480
2480
  return width == other.width && height == other.height && scale == other.scale && fontScale == other.fontScale;
@@ -2531,10 +2531,10 @@ struct NativeDeviceInfoDisplayMetricsBridging {
2531
2531
 
2532
2532
  template <typename P0, typename P1, typename P2, typename P3, typename P4>
2533
2533
  struct NativeDeviceInfoDisplayMetricsAndroid {
2534
- P0 width;
2535
- P1 height;
2536
- P2 scale;
2537
- P3 fontScale;
2534
+ P0 width{};
2535
+ P1 height{};
2536
+ P2 scale{};
2537
+ P3 fontScale{};
2538
2538
  P4 densityDpi;
2539
2539
  bool operator==(const NativeDeviceInfoDisplayMetricsAndroid &other) const {
2540
2540
  return width == other.width && height == other.height && scale == other.scale && fontScale == other.fontScale && densityDpi == other.densityDpi;
@@ -2753,12 +2753,12 @@ private:
2753
2753
 
2754
2754
  template <typename P0, typename P1, typename P2, typename P3, typename P4, typename P5, typename P6>
2755
2755
  struct NativeDialogManagerAndroidDialogOptions {
2756
- P0 title;
2757
- P1 message;
2758
- P2 buttonPositive;
2759
- P3 buttonNegative;
2760
- P4 buttonNeutral;
2761
- P5 items;
2756
+ P0 title{};
2757
+ P1 message{};
2758
+ P2 buttonPositive{};
2759
+ P3 buttonNegative{};
2760
+ P4 buttonNeutral{};
2761
+ P5 items{};
2762
2762
  P6 cancelable;
2763
2763
  bool operator==(const NativeDialogManagerAndroidDialogOptions &other) const {
2764
2764
  return title == other.title && message == other.message && buttonPositive == other.buttonPositive && buttonNegative == other.buttonNegative && buttonNeutral == other.buttonNeutral && items == other.items && cancelable == other.cancelable;
@@ -2874,13 +2874,13 @@ private:
2874
2874
 
2875
2875
  template <typename P0, typename P1, typename P2, typename P3, typename P4, typename P5, typename P6, typename P7>
2876
2876
  struct NativeExceptionsManagerExceptionData {
2877
- P0 message;
2878
- P1 originalMessage;
2879
- P2 name;
2880
- P3 componentStack;
2881
- P4 stack;
2882
- P5 id;
2883
- P6 isFatal;
2877
+ P0 message{};
2878
+ P1 originalMessage{};
2879
+ P2 name{};
2880
+ P3 componentStack{};
2881
+ P4 stack{};
2882
+ P5 id{};
2883
+ P6 isFatal{};
2884
2884
  P7 extraData;
2885
2885
  bool operator==(const NativeExceptionsManagerExceptionData &other) const {
2886
2886
  return message == other.message && originalMessage == other.originalMessage && name == other.name && componentStack == other.componentStack && stack == other.stack && id == other.id && isFatal == other.isFatal && extraData == other.extraData;
@@ -2959,10 +2959,10 @@ struct NativeExceptionsManagerExceptionDataBridging {
2959
2959
 
2960
2960
  template <typename P0, typename P1, typename P2, typename P3, typename P4>
2961
2961
  struct NativeExceptionsManagerStackFrame {
2962
- P0 column;
2963
- P1 file;
2964
- P2 lineNumber;
2965
- P3 methodName;
2962
+ P0 column{};
2963
+ P1 file{};
2964
+ P2 lineNumber{};
2965
+ P3 methodName{};
2966
2966
  P4 collapse;
2967
2967
  bool operator==(const NativeExceptionsManagerStackFrame &other) const {
2968
2968
  return column == other.column && file == other.file && lineNumber == other.lineNumber && methodName == other.methodName && collapse == other.collapse;
@@ -3183,8 +3183,8 @@ private:
3183
3183
 
3184
3184
  template <typename P0, typename P1, typename P2>
3185
3185
  struct NativeI18nManagerI18nManagerConstants {
3186
- P0 doLeftAndRightSwapInRTL;
3187
- P1 isRTL;
3186
+ P0 doLeftAndRightSwapInRTL{};
3187
+ P1 isRTL{};
3188
3188
  P2 localeIdentifier;
3189
3189
  bool operator==(const NativeI18nManagerI18nManagerConstants &other) const {
3190
3190
  return doLeftAndRightSwapInRTL == other.doLeftAndRightSwapInRTL && isRTL == other.isRTL && localeIdentifier == other.localeIdentifier;
@@ -3284,10 +3284,10 @@ private:
3284
3284
 
3285
3285
  template <typename P0, typename P1, typename P2, typename P3, typename P4>
3286
3286
  struct NativeImageEditorOptions {
3287
- P0 offset;
3288
- P1 size;
3289
- P2 displaySize;
3290
- P3 resizeMode;
3287
+ P0 offset{};
3288
+ P1 size{};
3289
+ P2 displaySize{};
3290
+ P3 resizeMode{};
3291
3291
  P4 allowExternalStorage;
3292
3292
  bool operator==(const NativeImageEditorOptions &other) const {
3293
3293
  return offset == other.offset && size == other.size && displaySize == other.displaySize && resizeMode == other.resizeMode && allowExternalStorage == other.allowExternalStorage;
@@ -3386,7 +3386,7 @@ private:
3386
3386
 
3387
3387
  template <typename P0, typename P1>
3388
3388
  struct NativeImageLoaderAndroidImageSize {
3389
- P0 width;
3389
+ P0 width{};
3390
3390
  P1 height;
3391
3391
  bool operator==(const NativeImageLoaderAndroidImageSize &other) const {
3392
3392
  return width == other.width && height == other.height;
@@ -4060,17 +4060,17 @@ private:
4060
4060
 
4061
4061
  template <typename P0, typename P1, typename P2, typename P3, typename P4, typename P5, typename P6, typename P7, typename P8, typename P9, typename P10, typename P11>
4062
4062
  struct NativePlatformConstantsAndroidPlatformConstantsAndroid {
4063
- P0 isTesting;
4064
- P1 isDisableAnimations;
4065
- P2 reactNativeVersion;
4066
- P3 Version;
4067
- P4 Release;
4068
- P5 Serial;
4069
- P6 Fingerprint;
4070
- P7 Model;
4071
- P8 ServerHost;
4072
- P9 uiMode;
4073
- P10 Brand;
4063
+ P0 isTesting{};
4064
+ P1 isDisableAnimations{};
4065
+ P2 reactNativeVersion{};
4066
+ P3 Version{};
4067
+ P4 Release{};
4068
+ P5 Serial{};
4069
+ P6 Fingerprint{};
4070
+ P7 Model{};
4071
+ P8 ServerHost{};
4072
+ P9 uiMode{};
4073
+ P10 Brand{};
4074
4074
  P11 Manufacturer;
4075
4075
  bool operator==(const NativePlatformConstantsAndroidPlatformConstantsAndroid &other) const {
4076
4076
  return isTesting == other.isTesting && isDisableAnimations == other.isDisableAnimations && reactNativeVersion == other.reactNativeVersion && Version == other.Version && Release == other.Release && Serial == other.Serial && Fingerprint == other.Fingerprint && Model == other.Model && ServerHost == other.ServerHost && uiMode == other.uiMode && Brand == other.Brand && Manufacturer == other.Manufacturer;
@@ -4171,9 +4171,9 @@ struct NativePlatformConstantsAndroidPlatformConstantsAndroidBridging {
4171
4171
 
4172
4172
  template <typename P0, typename P1, typename P2, typename P3>
4173
4173
  struct NativePlatformConstantsAndroidReactNativeVersionAndroid {
4174
- P0 major;
4175
- P1 minor;
4176
- P2 patch;
4174
+ P0 major{};
4175
+ P1 minor{};
4176
+ P2 patch{};
4177
4177
  P3 prerelease;
4178
4178
  bool operator==(const NativePlatformConstantsAndroidReactNativeVersionAndroid &other) const {
4179
4179
  return major == other.major && minor == other.minor && patch == other.patch && prerelease == other.prerelease;
@@ -4257,13 +4257,13 @@ private:
4257
4257
 
4258
4258
  template <typename P0, typename P1, typename P2, typename P3, typename P4, typename P5, typename P6, typename P7>
4259
4259
  struct NativePlatformConstantsIOSPlatformConstantsIOS {
4260
- P0 isTesting;
4261
- P1 isDisableAnimations;
4262
- P2 reactNativeVersion;
4263
- P3 forceTouchAvailable;
4264
- P4 osVersion;
4265
- P5 systemName;
4266
- P6 interfaceIdiom;
4260
+ P0 isTesting{};
4261
+ P1 isDisableAnimations{};
4262
+ P2 reactNativeVersion{};
4263
+ P3 forceTouchAvailable{};
4264
+ P4 osVersion{};
4265
+ P5 systemName{};
4266
+ P6 interfaceIdiom{};
4267
4267
  P7 isMacCatalyst;
4268
4268
  bool operator==(const NativePlatformConstantsIOSPlatformConstantsIOS &other) const {
4269
4269
  return isTesting == other.isTesting && isDisableAnimations == other.isDisableAnimations && reactNativeVersion == other.reactNativeVersion && forceTouchAvailable == other.forceTouchAvailable && osVersion == other.osVersion && systemName == other.systemName && interfaceIdiom == other.interfaceIdiom && isMacCatalyst == other.isMacCatalyst;
@@ -4363,14 +4363,14 @@ private:
4363
4363
 
4364
4364
  template <typename P0, typename P1, typename P2, typename P3, typename P4, typename P5, typename P6, typename P7, typename P8>
4365
4365
  struct NativePushNotificationManagerIOSNotification {
4366
- P0 alertTitle;
4367
- P1 alertBody;
4368
- P2 userInfo;
4369
- P3 category;
4370
- P4 fireDate;
4371
- P5 fireIntervalSeconds;
4372
- P6 applicationIconBadgeNumber;
4373
- P7 isSilent;
4366
+ P0 alertTitle{};
4367
+ P1 alertBody{};
4368
+ P2 userInfo{};
4369
+ P3 category{};
4370
+ P4 fireDate{};
4371
+ P5 fireIntervalSeconds{};
4372
+ P6 applicationIconBadgeNumber{};
4373
+ P7 isSilent{};
4374
4374
  P8 soundName;
4375
4375
  bool operator==(const NativePushNotificationManagerIOSNotification &other) const {
4376
4376
  return alertTitle == other.alertTitle && alertBody == other.alertBody && userInfo == other.userInfo && category == other.category && fireDate == other.fireDate && fireIntervalSeconds == other.fireIntervalSeconds && applicationIconBadgeNumber == other.applicationIconBadgeNumber && isSilent == other.isSilent && soundName == other.soundName;
@@ -4470,8 +4470,8 @@ struct NativePushNotificationManagerIOSNotificationBridging {
4470
4470
 
4471
4471
  template <typename P0, typename P1, typename P2>
4472
4472
  struct NativePushNotificationManagerIOSPermissions {
4473
- P0 alert;
4474
- P1 badge;
4473
+ P0 alert{};
4474
+ P1 badge{};
4475
4475
  P2 sound;
4476
4476
  bool operator==(const NativePushNotificationManagerIOSPermissions &other) const {
4477
4477
  return alert == other.alert && badge == other.badge && sound == other.sound;
@@ -5342,9 +5342,9 @@ struct Bridging<NativeFantomNativeEventCategory> {
5342
5342
 
5343
5343
  template <typename P0, typename P1, typename P2, typename P3>
5344
5344
  struct NativeFantomImageResponse {
5345
- P0 width;
5346
- P1 height;
5347
- P2 cacheStatus;
5345
+ P0 width{};
5346
+ P1 height{};
5347
+ P2 cacheStatus{};
5348
5348
  P3 errorMessage;
5349
5349
  bool operator==(const NativeFantomImageResponse &other) const {
5350
5350
  return width == other.width && height == other.height && cacheStatus == other.cacheStatus && errorMessage == other.errorMessage;
@@ -5405,7 +5405,7 @@ struct NativeFantomImageResponseBridging {
5405
5405
 
5406
5406
  template <typename P0, typename P1>
5407
5407
  struct NativeFantomRenderFormatOptions {
5408
- P0 includeRoot;
5408
+ P0 includeRoot{};
5409
5409
  P1 includeLayoutMetrics;
5410
5410
  bool operator==(const NativeFantomRenderFormatOptions &other) const {
5411
5411
  return includeRoot == other.includeRoot && includeLayoutMetrics == other.includeLayoutMetrics;
@@ -5452,8 +5452,8 @@ struct NativeFantomRenderFormatOptionsBridging {
5452
5452
 
5453
5453
  template <typename P0, typename P1, typename P2>
5454
5454
  struct NativeFantomScrollOptions {
5455
- P0 x;
5456
- P1 y;
5455
+ P0 x{};
5456
+ P1 y{};
5457
5457
  P2 zoomScale;
5458
5458
  bool operator==(const NativeFantomScrollOptions &other) const {
5459
5459
  return x == other.x && y == other.y && zoomScale == other.zoomScale;
@@ -5976,7 +5976,7 @@ private:
5976
5976
 
5977
5977
  template <typename P0, typename P1>
5978
5978
  struct NativeIdleCallbacksIdleDeadline {
5979
- P0 didTimeout;
5979
+ P0 didTimeout{};
5980
5980
  P1 timeRemaining;
5981
5981
  bool operator==(const NativeIdleCallbacksIdleDeadline &other) const {
5982
5982
  return didTimeout == other.didTimeout && timeRemaining == other.timeRemaining;
@@ -6096,12 +6096,12 @@ private:
6096
6096
 
6097
6097
  template <typename P0, typename P1, typename P2, typename P3, typename P4, typename P5, typename P6>
6098
6098
  struct NativeIntersectionObserverNativeIntersectionObserverEntry {
6099
- P0 intersectionObserverId;
6100
- P1 targetInstanceHandle;
6101
- P2 targetRect;
6102
- P3 rootRect;
6103
- P4 intersectionRect;
6104
- P5 isIntersectingAboveThresholds;
6099
+ P0 intersectionObserverId{};
6100
+ P1 targetInstanceHandle{};
6101
+ P2 targetRect{};
6102
+ P3 rootRect{};
6103
+ P4 intersectionRect{};
6104
+ P5 isIntersectingAboveThresholds{};
6105
6105
  P6 time;
6106
6106
  bool operator==(const NativeIntersectionObserverNativeIntersectionObserverEntry &other) const {
6107
6107
  return intersectionObserverId == other.intersectionObserverId && targetInstanceHandle == other.targetInstanceHandle && targetRect == other.targetRect && rootRect == other.rootRect && intersectionRect == other.intersectionRect && isIntersectingAboveThresholds == other.isIntersectingAboveThresholds && time == other.time;
@@ -6173,11 +6173,11 @@ struct NativeIntersectionObserverNativeIntersectionObserverEntryBridging {
6173
6173
 
6174
6174
  template <typename P0, typename P1, typename P2, typename P3, typename P4, typename P5>
6175
6175
  struct NativeIntersectionObserverNativeIntersectionObserverObserveOptions {
6176
- P0 intersectionObserverId;
6177
- P1 rootShadowNode;
6178
- P2 targetShadowNode;
6179
- P3 thresholds;
6180
- P4 rootThresholds;
6176
+ P0 intersectionObserverId{};
6177
+ P1 rootShadowNode{};
6178
+ P2 targetShadowNode{};
6179
+ P3 thresholds{};
6180
+ P4 rootThresholds{};
6181
6181
  P5 rootMargin;
6182
6182
  bool operator==(const NativeIntersectionObserverNativeIntersectionObserverObserveOptions &other) const {
6183
6183
  return intersectionObserverId == other.intersectionObserverId && rootShadowNode == other.rootShadowNode && targetShadowNode == other.targetShadowNode && thresholds == other.thresholds && rootThresholds == other.rootThresholds && rootMargin == other.rootMargin;
@@ -6326,8 +6326,8 @@ private:
6326
6326
 
6327
6327
  template <typename P0, typename P1, typename P2>
6328
6328
  struct NativeMutationObserverNativeMutationObserverObserveOptions {
6329
- P0 mutationObserverId;
6330
- P1 targetShadowNode;
6329
+ P0 mutationObserverId{};
6330
+ P1 targetShadowNode{};
6331
6331
  P2 subtree;
6332
6332
  bool operator==(const NativeMutationObserverNativeMutationObserverObserveOptions &other) const {
6333
6333
  return mutationObserverId == other.mutationObserverId && targetShadowNode == other.targetShadowNode && subtree == other.subtree;
@@ -6379,9 +6379,9 @@ struct NativeMutationObserverNativeMutationObserverObserveOptionsBridging {
6379
6379
 
6380
6380
  template <typename P0, typename P1, typename P2, typename P3>
6381
6381
  struct NativeMutationObserverNativeMutationRecord {
6382
- P0 mutationObserverId;
6383
- P1 target;
6384
- P2 addedNodes;
6382
+ P0 mutationObserverId{};
6383
+ P1 target{};
6384
+ P2 addedNodes{};
6385
6385
  P3 removedNodes;
6386
6386
  bool operator==(const NativeMutationObserverNativeMutationRecord &other) const {
6387
6387
  return mutationObserverId == other.mutationObserverId && target == other.target && addedNodes == other.addedNodes && removedNodes == other.removedNodes;
@@ -6494,9 +6494,9 @@ private:
6494
6494
 
6495
6495
  template <typename P0, typename P1, typename P2, typename P3>
6496
6496
  struct NativePerformancePerformanceObserverInit {
6497
- P0 entryTypes;
6498
- P1 type;
6499
- P2 buffered;
6497
+ P0 entryTypes{};
6498
+ P1 type{};
6499
+ P2 buffered{};
6500
6500
  P3 durationThreshold;
6501
6501
  bool operator==(const NativePerformancePerformanceObserverInit &other) const {
6502
6502
  return entryTypes == other.entryTypes && type == other.type && buffered == other.buffered && durationThreshold == other.durationThreshold;
@@ -6561,22 +6561,22 @@ struct NativePerformancePerformanceObserverInitBridging {
6561
6561
 
6562
6562
  template <typename P0, typename P1, typename P2, typename P3, typename P4, typename P5, typename P6, typename P7, typename P8, typename P9, typename P10, typename P11, typename P12, typename P13, typename P14, typename P15, typename P16>
6563
6563
  struct NativePerformanceRawPerformanceEntry {
6564
- P0 name;
6565
- P1 entryType;
6566
- P2 startTime;
6567
- P3 duration;
6568
- P4 processingStart;
6569
- P5 processingEnd;
6570
- P6 interactionId;
6571
- P7 fetchStart;
6572
- P8 requestStart;
6573
- P9 connectStart;
6574
- P10 connectEnd;
6575
- P11 responseStart;
6576
- P12 responseEnd;
6577
- P13 responseStatus;
6578
- P14 contentType;
6579
- P15 encodedBodySize;
6564
+ P0 name{};
6565
+ P1 entryType{};
6566
+ P2 startTime{};
6567
+ P3 duration{};
6568
+ P4 processingStart{};
6569
+ P5 processingEnd{};
6570
+ P6 interactionId{};
6571
+ P7 fetchStart{};
6572
+ P8 requestStart{};
6573
+ P9 connectStart{};
6574
+ P10 connectEnd{};
6575
+ P11 responseStart{};
6576
+ P12 responseEnd{};
6577
+ P13 responseStatus{};
6578
+ P14 contentType{};
6579
+ P15 encodedBodySize{};
6580
6580
  P16 decodedBodySize;
6581
6581
  bool operator==(const NativePerformanceRawPerformanceEntry &other) const {
6582
6582
  return name == other.name && entryType == other.entryType && startTime == other.startTime && duration == other.duration && processingStart == other.processingStart && processingEnd == other.processingEnd && interactionId == other.interactionId && fetchStart == other.fetchStart && requestStart == other.requestStart && connectStart == other.connectStart && connectEnd == other.connectEnd && responseStart == other.responseStart && responseEnd == other.responseEnd && responseStatus == other.responseStatus && contentType == other.contentType && encodedBodySize == other.encodedBodySize && decodedBodySize == other.decodedBodySize;
@@ -1,4 +1,4 @@
1
- VERSION_NAME=0.83.0-nightly-20251104-502efe1cc
1
+ VERSION_NAME=0.84.0-nightly-20251105-5ec5cc3a3
2
2
  react.internal.publishingGroup=com.facebook.react
3
3
  react.internal.hermesPublishingGroup=com.facebook.hermes
4
4
 
@@ -68,9 +68,9 @@ public open class ReactDelegate {
68
68
  launchOptions: Bundle?,
69
69
  ) {
70
70
  this.activity = activity
71
- mainComponentName = appKey
71
+ this.mainComponentName = appKey
72
72
  this.launchOptions = launchOptions
73
- doubleTapReloadRecognizer = DoubleTapReloadRecognizer()
73
+ this.doubleTapReloadRecognizer = DoubleTapReloadRecognizer()
74
74
  this.reactNativeHost = reactNativeHost
75
75
  }
76
76
 
@@ -81,9 +81,9 @@ public open class ReactDelegate {
81
81
  launchOptions: Bundle?,
82
82
  ) {
83
83
  this.activity = activity
84
- mainComponentName = appKey
84
+ this.mainComponentName = appKey
85
85
  this.launchOptions = launchOptions
86
- doubleTapReloadRecognizer = DoubleTapReloadRecognizer()
86
+ this.doubleTapReloadRecognizer = DoubleTapReloadRecognizer()
87
87
  this.reactHost = reactHost
88
88
  }
89
89
 
@@ -95,11 +95,11 @@ public open class ReactDelegate {
95
95
  launchOptions: Bundle?,
96
96
  fabricEnabled: Boolean,
97
97
  ) {
98
- isFabricEnabled = fabricEnabled
98
+ this.isFabricEnabled = fabricEnabled
99
99
  this.activity = activity
100
- mainComponentName = appKey
100
+ this.mainComponentName = appKey
101
101
  this.launchOptions = launchOptions
102
- doubleTapReloadRecognizer = DoubleTapReloadRecognizer()
102
+ this.doubleTapReloadRecognizer = DoubleTapReloadRecognizer()
103
103
  this.reactNativeHost = reactNativeHost
104
104
  }
105
105
 
@@ -10,16 +10,65 @@ package com.facebook.react
10
10
  import com.facebook.react.bridge.ReactApplicationContext
11
11
  import com.facebook.react.uimanager.ViewManager
12
12
 
13
+ /**
14
+ * Interface for React Native packages that provide ViewManagers on-demand rather than eagerly.
15
+ *
16
+ * This interface enables lazy initialization of ViewManagers, improving startup performance by
17
+ * deferring the creation of ViewManager instances until they are actually needed by the JavaScript
18
+ * code. Instead of instantiating all ViewManagers during package initialization, implementing
19
+ * classes can defer creation until a specific ViewManager is requested by name.
20
+ *
21
+ * This pattern is particularly beneficial for applications with many ViewManagers, as it reduces
22
+ * memory footprint and initialization time by only creating the ViewManagers that are actively
23
+ * used.
24
+ *
25
+ * Implementing classes should maintain a registry or factory mechanism to create ViewManagers based
26
+ * on their names when requested.
27
+ *
28
+ * @see com.facebook.react.uimanager.ViewManager
29
+ * @see com.facebook.react.ReactPackage
30
+ */
13
31
  public interface ViewManagerOnDemandReactPackage {
14
32
  /**
15
- * Provides a list of names of ViewManagers with which these modules can be accessed from JS.
16
- * Typically, this is ViewManager.getName().
33
+ * Provides the names of all ViewManagers available in this package.
34
+ *
35
+ * This method returns a collection of ViewManager names that can be accessed from JavaScript. The
36
+ * names returned should match the values returned by [ViewManager.getName] for each ViewManager
37
+ * that this package can create. The React Native framework uses these names to determine which
38
+ * ViewManagers are available and to request their creation on-demand.
39
+ *
40
+ * This method is called during the initialization phase to register available ViewManagers
41
+ * without actually instantiating them, enabling lazy loading.
42
+ *
43
+ * @param reactContext The React application context, which provides access to the Android
44
+ * application context and React Native lifecycle information
45
+ * @return A collection of ViewManager names. Returns an empty collection if no ViewManagers are
46
+ * available. The returned names should be unique within this package
17
47
  */
18
48
  public fun getViewManagerNames(reactContext: ReactApplicationContext): Collection<String>
19
49
 
20
50
  /**
21
- * Creates and returns a ViewManager with a specific name {@param viewManagerName}. It's up to an
22
- * implementing package how to interpret the name.
51
+ * Creates and returns a ViewManager instance for the specified name.
52
+ *
53
+ * This method is called lazily when a ViewManager is actually needed by the JavaScript code,
54
+ * rather than during package initialization. The implementation should create and configure the
55
+ * appropriate ViewManager based on the provided name. The name parameter corresponds to one of
56
+ * the names returned by [getViewManagerNames].
57
+ *
58
+ * Implementations have flexibility in how they interpret the name and create ViewManagers. For
59
+ * example, they might use a factory pattern, reflection, or a simple name-to-class mapping.
60
+ *
61
+ * This method may be called on any thread, so implementations should ensure thread safety if
62
+ * necessary.
63
+ *
64
+ * @param reactContext The React application context, which provides access to the Android
65
+ * application context and React Native lifecycle information needed to initialize the
66
+ * ViewManager
67
+ * @param viewManagerName The name of the ViewManager to create, matching one of the names
68
+ * returned by [getViewManagerNames]
69
+ * @return A ViewManager instance for the specified name, or null if the name is not recognized or
70
+ * the ViewManager cannot be created. Returning null will result in a JavaScript error when the
71
+ * native component is used
23
72
  */
24
73
  public fun createViewManager(
25
74
  reactContext: ReactApplicationContext,