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.
- package/Libraries/AppDelegate/RCTAppSetupUtils.mm +4 -4
- package/Libraries/AppDelegate/RCTDefaultReactNativeFactoryDelegate.mm +5 -3
- package/Libraries/Blob/RCTBlobCollector.mm +1 -1
- package/Libraries/Core/ReactNativeVersion.js +1 -1
- package/Libraries/Image/RCTBundleAssetImageLoader.mm +2 -2
- package/Libraries/Image/RCTGIFImageDecoder.mm +2 -2
- package/Libraries/Image/RCTImageBlurUtils.mm +4 -4
- package/Libraries/Image/RCTImageStoreManager.mm +7 -7
- package/Libraries/Image/RCTLocalAssetImageLoader.mm +2 -2
- package/Libraries/LinkingIOS/RCTLinkingManager.mm +1 -1
- package/Libraries/NativeAnimation/Drivers/RCTEventAnimation.mm +1 -1
- package/Libraries/NativeAnimation/Nodes/RCTAnimatedNode.mm +9 -9
- package/Libraries/NativeAnimation/Nodes/RCTInterpolationAnimatedNode.mm +3 -3
- package/Libraries/NativeAnimation/Nodes/RCTObjectAnimatedNode.mm +1 -1
- package/Libraries/NativeAnimation/Nodes/RCTStyleAnimatedNode.mm +3 -3
- package/Libraries/NativeAnimation/Nodes/RCTTrackingAnimatedNode.mm +1 -1
- package/Libraries/NativeAnimation/Nodes/RCTTransformAnimatedNode.mm +1 -1
- package/Libraries/NativeAnimation/RCTNativeAnimatedNodesManager.mm +9 -9
- package/Libraries/Network/RCTDataRequestHandler.mm +4 -4
- package/Libraries/Network/RCTHTTPRequestHandler.mm +4 -4
- package/Libraries/Settings/RCTSettingsManager.mm +2 -2
- package/React/Base/RCTVersion.m +1 -1
- package/React/DevSupport/RCTPackagerConnection.h +1 -1
- package/React/DevSupport/RCTPackagerConnection.mm +1 -0
- package/React/FBReactNativeSpec/FBReactNativeSpecJSI-generated.cpp +12 -0
- package/React/FBReactNativeSpec/FBReactNativeSpecJSI.h +18 -0
- package/React/Fabric/Mounting/RCTComponentViewFactory.mm +3 -3
- package/React/Fabric/Utils/PlatformRunLoopObserver.mm +1 -1
- package/React/Fabric/Utils/RCTBoxShadow.mm +1 -1
- package/React/Inspector/RCTCxxInspectorPackagerConnectionDelegate.mm +1 -1
- package/React/Inspector/RCTCxxInspectorWebSocketAdapter.mm +2 -2
- package/React/Views/RCTComponentData.mm +19 -19
- package/ReactAndroid/api/ReactAndroid.api +2 -0
- package/ReactAndroid/build.gradle.kts +7 -0
- package/ReactAndroid/gradle.properties +3 -1
- package/ReactAndroid/hermes-engine/build.gradle.kts +28 -7
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricUIManager.java +2 -1
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/MountingManager.kt +12 -2
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/SurfaceMountingManager.java +115 -1
- package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlags.kt +13 -1
- package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsCxxAccessor.kt +21 -1
- package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsCxxInterop.kt +5 -1
- package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsDefaults.kt +5 -1
- package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsLocalAccessor.kt +23 -1
- package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsProvider.kt +5 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/systeminfo/ReactNativeVersion.kt +1 -1
- package/ReactAndroid/src/main/jni/CMakeLists.txt +2 -0
- package/ReactAndroid/src/main/jni/first-party/fbgloginit/glog_init.cpp +1 -1
- package/ReactAndroid/src/main/jni/react/devsupport/JInspectorNetworkReporter.cpp +3 -2
- package/ReactAndroid/src/main/jni/react/featureflags/JReactNativeFeatureFlagsCxxInterop.cpp +29 -1
- package/ReactAndroid/src/main/jni/react/featureflags/JReactNativeFeatureFlagsCxxInterop.h +7 -1
- package/ReactAndroid/src/main/jni/react/hermes/reactexecutor/CMakeLists.txt +4 -0
- package/ReactAndroid/src/main/jni/react/runtime/hermes/jni/CMakeLists.txt +4 -0
- package/ReactAndroid/src/main/jni/react/runtime/jni/CMakeLists.txt +4 -0
- package/ReactCommon/cxxreact/ReactNativeVersion.h +1 -1
- package/ReactCommon/hermes/executor/CMakeLists.txt +4 -0
- package/ReactCommon/hermes/executor/HermesExecutorFactory.cpp +8 -5
- package/ReactCommon/hermes/inspector-modern/CMakeLists.txt +4 -0
- package/ReactCommon/hermes/inspector-modern/chrome/ConnectionDemux.cpp +2 -2
- package/ReactCommon/hermes/inspector-modern/chrome/ConnectionDemux.h +2 -2
- package/ReactCommon/hermes/inspector-modern/chrome/Registration.cpp +2 -2
- package/ReactCommon/hermes/inspector-modern/chrome/Registration.h +2 -2
- package/ReactCommon/jsc/JSCRuntime.cpp +12 -12
- package/ReactCommon/jsi/jsi/decorator.h +4 -0
- package/ReactCommon/jsi/jsi/hermes.h +189 -0
- package/ReactCommon/jsi/jsi/instrumentation.h +3 -0
- package/ReactCommon/jsi/jsi/jsi.cpp +4 -0
- package/ReactCommon/jsinspector-modern/tests/InspectorPackagerConnectionTest.cpp +2 -2
- package/ReactCommon/jsinspector-modern/tests/JsiIntegrationTest.h +4 -4
- package/ReactCommon/react/featureflags/ReactNativeFeatureFlags.cpp +9 -1
- package/ReactCommon/react/featureflags/ReactNativeFeatureFlags.h +11 -1
- package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsAccessor.cpp +67 -31
- package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsAccessor.h +6 -2
- package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsDefaults.h +9 -1
- package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsDynamicProvider.h +19 -1
- package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsProvider.h +3 -1
- package/ReactCommon/react/nativemodule/core/platform/android/ReactCommon/JavaTurboModule.cpp +2 -1
- package/ReactCommon/react/nativemodule/core/platform/ios/ReactCommon/RCTInteropTurboModule.mm +5 -5
- package/ReactCommon/react/nativemodule/core/platform/ios/ReactCommon/RCTTurboModule.mm +15 -15
- package/ReactCommon/react/nativemodule/featureflags/NativeReactNativeFeatureFlags.cpp +11 -1
- package/ReactCommon/react/nativemodule/featureflags/NativeReactNativeFeatureFlags.h +5 -1
- package/ReactCommon/react/nativemodule/samples/platform/ios/ReactCommon/RCTSampleLegacyModule.mm +4 -4
- package/ReactCommon/react/nativemodule/samples/platform/ios/ReactCommon/RCTSampleTurboModule.mm +4 -4
- package/ReactCommon/react/renderer/animated/NativeAnimatedNodesManager.cpp +13 -7
- package/ReactCommon/react/renderer/attributedstring/conversions.h +25 -25
- package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/LegacyViewManagerInteropComponentDescriptor.mm +2 -2
- package/ReactCommon/react/renderer/components/textinput/platform/android/react/renderer/components/androidtextinput/AndroidTextInputComponentDescriptor.h +1 -1
- package/ReactCommon/react/renderer/graphics/platform/ios/react/renderer/graphics/HostPlatformColor.mm +3 -3
- package/ReactCommon/react/renderer/graphics/platform/ios/react/renderer/graphics/PlatformColorParser.mm +4 -4
- package/ReactCommon/react/renderer/graphics/platform/ios/react/renderer/graphics/RCTPlatformColorUtils.mm +2 -2
- package/ReactCommon/react/renderer/imagemanager/platform/ios/react/renderer/imagemanager/RCTImagePrimitivesConversions.h +2 -2
- package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/react/renderer/textlayoutmanager/RCTAttributedTextUtils.h +1 -1
- package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/react/renderer/textlayoutmanager/RCTFontUtils.mm +33 -33
- package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/react/renderer/textlayoutmanager/RCTTextLayoutManager.mm +4 -4
- package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/react/renderer/textlayoutmanager/TextLayoutManager.mm +2 -2
- package/ReactCommon/react/runtime/CMakeLists.txt +4 -0
- package/ReactCommon/react/runtime/ReactInstance.cpp +12 -1
- package/ReactCommon/react/runtime/hermes/CMakeLists.txt +4 -0
- package/ReactCommon/react/runtime/hermes/HermesInstance.cpp +7 -3
- package/ReactCommon/react/utils/platform/ios/react/utils/FollyConvert.mm +2 -2
- package/package.json +8 -8
- package/scripts/cocoapods/jsengine.rb +2 -1
- package/scripts/cocoapods/utils.rb +8 -2
- package/sdks/hermes-engine/hermes-engine.podspec +30 -12
- package/sdks/hermes-engine/hermes-utils.rb +41 -10
- package/sdks/hermes-engine/utils/build-apple-framework.sh +7 -1
- package/sdks/hermes-engine/utils/build-hermes-xcode.sh +8 -1
- package/sdks/hermes-engine/utils/build-hermesc-xcode.sh +1 -1
- package/sdks/hermesc/osx-bin/hermes +0 -0
- package/sdks/hermesc/osx-bin/hermesc +0 -0
- package/sdks/hermesc/win64-bin/hermesc.exe +0 -0
- package/src/private/featureflags/ReactNativeFeatureFlags.js +11 -1
- 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
|
|
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 (
|
|
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-
|
|
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
|
|
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 (
|
|
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 ||
|
|
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 (
|
|
39
|
+
if (buffer1.data == nullptr) {
|
|
40
40
|
return inputImage;
|
|
41
41
|
}
|
|
42
42
|
buffer2.data = malloc(bytes);
|
|
43
|
-
if (
|
|
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 (
|
|
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 (
|
|
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 (
|
|
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 (
|
|
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 (
|
|
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 =
|
|
@@ -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 (
|
|
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 (
|
|
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 (
|
|
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 (
|
|
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 (
|
|
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 (
|
|
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 (
|
|
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 (
|
|
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 (
|
|
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 ||
|
|
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 (
|
|
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];
|
package/React/Base/RCTVersion.m
CHANGED
|
@@ -24,7 +24,7 @@ NSDictionary* RCTGetReactNativeVersion(void)
|
|
|
24
24
|
RCTVersionMajor: @(0),
|
|
25
25
|
RCTVersionMinor: @(83),
|
|
26
26
|
RCTVersionPatch: @(0),
|
|
27
|
-
RCTVersionPrerelease: @"nightly-
|
|
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,
|