react-native 0.79.1 → 0.79.3
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/RCTReactNativeFactory.mm +8 -0
- package/Libraries/Blob/URL.js +13 -1
- package/Libraries/Core/ReactNativeVersion.js +1 -1
- package/React/Base/RCTVersion.m +1 -1
- package/React/FBReactNativeSpec/FBReactNativeSpecJSI-generated.cpp +12 -0
- package/React/FBReactNativeSpec/FBReactNativeSpecJSI.h +18 -0
- package/React/Fabric/Mounting/ComponentViews/LegacyViewManagerInterop/RCTLegacyViewManagerInteropComponentView.mm +18 -4
- package/React/Fabric/Mounting/ComponentViews/Switch/RCTSwitchComponentView.mm +1 -1
- package/ReactAndroid/gradle.properties +1 -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/ReactNativeFeatureFlagsOverrides_RNOSS_Stable_Android.kt +4 -0
- 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.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/BorderRadiusStyle.kt +2 -2
- package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewGroup.java +0 -3
- package/ReactAndroid/src/main/jni/react/featureflags/JReactNativeFeatureFlagsCxxInterop.cpp +29 -1
- package/ReactAndroid/src/main/jni/react/featureflags/JReactNativeFeatureFlagsCxxInterop.h +7 -1
- package/ReactCommon/cxxreact/ReactNativeVersion.h +2 -2
- package/ReactCommon/jsc/React-jsc.podspec +1 -1
- package/ReactCommon/react/featureflags/ReactNativeFeatureFlags.cpp +9 -1
- package/ReactCommon/react/featureflags/ReactNativeFeatureFlags.h +11 -1
- package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsAccessor.cpp +45 -9
- 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/featureflags/NativeReactNativeFeatureFlags.cpp +11 -1
- package/ReactCommon/react/nativemodule/featureflags/NativeReactNativeFeatureFlags.h +5 -1
- package/ReactCommon/react/renderer/core/ShadowNode.cpp +14 -4
- package/ReactCommon/react/renderer/core/ShadowNode.h +6 -0
- package/ReactCommon/react/renderer/mounting/updateMountedFlag.cpp +6 -0
- package/ReactCommon/react/runtime/TimerManager.cpp +6 -4
- package/ReactCommon/react/runtime/TimerManager.h +3 -1
- package/ReactCommon/react/runtime/platform/ios/ReactCommon/RCTInstance.mm +0 -1
- package/ReactCommon/react/runtime/tests/cxx/ReactInstanceTest.cpp +9 -5
- package/package.json +8 -8
- package/scripts/codegen/generate-artifacts-executor.js +53 -18
- package/sdks/.hermesversion +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
- package/types/index.d.ts +1 -1
- package/types/tsconfig.test.json +16 -0
|
@@ -314,6 +314,14 @@ class RCTAppDelegateBridgelessFeatureFlags : public ReactNativeFeatureFlagsDefau
|
|
|
314
314
|
{
|
|
315
315
|
return true;
|
|
316
316
|
}
|
|
317
|
+
bool updateRuntimeShadowNodeReferencesOnCommit() override
|
|
318
|
+
{
|
|
319
|
+
return true;
|
|
320
|
+
}
|
|
321
|
+
bool useShadowNodeStateOnClone() override
|
|
322
|
+
{
|
|
323
|
+
return true;
|
|
324
|
+
}
|
|
317
325
|
};
|
|
318
326
|
|
|
319
327
|
- (void)_setUpFeatureFlags
|
package/Libraries/Blob/URL.js
CHANGED
|
@@ -81,7 +81,19 @@ export class URL {
|
|
|
81
81
|
let baseUrl = null;
|
|
82
82
|
if (!base || validateBaseUrl(url)) {
|
|
83
83
|
this._url = url;
|
|
84
|
-
if (
|
|
84
|
+
if (this._url.includes('#')) {
|
|
85
|
+
const split = this._url.split('#');
|
|
86
|
+
const beforeHash = split[0];
|
|
87
|
+
const website = beforeHash.split('://')[1];
|
|
88
|
+
if (!website.includes('/')) {
|
|
89
|
+
this._url = split.join('/#');
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
if (
|
|
94
|
+
!this._url.endsWith('/') &&
|
|
95
|
+
!(this._url.includes('?') || this._url.includes('#'))
|
|
96
|
+
) {
|
|
85
97
|
this._url += '/';
|
|
86
98
|
}
|
|
87
99
|
} else {
|
package/React/Base/RCTVersion.m
CHANGED
|
@@ -191,6 +191,11 @@ static jsi::Value __hostFunction_NativeReactNativeFeatureFlagsCxxSpecJSI_traceTu
|
|
|
191
191
|
rt
|
|
192
192
|
);
|
|
193
193
|
}
|
|
194
|
+
static jsi::Value __hostFunction_NativeReactNativeFeatureFlagsCxxSpecJSI_updateRuntimeShadowNodeReferencesOnCommit(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) {
|
|
195
|
+
return static_cast<NativeReactNativeFeatureFlagsCxxSpecJSI *>(&turboModule)->updateRuntimeShadowNodeReferencesOnCommit(
|
|
196
|
+
rt
|
|
197
|
+
);
|
|
198
|
+
}
|
|
194
199
|
static jsi::Value __hostFunction_NativeReactNativeFeatureFlagsCxxSpecJSI_useAlwaysAvailableJSErrorHandling(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) {
|
|
195
200
|
return static_cast<NativeReactNativeFeatureFlagsCxxSpecJSI *>(&turboModule)->useAlwaysAvailableJSErrorHandling(
|
|
196
201
|
rt
|
|
@@ -221,6 +226,11 @@ static jsi::Value __hostFunction_NativeReactNativeFeatureFlagsCxxSpecJSI_useRawP
|
|
|
221
226
|
rt
|
|
222
227
|
);
|
|
223
228
|
}
|
|
229
|
+
static jsi::Value __hostFunction_NativeReactNativeFeatureFlagsCxxSpecJSI_useShadowNodeStateOnClone(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) {
|
|
230
|
+
return static_cast<NativeReactNativeFeatureFlagsCxxSpecJSI *>(&turboModule)->useShadowNodeStateOnClone(
|
|
231
|
+
rt
|
|
232
|
+
);
|
|
233
|
+
}
|
|
224
234
|
static jsi::Value __hostFunction_NativeReactNativeFeatureFlagsCxxSpecJSI_useTurboModuleInterop(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) {
|
|
225
235
|
return static_cast<NativeReactNativeFeatureFlagsCxxSpecJSI *>(&turboModule)->useTurboModuleInterop(
|
|
226
236
|
rt
|
|
@@ -270,12 +280,14 @@ NativeReactNativeFeatureFlagsCxxSpecJSI::NativeReactNativeFeatureFlagsCxxSpecJSI
|
|
|
270
280
|
methodMap_["removeTurboModuleManagerDelegateMutex"] = MethodMetadata {0, __hostFunction_NativeReactNativeFeatureFlagsCxxSpecJSI_removeTurboModuleManagerDelegateMutex};
|
|
271
281
|
methodMap_["throwExceptionInsteadOfDeadlockOnTurboModuleSetupDuringSyncRenderIOS"] = MethodMetadata {0, __hostFunction_NativeReactNativeFeatureFlagsCxxSpecJSI_throwExceptionInsteadOfDeadlockOnTurboModuleSetupDuringSyncRenderIOS};
|
|
272
282
|
methodMap_["traceTurboModulePromiseRejectionsOnAndroid"] = MethodMetadata {0, __hostFunction_NativeReactNativeFeatureFlagsCxxSpecJSI_traceTurboModulePromiseRejectionsOnAndroid};
|
|
283
|
+
methodMap_["updateRuntimeShadowNodeReferencesOnCommit"] = MethodMetadata {0, __hostFunction_NativeReactNativeFeatureFlagsCxxSpecJSI_updateRuntimeShadowNodeReferencesOnCommit};
|
|
273
284
|
methodMap_["useAlwaysAvailableJSErrorHandling"] = MethodMetadata {0, __hostFunction_NativeReactNativeFeatureFlagsCxxSpecJSI_useAlwaysAvailableJSErrorHandling};
|
|
274
285
|
methodMap_["useEditTextStockAndroidFocusBehavior"] = MethodMetadata {0, __hostFunction_NativeReactNativeFeatureFlagsCxxSpecJSI_useEditTextStockAndroidFocusBehavior};
|
|
275
286
|
methodMap_["useFabricInterop"] = MethodMetadata {0, __hostFunction_NativeReactNativeFeatureFlagsCxxSpecJSI_useFabricInterop};
|
|
276
287
|
methodMap_["useNativeViewConfigsInBridgelessMode"] = MethodMetadata {0, __hostFunction_NativeReactNativeFeatureFlagsCxxSpecJSI_useNativeViewConfigsInBridgelessMode};
|
|
277
288
|
methodMap_["useOptimizedEventBatchingOnAndroid"] = MethodMetadata {0, __hostFunction_NativeReactNativeFeatureFlagsCxxSpecJSI_useOptimizedEventBatchingOnAndroid};
|
|
278
289
|
methodMap_["useRawPropsJsiValue"] = MethodMetadata {0, __hostFunction_NativeReactNativeFeatureFlagsCxxSpecJSI_useRawPropsJsiValue};
|
|
290
|
+
methodMap_["useShadowNodeStateOnClone"] = MethodMetadata {0, __hostFunction_NativeReactNativeFeatureFlagsCxxSpecJSI_useShadowNodeStateOnClone};
|
|
279
291
|
methodMap_["useTurboModuleInterop"] = MethodMetadata {0, __hostFunction_NativeReactNativeFeatureFlagsCxxSpecJSI_useTurboModuleInterop};
|
|
280
292
|
methodMap_["useTurboModules"] = MethodMetadata {0, __hostFunction_NativeReactNativeFeatureFlagsCxxSpecJSI_useTurboModules};
|
|
281
293
|
}
|
|
@@ -56,12 +56,14 @@ public:
|
|
|
56
56
|
virtual bool removeTurboModuleManagerDelegateMutex(jsi::Runtime &rt) = 0;
|
|
57
57
|
virtual bool throwExceptionInsteadOfDeadlockOnTurboModuleSetupDuringSyncRenderIOS(jsi::Runtime &rt) = 0;
|
|
58
58
|
virtual bool traceTurboModulePromiseRejectionsOnAndroid(jsi::Runtime &rt) = 0;
|
|
59
|
+
virtual bool updateRuntimeShadowNodeReferencesOnCommit(jsi::Runtime &rt) = 0;
|
|
59
60
|
virtual bool useAlwaysAvailableJSErrorHandling(jsi::Runtime &rt) = 0;
|
|
60
61
|
virtual bool useEditTextStockAndroidFocusBehavior(jsi::Runtime &rt) = 0;
|
|
61
62
|
virtual bool useFabricInterop(jsi::Runtime &rt) = 0;
|
|
62
63
|
virtual bool useNativeViewConfigsInBridgelessMode(jsi::Runtime &rt) = 0;
|
|
63
64
|
virtual bool useOptimizedEventBatchingOnAndroid(jsi::Runtime &rt) = 0;
|
|
64
65
|
virtual bool useRawPropsJsiValue(jsi::Runtime &rt) = 0;
|
|
66
|
+
virtual bool useShadowNodeStateOnClone(jsi::Runtime &rt) = 0;
|
|
65
67
|
virtual bool useTurboModuleInterop(jsi::Runtime &rt) = 0;
|
|
66
68
|
virtual bool useTurboModules(jsi::Runtime &rt) = 0;
|
|
67
69
|
|
|
@@ -382,6 +384,14 @@ private:
|
|
|
382
384
|
return bridging::callFromJs<bool>(
|
|
383
385
|
rt, &T::traceTurboModulePromiseRejectionsOnAndroid, jsInvoker_, instance_);
|
|
384
386
|
}
|
|
387
|
+
bool updateRuntimeShadowNodeReferencesOnCommit(jsi::Runtime &rt) override {
|
|
388
|
+
static_assert(
|
|
389
|
+
bridging::getParameterCount(&T::updateRuntimeShadowNodeReferencesOnCommit) == 1,
|
|
390
|
+
"Expected updateRuntimeShadowNodeReferencesOnCommit(...) to have 1 parameters");
|
|
391
|
+
|
|
392
|
+
return bridging::callFromJs<bool>(
|
|
393
|
+
rt, &T::updateRuntimeShadowNodeReferencesOnCommit, jsInvoker_, instance_);
|
|
394
|
+
}
|
|
385
395
|
bool useAlwaysAvailableJSErrorHandling(jsi::Runtime &rt) override {
|
|
386
396
|
static_assert(
|
|
387
397
|
bridging::getParameterCount(&T::useAlwaysAvailableJSErrorHandling) == 1,
|
|
@@ -430,6 +440,14 @@ private:
|
|
|
430
440
|
return bridging::callFromJs<bool>(
|
|
431
441
|
rt, &T::useRawPropsJsiValue, jsInvoker_, instance_);
|
|
432
442
|
}
|
|
443
|
+
bool useShadowNodeStateOnClone(jsi::Runtime &rt) override {
|
|
444
|
+
static_assert(
|
|
445
|
+
bridging::getParameterCount(&T::useShadowNodeStateOnClone) == 1,
|
|
446
|
+
"Expected useShadowNodeStateOnClone(...) to have 1 parameters");
|
|
447
|
+
|
|
448
|
+
return bridging::callFromJs<bool>(
|
|
449
|
+
rt, &T::useShadowNodeStateOnClone, jsInvoker_, instance_);
|
|
450
|
+
}
|
|
433
451
|
bool useTurboModuleInterop(jsi::Runtime &rt) override {
|
|
434
452
|
static_assert(
|
|
435
453
|
bridging::getParameterCount(&T::useTurboModuleInterop) == 1,
|
|
@@ -170,10 +170,24 @@ static NSString *const kRCTLegacyInteropChildIndexKey = @"index";
|
|
|
170
170
|
|
|
171
171
|
- (void)mountChildComponentView:(UIView<RCTComponentViewProtocol> *)childComponentView index:(NSInteger)index
|
|
172
172
|
{
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
173
|
+
if (_adapter && index == _adapter.paperView.reactSubviews.count) {
|
|
174
|
+
// This is a new child view that is being added to the end of the children array.
|
|
175
|
+
// After the children is added, we need to call didUpdateReactSubviews to make sure that it is rendered.
|
|
176
|
+
// Without this change, the new child will not be rendered right away because the didUpdateReactSubviews is not
|
|
177
|
+
// called and the `finalizeUpdate` is not invoked.
|
|
178
|
+
if ([childComponentView isKindOfClass:[RCTLegacyViewManagerInteropComponentView class]]) {
|
|
179
|
+
UIView *target = ((RCTLegacyViewManagerInteropComponentView *)childComponentView).contentView;
|
|
180
|
+
[_adapter.paperView insertReactSubview:target atIndex:index];
|
|
181
|
+
} else {
|
|
182
|
+
[_adapter.paperView insertReactSubview:childComponentView atIndex:index];
|
|
183
|
+
}
|
|
184
|
+
[_adapter.paperView didUpdateReactSubviews];
|
|
185
|
+
} else {
|
|
186
|
+
[_viewsToBeMounted addObject:@{
|
|
187
|
+
kRCTLegacyInteropChildIndexKey : [NSNumber numberWithInteger:index],
|
|
188
|
+
kRCTLegacyInteropChildComponentKey : childComponentView
|
|
189
|
+
}];
|
|
190
|
+
}
|
|
177
191
|
}
|
|
178
192
|
|
|
179
193
|
- (void)unmountChildComponentView:(UIView<RCTComponentViewProtocol> *)childComponentView index:(NSInteger)index
|
|
@@ -60,7 +60,7 @@ using namespace facebook::react;
|
|
|
60
60
|
const auto &newSwitchProps = static_cast<const SwitchProps &>(*props);
|
|
61
61
|
|
|
62
62
|
// `value`
|
|
63
|
-
if (oldSwitchProps.value != newSwitchProps.value) {
|
|
63
|
+
if (!_isInitialValueSet || oldSwitchProps.value != newSwitchProps.value) {
|
|
64
64
|
BOOL shouldAnimate = _isInitialValueSet == YES;
|
|
65
65
|
[_switchView setOn:newSwitchProps.value animated:shouldAnimate];
|
|
66
66
|
}
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* This source code is licensed under the MIT license found in the
|
|
5
5
|
* LICENSE file in the root directory of this source tree.
|
|
6
6
|
*
|
|
7
|
-
* @generated SignedSource<<
|
|
7
|
+
* @generated SignedSource<<b263bdcbc1258f7d5c56e69732ba9076>>
|
|
8
8
|
*/
|
|
9
9
|
|
|
10
10
|
/**
|
|
@@ -238,6 +238,12 @@ public object ReactNativeFeatureFlags {
|
|
|
238
238
|
@JvmStatic
|
|
239
239
|
public fun traceTurboModulePromiseRejectionsOnAndroid(): Boolean = accessor.traceTurboModulePromiseRejectionsOnAndroid()
|
|
240
240
|
|
|
241
|
+
/**
|
|
242
|
+
* When enabled, runtime shadow node references will be updated during the commit. This allows running RSNRU from any thread without corrupting the renderer state.
|
|
243
|
+
*/
|
|
244
|
+
@JvmStatic
|
|
245
|
+
public fun updateRuntimeShadowNodeReferencesOnCommit(): Boolean = accessor.updateRuntimeShadowNodeReferencesOnCommit()
|
|
246
|
+
|
|
241
247
|
/**
|
|
242
248
|
* In Bridgeless mode, use the always available javascript error reporting pipeline.
|
|
243
249
|
*/
|
|
@@ -274,6 +280,12 @@ public object ReactNativeFeatureFlags {
|
|
|
274
280
|
@JvmStatic
|
|
275
281
|
public fun useRawPropsJsiValue(): Boolean = accessor.useRawPropsJsiValue()
|
|
276
282
|
|
|
283
|
+
/**
|
|
284
|
+
* Use the state stored on the source shadow node when cloning it instead of reading in the most recent state on the shadow node family.
|
|
285
|
+
*/
|
|
286
|
+
@JvmStatic
|
|
287
|
+
public fun useShadowNodeStateOnClone(): Boolean = accessor.useShadowNodeStateOnClone()
|
|
288
|
+
|
|
277
289
|
/**
|
|
278
290
|
* In Bridgeless mode, should legacy NativeModules use the TurboModule system?
|
|
279
291
|
*/
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* This source code is licensed under the MIT license found in the
|
|
5
5
|
* LICENSE file in the root directory of this source tree.
|
|
6
6
|
*
|
|
7
|
-
* @generated SignedSource<<
|
|
7
|
+
* @generated SignedSource<<0496ecf3d1e5d8a2e6d4d594aca806d0>>
|
|
8
8
|
*/
|
|
9
9
|
|
|
10
10
|
/**
|
|
@@ -55,12 +55,14 @@ internal class ReactNativeFeatureFlagsCxxAccessor : ReactNativeFeatureFlagsAcces
|
|
|
55
55
|
private var removeTurboModuleManagerDelegateMutexCache: Boolean? = null
|
|
56
56
|
private var throwExceptionInsteadOfDeadlockOnTurboModuleSetupDuringSyncRenderIOSCache: Boolean? = null
|
|
57
57
|
private var traceTurboModulePromiseRejectionsOnAndroidCache: Boolean? = null
|
|
58
|
+
private var updateRuntimeShadowNodeReferencesOnCommitCache: Boolean? = null
|
|
58
59
|
private var useAlwaysAvailableJSErrorHandlingCache: Boolean? = null
|
|
59
60
|
private var useEditTextStockAndroidFocusBehaviorCache: Boolean? = null
|
|
60
61
|
private var useFabricInteropCache: Boolean? = null
|
|
61
62
|
private var useNativeViewConfigsInBridgelessModeCache: Boolean? = null
|
|
62
63
|
private var useOptimizedEventBatchingOnAndroidCache: Boolean? = null
|
|
63
64
|
private var useRawPropsJsiValueCache: Boolean? = null
|
|
65
|
+
private var useShadowNodeStateOnCloneCache: Boolean? = null
|
|
64
66
|
private var useTurboModuleInteropCache: Boolean? = null
|
|
65
67
|
private var useTurboModulesCache: Boolean? = null
|
|
66
68
|
|
|
@@ -379,6 +381,15 @@ internal class ReactNativeFeatureFlagsCxxAccessor : ReactNativeFeatureFlagsAcces
|
|
|
379
381
|
return cached
|
|
380
382
|
}
|
|
381
383
|
|
|
384
|
+
override fun updateRuntimeShadowNodeReferencesOnCommit(): Boolean {
|
|
385
|
+
var cached = updateRuntimeShadowNodeReferencesOnCommitCache
|
|
386
|
+
if (cached == null) {
|
|
387
|
+
cached = ReactNativeFeatureFlagsCxxInterop.updateRuntimeShadowNodeReferencesOnCommit()
|
|
388
|
+
updateRuntimeShadowNodeReferencesOnCommitCache = cached
|
|
389
|
+
}
|
|
390
|
+
return cached
|
|
391
|
+
}
|
|
392
|
+
|
|
382
393
|
override fun useAlwaysAvailableJSErrorHandling(): Boolean {
|
|
383
394
|
var cached = useAlwaysAvailableJSErrorHandlingCache
|
|
384
395
|
if (cached == null) {
|
|
@@ -433,6 +444,15 @@ internal class ReactNativeFeatureFlagsCxxAccessor : ReactNativeFeatureFlagsAcces
|
|
|
433
444
|
return cached
|
|
434
445
|
}
|
|
435
446
|
|
|
447
|
+
override fun useShadowNodeStateOnClone(): Boolean {
|
|
448
|
+
var cached = useShadowNodeStateOnCloneCache
|
|
449
|
+
if (cached == null) {
|
|
450
|
+
cached = ReactNativeFeatureFlagsCxxInterop.useShadowNodeStateOnClone()
|
|
451
|
+
useShadowNodeStateOnCloneCache = cached
|
|
452
|
+
}
|
|
453
|
+
return cached
|
|
454
|
+
}
|
|
455
|
+
|
|
436
456
|
override fun useTurboModuleInterop(): Boolean {
|
|
437
457
|
var cached = useTurboModuleInteropCache
|
|
438
458
|
if (cached == null) {
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* This source code is licensed under the MIT license found in the
|
|
5
5
|
* LICENSE file in the root directory of this source tree.
|
|
6
6
|
*
|
|
7
|
-
* @generated SignedSource<<
|
|
7
|
+
* @generated SignedSource<<c4f3b0cee8b9b4b9cebb589801e1dd15>>
|
|
8
8
|
*/
|
|
9
9
|
|
|
10
10
|
/**
|
|
@@ -98,6 +98,8 @@ public object ReactNativeFeatureFlagsCxxInterop {
|
|
|
98
98
|
|
|
99
99
|
@DoNotStrip @JvmStatic public external fun traceTurboModulePromiseRejectionsOnAndroid(): Boolean
|
|
100
100
|
|
|
101
|
+
@DoNotStrip @JvmStatic public external fun updateRuntimeShadowNodeReferencesOnCommit(): Boolean
|
|
102
|
+
|
|
101
103
|
@DoNotStrip @JvmStatic public external fun useAlwaysAvailableJSErrorHandling(): Boolean
|
|
102
104
|
|
|
103
105
|
@DoNotStrip @JvmStatic public external fun useEditTextStockAndroidFocusBehavior(): Boolean
|
|
@@ -110,6 +112,8 @@ public object ReactNativeFeatureFlagsCxxInterop {
|
|
|
110
112
|
|
|
111
113
|
@DoNotStrip @JvmStatic public external fun useRawPropsJsiValue(): Boolean
|
|
112
114
|
|
|
115
|
+
@DoNotStrip @JvmStatic public external fun useShadowNodeStateOnClone(): Boolean
|
|
116
|
+
|
|
113
117
|
@DoNotStrip @JvmStatic public external fun useTurboModuleInterop(): Boolean
|
|
114
118
|
|
|
115
119
|
@DoNotStrip @JvmStatic public external fun useTurboModules(): Boolean
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* This source code is licensed under the MIT license found in the
|
|
5
5
|
* LICENSE file in the root directory of this source tree.
|
|
6
6
|
*
|
|
7
|
-
* @generated SignedSource<<
|
|
7
|
+
* @generated SignedSource<<a8900217ae0385947b619c8fa0834942>>
|
|
8
8
|
*/
|
|
9
9
|
|
|
10
10
|
/**
|
|
@@ -93,6 +93,8 @@ public open class ReactNativeFeatureFlagsDefaults : ReactNativeFeatureFlagsProvi
|
|
|
93
93
|
|
|
94
94
|
override fun traceTurboModulePromiseRejectionsOnAndroid(): Boolean = false
|
|
95
95
|
|
|
96
|
+
override fun updateRuntimeShadowNodeReferencesOnCommit(): Boolean = false
|
|
97
|
+
|
|
96
98
|
override fun useAlwaysAvailableJSErrorHandling(): Boolean = false
|
|
97
99
|
|
|
98
100
|
override fun useEditTextStockAndroidFocusBehavior(): Boolean = true
|
|
@@ -105,6 +107,8 @@ public open class ReactNativeFeatureFlagsDefaults : ReactNativeFeatureFlagsProvi
|
|
|
105
107
|
|
|
106
108
|
override fun useRawPropsJsiValue(): Boolean = false
|
|
107
109
|
|
|
110
|
+
override fun useShadowNodeStateOnClone(): Boolean = false
|
|
111
|
+
|
|
108
112
|
override fun useTurboModuleInterop(): Boolean = false
|
|
109
113
|
|
|
110
114
|
override fun useTurboModules(): Boolean = false
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* This source code is licensed under the MIT license found in the
|
|
5
5
|
* LICENSE file in the root directory of this source tree.
|
|
6
6
|
*
|
|
7
|
-
* @generated SignedSource<<
|
|
7
|
+
* @generated SignedSource<<8f5180a0ef154c083ac38d28e650ee11>>
|
|
8
8
|
*/
|
|
9
9
|
|
|
10
10
|
/**
|
|
@@ -59,12 +59,14 @@ internal class ReactNativeFeatureFlagsLocalAccessor : ReactNativeFeatureFlagsAcc
|
|
|
59
59
|
private var removeTurboModuleManagerDelegateMutexCache: Boolean? = null
|
|
60
60
|
private var throwExceptionInsteadOfDeadlockOnTurboModuleSetupDuringSyncRenderIOSCache: Boolean? = null
|
|
61
61
|
private var traceTurboModulePromiseRejectionsOnAndroidCache: Boolean? = null
|
|
62
|
+
private var updateRuntimeShadowNodeReferencesOnCommitCache: Boolean? = null
|
|
62
63
|
private var useAlwaysAvailableJSErrorHandlingCache: Boolean? = null
|
|
63
64
|
private var useEditTextStockAndroidFocusBehaviorCache: Boolean? = null
|
|
64
65
|
private var useFabricInteropCache: Boolean? = null
|
|
65
66
|
private var useNativeViewConfigsInBridgelessModeCache: Boolean? = null
|
|
66
67
|
private var useOptimizedEventBatchingOnAndroidCache: Boolean? = null
|
|
67
68
|
private var useRawPropsJsiValueCache: Boolean? = null
|
|
69
|
+
private var useShadowNodeStateOnCloneCache: Boolean? = null
|
|
68
70
|
private var useTurboModuleInteropCache: Boolean? = null
|
|
69
71
|
private var useTurboModulesCache: Boolean? = null
|
|
70
72
|
|
|
@@ -418,6 +420,16 @@ internal class ReactNativeFeatureFlagsLocalAccessor : ReactNativeFeatureFlagsAcc
|
|
|
418
420
|
return cached
|
|
419
421
|
}
|
|
420
422
|
|
|
423
|
+
override fun updateRuntimeShadowNodeReferencesOnCommit(): Boolean {
|
|
424
|
+
var cached = updateRuntimeShadowNodeReferencesOnCommitCache
|
|
425
|
+
if (cached == null) {
|
|
426
|
+
cached = currentProvider.updateRuntimeShadowNodeReferencesOnCommit()
|
|
427
|
+
accessedFeatureFlags.add("updateRuntimeShadowNodeReferencesOnCommit")
|
|
428
|
+
updateRuntimeShadowNodeReferencesOnCommitCache = cached
|
|
429
|
+
}
|
|
430
|
+
return cached
|
|
431
|
+
}
|
|
432
|
+
|
|
421
433
|
override fun useAlwaysAvailableJSErrorHandling(): Boolean {
|
|
422
434
|
var cached = useAlwaysAvailableJSErrorHandlingCache
|
|
423
435
|
if (cached == null) {
|
|
@@ -478,6 +490,16 @@ internal class ReactNativeFeatureFlagsLocalAccessor : ReactNativeFeatureFlagsAcc
|
|
|
478
490
|
return cached
|
|
479
491
|
}
|
|
480
492
|
|
|
493
|
+
override fun useShadowNodeStateOnClone(): Boolean {
|
|
494
|
+
var cached = useShadowNodeStateOnCloneCache
|
|
495
|
+
if (cached == null) {
|
|
496
|
+
cached = currentProvider.useShadowNodeStateOnClone()
|
|
497
|
+
accessedFeatureFlags.add("useShadowNodeStateOnClone")
|
|
498
|
+
useShadowNodeStateOnCloneCache = cached
|
|
499
|
+
}
|
|
500
|
+
return cached
|
|
501
|
+
}
|
|
502
|
+
|
|
481
503
|
override fun useTurboModuleInterop(): Boolean {
|
|
482
504
|
var cached = useTurboModuleInteropCache
|
|
483
505
|
if (cached == null) {
|
|
@@ -17,4 +17,8 @@ public class ReactNativeFeatureFlagsOverrides_RNOSS_Stable_Android(
|
|
|
17
17
|
override fun enableFabricRenderer(): Boolean = bridgelessEnabled || fabricEnabled
|
|
18
18
|
|
|
19
19
|
override fun useTurboModules(): Boolean = bridgelessEnabled || turboModulesEnabled
|
|
20
|
+
|
|
21
|
+
override fun updateRuntimeShadowNodeReferencesOnCommit(): Boolean = true
|
|
22
|
+
|
|
23
|
+
override fun useShadowNodeStateOnClone(): Boolean = true
|
|
20
24
|
}
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* This source code is licensed under the MIT license found in the
|
|
5
5
|
* LICENSE file in the root directory of this source tree.
|
|
6
6
|
*
|
|
7
|
-
* @generated SignedSource<<
|
|
7
|
+
* @generated SignedSource<<33571f99b1f78fbc62cecfca5f8351fa>>
|
|
8
8
|
*/
|
|
9
9
|
|
|
10
10
|
/**
|
|
@@ -93,6 +93,8 @@ public interface ReactNativeFeatureFlagsProvider {
|
|
|
93
93
|
|
|
94
94
|
@DoNotStrip public fun traceTurboModulePromiseRejectionsOnAndroid(): Boolean
|
|
95
95
|
|
|
96
|
+
@DoNotStrip public fun updateRuntimeShadowNodeReferencesOnCommit(): Boolean
|
|
97
|
+
|
|
96
98
|
@DoNotStrip public fun useAlwaysAvailableJSErrorHandling(): Boolean
|
|
97
99
|
|
|
98
100
|
@DoNotStrip public fun useEditTextStockAndroidFocusBehavior(): Boolean
|
|
@@ -105,6 +107,8 @@ public interface ReactNativeFeatureFlagsProvider {
|
|
|
105
107
|
|
|
106
108
|
@DoNotStrip public fun useRawPropsJsiValue(): Boolean
|
|
107
109
|
|
|
110
|
+
@DoNotStrip public fun useShadowNodeStateOnClone(): Boolean
|
|
111
|
+
|
|
108
112
|
@DoNotStrip public fun useTurboModuleInterop(): Boolean
|
|
109
113
|
|
|
110
114
|
@DoNotStrip public fun useTurboModules(): Boolean
|
|
@@ -136,10 +136,10 @@ internal data class BorderRadiusStyle(
|
|
|
136
136
|
(startStart ?: topStart ?: topLeft ?: uniform)?.resolve(width, height)
|
|
137
137
|
?: zeroRadii,
|
|
138
138
|
bottomLeft =
|
|
139
|
-
(endEnd ?:
|
|
139
|
+
(endEnd ?: bottomEnd ?: bottomRight ?: uniform)?.resolve(width, height)
|
|
140
140
|
?: zeroRadii,
|
|
141
141
|
bottomRight =
|
|
142
|
-
(startEnd ?:
|
|
142
|
+
(startEnd ?: bottomStart ?: bottomLeft ?: uniform)?.resolve(width, height)
|
|
143
143
|
?: zeroRadii,
|
|
144
144
|
width = width,
|
|
145
145
|
height = height,
|
|
@@ -588,9 +588,6 @@ public class ReactViewGroup extends ViewGroup
|
|
|
588
588
|
UiThreadUtil.assertOnUiThread();
|
|
589
589
|
checkViewClippingTag(child, Boolean.TRUE);
|
|
590
590
|
if (!customDrawOrderDisabled()) {
|
|
591
|
-
if (indexOfChild(child) == -1) {
|
|
592
|
-
return;
|
|
593
|
-
}
|
|
594
591
|
getDrawingOrderHelper().handleRemoveView(child);
|
|
595
592
|
setChildrenDrawingOrderEnabled(getDrawingOrderHelper().shouldEnableCustomDrawingOrder());
|
|
596
593
|
} else {
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* This source code is licensed under the MIT license found in the
|
|
5
5
|
* LICENSE file in the root directory of this source tree.
|
|
6
6
|
*
|
|
7
|
-
* @generated SignedSource<<
|
|
7
|
+
* @generated SignedSource<<83b23039ed9fff5109ff3b532648baac>>
|
|
8
8
|
*/
|
|
9
9
|
|
|
10
10
|
/**
|
|
@@ -249,6 +249,12 @@ class ReactNativeFeatureFlagsProviderHolder
|
|
|
249
249
|
return method(javaProvider_);
|
|
250
250
|
}
|
|
251
251
|
|
|
252
|
+
bool updateRuntimeShadowNodeReferencesOnCommit() override {
|
|
253
|
+
static const auto method =
|
|
254
|
+
getReactNativeFeatureFlagsProviderJavaClass()->getMethod<jboolean()>("updateRuntimeShadowNodeReferencesOnCommit");
|
|
255
|
+
return method(javaProvider_);
|
|
256
|
+
}
|
|
257
|
+
|
|
252
258
|
bool useAlwaysAvailableJSErrorHandling() override {
|
|
253
259
|
static const auto method =
|
|
254
260
|
getReactNativeFeatureFlagsProviderJavaClass()->getMethod<jboolean()>("useAlwaysAvailableJSErrorHandling");
|
|
@@ -285,6 +291,12 @@ class ReactNativeFeatureFlagsProviderHolder
|
|
|
285
291
|
return method(javaProvider_);
|
|
286
292
|
}
|
|
287
293
|
|
|
294
|
+
bool useShadowNodeStateOnClone() override {
|
|
295
|
+
static const auto method =
|
|
296
|
+
getReactNativeFeatureFlagsProviderJavaClass()->getMethod<jboolean()>("useShadowNodeStateOnClone");
|
|
297
|
+
return method(javaProvider_);
|
|
298
|
+
}
|
|
299
|
+
|
|
288
300
|
bool useTurboModuleInterop() override {
|
|
289
301
|
static const auto method =
|
|
290
302
|
getReactNativeFeatureFlagsProviderJavaClass()->getMethod<jboolean()>("useTurboModuleInterop");
|
|
@@ -476,6 +488,11 @@ bool JReactNativeFeatureFlagsCxxInterop::traceTurboModulePromiseRejectionsOnAndr
|
|
|
476
488
|
return ReactNativeFeatureFlags::traceTurboModulePromiseRejectionsOnAndroid();
|
|
477
489
|
}
|
|
478
490
|
|
|
491
|
+
bool JReactNativeFeatureFlagsCxxInterop::updateRuntimeShadowNodeReferencesOnCommit(
|
|
492
|
+
facebook::jni::alias_ref<JReactNativeFeatureFlagsCxxInterop> /*unused*/) {
|
|
493
|
+
return ReactNativeFeatureFlags::updateRuntimeShadowNodeReferencesOnCommit();
|
|
494
|
+
}
|
|
495
|
+
|
|
479
496
|
bool JReactNativeFeatureFlagsCxxInterop::useAlwaysAvailableJSErrorHandling(
|
|
480
497
|
facebook::jni::alias_ref<JReactNativeFeatureFlagsCxxInterop> /*unused*/) {
|
|
481
498
|
return ReactNativeFeatureFlags::useAlwaysAvailableJSErrorHandling();
|
|
@@ -506,6 +523,11 @@ bool JReactNativeFeatureFlagsCxxInterop::useRawPropsJsiValue(
|
|
|
506
523
|
return ReactNativeFeatureFlags::useRawPropsJsiValue();
|
|
507
524
|
}
|
|
508
525
|
|
|
526
|
+
bool JReactNativeFeatureFlagsCxxInterop::useShadowNodeStateOnClone(
|
|
527
|
+
facebook::jni::alias_ref<JReactNativeFeatureFlagsCxxInterop> /*unused*/) {
|
|
528
|
+
return ReactNativeFeatureFlags::useShadowNodeStateOnClone();
|
|
529
|
+
}
|
|
530
|
+
|
|
509
531
|
bool JReactNativeFeatureFlagsCxxInterop::useTurboModuleInterop(
|
|
510
532
|
facebook::jni::alias_ref<JReactNativeFeatureFlagsCxxInterop> /*unused*/) {
|
|
511
533
|
return ReactNativeFeatureFlags::useTurboModuleInterop();
|
|
@@ -652,6 +674,9 @@ void JReactNativeFeatureFlagsCxxInterop::registerNatives() {
|
|
|
652
674
|
makeNativeMethod(
|
|
653
675
|
"traceTurboModulePromiseRejectionsOnAndroid",
|
|
654
676
|
JReactNativeFeatureFlagsCxxInterop::traceTurboModulePromiseRejectionsOnAndroid),
|
|
677
|
+
makeNativeMethod(
|
|
678
|
+
"updateRuntimeShadowNodeReferencesOnCommit",
|
|
679
|
+
JReactNativeFeatureFlagsCxxInterop::updateRuntimeShadowNodeReferencesOnCommit),
|
|
655
680
|
makeNativeMethod(
|
|
656
681
|
"useAlwaysAvailableJSErrorHandling",
|
|
657
682
|
JReactNativeFeatureFlagsCxxInterop::useAlwaysAvailableJSErrorHandling),
|
|
@@ -670,6 +695,9 @@ void JReactNativeFeatureFlagsCxxInterop::registerNatives() {
|
|
|
670
695
|
makeNativeMethod(
|
|
671
696
|
"useRawPropsJsiValue",
|
|
672
697
|
JReactNativeFeatureFlagsCxxInterop::useRawPropsJsiValue),
|
|
698
|
+
makeNativeMethod(
|
|
699
|
+
"useShadowNodeStateOnClone",
|
|
700
|
+
JReactNativeFeatureFlagsCxxInterop::useShadowNodeStateOnClone),
|
|
673
701
|
makeNativeMethod(
|
|
674
702
|
"useTurboModuleInterop",
|
|
675
703
|
JReactNativeFeatureFlagsCxxInterop::useTurboModuleInterop),
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* This source code is licensed under the MIT license found in the
|
|
5
5
|
* LICENSE file in the root directory of this source tree.
|
|
6
6
|
*
|
|
7
|
-
* @generated SignedSource<<
|
|
7
|
+
* @generated SignedSource<<efb0288fd19fb35e4582522c835301b4>>
|
|
8
8
|
*/
|
|
9
9
|
|
|
10
10
|
/**
|
|
@@ -135,6 +135,9 @@ class JReactNativeFeatureFlagsCxxInterop
|
|
|
135
135
|
static bool traceTurboModulePromiseRejectionsOnAndroid(
|
|
136
136
|
facebook::jni::alias_ref<JReactNativeFeatureFlagsCxxInterop>);
|
|
137
137
|
|
|
138
|
+
static bool updateRuntimeShadowNodeReferencesOnCommit(
|
|
139
|
+
facebook::jni::alias_ref<JReactNativeFeatureFlagsCxxInterop>);
|
|
140
|
+
|
|
138
141
|
static bool useAlwaysAvailableJSErrorHandling(
|
|
139
142
|
facebook::jni::alias_ref<JReactNativeFeatureFlagsCxxInterop>);
|
|
140
143
|
|
|
@@ -153,6 +156,9 @@ class JReactNativeFeatureFlagsCxxInterop
|
|
|
153
156
|
static bool useRawPropsJsiValue(
|
|
154
157
|
facebook::jni::alias_ref<JReactNativeFeatureFlagsCxxInterop>);
|
|
155
158
|
|
|
159
|
+
static bool useShadowNodeStateOnClone(
|
|
160
|
+
facebook::jni::alias_ref<JReactNativeFeatureFlagsCxxInterop>);
|
|
161
|
+
|
|
156
162
|
static bool useTurboModuleInterop(
|
|
157
163
|
facebook::jni::alias_ref<JReactNativeFeatureFlagsCxxInterop>);
|
|
158
164
|
|
|
@@ -14,14 +14,14 @@
|
|
|
14
14
|
|
|
15
15
|
#define REACT_NATIVE_VERSION_MAJOR 0
|
|
16
16
|
#define REACT_NATIVE_VERSION_MINOR 79
|
|
17
|
-
#define REACT_NATIVE_VERSION_PATCH
|
|
17
|
+
#define REACT_NATIVE_VERSION_PATCH 3
|
|
18
18
|
|
|
19
19
|
namespace facebook::react {
|
|
20
20
|
|
|
21
21
|
constexpr struct {
|
|
22
22
|
int32_t Major = 0;
|
|
23
23
|
int32_t Minor = 79;
|
|
24
|
-
int32_t Patch =
|
|
24
|
+
int32_t Patch = 3;
|
|
25
25
|
std::string_view Prerelease = "";
|
|
26
26
|
} ReactNativeVersion;
|
|
27
27
|
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* This source code is licensed under the MIT license found in the
|
|
5
5
|
* LICENSE file in the root directory of this source tree.
|
|
6
6
|
*
|
|
7
|
-
* @generated SignedSource<<
|
|
7
|
+
* @generated SignedSource<<661a4193f9ba7af0c963bc13751deb15>>
|
|
8
8
|
*/
|
|
9
9
|
|
|
10
10
|
/**
|
|
@@ -166,6 +166,10 @@ bool ReactNativeFeatureFlags::traceTurboModulePromiseRejectionsOnAndroid() {
|
|
|
166
166
|
return getAccessor().traceTurboModulePromiseRejectionsOnAndroid();
|
|
167
167
|
}
|
|
168
168
|
|
|
169
|
+
bool ReactNativeFeatureFlags::updateRuntimeShadowNodeReferencesOnCommit() {
|
|
170
|
+
return getAccessor().updateRuntimeShadowNodeReferencesOnCommit();
|
|
171
|
+
}
|
|
172
|
+
|
|
169
173
|
bool ReactNativeFeatureFlags::useAlwaysAvailableJSErrorHandling() {
|
|
170
174
|
return getAccessor().useAlwaysAvailableJSErrorHandling();
|
|
171
175
|
}
|
|
@@ -190,6 +194,10 @@ bool ReactNativeFeatureFlags::useRawPropsJsiValue() {
|
|
|
190
194
|
return getAccessor().useRawPropsJsiValue();
|
|
191
195
|
}
|
|
192
196
|
|
|
197
|
+
bool ReactNativeFeatureFlags::useShadowNodeStateOnClone() {
|
|
198
|
+
return getAccessor().useShadowNodeStateOnClone();
|
|
199
|
+
}
|
|
200
|
+
|
|
193
201
|
bool ReactNativeFeatureFlags::useTurboModuleInterop() {
|
|
194
202
|
return getAccessor().useTurboModuleInterop();
|
|
195
203
|
}
|