react-native 0.83.0-nightly-20251103-a034841fd → 0.83.0-nightly-20251104-502efe1cc
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/Core/ReactNativeVersion.js +1 -1
- package/Libraries/Text/TextInput/RCTBaseTextInputView.mm +3 -0
- package/React/Base/RCTVersion.m +1 -1
- package/React/FBReactNativeSpec/FBReactNativeSpecJSI.h +0 -8
- package/ReactAndroid/gradle.properties +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlags.kt +1 -7
- package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsCxxAccessor.kt +1 -11
- package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsCxxInterop.kt +1 -3
- package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsDefaults.kt +1 -3
- package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsLocalAccessor.kt +1 -12
- package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsProvider.kt +1 -3
- package/ReactAndroid/src/main/java/com/facebook/react/modules/systeminfo/ReactNativeVersion.kt +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/JSTouchDispatcher.kt +1 -2
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/PointerEvent.kt +5 -4
- package/ReactAndroid/src/main/jni/react/featureflags/JReactNativeFeatureFlagsCxxInterop.cpp +1 -15
- package/ReactAndroid/src/main/jni/react/featureflags/JReactNativeFeatureFlagsCxxInterop.h +1 -4
- package/ReactCommon/cxxreact/ReactNativeVersion.h +1 -1
- package/ReactCommon/jsinspector-modern/TracingAgent.cpp +0 -2
- package/ReactCommon/jsinspector-modern/tests/NetworkReporterTest.cpp +3 -55
- package/ReactCommon/jsinspector-modern/tests/TracingTest.h +82 -0
- package/ReactCommon/react/featureflags/ReactNativeFeatureFlags.cpp +1 -5
- package/ReactCommon/react/featureflags/ReactNativeFeatureFlags.h +1 -6
- package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsAccessor.cpp +18 -36
- package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsAccessor.h +2 -4
- package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsDefaults.h +1 -5
- package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsDynamicProvider.h +1 -10
- package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsProvider.h +1 -2
- package/ReactCommon/react/nativemodule/featureflags/NativeReactNativeFeatureFlags.cpp +1 -6
- package/ReactCommon/react/nativemodule/featureflags/NativeReactNativeFeatureFlags.h +1 -3
- package/package.json +9 -9
- package/sdks/hermes-engine/version.properties +2 -2
- package/src/private/featureflags/ReactNativeFeatureFlags.js +1 -6
- package/src/private/featureflags/specs/NativeReactNativeFeatureFlags.js +1 -2
- package/src/private/webapis/intersectionobserver/IntersectionObserver.js +48 -0
|
@@ -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-20251104-502efe1cc';
|
|
33
33
|
|
|
34
34
|
static getVersionString(): string {
|
|
35
35
|
return `${this.major}.${this.minor}.${this.patch}${this.prerelease != null ? `-${this.prerelease}` : ''}`;
|
|
@@ -727,6 +727,9 @@ RCT_NOT_IMPLEMENTED(-(instancetype)initWithFrame : (CGRect)frame)
|
|
|
727
727
|
return @"Join";
|
|
728
728
|
case UIReturnKeyEmergencyCall:
|
|
729
729
|
return @"Emergency Call";
|
|
730
|
+
case UIReturnKeyDefault:
|
|
731
|
+
case UIReturnKeyContinue:
|
|
732
|
+
case UIReturnKeyDone:
|
|
730
733
|
default:
|
|
731
734
|
return @"Done";
|
|
732
735
|
}
|
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-20251104-502efe1cc",
|
|
28
28
|
};
|
|
29
29
|
});
|
|
30
30
|
return __rnVersion;
|
|
@@ -289,7 +289,6 @@ protected:
|
|
|
289
289
|
methodMap_["shouldPressibilityUseW3CPointerEventsForHover"] = MethodMetadata {.argCount = 0, .invoker = __shouldPressibilityUseW3CPointerEventsForHover};
|
|
290
290
|
methodMap_["shouldTriggerResponderTransferOnScrollAndroid"] = MethodMetadata {.argCount = 0, .invoker = __shouldTriggerResponderTransferOnScrollAndroid};
|
|
291
291
|
methodMap_["skipActivityIdentityAssertionOnHostPause"] = MethodMetadata {.argCount = 0, .invoker = __skipActivityIdentityAssertionOnHostPause};
|
|
292
|
-
methodMap_["sweepActiveTouchOnChildNativeGesturesAndroid"] = MethodMetadata {.argCount = 0, .invoker = __sweepActiveTouchOnChildNativeGesturesAndroid};
|
|
293
292
|
methodMap_["traceTurboModulePromiseRejectionsOnAndroid"] = MethodMetadata {.argCount = 0, .invoker = __traceTurboModulePromiseRejectionsOnAndroid};
|
|
294
293
|
methodMap_["updateRuntimeShadowNodeReferencesOnCommit"] = MethodMetadata {.argCount = 0, .invoker = __updateRuntimeShadowNodeReferencesOnCommit};
|
|
295
294
|
methodMap_["useAlwaysAvailableJSErrorHandling"] = MethodMetadata {.argCount = 0, .invoker = __useAlwaysAvailableJSErrorHandling};
|
|
@@ -772,13 +771,6 @@ private:
|
|
|
772
771
|
return bridging::callFromJs<bool>(rt, &T::skipActivityIdentityAssertionOnHostPause, static_cast<NativeReactNativeFeatureFlagsCxxSpec*>(&turboModule)->jsInvoker_, static_cast<T*>(&turboModule));
|
|
773
772
|
}
|
|
774
773
|
|
|
775
|
-
static jsi::Value __sweepActiveTouchOnChildNativeGesturesAndroid(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* /*args*/, size_t /*count*/) {
|
|
776
|
-
static_assert(
|
|
777
|
-
bridging::getParameterCount(&T::sweepActiveTouchOnChildNativeGesturesAndroid) == 1,
|
|
778
|
-
"Expected sweepActiveTouchOnChildNativeGesturesAndroid(...) to have 1 parameters");
|
|
779
|
-
return bridging::callFromJs<bool>(rt, &T::sweepActiveTouchOnChildNativeGesturesAndroid, static_cast<NativeReactNativeFeatureFlagsCxxSpec*>(&turboModule)->jsInvoker_, static_cast<T*>(&turboModule));
|
|
780
|
-
}
|
|
781
|
-
|
|
782
774
|
static jsi::Value __traceTurboModulePromiseRejectionsOnAndroid(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* /*args*/, size_t /*count*/) {
|
|
783
775
|
static_assert(
|
|
784
776
|
bridging::getParameterCount(&T::traceTurboModulePromiseRejectionsOnAndroid) == 1,
|
|
@@ -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<<15ede8025e516f2bdc0329efe49f4a62>>
|
|
8
8
|
*/
|
|
9
9
|
|
|
10
10
|
/**
|
|
@@ -420,12 +420,6 @@ public object ReactNativeFeatureFlags {
|
|
|
420
420
|
@JvmStatic
|
|
421
421
|
public fun skipActivityIdentityAssertionOnHostPause(): Boolean = accessor.skipActivityIdentityAssertionOnHostPause()
|
|
422
422
|
|
|
423
|
-
/**
|
|
424
|
-
* A flag to tell Fabric to sweep active touches from JSTouchDispatcher in Android when a child native gesture is started.
|
|
425
|
-
*/
|
|
426
|
-
@JvmStatic
|
|
427
|
-
public fun sweepActiveTouchOnChildNativeGesturesAndroid(): Boolean = accessor.sweepActiveTouchOnChildNativeGesturesAndroid()
|
|
428
|
-
|
|
429
423
|
/**
|
|
430
424
|
* Enables storing js caller stack when creating promise in native module. This is useful in case of Promise rejection and tracing the cause.
|
|
431
425
|
*/
|
|
@@ -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<<c62242068e649aa652b1a8f700bf0ab3>>
|
|
8
8
|
*/
|
|
9
9
|
|
|
10
10
|
/**
|
|
@@ -85,7 +85,6 @@ internal class ReactNativeFeatureFlagsCxxAccessor : ReactNativeFeatureFlagsAcces
|
|
|
85
85
|
private var shouldPressibilityUseW3CPointerEventsForHoverCache: Boolean? = null
|
|
86
86
|
private var shouldTriggerResponderTransferOnScrollAndroidCache: Boolean? = null
|
|
87
87
|
private var skipActivityIdentityAssertionOnHostPauseCache: Boolean? = null
|
|
88
|
-
private var sweepActiveTouchOnChildNativeGesturesAndroidCache: Boolean? = null
|
|
89
88
|
private var traceTurboModulePromiseRejectionsOnAndroidCache: Boolean? = null
|
|
90
89
|
private var updateRuntimeShadowNodeReferencesOnCommitCache: Boolean? = null
|
|
91
90
|
private var useAlwaysAvailableJSErrorHandlingCache: Boolean? = null
|
|
@@ -689,15 +688,6 @@ internal class ReactNativeFeatureFlagsCxxAccessor : ReactNativeFeatureFlagsAcces
|
|
|
689
688
|
return cached
|
|
690
689
|
}
|
|
691
690
|
|
|
692
|
-
override fun sweepActiveTouchOnChildNativeGesturesAndroid(): Boolean {
|
|
693
|
-
var cached = sweepActiveTouchOnChildNativeGesturesAndroidCache
|
|
694
|
-
if (cached == null) {
|
|
695
|
-
cached = ReactNativeFeatureFlagsCxxInterop.sweepActiveTouchOnChildNativeGesturesAndroid()
|
|
696
|
-
sweepActiveTouchOnChildNativeGesturesAndroidCache = cached
|
|
697
|
-
}
|
|
698
|
-
return cached
|
|
699
|
-
}
|
|
700
|
-
|
|
701
691
|
override fun traceTurboModulePromiseRejectionsOnAndroid(): Boolean {
|
|
702
692
|
var cached = traceTurboModulePromiseRejectionsOnAndroidCache
|
|
703
693
|
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<<9a1bdbc2a3ae299433e690b254d7bf0a>>
|
|
8
8
|
*/
|
|
9
9
|
|
|
10
10
|
/**
|
|
@@ -158,8 +158,6 @@ public object ReactNativeFeatureFlagsCxxInterop {
|
|
|
158
158
|
|
|
159
159
|
@DoNotStrip @JvmStatic public external fun skipActivityIdentityAssertionOnHostPause(): Boolean
|
|
160
160
|
|
|
161
|
-
@DoNotStrip @JvmStatic public external fun sweepActiveTouchOnChildNativeGesturesAndroid(): Boolean
|
|
162
|
-
|
|
163
161
|
@DoNotStrip @JvmStatic public external fun traceTurboModulePromiseRejectionsOnAndroid(): Boolean
|
|
164
162
|
|
|
165
163
|
@DoNotStrip @JvmStatic public external fun updateRuntimeShadowNodeReferencesOnCommit(): 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<<0d78a0405db2a10c14bd69aaf2a3708a>>
|
|
8
8
|
*/
|
|
9
9
|
|
|
10
10
|
/**
|
|
@@ -153,8 +153,6 @@ public open class ReactNativeFeatureFlagsDefaults : ReactNativeFeatureFlagsProvi
|
|
|
153
153
|
|
|
154
154
|
override fun skipActivityIdentityAssertionOnHostPause(): Boolean = false
|
|
155
155
|
|
|
156
|
-
override fun sweepActiveTouchOnChildNativeGesturesAndroid(): Boolean = true
|
|
157
|
-
|
|
158
156
|
override fun traceTurboModulePromiseRejectionsOnAndroid(): Boolean = false
|
|
159
157
|
|
|
160
158
|
override fun updateRuntimeShadowNodeReferencesOnCommit(): 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<<98f16fd1bb180b247ee87bb24b10120e>>
|
|
8
8
|
*/
|
|
9
9
|
|
|
10
10
|
/**
|
|
@@ -89,7 +89,6 @@ internal class ReactNativeFeatureFlagsLocalAccessor : ReactNativeFeatureFlagsAcc
|
|
|
89
89
|
private var shouldPressibilityUseW3CPointerEventsForHoverCache: Boolean? = null
|
|
90
90
|
private var shouldTriggerResponderTransferOnScrollAndroidCache: Boolean? = null
|
|
91
91
|
private var skipActivityIdentityAssertionOnHostPauseCache: Boolean? = null
|
|
92
|
-
private var sweepActiveTouchOnChildNativeGesturesAndroidCache: Boolean? = null
|
|
93
92
|
private var traceTurboModulePromiseRejectionsOnAndroidCache: Boolean? = null
|
|
94
93
|
private var updateRuntimeShadowNodeReferencesOnCommitCache: Boolean? = null
|
|
95
94
|
private var useAlwaysAvailableJSErrorHandlingCache: Boolean? = null
|
|
@@ -758,16 +757,6 @@ internal class ReactNativeFeatureFlagsLocalAccessor : ReactNativeFeatureFlagsAcc
|
|
|
758
757
|
return cached
|
|
759
758
|
}
|
|
760
759
|
|
|
761
|
-
override fun sweepActiveTouchOnChildNativeGesturesAndroid(): Boolean {
|
|
762
|
-
var cached = sweepActiveTouchOnChildNativeGesturesAndroidCache
|
|
763
|
-
if (cached == null) {
|
|
764
|
-
cached = currentProvider.sweepActiveTouchOnChildNativeGesturesAndroid()
|
|
765
|
-
accessedFeatureFlags.add("sweepActiveTouchOnChildNativeGesturesAndroid")
|
|
766
|
-
sweepActiveTouchOnChildNativeGesturesAndroidCache = cached
|
|
767
|
-
}
|
|
768
|
-
return cached
|
|
769
|
-
}
|
|
770
|
-
|
|
771
760
|
override fun traceTurboModulePromiseRejectionsOnAndroid(): Boolean {
|
|
772
761
|
var cached = traceTurboModulePromiseRejectionsOnAndroidCache
|
|
773
762
|
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<<c810245ced5a83806ace12572e112a70>>
|
|
8
8
|
*/
|
|
9
9
|
|
|
10
10
|
/**
|
|
@@ -153,8 +153,6 @@ public interface ReactNativeFeatureFlagsProvider {
|
|
|
153
153
|
|
|
154
154
|
@DoNotStrip public fun skipActivityIdentityAssertionOnHostPause(): Boolean
|
|
155
155
|
|
|
156
|
-
@DoNotStrip public fun sweepActiveTouchOnChildNativeGesturesAndroid(): Boolean
|
|
157
|
-
|
|
158
156
|
@DoNotStrip public fun traceTurboModulePromiseRejectionsOnAndroid(): Boolean
|
|
159
157
|
|
|
160
158
|
@DoNotStrip public fun updateRuntimeShadowNodeReferencesOnCommit(): Boolean
|
|
@@ -14,7 +14,6 @@ import com.facebook.infer.annotation.Assertions
|
|
|
14
14
|
import com.facebook.react.bridge.ReactContext
|
|
15
15
|
import com.facebook.react.common.ReactConstants
|
|
16
16
|
import com.facebook.react.common.annotations.UnstableReactNativeAPI
|
|
17
|
-
import com.facebook.react.internal.featureflags.ReactNativeFeatureFlags
|
|
18
17
|
import com.facebook.react.uimanager.common.UIManagerType
|
|
19
18
|
import com.facebook.react.uimanager.events.EventDispatcher
|
|
20
19
|
import com.facebook.react.uimanager.events.TouchEvent
|
|
@@ -59,7 +58,7 @@ public class JSTouchDispatcher(private val viewGroup: ViewGroup) {
|
|
|
59
58
|
dispatchCancelEvent(androidEvent, eventDispatcher)
|
|
60
59
|
childIsHandlingNativeGesture = true
|
|
61
60
|
|
|
62
|
-
if (targetTag != -1
|
|
61
|
+
if (targetTag != -1) {
|
|
63
62
|
val surfaceId = UIManagerHelper.getSurfaceId(viewGroup)
|
|
64
63
|
sweepActiveTouchForTag(surfaceId, targetTag, reactContext)
|
|
65
64
|
}
|
|
@@ -29,7 +29,7 @@ internal class PointerEvent private constructor() : Event<PointerEvent>() {
|
|
|
29
29
|
private lateinit var _eventName: String
|
|
30
30
|
private var coalescingKey = UNSET_COALESCING_KEY
|
|
31
31
|
private var pointersEventData: List<WritableMap>? = null
|
|
32
|
-
private
|
|
32
|
+
private var eventState: PointerEventState? = null
|
|
33
33
|
|
|
34
34
|
private fun init(
|
|
35
35
|
eventName: String,
|
|
@@ -84,7 +84,7 @@ internal class PointerEvent private constructor() : Event<PointerEvent>() {
|
|
|
84
84
|
return@EventAnimationDriverMatchSpec false
|
|
85
85
|
}
|
|
86
86
|
if (isBubblingEvent(eventName)) {
|
|
87
|
-
for (viewTarget in eventState.hitPathForActivePointer) {
|
|
87
|
+
for (viewTarget in checkNotNull(eventState).hitPathForActivePointer) {
|
|
88
88
|
if (viewTarget.getViewId() == viewTag) {
|
|
89
89
|
return@EventAnimationDriverMatchSpec true
|
|
90
90
|
}
|
|
@@ -97,10 +97,10 @@ internal class PointerEvent private constructor() : Event<PointerEvent>() {
|
|
|
97
97
|
}
|
|
98
98
|
|
|
99
99
|
override fun onDispose() {
|
|
100
|
+
eventState = null
|
|
100
101
|
pointersEventData = null
|
|
101
|
-
val motionEvent = motionEvent
|
|
102
|
-
this.motionEvent = null
|
|
103
102
|
motionEvent?.recycle()
|
|
103
|
+
motionEvent = null
|
|
104
104
|
|
|
105
105
|
// Either `this` is in the event pool, or motionEvent
|
|
106
106
|
// is null. It is in theory not possible for a PointerEvent to
|
|
@@ -137,6 +137,7 @@ internal class PointerEvent private constructor() : Event<PointerEvent>() {
|
|
|
137
137
|
val pointerEvent = Arguments.createMap()
|
|
138
138
|
val motionEvent = checkNotNull(motionEvent)
|
|
139
139
|
val pointerId = motionEvent.getPointerId(index)
|
|
140
|
+
val eventState = checkNotNull(eventState)
|
|
140
141
|
|
|
141
142
|
// https://www.w3.org/TR/pointerevents/#pointerevent-interface
|
|
142
143
|
pointerEvent.putDouble("pointerId", pointerId.toDouble())
|
|
@@ -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<<b83a74b94f72ed85c7a5323bb56a38a0>>
|
|
8
8
|
*/
|
|
9
9
|
|
|
10
10
|
/**
|
|
@@ -429,12 +429,6 @@ class ReactNativeFeatureFlagsJavaProvider
|
|
|
429
429
|
return method(javaProvider_);
|
|
430
430
|
}
|
|
431
431
|
|
|
432
|
-
bool sweepActiveTouchOnChildNativeGesturesAndroid() override {
|
|
433
|
-
static const auto method =
|
|
434
|
-
getReactNativeFeatureFlagsProviderJavaClass()->getMethod<jboolean()>("sweepActiveTouchOnChildNativeGesturesAndroid");
|
|
435
|
-
return method(javaProvider_);
|
|
436
|
-
}
|
|
437
|
-
|
|
438
432
|
bool traceTurboModulePromiseRejectionsOnAndroid() override {
|
|
439
433
|
static const auto method =
|
|
440
434
|
getReactNativeFeatureFlagsProviderJavaClass()->getMethod<jboolean()>("traceTurboModulePromiseRejectionsOnAndroid");
|
|
@@ -866,11 +860,6 @@ bool JReactNativeFeatureFlagsCxxInterop::skipActivityIdentityAssertionOnHostPaus
|
|
|
866
860
|
return ReactNativeFeatureFlags::skipActivityIdentityAssertionOnHostPause();
|
|
867
861
|
}
|
|
868
862
|
|
|
869
|
-
bool JReactNativeFeatureFlagsCxxInterop::sweepActiveTouchOnChildNativeGesturesAndroid(
|
|
870
|
-
facebook::jni::alias_ref<JReactNativeFeatureFlagsCxxInterop> /*unused*/) {
|
|
871
|
-
return ReactNativeFeatureFlags::sweepActiveTouchOnChildNativeGesturesAndroid();
|
|
872
|
-
}
|
|
873
|
-
|
|
874
863
|
bool JReactNativeFeatureFlagsCxxInterop::traceTurboModulePromiseRejectionsOnAndroid(
|
|
875
864
|
facebook::jni::alias_ref<JReactNativeFeatureFlagsCxxInterop> /*unused*/) {
|
|
876
865
|
return ReactNativeFeatureFlags::traceTurboModulePromiseRejectionsOnAndroid();
|
|
@@ -1182,9 +1171,6 @@ void JReactNativeFeatureFlagsCxxInterop::registerNatives() {
|
|
|
1182
1171
|
makeNativeMethod(
|
|
1183
1172
|
"skipActivityIdentityAssertionOnHostPause",
|
|
1184
1173
|
JReactNativeFeatureFlagsCxxInterop::skipActivityIdentityAssertionOnHostPause),
|
|
1185
|
-
makeNativeMethod(
|
|
1186
|
-
"sweepActiveTouchOnChildNativeGesturesAndroid",
|
|
1187
|
-
JReactNativeFeatureFlagsCxxInterop::sweepActiveTouchOnChildNativeGesturesAndroid),
|
|
1188
1174
|
makeNativeMethod(
|
|
1189
1175
|
"traceTurboModulePromiseRejectionsOnAndroid",
|
|
1190
1176
|
JReactNativeFeatureFlagsCxxInterop::traceTurboModulePromiseRejectionsOnAndroid),
|
|
@@ -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<<6238eb0739467af8477aa8fa79a023bf>>
|
|
8
8
|
*/
|
|
9
9
|
|
|
10
10
|
/**
|
|
@@ -225,9 +225,6 @@ class JReactNativeFeatureFlagsCxxInterop
|
|
|
225
225
|
static bool skipActivityIdentityAssertionOnHostPause(
|
|
226
226
|
facebook::jni::alias_ref<JReactNativeFeatureFlagsCxxInterop>);
|
|
227
227
|
|
|
228
|
-
static bool sweepActiveTouchOnChildNativeGesturesAndroid(
|
|
229
|
-
facebook::jni::alias_ref<JReactNativeFeatureFlagsCxxInterop>);
|
|
230
|
-
|
|
231
228
|
static bool traceTurboModulePromiseRejectionsOnAndroid(
|
|
232
229
|
facebook::jni::alias_ref<JReactNativeFeatureFlagsCxxInterop>);
|
|
233
230
|
|
|
@@ -22,7 +22,7 @@ constexpr struct {
|
|
|
22
22
|
int32_t Major = 0;
|
|
23
23
|
int32_t Minor = 83;
|
|
24
24
|
int32_t Patch = 0;
|
|
25
|
-
std::string_view Prerelease = "nightly-
|
|
25
|
+
std::string_view Prerelease = "nightly-20251104-502efe1cc";
|
|
26
26
|
} ReactNativeVersion;
|
|
27
27
|
|
|
28
28
|
} // namespace facebook::react
|
|
@@ -53,7 +53,6 @@ TracingAgent::~TracingAgent() {
|
|
|
53
53
|
|
|
54
54
|
bool TracingAgent::handleRequest(const cdp::PreparsedRequest& req) {
|
|
55
55
|
if (req.method == "Tracing.start") {
|
|
56
|
-
// @cdp Tracing.start support is experimental.
|
|
57
56
|
if (sessionState_.isDebuggerDomainEnabled) {
|
|
58
57
|
frontendChannel_(
|
|
59
58
|
cdp::jsonError(
|
|
@@ -81,7 +80,6 @@ bool TracingAgent::handleRequest(const cdp::PreparsedRequest& req) {
|
|
|
81
80
|
|
|
82
81
|
return true;
|
|
83
82
|
} else if (req.method == "Tracing.end") {
|
|
84
|
-
// @cdp Tracing.end support is experimental.
|
|
85
83
|
auto state = hostTargetController_.stopTracing();
|
|
86
84
|
|
|
87
85
|
sessionState_.hasPendingTraceRecording = false;
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
* LICENSE file in the root directory of this source tree.
|
|
6
6
|
*/
|
|
7
7
|
|
|
8
|
-
#include "
|
|
8
|
+
#include "TracingTest.h"
|
|
9
9
|
#include "engines/JsiIntegrationTestHermesEngineAdapter.h"
|
|
10
10
|
|
|
11
11
|
#include <folly/executors/QueuedImmediateExecutor.h>
|
|
@@ -31,13 +31,13 @@ struct NetworkReporterTestParams {
|
|
|
31
31
|
*/
|
|
32
32
|
template <typename Params>
|
|
33
33
|
requires std::convertible_to<Params, NetworkReporterTestParams>
|
|
34
|
-
class NetworkReporterTestBase : public
|
|
34
|
+
class NetworkReporterTestBase : public TracingTestBase<
|
|
35
35
|
JsiIntegrationTestHermesEngineAdapter,
|
|
36
36
|
folly::QueuedImmediateExecutor>,
|
|
37
37
|
public WithParamInterface<Params> {
|
|
38
38
|
protected:
|
|
39
39
|
NetworkReporterTestBase()
|
|
40
|
-
:
|
|
40
|
+
: TracingTestBase({
|
|
41
41
|
.networkInspectionEnabled = true,
|
|
42
42
|
.enableNetworkEventReporting =
|
|
43
43
|
WithParamInterface<Params>::GetParam()
|
|
@@ -68,58 +68,6 @@ class NetworkReporterTestBase : public JsiIntegrationPortableTestBase<
|
|
|
68
68
|
urlMatcher);
|
|
69
69
|
}
|
|
70
70
|
|
|
71
|
-
void startTracing() {
|
|
72
|
-
this->expectMessageFromPage(JsonEq(R"({
|
|
73
|
-
"id": 1,
|
|
74
|
-
"result": {}
|
|
75
|
-
})"));
|
|
76
|
-
|
|
77
|
-
this->toPage_->sendMessage(R"({
|
|
78
|
-
"id": 1,
|
|
79
|
-
"method": "Tracing.start"
|
|
80
|
-
})");
|
|
81
|
-
}
|
|
82
|
-
|
|
83
|
-
/**
|
|
84
|
-
* Helper method to end tracing and collect all trace events from potentially
|
|
85
|
-
* multiple chunked Tracing.dataCollected messages.
|
|
86
|
-
* \returns A vector containing all collected trace events
|
|
87
|
-
*/
|
|
88
|
-
std::vector<folly::dynamic> endTracingAndCollectEvents() {
|
|
89
|
-
InSequence s;
|
|
90
|
-
|
|
91
|
-
this->expectMessageFromPage(JsonEq(R"({
|
|
92
|
-
"id": 1,
|
|
93
|
-
"result": {}
|
|
94
|
-
})"));
|
|
95
|
-
|
|
96
|
-
std::vector<folly::dynamic> allTraceEvents;
|
|
97
|
-
|
|
98
|
-
EXPECT_CALL(
|
|
99
|
-
fromPage(),
|
|
100
|
-
onMessage(JsonParsed(AtJsonPtr("/method", "Tracing.dataCollected"))))
|
|
101
|
-
.Times(AtLeast(1))
|
|
102
|
-
.WillRepeatedly(Invoke([&allTraceEvents](const std::string& message) {
|
|
103
|
-
auto parsedMessage = folly::parseJson(message);
|
|
104
|
-
auto& events = parsedMessage.at("params").at("value");
|
|
105
|
-
allTraceEvents.insert(
|
|
106
|
-
allTraceEvents.end(),
|
|
107
|
-
std::make_move_iterator(events.begin()),
|
|
108
|
-
std::make_move_iterator(events.end()));
|
|
109
|
-
}));
|
|
110
|
-
|
|
111
|
-
this->expectMessageFromPage(JsonParsed(AllOf(
|
|
112
|
-
AtJsonPtr("/method", "Tracing.tracingComplete"),
|
|
113
|
-
AtJsonPtr("/params/dataLossOccurred", false))));
|
|
114
|
-
|
|
115
|
-
this->toPage_->sendMessage(R"({
|
|
116
|
-
"id": 1,
|
|
117
|
-
"method": "Tracing.end"
|
|
118
|
-
})");
|
|
119
|
-
|
|
120
|
-
return allTraceEvents;
|
|
121
|
-
}
|
|
122
|
-
|
|
123
71
|
private:
|
|
124
72
|
std::optional<std::string> getScriptUrlById(const std::string& scriptId) {
|
|
125
73
|
auto it = scriptUrlsById_.find(scriptId);
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
3
|
+
*
|
|
4
|
+
* This source code is licensed under the MIT license found in the
|
|
5
|
+
* LICENSE file in the root directory of this source tree.
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
#pragma once
|
|
9
|
+
|
|
10
|
+
#include "JsiIntegrationTest.h"
|
|
11
|
+
|
|
12
|
+
#include <folly/dynamic.h>
|
|
13
|
+
#include <folly/json.h>
|
|
14
|
+
#include <gmock/gmock.h>
|
|
15
|
+
#include <vector>
|
|
16
|
+
|
|
17
|
+
#include "FollyDynamicMatchers.h"
|
|
18
|
+
|
|
19
|
+
namespace facebook::react::jsinspector_modern {
|
|
20
|
+
|
|
21
|
+
/**
|
|
22
|
+
* Base test class providing tracing-related test utilities for tests.
|
|
23
|
+
*/
|
|
24
|
+
template <typename EngineAdapter, typename Executor>
|
|
25
|
+
class TracingTestBase : public JsiIntegrationPortableTestBase<EngineAdapter, Executor> {
|
|
26
|
+
protected:
|
|
27
|
+
using JsiIntegrationPortableTestBase<EngineAdapter, Executor>::JsiIntegrationPortableTestBase;
|
|
28
|
+
|
|
29
|
+
/**
|
|
30
|
+
* Helper method to start tracing via Tracing.start CDP command.
|
|
31
|
+
*/
|
|
32
|
+
void startTracing()
|
|
33
|
+
{
|
|
34
|
+
this->expectMessageFromPage(JsonEq(R"({
|
|
35
|
+
"id": 1,
|
|
36
|
+
"result": {}
|
|
37
|
+
})"));
|
|
38
|
+
|
|
39
|
+
this->toPage_->sendMessage(R"({
|
|
40
|
+
"id": 1,
|
|
41
|
+
"method": "Tracing.start"
|
|
42
|
+
})");
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
/**
|
|
46
|
+
* Helper method to end tracing and collect all trace events from potentially
|
|
47
|
+
* multiple chunked Tracing.dataCollected messages.
|
|
48
|
+
* \returns A vector containing all collected trace events
|
|
49
|
+
*/
|
|
50
|
+
std::vector<folly::dynamic> endTracingAndCollectEvents()
|
|
51
|
+
{
|
|
52
|
+
testing::InSequence s;
|
|
53
|
+
|
|
54
|
+
this->expectMessageFromPage(JsonEq(R"({
|
|
55
|
+
"id": 1,
|
|
56
|
+
"result": {}
|
|
57
|
+
})"));
|
|
58
|
+
|
|
59
|
+
std::vector<folly::dynamic> allTraceEvents;
|
|
60
|
+
|
|
61
|
+
EXPECT_CALL(this->fromPage(), onMessage(JsonParsed(AtJsonPtr("/method", "Tracing.dataCollected"))))
|
|
62
|
+
.Times(testing::AtLeast(1))
|
|
63
|
+
.WillRepeatedly(testing::Invoke([&allTraceEvents](const std::string &message) {
|
|
64
|
+
auto parsedMessage = folly::parseJson(message);
|
|
65
|
+
auto &events = parsedMessage.at("params").at("value");
|
|
66
|
+
allTraceEvents.insert(
|
|
67
|
+
allTraceEvents.end(), std::make_move_iterator(events.begin()), std::make_move_iterator(events.end()));
|
|
68
|
+
}));
|
|
69
|
+
|
|
70
|
+
this->expectMessageFromPage(JsonParsed(
|
|
71
|
+
testing::AllOf(AtJsonPtr("/method", "Tracing.tracingComplete"), AtJsonPtr("/params/dataLossOccurred", false))));
|
|
72
|
+
|
|
73
|
+
this->toPage_->sendMessage(R"({
|
|
74
|
+
"id": 1,
|
|
75
|
+
"method": "Tracing.end"
|
|
76
|
+
})");
|
|
77
|
+
|
|
78
|
+
return allTraceEvents;
|
|
79
|
+
}
|
|
80
|
+
};
|
|
81
|
+
|
|
82
|
+
} // namespace facebook::react::jsinspector_modern
|
|
@@ -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<<6f88454830626622f9b5720ae0395938>>
|
|
8
8
|
*/
|
|
9
9
|
|
|
10
10
|
/**
|
|
@@ -286,10 +286,6 @@ bool ReactNativeFeatureFlags::skipActivityIdentityAssertionOnHostPause() {
|
|
|
286
286
|
return getAccessor().skipActivityIdentityAssertionOnHostPause();
|
|
287
287
|
}
|
|
288
288
|
|
|
289
|
-
bool ReactNativeFeatureFlags::sweepActiveTouchOnChildNativeGesturesAndroid() {
|
|
290
|
-
return getAccessor().sweepActiveTouchOnChildNativeGesturesAndroid();
|
|
291
|
-
}
|
|
292
|
-
|
|
293
289
|
bool ReactNativeFeatureFlags::traceTurboModulePromiseRejectionsOnAndroid() {
|
|
294
290
|
return getAccessor().traceTurboModulePromiseRejectionsOnAndroid();
|
|
295
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<<ce6f11b805b3de79c414d1893cd7b2cc>>
|
|
8
8
|
*/
|
|
9
9
|
|
|
10
10
|
/**
|
|
@@ -364,11 +364,6 @@ class ReactNativeFeatureFlags {
|
|
|
364
364
|
*/
|
|
365
365
|
RN_EXPORT static bool skipActivityIdentityAssertionOnHostPause();
|
|
366
366
|
|
|
367
|
-
/**
|
|
368
|
-
* A flag to tell Fabric to sweep active touches from JSTouchDispatcher in Android when a child native gesture is started.
|
|
369
|
-
*/
|
|
370
|
-
RN_EXPORT static bool sweepActiveTouchOnChildNativeGesturesAndroid();
|
|
371
|
-
|
|
372
367
|
/**
|
|
373
368
|
* Enables storing js caller stack when creating promise in native module. This is useful in case of Promise rejection and tracing the cause.
|
|
374
369
|
*/
|
|
@@ -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<<efd811822965d54da3cd791319673352>>
|
|
8
8
|
*/
|
|
9
9
|
|
|
10
10
|
/**
|
|
@@ -1199,24 +1199,6 @@ bool ReactNativeFeatureFlagsAccessor::skipActivityIdentityAssertionOnHostPause()
|
|
|
1199
1199
|
return flagValue.value();
|
|
1200
1200
|
}
|
|
1201
1201
|
|
|
1202
|
-
bool ReactNativeFeatureFlagsAccessor::sweepActiveTouchOnChildNativeGesturesAndroid() {
|
|
1203
|
-
auto flagValue = sweepActiveTouchOnChildNativeGesturesAndroid_.load();
|
|
1204
|
-
|
|
1205
|
-
if (!flagValue.has_value()) {
|
|
1206
|
-
// This block is not exclusive but it is not necessary.
|
|
1207
|
-
// If multiple threads try to initialize the feature flag, we would only
|
|
1208
|
-
// be accessing the provider multiple times but the end state of this
|
|
1209
|
-
// instance and the returned flag value would be the same.
|
|
1210
|
-
|
|
1211
|
-
markFlagAsAccessed(65, "sweepActiveTouchOnChildNativeGesturesAndroid");
|
|
1212
|
-
|
|
1213
|
-
flagValue = currentProvider_->sweepActiveTouchOnChildNativeGesturesAndroid();
|
|
1214
|
-
sweepActiveTouchOnChildNativeGesturesAndroid_ = flagValue;
|
|
1215
|
-
}
|
|
1216
|
-
|
|
1217
|
-
return flagValue.value();
|
|
1218
|
-
}
|
|
1219
|
-
|
|
1220
1202
|
bool ReactNativeFeatureFlagsAccessor::traceTurboModulePromiseRejectionsOnAndroid() {
|
|
1221
1203
|
auto flagValue = traceTurboModulePromiseRejectionsOnAndroid_.load();
|
|
1222
1204
|
|
|
@@ -1226,7 +1208,7 @@ bool ReactNativeFeatureFlagsAccessor::traceTurboModulePromiseRejectionsOnAndroid
|
|
|
1226
1208
|
// be accessing the provider multiple times but the end state of this
|
|
1227
1209
|
// instance and the returned flag value would be the same.
|
|
1228
1210
|
|
|
1229
|
-
markFlagAsAccessed(
|
|
1211
|
+
markFlagAsAccessed(65, "traceTurboModulePromiseRejectionsOnAndroid");
|
|
1230
1212
|
|
|
1231
1213
|
flagValue = currentProvider_->traceTurboModulePromiseRejectionsOnAndroid();
|
|
1232
1214
|
traceTurboModulePromiseRejectionsOnAndroid_ = flagValue;
|
|
@@ -1244,7 +1226,7 @@ bool ReactNativeFeatureFlagsAccessor::updateRuntimeShadowNodeReferencesOnCommit(
|
|
|
1244
1226
|
// be accessing the provider multiple times but the end state of this
|
|
1245
1227
|
// instance and the returned flag value would be the same.
|
|
1246
1228
|
|
|
1247
|
-
markFlagAsAccessed(
|
|
1229
|
+
markFlagAsAccessed(66, "updateRuntimeShadowNodeReferencesOnCommit");
|
|
1248
1230
|
|
|
1249
1231
|
flagValue = currentProvider_->updateRuntimeShadowNodeReferencesOnCommit();
|
|
1250
1232
|
updateRuntimeShadowNodeReferencesOnCommit_ = flagValue;
|
|
@@ -1262,7 +1244,7 @@ bool ReactNativeFeatureFlagsAccessor::useAlwaysAvailableJSErrorHandling() {
|
|
|
1262
1244
|
// be accessing the provider multiple times but the end state of this
|
|
1263
1245
|
// instance and the returned flag value would be the same.
|
|
1264
1246
|
|
|
1265
|
-
markFlagAsAccessed(
|
|
1247
|
+
markFlagAsAccessed(67, "useAlwaysAvailableJSErrorHandling");
|
|
1266
1248
|
|
|
1267
1249
|
flagValue = currentProvider_->useAlwaysAvailableJSErrorHandling();
|
|
1268
1250
|
useAlwaysAvailableJSErrorHandling_ = flagValue;
|
|
@@ -1280,7 +1262,7 @@ bool ReactNativeFeatureFlagsAccessor::useFabricInterop() {
|
|
|
1280
1262
|
// be accessing the provider multiple times but the end state of this
|
|
1281
1263
|
// instance and the returned flag value would be the same.
|
|
1282
1264
|
|
|
1283
|
-
markFlagAsAccessed(
|
|
1265
|
+
markFlagAsAccessed(68, "useFabricInterop");
|
|
1284
1266
|
|
|
1285
1267
|
flagValue = currentProvider_->useFabricInterop();
|
|
1286
1268
|
useFabricInterop_ = flagValue;
|
|
@@ -1298,7 +1280,7 @@ bool ReactNativeFeatureFlagsAccessor::useNativeEqualsInNativeReadableArrayAndroi
|
|
|
1298
1280
|
// be accessing the provider multiple times but the end state of this
|
|
1299
1281
|
// instance and the returned flag value would be the same.
|
|
1300
1282
|
|
|
1301
|
-
markFlagAsAccessed(
|
|
1283
|
+
markFlagAsAccessed(69, "useNativeEqualsInNativeReadableArrayAndroid");
|
|
1302
1284
|
|
|
1303
1285
|
flagValue = currentProvider_->useNativeEqualsInNativeReadableArrayAndroid();
|
|
1304
1286
|
useNativeEqualsInNativeReadableArrayAndroid_ = flagValue;
|
|
@@ -1316,7 +1298,7 @@ bool ReactNativeFeatureFlagsAccessor::useNativeTransformHelperAndroid() {
|
|
|
1316
1298
|
// be accessing the provider multiple times but the end state of this
|
|
1317
1299
|
// instance and the returned flag value would be the same.
|
|
1318
1300
|
|
|
1319
|
-
markFlagAsAccessed(
|
|
1301
|
+
markFlagAsAccessed(70, "useNativeTransformHelperAndroid");
|
|
1320
1302
|
|
|
1321
1303
|
flagValue = currentProvider_->useNativeTransformHelperAndroid();
|
|
1322
1304
|
useNativeTransformHelperAndroid_ = flagValue;
|
|
@@ -1334,7 +1316,7 @@ bool ReactNativeFeatureFlagsAccessor::useNativeViewConfigsInBridgelessMode() {
|
|
|
1334
1316
|
// be accessing the provider multiple times but the end state of this
|
|
1335
1317
|
// instance and the returned flag value would be the same.
|
|
1336
1318
|
|
|
1337
|
-
markFlagAsAccessed(
|
|
1319
|
+
markFlagAsAccessed(71, "useNativeViewConfigsInBridgelessMode");
|
|
1338
1320
|
|
|
1339
1321
|
flagValue = currentProvider_->useNativeViewConfigsInBridgelessMode();
|
|
1340
1322
|
useNativeViewConfigsInBridgelessMode_ = flagValue;
|
|
@@ -1352,7 +1334,7 @@ bool ReactNativeFeatureFlagsAccessor::useOptimizedEventBatchingOnAndroid() {
|
|
|
1352
1334
|
// be accessing the provider multiple times but the end state of this
|
|
1353
1335
|
// instance and the returned flag value would be the same.
|
|
1354
1336
|
|
|
1355
|
-
markFlagAsAccessed(
|
|
1337
|
+
markFlagAsAccessed(72, "useOptimizedEventBatchingOnAndroid");
|
|
1356
1338
|
|
|
1357
1339
|
flagValue = currentProvider_->useOptimizedEventBatchingOnAndroid();
|
|
1358
1340
|
useOptimizedEventBatchingOnAndroid_ = flagValue;
|
|
@@ -1370,7 +1352,7 @@ bool ReactNativeFeatureFlagsAccessor::useRawPropsJsiValue() {
|
|
|
1370
1352
|
// be accessing the provider multiple times but the end state of this
|
|
1371
1353
|
// instance and the returned flag value would be the same.
|
|
1372
1354
|
|
|
1373
|
-
markFlagAsAccessed(
|
|
1355
|
+
markFlagAsAccessed(73, "useRawPropsJsiValue");
|
|
1374
1356
|
|
|
1375
1357
|
flagValue = currentProvider_->useRawPropsJsiValue();
|
|
1376
1358
|
useRawPropsJsiValue_ = flagValue;
|
|
@@ -1388,7 +1370,7 @@ bool ReactNativeFeatureFlagsAccessor::useShadowNodeStateOnClone() {
|
|
|
1388
1370
|
// be accessing the provider multiple times but the end state of this
|
|
1389
1371
|
// instance and the returned flag value would be the same.
|
|
1390
1372
|
|
|
1391
|
-
markFlagAsAccessed(
|
|
1373
|
+
markFlagAsAccessed(74, "useShadowNodeStateOnClone");
|
|
1392
1374
|
|
|
1393
1375
|
flagValue = currentProvider_->useShadowNodeStateOnClone();
|
|
1394
1376
|
useShadowNodeStateOnClone_ = flagValue;
|
|
@@ -1406,7 +1388,7 @@ bool ReactNativeFeatureFlagsAccessor::useSharedAnimatedBackend() {
|
|
|
1406
1388
|
// be accessing the provider multiple times but the end state of this
|
|
1407
1389
|
// instance and the returned flag value would be the same.
|
|
1408
1390
|
|
|
1409
|
-
markFlagAsAccessed(
|
|
1391
|
+
markFlagAsAccessed(75, "useSharedAnimatedBackend");
|
|
1410
1392
|
|
|
1411
1393
|
flagValue = currentProvider_->useSharedAnimatedBackend();
|
|
1412
1394
|
useSharedAnimatedBackend_ = flagValue;
|
|
@@ -1424,7 +1406,7 @@ bool ReactNativeFeatureFlagsAccessor::useTraitHiddenOnAndroid() {
|
|
|
1424
1406
|
// be accessing the provider multiple times but the end state of this
|
|
1425
1407
|
// instance and the returned flag value would be the same.
|
|
1426
1408
|
|
|
1427
|
-
markFlagAsAccessed(
|
|
1409
|
+
markFlagAsAccessed(76, "useTraitHiddenOnAndroid");
|
|
1428
1410
|
|
|
1429
1411
|
flagValue = currentProvider_->useTraitHiddenOnAndroid();
|
|
1430
1412
|
useTraitHiddenOnAndroid_ = flagValue;
|
|
@@ -1442,7 +1424,7 @@ bool ReactNativeFeatureFlagsAccessor::useTurboModuleInterop() {
|
|
|
1442
1424
|
// be accessing the provider multiple times but the end state of this
|
|
1443
1425
|
// instance and the returned flag value would be the same.
|
|
1444
1426
|
|
|
1445
|
-
markFlagAsAccessed(
|
|
1427
|
+
markFlagAsAccessed(77, "useTurboModuleInterop");
|
|
1446
1428
|
|
|
1447
1429
|
flagValue = currentProvider_->useTurboModuleInterop();
|
|
1448
1430
|
useTurboModuleInterop_ = flagValue;
|
|
@@ -1460,7 +1442,7 @@ bool ReactNativeFeatureFlagsAccessor::useTurboModules() {
|
|
|
1460
1442
|
// be accessing the provider multiple times but the end state of this
|
|
1461
1443
|
// instance and the returned flag value would be the same.
|
|
1462
1444
|
|
|
1463
|
-
markFlagAsAccessed(
|
|
1445
|
+
markFlagAsAccessed(78, "useTurboModules");
|
|
1464
1446
|
|
|
1465
1447
|
flagValue = currentProvider_->useTurboModules();
|
|
1466
1448
|
useTurboModules_ = flagValue;
|
|
@@ -1478,7 +1460,7 @@ double ReactNativeFeatureFlagsAccessor::viewCullingOutsetRatio() {
|
|
|
1478
1460
|
// be accessing the provider multiple times but the end state of this
|
|
1479
1461
|
// instance and the returned flag value would be the same.
|
|
1480
1462
|
|
|
1481
|
-
markFlagAsAccessed(
|
|
1463
|
+
markFlagAsAccessed(79, "viewCullingOutsetRatio");
|
|
1482
1464
|
|
|
1483
1465
|
flagValue = currentProvider_->viewCullingOutsetRatio();
|
|
1484
1466
|
viewCullingOutsetRatio_ = flagValue;
|
|
@@ -1496,7 +1478,7 @@ double ReactNativeFeatureFlagsAccessor::virtualViewHysteresisRatio() {
|
|
|
1496
1478
|
// be accessing the provider multiple times but the end state of this
|
|
1497
1479
|
// instance and the returned flag value would be the same.
|
|
1498
1480
|
|
|
1499
|
-
markFlagAsAccessed(
|
|
1481
|
+
markFlagAsAccessed(80, "virtualViewHysteresisRatio");
|
|
1500
1482
|
|
|
1501
1483
|
flagValue = currentProvider_->virtualViewHysteresisRatio();
|
|
1502
1484
|
virtualViewHysteresisRatio_ = flagValue;
|
|
@@ -1514,7 +1496,7 @@ double ReactNativeFeatureFlagsAccessor::virtualViewPrerenderRatio() {
|
|
|
1514
1496
|
// be accessing the provider multiple times but the end state of this
|
|
1515
1497
|
// instance and the returned flag value would be the same.
|
|
1516
1498
|
|
|
1517
|
-
markFlagAsAccessed(
|
|
1499
|
+
markFlagAsAccessed(81, "virtualViewPrerenderRatio");
|
|
1518
1500
|
|
|
1519
1501
|
flagValue = currentProvider_->virtualViewPrerenderRatio();
|
|
1520
1502
|
virtualViewPrerenderRatio_ = flagValue;
|
|
@@ -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<<fe818d80110561de44d8e5604d3e7195>>
|
|
8
8
|
*/
|
|
9
9
|
|
|
10
10
|
/**
|
|
@@ -97,7 +97,6 @@ class ReactNativeFeatureFlagsAccessor {
|
|
|
97
97
|
bool shouldPressibilityUseW3CPointerEventsForHover();
|
|
98
98
|
bool shouldTriggerResponderTransferOnScrollAndroid();
|
|
99
99
|
bool skipActivityIdentityAssertionOnHostPause();
|
|
100
|
-
bool sweepActiveTouchOnChildNativeGesturesAndroid();
|
|
101
100
|
bool traceTurboModulePromiseRejectionsOnAndroid();
|
|
102
101
|
bool updateRuntimeShadowNodeReferencesOnCommit();
|
|
103
102
|
bool useAlwaysAvailableJSErrorHandling();
|
|
@@ -126,7 +125,7 @@ class ReactNativeFeatureFlagsAccessor {
|
|
|
126
125
|
std::unique_ptr<ReactNativeFeatureFlagsProvider> currentProvider_;
|
|
127
126
|
bool wasOverridden_;
|
|
128
127
|
|
|
129
|
-
std::array<std::atomic<const char*>,
|
|
128
|
+
std::array<std::atomic<const char*>, 82> accessedFeatureFlags_;
|
|
130
129
|
|
|
131
130
|
std::atomic<std::optional<bool>> commonTestFlag_;
|
|
132
131
|
std::atomic<std::optional<bool>> cdpInteractionMetricsEnabled_;
|
|
@@ -193,7 +192,6 @@ class ReactNativeFeatureFlagsAccessor {
|
|
|
193
192
|
std::atomic<std::optional<bool>> shouldPressibilityUseW3CPointerEventsForHover_;
|
|
194
193
|
std::atomic<std::optional<bool>> shouldTriggerResponderTransferOnScrollAndroid_;
|
|
195
194
|
std::atomic<std::optional<bool>> skipActivityIdentityAssertionOnHostPause_;
|
|
196
|
-
std::atomic<std::optional<bool>> sweepActiveTouchOnChildNativeGesturesAndroid_;
|
|
197
195
|
std::atomic<std::optional<bool>> traceTurboModulePromiseRejectionsOnAndroid_;
|
|
198
196
|
std::atomic<std::optional<bool>> updateRuntimeShadowNodeReferencesOnCommit_;
|
|
199
197
|
std::atomic<std::optional<bool>> useAlwaysAvailableJSErrorHandling_;
|
|
@@ -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<<6120a91f22fd02a0ff5144df38bd1737>>
|
|
8
8
|
*/
|
|
9
9
|
|
|
10
10
|
/**
|
|
@@ -287,10 +287,6 @@ class ReactNativeFeatureFlagsDefaults : public ReactNativeFeatureFlagsProvider {
|
|
|
287
287
|
return false;
|
|
288
288
|
}
|
|
289
289
|
|
|
290
|
-
bool sweepActiveTouchOnChildNativeGesturesAndroid() override {
|
|
291
|
-
return true;
|
|
292
|
-
}
|
|
293
|
-
|
|
294
290
|
bool traceTurboModulePromiseRejectionsOnAndroid() override {
|
|
295
291
|
return false;
|
|
296
292
|
}
|
|
@@ -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<<36163e6b41d151326f7a0948b332672f>>
|
|
8
8
|
*/
|
|
9
9
|
|
|
10
10
|
/**
|
|
@@ -630,15 +630,6 @@ class ReactNativeFeatureFlagsDynamicProvider : public ReactNativeFeatureFlagsDef
|
|
|
630
630
|
return ReactNativeFeatureFlagsDefaults::skipActivityIdentityAssertionOnHostPause();
|
|
631
631
|
}
|
|
632
632
|
|
|
633
|
-
bool sweepActiveTouchOnChildNativeGesturesAndroid() override {
|
|
634
|
-
auto value = values_["sweepActiveTouchOnChildNativeGesturesAndroid"];
|
|
635
|
-
if (!value.isNull()) {
|
|
636
|
-
return value.getBool();
|
|
637
|
-
}
|
|
638
|
-
|
|
639
|
-
return ReactNativeFeatureFlagsDefaults::sweepActiveTouchOnChildNativeGesturesAndroid();
|
|
640
|
-
}
|
|
641
|
-
|
|
642
633
|
bool traceTurboModulePromiseRejectionsOnAndroid() override {
|
|
643
634
|
auto value = values_["traceTurboModulePromiseRejectionsOnAndroid"];
|
|
644
635
|
if (!value.isNull()) {
|
|
@@ -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<<0f6fd731ebddc32a0583ceb3c81f2b32>>
|
|
8
8
|
*/
|
|
9
9
|
|
|
10
10
|
/**
|
|
@@ -90,7 +90,6 @@ class ReactNativeFeatureFlagsProvider {
|
|
|
90
90
|
virtual bool shouldPressibilityUseW3CPointerEventsForHover() = 0;
|
|
91
91
|
virtual bool shouldTriggerResponderTransferOnScrollAndroid() = 0;
|
|
92
92
|
virtual bool skipActivityIdentityAssertionOnHostPause() = 0;
|
|
93
|
-
virtual bool sweepActiveTouchOnChildNativeGesturesAndroid() = 0;
|
|
94
93
|
virtual bool traceTurboModulePromiseRejectionsOnAndroid() = 0;
|
|
95
94
|
virtual bool updateRuntimeShadowNodeReferencesOnCommit() = 0;
|
|
96
95
|
virtual bool useAlwaysAvailableJSErrorHandling() = 0;
|
|
@@ -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<<d96a6f5f05faef9ab3e7b28bcbb51aae>>
|
|
8
8
|
*/
|
|
9
9
|
|
|
10
10
|
/**
|
|
@@ -369,11 +369,6 @@ bool NativeReactNativeFeatureFlags::skipActivityIdentityAssertionOnHostPause(
|
|
|
369
369
|
return ReactNativeFeatureFlags::skipActivityIdentityAssertionOnHostPause();
|
|
370
370
|
}
|
|
371
371
|
|
|
372
|
-
bool NativeReactNativeFeatureFlags::sweepActiveTouchOnChildNativeGesturesAndroid(
|
|
373
|
-
jsi::Runtime& /*runtime*/) {
|
|
374
|
-
return ReactNativeFeatureFlags::sweepActiveTouchOnChildNativeGesturesAndroid();
|
|
375
|
-
}
|
|
376
|
-
|
|
377
372
|
bool NativeReactNativeFeatureFlags::traceTurboModulePromiseRejectionsOnAndroid(
|
|
378
373
|
jsi::Runtime& /*runtime*/) {
|
|
379
374
|
return ReactNativeFeatureFlags::traceTurboModulePromiseRejectionsOnAndroid();
|
|
@@ -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<<762f97c6e72f9339ef925adb8481713f>>
|
|
8
8
|
*/
|
|
9
9
|
|
|
10
10
|
/**
|
|
@@ -166,8 +166,6 @@ class NativeReactNativeFeatureFlags
|
|
|
166
166
|
|
|
167
167
|
bool skipActivityIdentityAssertionOnHostPause(jsi::Runtime& runtime);
|
|
168
168
|
|
|
169
|
-
bool sweepActiveTouchOnChildNativeGesturesAndroid(jsi::Runtime& runtime);
|
|
170
|
-
|
|
171
169
|
bool traceTurboModulePromiseRejectionsOnAndroid(jsi::Runtime& runtime);
|
|
172
170
|
|
|
173
171
|
bool updateRuntimeShadowNodeReferencesOnCommit(jsi::Runtime& runtime);
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "react-native",
|
|
3
|
-
"version": "0.83.0-nightly-
|
|
3
|
+
"version": "0.83.0-nightly-20251104-502efe1cc",
|
|
4
4
|
"description": "A framework for building native apps using React",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": {
|
|
@@ -159,13 +159,13 @@
|
|
|
159
159
|
},
|
|
160
160
|
"dependencies": {
|
|
161
161
|
"@jest/create-cache-key-function": "^29.7.0",
|
|
162
|
-
"@react-native/assets-registry": "0.83.0-nightly-
|
|
163
|
-
"@react-native/codegen": "0.83.0-nightly-
|
|
164
|
-
"@react-native/community-cli-plugin": "0.83.0-nightly-
|
|
165
|
-
"@react-native/gradle-plugin": "0.83.0-nightly-
|
|
166
|
-
"@react-native/js-polyfills": "0.83.0-nightly-
|
|
167
|
-
"@react-native/normalize-colors": "0.83.0-nightly-
|
|
168
|
-
"@react-native/virtualized-lists": "0.83.0-nightly-
|
|
162
|
+
"@react-native/assets-registry": "0.83.0-nightly-20251104-502efe1cc",
|
|
163
|
+
"@react-native/codegen": "0.83.0-nightly-20251104-502efe1cc",
|
|
164
|
+
"@react-native/community-cli-plugin": "0.83.0-nightly-20251104-502efe1cc",
|
|
165
|
+
"@react-native/gradle-plugin": "0.83.0-nightly-20251104-502efe1cc",
|
|
166
|
+
"@react-native/js-polyfills": "0.83.0-nightly-20251104-502efe1cc",
|
|
167
|
+
"@react-native/normalize-colors": "0.83.0-nightly-20251104-502efe1cc",
|
|
168
|
+
"@react-native/virtualized-lists": "0.83.0-nightly-20251104-502efe1cc",
|
|
169
169
|
"abort-controller": "^3.0.0",
|
|
170
170
|
"anser": "^1.4.9",
|
|
171
171
|
"ansi-regex": "^5.0.0",
|
|
@@ -175,7 +175,7 @@
|
|
|
175
175
|
"commander": "^12.0.0",
|
|
176
176
|
"flow-enums-runtime": "^0.0.6",
|
|
177
177
|
"glob": "^7.1.1",
|
|
178
|
-
"hermes-compiler": "0.14.0-commitly-
|
|
178
|
+
"hermes-compiler": "0.14.0-commitly-202511031701-9c948b8c9",
|
|
179
179
|
"invariant": "^2.2.4",
|
|
180
180
|
"jest-environment-node": "^29.7.0",
|
|
181
181
|
"memoize-one": "^5.0.0",
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
HERMES_VERSION_NAME=0.14.0-commitly-
|
|
2
|
-
HERMES_V1_VERSION_NAME=250829098.0.
|
|
1
|
+
HERMES_VERSION_NAME=0.14.0-commitly-202511031701-9c948b8c9
|
|
2
|
+
HERMES_V1_VERSION_NAME=250829098.0.2
|
|
@@ -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<<9284928dae8d148f3ce8041fdbe84990>>
|
|
8
8
|
* @flow strict
|
|
9
9
|
* @noformat
|
|
10
10
|
*/
|
|
@@ -115,7 +115,6 @@ export type ReactNativeFeatureFlags = $ReadOnly<{
|
|
|
115
115
|
shouldPressibilityUseW3CPointerEventsForHover: Getter<boolean>,
|
|
116
116
|
shouldTriggerResponderTransferOnScrollAndroid: Getter<boolean>,
|
|
117
117
|
skipActivityIdentityAssertionOnHostPause: Getter<boolean>,
|
|
118
|
-
sweepActiveTouchOnChildNativeGesturesAndroid: Getter<boolean>,
|
|
119
118
|
traceTurboModulePromiseRejectionsOnAndroid: Getter<boolean>,
|
|
120
119
|
updateRuntimeShadowNodeReferencesOnCommit: Getter<boolean>,
|
|
121
120
|
useAlwaysAvailableJSErrorHandling: Getter<boolean>,
|
|
@@ -474,10 +473,6 @@ export const shouldTriggerResponderTransferOnScrollAndroid: Getter<boolean> = cr
|
|
|
474
473
|
* Skip activity identity assertion in ReactHostImpl::onHostPause()
|
|
475
474
|
*/
|
|
476
475
|
export const skipActivityIdentityAssertionOnHostPause: Getter<boolean> = createNativeFlagGetter('skipActivityIdentityAssertionOnHostPause', false);
|
|
477
|
-
/**
|
|
478
|
-
* A flag to tell Fabric to sweep active touches from JSTouchDispatcher in Android when a child native gesture is started.
|
|
479
|
-
*/
|
|
480
|
-
export const sweepActiveTouchOnChildNativeGesturesAndroid: Getter<boolean> = createNativeFlagGetter('sweepActiveTouchOnChildNativeGesturesAndroid', true);
|
|
481
476
|
/**
|
|
482
477
|
* Enables storing js caller stack when creating promise in native module. This is useful in case of Promise rejection and tracing the cause.
|
|
483
478
|
*/
|
|
@@ -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<<374975d041863bc8d509d2ce0aa8c883>>
|
|
8
8
|
* @flow strict
|
|
9
9
|
* @noformat
|
|
10
10
|
*/
|
|
@@ -90,7 +90,6 @@ export interface Spec extends TurboModule {
|
|
|
90
90
|
+shouldPressibilityUseW3CPointerEventsForHover?: () => boolean;
|
|
91
91
|
+shouldTriggerResponderTransferOnScrollAndroid?: () => boolean;
|
|
92
92
|
+skipActivityIdentityAssertionOnHostPause?: () => boolean;
|
|
93
|
-
+sweepActiveTouchOnChildNativeGesturesAndroid?: () => boolean;
|
|
94
93
|
+traceTurboModulePromiseRejectionsOnAndroid?: () => boolean;
|
|
95
94
|
+updateRuntimeShadowNodeReferencesOnCommit?: () => boolean;
|
|
96
95
|
+useAlwaysAvailableJSErrorHandling?: () => boolean;
|
|
@@ -94,6 +94,24 @@ export default class IntersectionObserver {
|
|
|
94
94
|
);
|
|
95
95
|
}
|
|
96
96
|
|
|
97
|
+
if (options != null && 'delay' in options) {
|
|
98
|
+
throw new Error(
|
|
99
|
+
"Failed to construct 'IntersectionObserver': The 'delay' option is not supported.",
|
|
100
|
+
);
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
if (options != null && 'scrollMargin' in options) {
|
|
104
|
+
throw new Error(
|
|
105
|
+
"Failed to construct 'IntersectionObserver': The 'scrollMargin' option is not supported.",
|
|
106
|
+
);
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
if (options != null && 'trackVisibility' in options) {
|
|
110
|
+
throw new Error(
|
|
111
|
+
"Failed to construct 'IntersectionObserver': The 'trackVisibility' option is not supported.",
|
|
112
|
+
);
|
|
113
|
+
}
|
|
114
|
+
|
|
97
115
|
this._callback = callback;
|
|
98
116
|
|
|
99
117
|
this._rootThresholds = normalizeRootThreshold(options?.rnRootThreshold);
|
|
@@ -152,6 +170,36 @@ export default class IntersectionObserver {
|
|
|
152
170
|
return this._rootThresholds;
|
|
153
171
|
}
|
|
154
172
|
|
|
173
|
+
/**
|
|
174
|
+
* The `delay` option is not supported.
|
|
175
|
+
* @throws {Error} Always throws an error indicating this property is not supported.
|
|
176
|
+
*/
|
|
177
|
+
get delay(): number {
|
|
178
|
+
throw new Error(
|
|
179
|
+
"Failed to read the 'delay' property from 'IntersectionObserver': This property is not supported.",
|
|
180
|
+
);
|
|
181
|
+
}
|
|
182
|
+
|
|
183
|
+
/**
|
|
184
|
+
* The `scrollMargin` option is not supported.
|
|
185
|
+
* @throws {Error} Always throws an error indicating this property is not supported.
|
|
186
|
+
*/
|
|
187
|
+
get scrollMargin(): string {
|
|
188
|
+
throw new Error(
|
|
189
|
+
"Failed to read the 'scrollMargin' property from 'IntersectionObserver': This property is not supported.",
|
|
190
|
+
);
|
|
191
|
+
}
|
|
192
|
+
|
|
193
|
+
/**
|
|
194
|
+
* The `trackVisibility` option is not supported.
|
|
195
|
+
* @throws {Error} Always throws an error indicating this property is not supported.
|
|
196
|
+
*/
|
|
197
|
+
get trackVisibility(): boolean {
|
|
198
|
+
throw new Error(
|
|
199
|
+
"Failed to read the 'trackVisibility' property from 'IntersectionObserver': This property is not supported.",
|
|
200
|
+
);
|
|
201
|
+
}
|
|
202
|
+
|
|
155
203
|
/**
|
|
156
204
|
* Adds an element to the set of target elements being watched by the
|
|
157
205
|
* `IntersectionObserver`.
|