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.
Files changed (34) hide show
  1. package/Libraries/Core/ReactNativeVersion.js +1 -1
  2. package/Libraries/Text/TextInput/RCTBaseTextInputView.mm +3 -0
  3. package/React/Base/RCTVersion.m +1 -1
  4. package/React/FBReactNativeSpec/FBReactNativeSpecJSI.h +0 -8
  5. package/ReactAndroid/gradle.properties +1 -1
  6. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlags.kt +1 -7
  7. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsCxxAccessor.kt +1 -11
  8. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsCxxInterop.kt +1 -3
  9. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsDefaults.kt +1 -3
  10. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsLocalAccessor.kt +1 -12
  11. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsProvider.kt +1 -3
  12. package/ReactAndroid/src/main/java/com/facebook/react/modules/systeminfo/ReactNativeVersion.kt +1 -1
  13. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/JSTouchDispatcher.kt +1 -2
  14. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/PointerEvent.kt +5 -4
  15. package/ReactAndroid/src/main/jni/react/featureflags/JReactNativeFeatureFlagsCxxInterop.cpp +1 -15
  16. package/ReactAndroid/src/main/jni/react/featureflags/JReactNativeFeatureFlagsCxxInterop.h +1 -4
  17. package/ReactCommon/cxxreact/ReactNativeVersion.h +1 -1
  18. package/ReactCommon/jsinspector-modern/TracingAgent.cpp +0 -2
  19. package/ReactCommon/jsinspector-modern/tests/NetworkReporterTest.cpp +3 -55
  20. package/ReactCommon/jsinspector-modern/tests/TracingTest.h +82 -0
  21. package/ReactCommon/react/featureflags/ReactNativeFeatureFlags.cpp +1 -5
  22. package/ReactCommon/react/featureflags/ReactNativeFeatureFlags.h +1 -6
  23. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsAccessor.cpp +18 -36
  24. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsAccessor.h +2 -4
  25. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsDefaults.h +1 -5
  26. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsDynamicProvider.h +1 -10
  27. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsProvider.h +1 -2
  28. package/ReactCommon/react/nativemodule/featureflags/NativeReactNativeFeatureFlags.cpp +1 -6
  29. package/ReactCommon/react/nativemodule/featureflags/NativeReactNativeFeatureFlags.h +1 -3
  30. package/package.json +9 -9
  31. package/sdks/hermes-engine/version.properties +2 -2
  32. package/src/private/featureflags/ReactNativeFeatureFlags.js +1 -6
  33. package/src/private/featureflags/specs/NativeReactNativeFeatureFlags.js +1 -2
  34. 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-20251103-a034841fd';
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
  }
@@ -24,7 +24,7 @@ NSDictionary* RCTGetReactNativeVersion(void)
24
24
  RCTVersionMajor: @(0),
25
25
  RCTVersionMinor: @(83),
26
26
  RCTVersionPatch: @(0),
27
- RCTVersionPrerelease: @"nightly-20251103-a034841fd",
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,
@@ -1,4 +1,4 @@
1
- VERSION_NAME=0.83.0-nightly-20251103-a034841fd
1
+ VERSION_NAME=0.83.0-nightly-20251104-502efe1cc
2
2
  react.internal.publishingGroup=com.facebook.react
3
3
  react.internal.hermesPublishingGroup=com.facebook.hermes
4
4
 
@@ -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<<d8dc8c3a2efe8b7e870546e5749ef5ad>>
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<<447ccc7271b71b0208a2297b7eba5995>>
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<<d6403b67e269ad80ef3e2389ac923c8a>>
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<<ab48ba86a7cf3cd35ec530a216aea774>>
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<<6f6b5abe79764b88cf3ed62fe0230786>>
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<<6b61490a8d6b1df1d6264016455382f8>>
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
@@ -15,6 +15,6 @@ public object ReactNativeVersion {
15
15
  "major" to 0,
16
16
  "minor" to 83,
17
17
  "patch" to 0,
18
- "prerelease" to "nightly-20251103-a034841fd"
18
+ "prerelease" to "nightly-20251104-502efe1cc"
19
19
  )
20
20
  }
@@ -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 && ReactNativeFeatureFlags.sweepActiveTouchOnChildNativeGesturesAndroid()) {
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 lateinit var eventState: PointerEventState
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<<13ed11b5c260fae79048ea80745d22fe>>
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<<1e57bf8252c16fc10bbfcae08710af85>>
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-20251103-a034841fd";
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 "JsiIntegrationTest.h"
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 JsiIntegrationPortableTestBase<
34
+ class NetworkReporterTestBase : public TracingTestBase<
35
35
  JsiIntegrationTestHermesEngineAdapter,
36
36
  folly::QueuedImmediateExecutor>,
37
37
  public WithParamInterface<Params> {
38
38
  protected:
39
39
  NetworkReporterTestBase()
40
- : JsiIntegrationPortableTestBase({
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<<5d596cc470e66861d7c1b2ffbb15b268>>
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<<41492e85e1feeb20d2e3e60b6cc6cbe7>>
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<<cf152ea3a4e9635a71d2794a3139dadb>>
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(66, "traceTurboModulePromiseRejectionsOnAndroid");
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(67, "updateRuntimeShadowNodeReferencesOnCommit");
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(68, "useAlwaysAvailableJSErrorHandling");
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(69, "useFabricInterop");
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(70, "useNativeEqualsInNativeReadableArrayAndroid");
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(71, "useNativeTransformHelperAndroid");
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(72, "useNativeViewConfigsInBridgelessMode");
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(73, "useOptimizedEventBatchingOnAndroid");
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(74, "useRawPropsJsiValue");
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(75, "useShadowNodeStateOnClone");
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(76, "useSharedAnimatedBackend");
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(77, "useTraitHiddenOnAndroid");
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(78, "useTurboModuleInterop");
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(79, "useTurboModules");
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(80, "viewCullingOutsetRatio");
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(81, "virtualViewHysteresisRatio");
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(82, "virtualViewPrerenderRatio");
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<<e7e8d311c0d1cca4e28bee7ddcf5065c>>
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*>, 83> accessedFeatureFlags_;
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<<a0a1898f3a4c14179bd03d5dbe97adfa>>
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<<fc8f8541827a039fa5bc4a113e75fdf6>>
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<<5dcaab263795b1605da54dbbb617264f>>
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<<6bd64914d0e2f0c727490a420496fbb0>>
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<<99624bd7682ad34476ac395e8acc43c7>>
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-20251103-a034841fd",
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-20251103-a034841fd",
163
- "@react-native/codegen": "0.83.0-nightly-20251103-a034841fd",
164
- "@react-native/community-cli-plugin": "0.83.0-nightly-20251103-a034841fd",
165
- "@react-native/gradle-plugin": "0.83.0-nightly-20251103-a034841fd",
166
- "@react-native/js-polyfills": "0.83.0-nightly-20251103-a034841fd",
167
- "@react-native/normalize-colors": "0.83.0-nightly-20251103-a034841fd",
168
- "@react-native/virtualized-lists": "0.83.0-nightly-20251103-a034841fd",
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-202511031129-7ad93ab30",
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-202511031129-7ad93ab30
2
- HERMES_V1_VERSION_NAME=250829098.0.1
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<<6bc2fbc946e21d0b51dd9bc71ac041e7>>
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<<0b1f3b307c28d6798d4c15029ad5bc58>>
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`.