react-native 0.83.0-nightly-20250904-5d65794ee → 0.83.0-nightly-20250906-44b2da0df

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 (113) hide show
  1. package/Libraries/AppDelegate/RCTAppSetupUtils.mm +4 -4
  2. package/Libraries/AppDelegate/RCTDefaultReactNativeFactoryDelegate.mm +5 -3
  3. package/Libraries/Blob/RCTBlobCollector.mm +1 -1
  4. package/Libraries/Core/ReactNativeVersion.js +1 -1
  5. package/Libraries/Image/RCTBundleAssetImageLoader.mm +2 -2
  6. package/Libraries/Image/RCTGIFImageDecoder.mm +2 -2
  7. package/Libraries/Image/RCTImageBlurUtils.mm +4 -4
  8. package/Libraries/Image/RCTImageStoreManager.mm +7 -7
  9. package/Libraries/Image/RCTLocalAssetImageLoader.mm +2 -2
  10. package/Libraries/LinkingIOS/RCTLinkingManager.mm +1 -1
  11. package/Libraries/NativeAnimation/Drivers/RCTEventAnimation.mm +1 -1
  12. package/Libraries/NativeAnimation/Nodes/RCTAnimatedNode.mm +9 -9
  13. package/Libraries/NativeAnimation/Nodes/RCTInterpolationAnimatedNode.mm +3 -3
  14. package/Libraries/NativeAnimation/Nodes/RCTObjectAnimatedNode.mm +1 -1
  15. package/Libraries/NativeAnimation/Nodes/RCTStyleAnimatedNode.mm +3 -3
  16. package/Libraries/NativeAnimation/Nodes/RCTTrackingAnimatedNode.mm +1 -1
  17. package/Libraries/NativeAnimation/Nodes/RCTTransformAnimatedNode.mm +1 -1
  18. package/Libraries/NativeAnimation/RCTNativeAnimatedNodesManager.mm +9 -9
  19. package/Libraries/Network/RCTDataRequestHandler.mm +4 -4
  20. package/Libraries/Network/RCTHTTPRequestHandler.mm +4 -4
  21. package/Libraries/Settings/RCTSettingsManager.mm +2 -2
  22. package/React/Base/RCTVersion.m +1 -1
  23. package/React/DevSupport/RCTPackagerConnection.h +1 -1
  24. package/React/DevSupport/RCTPackagerConnection.mm +1 -0
  25. package/React/FBReactNativeSpec/FBReactNativeSpecJSI-generated.cpp +12 -0
  26. package/React/FBReactNativeSpec/FBReactNativeSpecJSI.h +18 -0
  27. package/React/Fabric/Mounting/RCTComponentViewFactory.mm +3 -3
  28. package/React/Fabric/Utils/PlatformRunLoopObserver.mm +1 -1
  29. package/React/Fabric/Utils/RCTBoxShadow.mm +1 -1
  30. package/React/Inspector/RCTCxxInspectorPackagerConnectionDelegate.mm +1 -1
  31. package/React/Inspector/RCTCxxInspectorWebSocketAdapter.mm +2 -2
  32. package/React/Views/RCTComponentData.mm +19 -19
  33. package/ReactAndroid/api/ReactAndroid.api +2 -0
  34. package/ReactAndroid/build.gradle.kts +7 -0
  35. package/ReactAndroid/gradle.properties +3 -1
  36. package/ReactAndroid/hermes-engine/build.gradle.kts +28 -7
  37. package/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricUIManager.java +2 -1
  38. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/MountingManager.kt +12 -2
  39. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/SurfaceMountingManager.java +115 -1
  40. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlags.kt +13 -1
  41. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsCxxAccessor.kt +21 -1
  42. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsCxxInterop.kt +5 -1
  43. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsDefaults.kt +5 -1
  44. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsLocalAccessor.kt +23 -1
  45. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsProvider.kt +5 -1
  46. package/ReactAndroid/src/main/java/com/facebook/react/modules/systeminfo/ReactNativeVersion.kt +1 -1
  47. package/ReactAndroid/src/main/jni/CMakeLists.txt +2 -0
  48. package/ReactAndroid/src/main/jni/first-party/fbgloginit/glog_init.cpp +1 -1
  49. package/ReactAndroid/src/main/jni/react/devsupport/JInspectorNetworkReporter.cpp +3 -2
  50. package/ReactAndroid/src/main/jni/react/featureflags/JReactNativeFeatureFlagsCxxInterop.cpp +29 -1
  51. package/ReactAndroid/src/main/jni/react/featureflags/JReactNativeFeatureFlagsCxxInterop.h +7 -1
  52. package/ReactAndroid/src/main/jni/react/hermes/reactexecutor/CMakeLists.txt +4 -0
  53. package/ReactAndroid/src/main/jni/react/runtime/hermes/jni/CMakeLists.txt +4 -0
  54. package/ReactAndroid/src/main/jni/react/runtime/jni/CMakeLists.txt +4 -0
  55. package/ReactCommon/cxxreact/ReactNativeVersion.h +1 -1
  56. package/ReactCommon/hermes/executor/CMakeLists.txt +4 -0
  57. package/ReactCommon/hermes/executor/HermesExecutorFactory.cpp +8 -5
  58. package/ReactCommon/hermes/inspector-modern/CMakeLists.txt +4 -0
  59. package/ReactCommon/hermes/inspector-modern/chrome/ConnectionDemux.cpp +2 -2
  60. package/ReactCommon/hermes/inspector-modern/chrome/ConnectionDemux.h +2 -2
  61. package/ReactCommon/hermes/inspector-modern/chrome/Registration.cpp +2 -2
  62. package/ReactCommon/hermes/inspector-modern/chrome/Registration.h +2 -2
  63. package/ReactCommon/jsc/JSCRuntime.cpp +12 -12
  64. package/ReactCommon/jsi/jsi/decorator.h +4 -0
  65. package/ReactCommon/jsi/jsi/hermes.h +189 -0
  66. package/ReactCommon/jsi/jsi/instrumentation.h +3 -0
  67. package/ReactCommon/jsi/jsi/jsi.cpp +4 -0
  68. package/ReactCommon/jsinspector-modern/tests/InspectorPackagerConnectionTest.cpp +2 -2
  69. package/ReactCommon/jsinspector-modern/tests/JsiIntegrationTest.h +4 -4
  70. package/ReactCommon/react/featureflags/ReactNativeFeatureFlags.cpp +9 -1
  71. package/ReactCommon/react/featureflags/ReactNativeFeatureFlags.h +11 -1
  72. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsAccessor.cpp +67 -31
  73. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsAccessor.h +6 -2
  74. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsDefaults.h +9 -1
  75. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsDynamicProvider.h +19 -1
  76. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsProvider.h +3 -1
  77. package/ReactCommon/react/nativemodule/core/platform/android/ReactCommon/JavaTurboModule.cpp +2 -1
  78. package/ReactCommon/react/nativemodule/core/platform/ios/ReactCommon/RCTInteropTurboModule.mm +5 -5
  79. package/ReactCommon/react/nativemodule/core/platform/ios/ReactCommon/RCTTurboModule.mm +15 -15
  80. package/ReactCommon/react/nativemodule/featureflags/NativeReactNativeFeatureFlags.cpp +11 -1
  81. package/ReactCommon/react/nativemodule/featureflags/NativeReactNativeFeatureFlags.h +5 -1
  82. package/ReactCommon/react/nativemodule/samples/platform/ios/ReactCommon/RCTSampleLegacyModule.mm +4 -4
  83. package/ReactCommon/react/nativemodule/samples/platform/ios/ReactCommon/RCTSampleTurboModule.mm +4 -4
  84. package/ReactCommon/react/renderer/animated/NativeAnimatedNodesManager.cpp +13 -7
  85. package/ReactCommon/react/renderer/attributedstring/conversions.h +25 -25
  86. package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/LegacyViewManagerInteropComponentDescriptor.mm +2 -2
  87. package/ReactCommon/react/renderer/components/textinput/platform/android/react/renderer/components/androidtextinput/AndroidTextInputComponentDescriptor.h +1 -1
  88. package/ReactCommon/react/renderer/graphics/platform/ios/react/renderer/graphics/HostPlatformColor.mm +3 -3
  89. package/ReactCommon/react/renderer/graphics/platform/ios/react/renderer/graphics/PlatformColorParser.mm +4 -4
  90. package/ReactCommon/react/renderer/graphics/platform/ios/react/renderer/graphics/RCTPlatformColorUtils.mm +2 -2
  91. package/ReactCommon/react/renderer/imagemanager/platform/ios/react/renderer/imagemanager/RCTImagePrimitivesConversions.h +2 -2
  92. package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/react/renderer/textlayoutmanager/RCTAttributedTextUtils.h +1 -1
  93. package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/react/renderer/textlayoutmanager/RCTFontUtils.mm +33 -33
  94. package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/react/renderer/textlayoutmanager/RCTTextLayoutManager.mm +4 -4
  95. package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/react/renderer/textlayoutmanager/TextLayoutManager.mm +2 -2
  96. package/ReactCommon/react/runtime/CMakeLists.txt +4 -0
  97. package/ReactCommon/react/runtime/ReactInstance.cpp +12 -1
  98. package/ReactCommon/react/runtime/hermes/CMakeLists.txt +4 -0
  99. package/ReactCommon/react/runtime/hermes/HermesInstance.cpp +7 -3
  100. package/ReactCommon/react/utils/platform/ios/react/utils/FollyConvert.mm +2 -2
  101. package/package.json +8 -8
  102. package/scripts/cocoapods/jsengine.rb +2 -1
  103. package/scripts/cocoapods/utils.rb +8 -2
  104. package/sdks/hermes-engine/hermes-engine.podspec +30 -12
  105. package/sdks/hermes-engine/hermes-utils.rb +41 -10
  106. package/sdks/hermes-engine/utils/build-apple-framework.sh +7 -1
  107. package/sdks/hermes-engine/utils/build-hermes-xcode.sh +8 -1
  108. package/sdks/hermes-engine/utils/build-hermesc-xcode.sh +1 -1
  109. package/sdks/hermesc/osx-bin/hermes +0 -0
  110. package/sdks/hermesc/osx-bin/hermesc +0 -0
  111. package/sdks/hermesc/win64-bin/hermesc.exe +0 -0
  112. package/src/private/featureflags/ReactNativeFeatureFlags.js +11 -1
  113. package/src/private/featureflags/specs/NativeReactNativeFeatureFlags.js +3 -1
@@ -54,7 +54,7 @@ RCTAppSetupDefaultRootView(RCTBridge *bridge, NSString *moduleName, NSDictionary
54
54
  NSArray<NSString *> *RCTAppSetupUnstableModulesRequiringMainQueueSetup(id<RCTDependencyProvider> dependencyProvider)
55
55
  {
56
56
  // For oss, insert core main queue setup modules here
57
- return dependencyProvider ? dependencyProvider.unstableModulesRequiringMainQueueSetup : @[];
57
+ return (dependencyProvider != nullptr) ? dependencyProvider.unstableModulesRequiringMainQueueSetup : @[];
58
58
  }
59
59
 
60
60
  id<RCTTurboModule> RCTAppSetupDefaultModuleFromClass(Class moduleClass, id<RCTDependencyProvider> dependencyProvider)
@@ -65,11 +65,11 @@ id<RCTTurboModule> RCTAppSetupDefaultModuleFromClass(Class moduleClass, id<RCTDe
65
65
  NSArray<NSString *> *classNames = @[];
66
66
 
67
67
  if (protocol == @protocol(RCTImageURLLoader)) {
68
- classNames = dependencyProvider ? dependencyProvider.imageURLLoaderClassNames : @[];
68
+ classNames = (dependencyProvider != nullptr) ? dependencyProvider.imageURLLoaderClassNames : @[];
69
69
  } else if (protocol == @protocol(RCTImageDataDecoder)) {
70
- classNames = dependencyProvider ? dependencyProvider.imageDataDecoderClassNames : @[];
70
+ classNames = (dependencyProvider != nullptr) ? dependencyProvider.imageDataDecoderClassNames : @[];
71
71
  } else if (protocol == @protocol(RCTURLRequestHandler)) {
72
- classNames = dependencyProvider ? dependencyProvider.URLRequestHandlerClassNames : @[];
72
+ classNames = (dependencyProvider != nullptr) ? dependencyProvider.URLRequestHandlerClassNames : @[];
73
73
  }
74
74
 
75
75
  NSMutableArray *modules = [NSMutableArray new];
@@ -78,7 +78,7 @@
78
78
 
79
79
  - (NSDictionary<NSString *, Class<RCTComponentViewProtocol>> *)thirdPartyFabricComponents
80
80
  {
81
- return self.dependencyProvider ? self.dependencyProvider.thirdPartyFabricComponents : @{};
81
+ return (self.dependencyProvider != nullptr) ? self.dependencyProvider.thirdPartyFabricComponents : @{};
82
82
  }
83
83
 
84
84
  - (void)hostDidStart:(RCTHost *)host
@@ -87,13 +87,15 @@
87
87
 
88
88
  - (NSArray<NSString *> *)unstableModulesRequiringMainQueueSetup
89
89
  {
90
- return self.dependencyProvider ? RCTAppSetupUnstableModulesRequiringMainQueueSetup(self.dependencyProvider) : @[];
90
+ return (self.dependencyProvider != nullptr)
91
+ ? RCTAppSetupUnstableModulesRequiringMainQueueSetup(self.dependencyProvider)
92
+ : @[];
91
93
  }
92
94
 
93
95
  - (nullable id<RCTModuleProvider>)getModuleProvider:(const char *)name
94
96
  {
95
97
  NSString *providerName = [NSString stringWithCString:name encoding:NSUTF8StringEncoding];
96
- return self.dependencyProvider ? self.dependencyProvider.moduleProviders[providerName] : nullptr;
98
+ return (self.dependencyProvider != nullptr) ? self.dependencyProvider.moduleProviders[providerName] : nullptr;
97
99
  }
98
100
 
99
101
  - (std::shared_ptr<facebook::react::TurboModule>)getTurboModule:(const std::string &)name
@@ -31,7 +31,7 @@ void RCTBlobCollector::install(RCTBlobManager *blobManager)
31
31
  __weak RCTCxxBridge *cxxBridge = (RCTCxxBridge *)blobManager.bridge;
32
32
  [cxxBridge
33
33
  dispatchBlock:^{
34
- if (!cxxBridge || cxxBridge.runtime == nullptr) {
34
+ if ((cxxBridge == nullptr) || cxxBridge.runtime == nullptr) {
35
35
  return;
36
36
  }
37
37
  jsi::Runtime &runtime = *(jsi::Runtime *)cxxBridge.runtime;
@@ -29,7 +29,7 @@ export default class ReactNativeVersion {
29
29
  static major: number = 0;
30
30
  static minor: number = 83;
31
31
  static patch: number = 0;
32
- static prerelease: string | null = 'nightly-20250904-5d65794ee';
32
+ static prerelease: string | null = 'nightly-20250906-44b2da0df';
33
33
 
34
34
  static getVersionString(): string {
35
35
  return `${this.major}.${this.minor}.${this.patch}${this.prerelease != null ? `-${this.prerelease}` : ''}`;
@@ -50,8 +50,8 @@ RCT_EXPORT_MODULE()
50
50
  completionHandler:(RCTImageLoaderCompletionBlock)completionHandler
51
51
  {
52
52
  UIImage *image = RCTImageFromLocalAssetURL(imageURL);
53
- if (image) {
54
- if (progressHandler) {
53
+ if (image != nullptr) {
54
+ if (progressHandler != nullptr) {
55
55
  progressHandler(1, 1);
56
56
  }
57
57
  completionHandler(nil, image);
@@ -27,7 +27,7 @@ RCT_EXPORT_MODULE()
27
27
  char header[7] = {};
28
28
  [imageData getBytes:header length:6];
29
29
 
30
- return !strcmp(header, "GIF87a") || !strcmp(header, "GIF89a");
30
+ return (strcmp(header, "GIF87a") == 0) || (strcmp(header, "GIF89a") == 0);
31
31
  }
32
32
 
33
33
  - (RCTImageLoaderCancellationBlock)decodeImageData:(NSData *)imageData
@@ -38,7 +38,7 @@ RCT_EXPORT_MODULE()
38
38
  {
39
39
  RCTAnimatedImage *image = [[RCTAnimatedImage alloc] initWithData:imageData scale:scale];
40
40
 
41
- if (!image) {
41
+ if (image == nullptr) {
42
42
  completionHandler(nil, nil);
43
43
  return ^{
44
44
  };
@@ -19,7 +19,7 @@ UIImage *RCTBlurredImageWithRadius(UIImage *inputImage, CGFloat radius)
19
19
  }
20
20
 
21
21
  // convert to ARGB if it isn't
22
- if (CGImageGetBitsPerPixel(imageRef) != 32 || !((CGImageGetBitmapInfo(imageRef) & kCGBitmapAlphaInfoMask))) {
22
+ if (CGImageGetBitsPerPixel(imageRef) != 32 || (((CGImageGetBitmapInfo(imageRef) & kCGBitmapAlphaInfoMask)) == 0u)) {
23
23
  UIGraphicsImageRendererFormat *const rendererFormat = [UIGraphicsImageRendererFormat defaultFormat];
24
24
  rendererFormat.scale = inputImage.scale;
25
25
  UIGraphicsImageRenderer *const renderer = [[UIGraphicsImageRenderer alloc] initWithSize:inputImage.size
@@ -36,11 +36,11 @@ UIImage *RCTBlurredImageWithRadius(UIImage *inputImage, CGFloat radius)
36
36
  buffer1.rowBytes = buffer2.rowBytes = CGImageGetBytesPerRow(imageRef);
37
37
  size_t bytes = buffer1.rowBytes * buffer1.height;
38
38
  buffer1.data = malloc(bytes);
39
- if (!buffer1.data) {
39
+ if (buffer1.data == nullptr) {
40
40
  return inputImage;
41
41
  }
42
42
  buffer2.data = malloc(bytes);
43
- if (!buffer2.data) {
43
+ if (buffer2.data == nullptr) {
44
44
  free(buffer1.data);
45
45
  return inputImage;
46
46
  }
@@ -60,7 +60,7 @@ UIImage *RCTBlurredImageWithRadius(UIImage *inputImage, CGFloat radius)
60
60
  return inputImage;
61
61
  }
62
62
  void *tempBuffer = malloc(tempBufferSize);
63
- if (!tempBuffer) {
63
+ if (tempBuffer == nullptr) {
64
64
  free(buffer1.data);
65
65
  free(buffer2.data);
66
66
  return inputImage;
@@ -48,7 +48,7 @@ RCT_EXPORT_MODULE()
48
48
  {
49
49
  dispatch_async(_methodQueue, ^{
50
50
  [self removeImageForTag:imageTag];
51
- if (block) {
51
+ if (block != nullptr) {
52
52
  block();
53
53
  }
54
54
  });
@@ -58,7 +58,7 @@ RCT_EXPORT_MODULE()
58
58
  {
59
59
  RCTAssertThread(_methodQueue, @"Must be called on RCTImageStoreManager thread");
60
60
 
61
- if (!_store) {
61
+ if (_store == nullptr) {
62
62
  _store = [NSMutableDictionary new];
63
63
  _id = 0;
64
64
  }
@@ -112,7 +112,7 @@ RCT_EXPORT_METHOD(getBase64ForTag
112
112
  : (RCTResponseSenderBlock)errorCallback)
113
113
  {
114
114
  NSData *imageData = _store[imageTag];
115
- if (!imageData) {
115
+ if (imageData == nullptr) {
116
116
  errorCallback(
117
117
  @[ RCTJSErrorFromNSError(RCTErrorWithMessage([NSString stringWithFormat:@"Invalid imageTag: %@", imageTag])) ]);
118
118
  return;
@@ -132,7 +132,7 @@ RCT_EXPORT_METHOD(addImageFromBase64
132
132
  // Dispatching to a background thread to perform base64 decoding
133
133
  dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
134
134
  NSData *imageData = [[NSData alloc] initWithBase64EncodedString:base64String options:0];
135
- if (imageData) {
135
+ if (imageData != nullptr) {
136
136
  dispatch_async(self->_methodQueue, ^{
137
137
  successCallback(@[ [self _storeImageData:imageData] ]);
138
138
  });
@@ -164,14 +164,14 @@ RCT_EXPORT_METHOD(addImageFromBase64
164
164
 
165
165
  NSString *imageTag = request.URL.absoluteString;
166
166
  NSData *imageData = self->_store[imageTag];
167
- if (!imageData) {
167
+ if (imageData == nullptr) {
168
168
  NSError *error = RCTErrorWithMessage([NSString stringWithFormat:@"Invalid imageTag: %@", imageTag]);
169
169
  [delegate URLRequest:cancellationBlock didCompleteWithError:error];
170
170
  return;
171
171
  }
172
172
 
173
173
  CGImageSourceRef sourceRef = CGImageSourceCreateWithData((__bridge CFDataRef)imageData, NULL);
174
- if (!sourceRef) {
174
+ if (sourceRef == nullptr) {
175
175
  NSError *error =
176
176
  RCTErrorWithMessage([NSString stringWithFormat:@"Unable to decode data for imageTag: %@", imageTag]);
177
177
  [delegate URLRequest:cancellationBlock didCompleteWithError:error];
@@ -197,7 +197,7 @@ RCT_EXPORT_METHOD(addImageFromBase64
197
197
 
198
198
  - (void)cancelRequest:(id)requestToken
199
199
  {
200
- if (requestToken) {
200
+ if (requestToken != nullptr) {
201
201
  ((void (^)(void))requestToken)();
202
202
  }
203
203
  }
@@ -50,8 +50,8 @@ RCT_EXPORT_MODULE()
50
50
  completionHandler:(RCTImageLoaderCompletionBlock)completionHandler
51
51
  {
52
52
  UIImage *image = RCTImageFromLocalAssetURL(imageURL);
53
- if (image) {
54
- if (progressHandler) {
53
+ if (image != nullptr) {
54
+ if (progressHandler != nullptr) {
55
55
  progressHandler(1, 1);
56
56
  }
57
57
  completionHandler(nil, image);
@@ -155,7 +155,7 @@ RCT_EXPORT_METHOD(canOpenURL
155
155
  RCT_EXPORT_METHOD(getInitialURL : (RCTPromiseResolveBlock)resolve reject : (__unused RCTPromiseRejectBlock)reject)
156
156
  {
157
157
  NSURL *initialURL = nil;
158
- if (self.bridge.launchOptions[UIApplicationLaunchOptionsURLKey]) {
158
+ if (self.bridge.launchOptions[UIApplicationLaunchOptionsURLKey] != nullptr) {
159
159
  initialURL = self.bridge.launchOptions[UIApplicationLaunchOptionsURLKey];
160
160
  } else {
161
161
  NSDictionary *userActivityDictionary =
@@ -13,7 +13,7 @@
13
13
 
14
14
  - (instancetype)initWithEventPath:(NSArray<NSString *> *)eventPath valueNode:(RCTValueAnimatedNode *)valueNode
15
15
  {
16
- if ((self = [super init])) {
16
+ if ((self = [super init]) != nullptr) {
17
17
  _eventPath = eventPath;
18
18
  _valueNode = valueNode;
19
19
  }
@@ -16,7 +16,7 @@
16
16
 
17
17
  - (instancetype)initWithTag:(NSNumber *)tag config:(NSDictionary<NSString *, id> *)config
18
18
  {
19
- if ((self = [super init])) {
19
+ if ((self = [super init]) != nullptr) {
20
20
  _nodeTag = tag;
21
21
  _config = [config copy];
22
22
  }
@@ -37,10 +37,10 @@ RCT_NOT_IMPLEMENTED(-(instancetype)init)
37
37
 
38
38
  - (void)addChild:(RCTAnimatedNode *)child
39
39
  {
40
- if (!_childNodes) {
40
+ if (_childNodes == nullptr) {
41
41
  _childNodes = [NSMapTable strongToWeakObjectsMapTable];
42
42
  }
43
- if (child) {
43
+ if (child != nullptr) {
44
44
  [_childNodes setObject:child forKey:child.nodeTag];
45
45
  [child onAttachedToNode:self];
46
46
  }
@@ -48,10 +48,10 @@ RCT_NOT_IMPLEMENTED(-(instancetype)init)
48
48
 
49
49
  - (void)removeChild:(RCTAnimatedNode *)child
50
50
  {
51
- if (!_childNodes) {
51
+ if (_childNodes == nullptr) {
52
52
  return;
53
53
  }
54
- if (child) {
54
+ if (child != nullptr) {
55
55
  [_childNodes removeObjectForKey:child.nodeTag];
56
56
  [child onDetachedFromNode:self];
57
57
  }
@@ -59,20 +59,20 @@ RCT_NOT_IMPLEMENTED(-(instancetype)init)
59
59
 
60
60
  - (void)onAttachedToNode:(RCTAnimatedNode *)parent
61
61
  {
62
- if (!_parentNodes) {
62
+ if (_parentNodes == nullptr) {
63
63
  _parentNodes = [NSMapTable strongToWeakObjectsMapTable];
64
64
  }
65
- if (parent) {
65
+ if (parent != nullptr) {
66
66
  [_parentNodes setObject:parent forKey:parent.nodeTag];
67
67
  }
68
68
  }
69
69
 
70
70
  - (void)onDetachedFromNode:(RCTAnimatedNode *)parent
71
71
  {
72
- if (!_parentNodes) {
72
+ if (_parentNodes == nullptr) {
73
73
  return;
74
74
  }
75
- if (parent) {
75
+ if (parent != nullptr) {
76
76
  [_parentNodes removeObjectForKey:parent.nodeTag];
77
77
  }
78
78
  }
@@ -86,7 +86,7 @@ NSString *RCTInterpolateString(
86
86
 
87
87
  - (instancetype)initWithTag:(NSNumber *)tag config:(NSDictionary<NSString *, id> *)config
88
88
  {
89
- if ((self = [super initWithTag:tag config:config])) {
89
+ if ((self = [super initWithTag:tag config:config]) != nullptr) {
90
90
  _inputRange = config[@"inputRange"];
91
91
 
92
92
  NSArray *outputRangeConfig = config[@"outputRange"];
@@ -104,7 +104,7 @@ NSString *RCTInterpolateString(
104
104
  switch (_outputType) {
105
105
  case RCTInterpolationOutputColor: {
106
106
  UIColor *color = [RCTConvert UIColor:value];
107
- [outputRange addObject:color ? color : [UIColor whiteColor]];
107
+ [outputRange addObject:(color != nullptr) ? color : [UIColor whiteColor]];
108
108
  break;
109
109
  }
110
110
  case RCTInterpolationOutputString:
@@ -141,7 +141,7 @@ NSString *RCTInterpolateString(
141
141
  - (void)performUpdate
142
142
  {
143
143
  [super performUpdate];
144
- if (!_parentNode) {
144
+ if (_parentNode == nullptr) {
145
145
  return;
146
146
  }
147
147
 
@@ -48,7 +48,7 @@ NSString *const NODE_TAG_KEY = @"nodeTag";
48
48
  if ([value isKindOfClass:[NSDictionary class]]) {
49
49
  NSDictionary<NSString *, id> *dict = (NSDictionary *)value;
50
50
  id nodeTag = [dict objectForKey:NODE_TAG_KEY];
51
- if (nodeTag && [nodeTag isKindOfClass:[NSNumber class]]) {
51
+ if ((nodeTag != nullptr) && [nodeTag isKindOfClass:[NSNumber class]]) {
52
52
  RCTAnimatedNode *node = [self.parentNodes objectForKey:(NSNumber *)nodeTag];
53
53
  if ([node isKindOfClass:[RCTValueAnimatedNode class]]) {
54
54
  RCTValueAnimatedNode *valueNode = (RCTValueAnimatedNode *)node;
@@ -18,7 +18,7 @@
18
18
 
19
19
  - (instancetype)initWithTag:(NSNumber *)tag config:(NSDictionary<NSString *, id> *)config
20
20
  {
21
- if ((self = [super initWithTag:tag config:config])) {
21
+ if ((self = [super initWithTag:tag config:config]) != nullptr) {
22
22
  _propsDictionary = [NSMutableDictionary new];
23
23
  }
24
24
  return self;
@@ -36,11 +36,11 @@
36
36
  NSDictionary<NSString *, NSNumber *> *style = self.config[@"style"];
37
37
  [style enumerateKeysAndObjectsUsingBlock:^(NSString *property, NSNumber *nodeTag, __unused BOOL *stop) {
38
38
  RCTAnimatedNode *node = [self.parentNodes objectForKey:nodeTag];
39
- if (node) {
39
+ if (node != nullptr) {
40
40
  if ([node isKindOfClass:[RCTValueAnimatedNode class]]) {
41
41
  RCTValueAnimatedNode *valueAnimatedNode = (RCTValueAnimatedNode *)node;
42
42
  id animatedObject = valueAnimatedNode.animatedObject;
43
- if (animatedObject) {
43
+ if (animatedObject != nullptr) {
44
44
  _propsDictionary[property] = animatedObject;
45
45
  } else {
46
46
  _propsDictionary[property] = @(valueAnimatedNode.value);
@@ -18,7 +18,7 @@
18
18
 
19
19
  - (instancetype)initWithTag:(NSNumber *)tag config:(NSDictionary<NSString *, id> *)config
20
20
  {
21
- if ((self = [super initWithTag:tag config:config])) {
21
+ if ((self = [super initWithTag:tag config:config]) != nullptr) {
22
22
  _animationId = config[@"animationId"];
23
23
  _toValueNodeTag = config[@"toValue"];
24
24
  _valueNodeTag = config[@"value"];
@@ -14,7 +14,7 @@
14
14
 
15
15
  - (instancetype)initWithTag:(NSNumber *)tag config:(NSDictionary<NSString *, id> *)config
16
16
  {
17
- if ((self = [super initWithTag:tag config:config])) {
17
+ if ((self = [super initWithTag:tag config:config]) != nullptr) {
18
18
  _propsDictionary = [NSMutableDictionary new];
19
19
  }
20
20
  return self;
@@ -59,7 +59,7 @@ static NSString *RCTNormalizeAnimatedEventName(NSString *eventName)
59
59
  - (instancetype)initWithBridge:(nullable RCTBridge *)bridge
60
60
  surfacePresenter:(id<RCTSurfacePresenterStub>)surfacePresenter
61
61
  {
62
- if ((self = [super init])) {
62
+ if ((self = [super init]) != nullptr) {
63
63
  _bridge = bridge;
64
64
  _surfacePresenter = surfacePresenter;
65
65
  _animationNodes = [NSMutableDictionary new];
@@ -72,7 +72,7 @@ static NSString *RCTNormalizeAnimatedEventName(NSString *eventName)
72
72
  - (BOOL)isNodeManagedByFabric:(NSNumber *)tag
73
73
  {
74
74
  RCTAnimatedNode *node = _animationNodes[tag];
75
- if (node) {
75
+ if (node != nullptr) {
76
76
  return [node isManagedByFabric];
77
77
  }
78
78
  return false;
@@ -106,7 +106,7 @@ static NSString *RCTNormalizeAnimatedEventName(NSString *eventName)
106
106
  NSString *nodeType = [RCTConvert NSString:config[@"type"]];
107
107
 
108
108
  Class nodeClass = map[nodeType];
109
- if (!nodeClass) {
109
+ if (nodeClass == nullptr) {
110
110
  RCTLogError(@"Animated node type %@ not supported natively", nodeType);
111
111
  return;
112
112
  }
@@ -187,7 +187,7 @@ static NSString *RCTNormalizeAnimatedEventName(NSString *eventName)
187
187
  - (void)dropAnimatedNode:(NSNumber *)tag
188
188
  {
189
189
  RCTAnimatedNode *node = _animationNodes[tag];
190
- if (node) {
190
+ if (node != nullptr) {
191
191
  [node detachNode];
192
192
  [_animationNodes removeObjectForKey:tag];
193
193
  }
@@ -345,7 +345,7 @@ static NSString *RCTNormalizeAnimatedEventName(NSString *eventName)
345
345
  NSNumber *nodeTag = [RCTConvert NSNumber:eventMapping[@"animatedValueTag"]];
346
346
  RCTAnimatedNode *node = _animationNodes[nodeTag];
347
347
 
348
- if (!node) {
348
+ if (node == nullptr) {
349
349
  RCTLogError(@"Animated node with tag %@ does not exist", nodeTag);
350
350
  return;
351
351
  }
@@ -407,7 +407,7 @@ static NSString *RCTNormalizeAnimatedEventName(NSString *eventName)
407
407
 
408
408
  NSString *key = [NSString stringWithFormat:@"%@%@", event.viewTag, RCTNormalizeAnimatedEventName(event.eventName)];
409
409
  NSMutableArray<RCTEventAnimation *> *driversForKey = _eventDrivers[key];
410
- if (driversForKey) {
410
+ if (driversForKey != nullptr) {
411
411
  for (RCTEventAnimation *driver in driversForKey) {
412
412
  [self stopAnimationsForNode:driver.valueNode];
413
413
  [driver updateWithEvent:event];
@@ -439,7 +439,7 @@ static NSString *RCTNormalizeAnimatedEventName(NSString *eventName)
439
439
 
440
440
  - (void)startAnimationLoopIfNeeded
441
441
  {
442
- if (!_displayLink && _activeAnimations.count > 0) {
442
+ if ((_displayLink == nullptr) && _activeAnimations.count > 0) {
443
443
  _displayLink = [CADisplayLink displayLinkWithTarget:self selector:@selector(stepAnimations:)];
444
444
  [_displayLink addToRunLoop:[NSRunLoop mainRunLoop] forMode:NSRunLoopCommonModes];
445
445
  }
@@ -454,7 +454,7 @@ static NSString *RCTNormalizeAnimatedEventName(NSString *eventName)
454
454
 
455
455
  - (void)stopAnimationLoop
456
456
  {
457
- if (_displayLink) {
457
+ if (_displayLink != nullptr) {
458
458
  [_displayLink invalidate];
459
459
  _displayLink = nil;
460
460
  }
@@ -486,7 +486,7 @@ static NSString *RCTNormalizeAnimatedEventName(NSString *eventName)
486
486
  NSArray<RCTEventAnimation *> *eventAnimations = _eventDrivers[key];
487
487
  for (RCTEventAnimation *animation in eventAnimations) {
488
488
  NSNumber *nodeTag = [animation.valueNode nodeTag];
489
- if (nodeTag) {
489
+ if (nodeTag != nullptr) {
490
490
  [tags addObject:nodeTag];
491
491
  }
492
492
  for (NSNumber *childNodeKey in [animation.valueNode childNodes]) {
@@ -25,7 +25,7 @@ RCT_EXPORT_MODULE()
25
25
  - (void)invalidate
26
26
  {
27
27
  std::lock_guard<std::mutex> lock(_operationHandlerMutexLock);
28
- if (_queue) {
28
+ if (_queue != nullptr) {
29
29
  for (NSOperation *operation in _queue.operations) {
30
30
  if (!operation.isCancelled && !operation.isFinished) {
31
31
  [operation cancel];
@@ -44,7 +44,7 @@ RCT_EXPORT_MODULE()
44
44
  {
45
45
  std::lock_guard<std::mutex> lock(_operationHandlerMutexLock);
46
46
  // Lazy setup
47
- if (!_queue) {
47
+ if (_queue == nullptr) {
48
48
  _queue = [NSOperationQueue new];
49
49
  _queue.maxConcurrentOperationCount = 2;
50
50
  }
@@ -59,7 +59,7 @@ RCT_EXPORT_MODULE()
59
59
  // Get mime type
60
60
  NSRange firstSemicolon = [request.URL.resourceSpecifier rangeOfString:@";"];
61
61
  NSString *mimeType =
62
- firstSemicolon.length ? [request.URL.resourceSpecifier substringToIndex:firstSemicolon.location] : nil;
62
+ (firstSemicolon.length != 0u) ? [request.URL.resourceSpecifier substringToIndex:firstSemicolon.location] : nil;
63
63
 
64
64
  // Send response
65
65
  NSURLResponse *response = [[NSURLResponse alloc] initWithURL:request.URL
@@ -72,7 +72,7 @@ RCT_EXPORT_MODULE()
72
72
  // Load data
73
73
  NSError *error;
74
74
  NSData *data = [NSData dataWithContentsOfURL:request.URL options:NSDataReadingMappedIfSafe error:&error];
75
- if (data) {
75
+ if (data != nullptr) {
76
76
  [delegate URLRequest:strongOp didReceiveData:data];
77
77
  }
78
78
  [delegate URLRequest:strongOp didCompleteWithError:error];
@@ -46,7 +46,7 @@ RCT_EXPORT_MODULE()
46
46
  - (BOOL)isValid
47
47
  {
48
48
  // if session == nil and delegates != nil, we've been invalidated
49
- return _session || !_delegates;
49
+ return (_session != nullptr) || (_delegates == nullptr);
50
50
  }
51
51
 
52
52
  #pragma mark - NSURLRequestHandler
@@ -67,7 +67,7 @@ RCT_EXPORT_MODULE()
67
67
  {
68
68
  std::lock_guard<std::mutex> lock(_mutex);
69
69
  // Lazy setup
70
- if (!_session && [self isValid]) {
70
+ if ((_session == nullptr) && [self isValid]) {
71
71
  // You can override default NSURLSession instance property allowsCellularAccess (default value YES)
72
72
  // by providing the following key to your RN project (edit ios/project/Info.plist file in Xcode):
73
73
  // <key>ReactNetworkForceWifiOnly</key> <true/>
@@ -80,12 +80,12 @@ RCT_EXPORT_MODULE()
80
80
  callbackQueue.maxConcurrentOperationCount = 1;
81
81
  callbackQueue.underlyingQueue = [[_moduleRegistry moduleForName:"Networking"] methodQueue];
82
82
  NSURLSessionConfiguration *configuration;
83
- if (urlSessionConfigurationProvider) {
83
+ if (urlSessionConfigurationProvider != nullptr) {
84
84
  configuration = urlSessionConfigurationProvider();
85
85
  } else {
86
86
  configuration = [NSURLSessionConfiguration defaultSessionConfiguration];
87
87
  // Set allowsCellularAccess to NO ONLY if key ReactNetworkForceWifiOnly exists AND its value is YES
88
- if (useWifiOnly) {
88
+ if (useWifiOnly != nullptr) {
89
89
  configuration.allowsCellularAccess = ![useWifiOnly boolValue];
90
90
  }
91
91
  [configuration setHTTPShouldSetCookies:YES];
@@ -39,7 +39,7 @@ RCT_EXPORT_MODULE()
39
39
 
40
40
  - (instancetype)initWithUserDefaults:(NSUserDefaults *)defaults
41
41
  {
42
- if ((self = [super init])) {
42
+ if ((self = [super init]) != nullptr) {
43
43
  _defaults = defaults;
44
44
 
45
45
  [[NSNotificationCenter defaultCenter] addObserver:self
@@ -84,7 +84,7 @@ RCT_EXPORT_METHOD(setValues : (NSDictionary *)values)
84
84
  _ignoringUpdates = YES;
85
85
  [values enumerateKeysAndObjectsUsingBlock:^(NSString *key, id json, BOOL *stop) {
86
86
  id plist = [RCTConvert NSPropertyList:json];
87
- if (plist) {
87
+ if (plist != nullptr) {
88
88
  [self->_defaults setObject:plist forKey:key];
89
89
  } else {
90
90
  [self->_defaults removeObjectForKey:key];
@@ -24,7 +24,7 @@ NSDictionary* RCTGetReactNativeVersion(void)
24
24
  RCTVersionMajor: @(0),
25
25
  RCTVersionMinor: @(83),
26
26
  RCTVersionPatch: @(0),
27
- RCTVersionPrerelease: @"nightly-20250904-5d65794ee",
27
+ RCTVersionPrerelease: @"nightly-20250906-44b2da0df",
28
28
  };
29
29
  });
30
30
  return __rnVersion;
@@ -59,7 +59,7 @@ typedef void (^RCTConnectedHandler)(void);
59
59
  /** Disconnects and removes all handlers. */
60
60
  - (void)stop;
61
61
 
62
- /** Reconnect with given packager server. */
62
+ /** Reconnect with given packager server, if packagerServerHostPort has changed. */
63
63
  - (void)reconnect:(NSString *)packagerServerHostPort;
64
64
 
65
65
  /**
@@ -160,6 +160,7 @@ static RCTReconnectingWebSocket *socketForLocation(NSString *const serverHostPor
160
160
 
161
161
  - (void)bundleURLSettingsChanged
162
162
  {
163
+ // Will only reconnect if `packagerServerHostPort` has actually changed
163
164
  [self reconnect:[[RCTBundleURLProvider sharedSettings] packagerServerHostPort]];
164
165
  }
165
166
 
@@ -277,6 +277,11 @@ static jsi::Value __hostFunction_NativeReactNativeFeatureFlagsCxxSpecJSI_enableV
277
277
  rt
278
278
  );
279
279
  }
280
+ static jsi::Value __hostFunction_NativeReactNativeFeatureFlagsCxxSpecJSI_enableViewRecyclingForImage(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) {
281
+ return static_cast<NativeReactNativeFeatureFlagsCxxSpecJSI *>(&turboModule)->enableViewRecyclingForImage(
282
+ rt
283
+ );
284
+ }
280
285
  static jsi::Value __hostFunction_NativeReactNativeFeatureFlagsCxxSpecJSI_enableViewRecyclingForScrollView(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) {
281
286
  return static_cast<NativeReactNativeFeatureFlagsCxxSpecJSI *>(&turboModule)->enableViewRecyclingForScrollView(
282
287
  rt
@@ -327,6 +332,11 @@ static jsi::Value __hostFunction_NativeReactNativeFeatureFlagsCxxSpecJSI_hideOff
327
332
  rt
328
333
  );
329
334
  }
335
+ static jsi::Value __hostFunction_NativeReactNativeFeatureFlagsCxxSpecJSI_overrideBySynchronousMountPropsAtMountingAndroid(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) {
336
+ return static_cast<NativeReactNativeFeatureFlagsCxxSpecJSI *>(&turboModule)->overrideBySynchronousMountPropsAtMountingAndroid(
337
+ rt
338
+ );
339
+ }
330
340
  static jsi::Value __hostFunction_NativeReactNativeFeatureFlagsCxxSpecJSI_perfMonitorV2Enabled(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) {
331
341
  return static_cast<NativeReactNativeFeatureFlagsCxxSpecJSI *>(&turboModule)->perfMonitorV2Enabled(
332
342
  rt
@@ -469,6 +479,7 @@ NativeReactNativeFeatureFlagsCxxSpecJSI::NativeReactNativeFeatureFlagsCxxSpecJSI
469
479
  methodMap_["enableResourceTimingAPI"] = MethodMetadata {0, __hostFunction_NativeReactNativeFeatureFlagsCxxSpecJSI_enableResourceTimingAPI};
470
480
  methodMap_["enableViewCulling"] = MethodMetadata {0, __hostFunction_NativeReactNativeFeatureFlagsCxxSpecJSI_enableViewCulling};
471
481
  methodMap_["enableViewRecycling"] = MethodMetadata {0, __hostFunction_NativeReactNativeFeatureFlagsCxxSpecJSI_enableViewRecycling};
482
+ methodMap_["enableViewRecyclingForImage"] = MethodMetadata {0, __hostFunction_NativeReactNativeFeatureFlagsCxxSpecJSI_enableViewRecyclingForImage};
472
483
  methodMap_["enableViewRecyclingForScrollView"] = MethodMetadata {0, __hostFunction_NativeReactNativeFeatureFlagsCxxSpecJSI_enableViewRecyclingForScrollView};
473
484
  methodMap_["enableViewRecyclingForText"] = MethodMetadata {0, __hostFunction_NativeReactNativeFeatureFlagsCxxSpecJSI_enableViewRecyclingForText};
474
485
  methodMap_["enableViewRecyclingForView"] = MethodMetadata {0, __hostFunction_NativeReactNativeFeatureFlagsCxxSpecJSI_enableViewRecyclingForView};
@@ -479,6 +490,7 @@ NativeReactNativeFeatureFlagsCxxSpecJSI::NativeReactNativeFeatureFlagsCxxSpecJSI
479
490
  methodMap_["fuseboxEnabledRelease"] = MethodMetadata {0, __hostFunction_NativeReactNativeFeatureFlagsCxxSpecJSI_fuseboxEnabledRelease};
480
491
  methodMap_["fuseboxNetworkInspectionEnabled"] = MethodMetadata {0, __hostFunction_NativeReactNativeFeatureFlagsCxxSpecJSI_fuseboxNetworkInspectionEnabled};
481
492
  methodMap_["hideOffscreenVirtualViewsOnIOS"] = MethodMetadata {0, __hostFunction_NativeReactNativeFeatureFlagsCxxSpecJSI_hideOffscreenVirtualViewsOnIOS};
493
+ methodMap_["overrideBySynchronousMountPropsAtMountingAndroid"] = MethodMetadata {0, __hostFunction_NativeReactNativeFeatureFlagsCxxSpecJSI_overrideBySynchronousMountPropsAtMountingAndroid};
482
494
  methodMap_["perfMonitorV2Enabled"] = MethodMetadata {0, __hostFunction_NativeReactNativeFeatureFlagsCxxSpecJSI_perfMonitorV2Enabled};
483
495
  methodMap_["preparedTextCacheSize"] = MethodMetadata {0, __hostFunction_NativeReactNativeFeatureFlagsCxxSpecJSI_preparedTextCacheSize};
484
496
  methodMap_["preventShadowTreeCommitExhaustion"] = MethodMetadata {0, __hostFunction_NativeReactNativeFeatureFlagsCxxSpecJSI_preventShadowTreeCommitExhaustion};
@@ -365,6 +365,7 @@ public:
365
365
  virtual bool enableResourceTimingAPI(jsi::Runtime &rt) = 0;
366
366
  virtual bool enableViewCulling(jsi::Runtime &rt) = 0;
367
367
  virtual bool enableViewRecycling(jsi::Runtime &rt) = 0;
368
+ virtual bool enableViewRecyclingForImage(jsi::Runtime &rt) = 0;
368
369
  virtual bool enableViewRecyclingForScrollView(jsi::Runtime &rt) = 0;
369
370
  virtual bool enableViewRecyclingForText(jsi::Runtime &rt) = 0;
370
371
  virtual bool enableViewRecyclingForView(jsi::Runtime &rt) = 0;
@@ -375,6 +376,7 @@ public:
375
376
  virtual bool fuseboxEnabledRelease(jsi::Runtime &rt) = 0;
376
377
  virtual bool fuseboxNetworkInspectionEnabled(jsi::Runtime &rt) = 0;
377
378
  virtual bool hideOffscreenVirtualViewsOnIOS(jsi::Runtime &rt) = 0;
379
+ virtual bool overrideBySynchronousMountPropsAtMountingAndroid(jsi::Runtime &rt) = 0;
378
380
  virtual bool perfMonitorV2Enabled(jsi::Runtime &rt) = 0;
379
381
  virtual double preparedTextCacheSize(jsi::Runtime &rt) = 0;
380
382
  virtual bool preventShadowTreeCommitExhaustion(jsi::Runtime &rt) = 0;
@@ -737,6 +739,14 @@ private:
737
739
  return bridging::callFromJs<bool>(
738
740
  rt, &T::enableViewRecycling, jsInvoker_, instance_);
739
741
  }
742
+ bool enableViewRecyclingForImage(jsi::Runtime &rt) override {
743
+ static_assert(
744
+ bridging::getParameterCount(&T::enableViewRecyclingForImage) == 1,
745
+ "Expected enableViewRecyclingForImage(...) to have 1 parameters");
746
+
747
+ return bridging::callFromJs<bool>(
748
+ rt, &T::enableViewRecyclingForImage, jsInvoker_, instance_);
749
+ }
740
750
  bool enableViewRecyclingForScrollView(jsi::Runtime &rt) override {
741
751
  static_assert(
742
752
  bridging::getParameterCount(&T::enableViewRecyclingForScrollView) == 1,
@@ -817,6 +827,14 @@ private:
817
827
  return bridging::callFromJs<bool>(
818
828
  rt, &T::hideOffscreenVirtualViewsOnIOS, jsInvoker_, instance_);
819
829
  }
830
+ bool overrideBySynchronousMountPropsAtMountingAndroid(jsi::Runtime &rt) override {
831
+ static_assert(
832
+ bridging::getParameterCount(&T::overrideBySynchronousMountPropsAtMountingAndroid) == 1,
833
+ "Expected overrideBySynchronousMountPropsAtMountingAndroid(...) to have 1 parameters");
834
+
835
+ return bridging::callFromJs<bool>(
836
+ rt, &T::overrideBySynchronousMountPropsAtMountingAndroid, jsInvoker_, instance_);
837
+ }
820
838
  bool perfMonitorV2Enabled(jsi::Runtime &rt) override {
821
839
  static_assert(
822
840
  bridging::getParameterCount(&T::perfMonitorV2Enabled) == 1,