react-native 0.84.0-nightly-20251105-5ec5cc3a3 → 0.84.0-nightly-20251106-de5141a3d

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 (104) hide show
  1. package/Libraries/Blob/RCTBlobManager.mm +4 -1
  2. package/Libraries/Blob/RCTFileReaderModule.mm +4 -1
  3. package/Libraries/Core/ReactNativeVersion.js +1 -1
  4. package/Libraries/Image/RCTBundleAssetImageLoader.mm +4 -1
  5. package/Libraries/Image/RCTGIFImageDecoder.mm +4 -1
  6. package/Libraries/Image/RCTImageEditingManager.mm +4 -1
  7. package/Libraries/Image/RCTImageLoader.mm +4 -1
  8. package/Libraries/Image/RCTImageStoreManager.mm +4 -1
  9. package/Libraries/Image/RCTImageViewManager.mm +4 -1
  10. package/Libraries/Image/RCTLocalAssetImageLoader.mm +4 -1
  11. package/Libraries/LinkingIOS/RCTLinkingManager.mm +4 -1
  12. package/Libraries/NativeAnimation/RCTNativeAnimatedModule.mm +4 -1
  13. package/Libraries/NativeAnimation/RCTNativeAnimatedTurboModule.mm +4 -1
  14. package/Libraries/Network/RCTDataRequestHandler.mm +4 -1
  15. package/Libraries/Network/RCTFileRequestHandler.mm +4 -1
  16. package/Libraries/Network/RCTHTTPRequestHandler.mm +4 -1
  17. package/Libraries/Network/RCTNetworking.mm +4 -1
  18. package/Libraries/PushNotificationIOS/RCTPushNotificationManager.mm +4 -1
  19. package/Libraries/Settings/RCTSettingsManager.mm +4 -1
  20. package/Libraries/Text/BaseText/RCTBaseTextViewManager.mm +4 -1
  21. package/Libraries/Text/RawText/RCTRawTextViewManager.mm +4 -1
  22. package/Libraries/Text/Text/RCTTextViewManager.mm +4 -1
  23. package/Libraries/Text/TextInput/Multiline/RCTMultilineTextInputViewManager.mm +4 -1
  24. package/Libraries/Text/TextInput/RCTBaseTextInputViewManager.mm +4 -1
  25. package/Libraries/Text/TextInput/RCTInputAccessoryViewManager.mm +4 -1
  26. package/Libraries/Text/TextInput/Singleline/RCTSinglelineTextInputViewManager.mm +4 -1
  27. package/Libraries/Text/VirtualText/RCTVirtualTextViewManager.mm +4 -1
  28. package/Libraries/Vibration/RCTVibration.mm +4 -1
  29. package/React/Base/RCTVersion.m +1 -1
  30. package/React/CoreModules/RCTAccessibilityManager.mm +4 -1
  31. package/React/CoreModules/RCTActionSheetManager.mm +4 -1
  32. package/React/CoreModules/RCTAlertManager.mm +4 -1
  33. package/React/CoreModules/RCTAppState.mm +4 -1
  34. package/React/CoreModules/RCTAppearance.mm +4 -1
  35. package/React/CoreModules/RCTClipboard.mm +4 -1
  36. package/React/CoreModules/RCTDevLoadingView.mm +4 -1
  37. package/React/CoreModules/RCTDevMenu.mm +4 -1
  38. package/React/CoreModules/RCTDevSettings.mm +4 -1
  39. package/React/CoreModules/RCTDevToolsRuntimeSettingsModule.mm +5 -1
  40. package/React/CoreModules/RCTDeviceInfo.mm +4 -1
  41. package/React/CoreModules/RCTEventDispatcher.mm +4 -1
  42. package/React/CoreModules/RCTExceptionsManager.mm +4 -1
  43. package/React/CoreModules/RCTI18nManager.mm +4 -1
  44. package/React/CoreModules/RCTKeyboardObserver.mm +4 -1
  45. package/React/CoreModules/RCTLogBox.mm +4 -1
  46. package/React/CoreModules/RCTPerfMonitor.mm +4 -1
  47. package/React/CoreModules/RCTPlatform.mm +4 -1
  48. package/React/CoreModules/RCTRedBox.mm +4 -1
  49. package/React/CoreModules/RCTSourceCode.mm +4 -1
  50. package/React/CoreModules/RCTStatusBarManager.mm +4 -1
  51. package/React/CoreModules/RCTTiming.mm +4 -1
  52. package/React/CoreModules/RCTWebSocketModule.mm +4 -1
  53. package/React/CoreModules/React-CoreModules.podspec +1 -0
  54. package/React/FBReactNativeSpec/FBReactNativeSpecJSI.h +8 -8
  55. package/React/Fabric/Surface/RCTFabricSurface.mm +1 -1
  56. package/React/Modules/RCTUIManager.mm +4 -1
  57. package/React/Runtime/React-RCTRuntime.podspec +1 -0
  58. package/React/Views/RCTActivityIndicatorViewManager.m +4 -1
  59. package/React/Views/RCTDebuggingOverlayManager.m +4 -1
  60. package/React/Views/RCTModalHostViewManager.m +4 -1
  61. package/React/Views/RCTModalManager.m +4 -1
  62. package/React/Views/RCTSwitchManager.m +4 -1
  63. package/React/Views/RCTViewManager.m +4 -1
  64. package/React/Views/RefreshControl/RCTRefreshControlManager.m +4 -1
  65. package/React/Views/SafeAreaView/RCTSafeAreaViewManager.m +4 -1
  66. package/React/Views/ScrollView/RCTScrollContentViewManager.m +4 -1
  67. package/React/Views/ScrollView/RCTScrollViewManager.m +4 -1
  68. package/ReactAndroid/gradle.properties +1 -1
  69. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlags.kt +7 -7
  70. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsCxxAccessor.kt +11 -11
  71. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsCxxInterop.kt +3 -3
  72. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsDefaults.kt +3 -3
  73. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsLocalAccessor.kt +12 -12
  74. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsProvider.kt +3 -3
  75. package/ReactAndroid/src/main/java/com/facebook/react/modules/systeminfo/ReactNativeVersion.kt +1 -1
  76. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/FabricEventDispatcher.kt +3 -36
  77. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactHorizontalScrollView.java +4 -0
  78. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollView.java +4 -0
  79. package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewGroup.kt +11 -1
  80. package/ReactAndroid/src/main/jni/react/fabric/FabricUIManagerBinding.cpp +36 -26
  81. package/ReactAndroid/src/main/jni/react/featureflags/JReactNativeFeatureFlagsCxxInterop.cpp +15 -15
  82. package/ReactAndroid/src/main/jni/react/featureflags/JReactNativeFeatureFlagsCxxInterop.h +4 -4
  83. package/ReactCommon/cxxreact/React-cxxreact.podspec +1 -0
  84. package/ReactCommon/cxxreact/ReactNativeVersion.h +1 -1
  85. package/ReactCommon/jsiexecutor/React-jsiexecutor.podspec +1 -0
  86. package/ReactCommon/jsinspector-modern/tracing/React-jsinspectortracing.podspec +4 -0
  87. package/ReactCommon/jsitooling/React-jsitooling.podspec +1 -0
  88. package/ReactCommon/react/featureflags/ReactNativeFeatureFlags.cpp +5 -5
  89. package/ReactCommon/react/featureflags/ReactNativeFeatureFlags.h +6 -6
  90. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsAccessor.cpp +83 -83
  91. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsAccessor.h +3 -3
  92. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsDefaults.h +5 -5
  93. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsDynamicProvider.h +10 -10
  94. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsProvider.h +2 -2
  95. package/ReactCommon/react/nativemodule/featureflags/NativeReactNativeFeatureFlags.cpp +6 -6
  96. package/ReactCommon/react/nativemodule/featureflags/NativeReactNativeFeatureFlags.h +3 -3
  97. package/ReactCommon/react/nativemodule/samples/platform/ios/ReactCommon/RCTSampleTurboModule.mm +4 -1
  98. package/ReactCommon/react/renderer/scheduler/SurfaceHandler.cpp +0 -20
  99. package/ReactCommon/react/renderer/scheduler/SurfaceHandler.h +3 -3
  100. package/ReactCommon/react/renderer/scheduler/SurfaceManager.cpp +2 -3
  101. package/ReactCommon/react/utils/React-utils.podspec +3 -1
  102. package/package.json +9 -8
  103. package/src/private/featureflags/ReactNativeFeatureFlags.js +6 -6
  104. package/src/private/featureflags/specs/NativeReactNativeFeatureFlags.js +2 -2
@@ -39,7 +39,10 @@
39
39
  NSMutableDictionary<NSNumber *, id<RCTWebSocketContentHandler>> *_contentHandlers;
40
40
  }
41
41
 
42
- RCT_EXPORT_MODULE()
42
+ + (NSString *)moduleName
43
+ {
44
+ return @"WebSocketModule";
45
+ }
43
46
 
44
47
  - (dispatch_queue_t)methodQueue
45
48
  {
@@ -61,6 +61,7 @@ Pod::Spec.new do |s|
61
61
  add_dependency(s, "React-RCTFBReactNativeSpec")
62
62
  add_dependency(s, "ReactCommon", :subspec => "turbomodule/core", :additional_framework_paths => ["react/nativemodule/core"])
63
63
  add_dependency(s, "React-NativeModulesApple")
64
+ add_dependency(s, "React-utils", :additional_framework_paths => ["react/utils/platform/ios"])
64
65
 
65
66
  add_rn_third_party_dependencies(s)
66
67
  add_rncore_dependency(s)
@@ -232,6 +232,7 @@ protected:
232
232
  methodMap_["disableFabricCommitInCXXAnimated"] = MethodMetadata {.argCount = 0, .invoker = __disableFabricCommitInCXXAnimated};
233
233
  methodMap_["disableMountItemReorderingAndroid"] = MethodMetadata {.argCount = 0, .invoker = __disableMountItemReorderingAndroid};
234
234
  methodMap_["disableOldAndroidAttachmentMetricsWorkarounds"] = MethodMetadata {.argCount = 0, .invoker = __disableOldAndroidAttachmentMetricsWorkarounds};
235
+ methodMap_["disableSubviewClippingAndroid"] = MethodMetadata {.argCount = 0, .invoker = __disableSubviewClippingAndroid};
235
236
  methodMap_["disableTextLayoutManagerCacheAndroid"] = MethodMetadata {.argCount = 0, .invoker = __disableTextLayoutManagerCacheAndroid};
236
237
  methodMap_["enableAccessibilityOrder"] = MethodMetadata {.argCount = 0, .invoker = __enableAccessibilityOrder};
237
238
  methodMap_["enableAccumulatedUpdatesInRawPropsAndroid"] = MethodMetadata {.argCount = 0, .invoker = __enableAccumulatedUpdatesInRawPropsAndroid};
@@ -296,7 +297,6 @@ protected:
296
297
  methodMap_["useNativeEqualsInNativeReadableArrayAndroid"] = MethodMetadata {.argCount = 0, .invoker = __useNativeEqualsInNativeReadableArrayAndroid};
297
298
  methodMap_["useNativeTransformHelperAndroid"] = MethodMetadata {.argCount = 0, .invoker = __useNativeTransformHelperAndroid};
298
299
  methodMap_["useNativeViewConfigsInBridgelessMode"] = MethodMetadata {.argCount = 0, .invoker = __useNativeViewConfigsInBridgelessMode};
299
- methodMap_["useOptimizedEventBatchingOnAndroid"] = MethodMetadata {.argCount = 0, .invoker = __useOptimizedEventBatchingOnAndroid};
300
300
  methodMap_["useRawPropsJsiValue"] = MethodMetadata {.argCount = 0, .invoker = __useRawPropsJsiValue};
301
301
  methodMap_["useShadowNodeStateOnClone"] = MethodMetadata {.argCount = 0, .invoker = __useShadowNodeStateOnClone};
302
302
  methodMap_["useSharedAnimatedBackend"] = MethodMetadata {.argCount = 0, .invoker = __useSharedAnimatedBackend};
@@ -372,6 +372,13 @@ private:
372
372
  return bridging::callFromJs<bool>(rt, &T::disableOldAndroidAttachmentMetricsWorkarounds, static_cast<NativeReactNativeFeatureFlagsCxxSpec*>(&turboModule)->jsInvoker_, static_cast<T*>(&turboModule));
373
373
  }
374
374
 
375
+ static jsi::Value __disableSubviewClippingAndroid(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* /*args*/, size_t /*count*/) {
376
+ static_assert(
377
+ bridging::getParameterCount(&T::disableSubviewClippingAndroid) == 1,
378
+ "Expected disableSubviewClippingAndroid(...) to have 1 parameters");
379
+ return bridging::callFromJs<bool>(rt, &T::disableSubviewClippingAndroid, static_cast<NativeReactNativeFeatureFlagsCxxSpec*>(&turboModule)->jsInvoker_, static_cast<T*>(&turboModule));
380
+ }
381
+
375
382
  static jsi::Value __disableTextLayoutManagerCacheAndroid(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* /*args*/, size_t /*count*/) {
376
383
  static_assert(
377
384
  bridging::getParameterCount(&T::disableTextLayoutManagerCacheAndroid) == 1,
@@ -820,13 +827,6 @@ private:
820
827
  return bridging::callFromJs<bool>(rt, &T::useNativeViewConfigsInBridgelessMode, static_cast<NativeReactNativeFeatureFlagsCxxSpec*>(&turboModule)->jsInvoker_, static_cast<T*>(&turboModule));
821
828
  }
822
829
 
823
- static jsi::Value __useOptimizedEventBatchingOnAndroid(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* /*args*/, size_t /*count*/) {
824
- static_assert(
825
- bridging::getParameterCount(&T::useOptimizedEventBatchingOnAndroid) == 1,
826
- "Expected useOptimizedEventBatchingOnAndroid(...) to have 1 parameters");
827
- return bridging::callFromJs<bool>(rt, &T::useOptimizedEventBatchingOnAndroid, static_cast<NativeReactNativeFeatureFlagsCxxSpec*>(&turboModule)->jsInvoker_, static_cast<T*>(&turboModule));
828
- }
829
-
830
830
  static jsi::Value __useRawPropsJsiValue(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* /*args*/, size_t /*count*/) {
831
831
  static_assert(
832
832
  bridging::getParameterCount(&T::useRawPropsJsiValue) == 1,
@@ -57,7 +57,7 @@ using namespace facebook::react;
57
57
  if (self = [super init]) {
58
58
  _surfacePresenter = surfacePresenter;
59
59
 
60
- _surfaceHandler = SurfaceHandler{RCTStringFromNSString(moduleName), getNextRootViewTag()};
60
+ _surfaceHandler.emplace(RCTStringFromNSString(moduleName), getNextRootViewTag());
61
61
  _surfaceHandler->setProps(convertIdToFollyDynamic(initialProperties));
62
62
 
63
63
  [_surfacePresenter registerSurface:self];
@@ -179,7 +179,10 @@ NSString *const RCTUIManagerWillUpdateViewsDueToContentSizeMultiplierChangeNotif
179
179
  @synthesize bridge = _bridge;
180
180
  @synthesize moduleRegistry = _moduleRegistry;
181
181
 
182
- RCT_EXPORT_MODULE()
182
+ + (NSString *)moduleName
183
+ {
184
+ return @"RCTUIManager";
185
+ }
183
186
 
184
187
  + (BOOL)requiresMainQueueSetup
185
188
  {
@@ -56,6 +56,7 @@ Pod::Spec.new do |s|
56
56
 
57
57
  add_dependency(s, "React-RuntimeCore")
58
58
  add_dependency(s, "React-RuntimeApple")
59
+ add_dependency(s, "React-utils", :additional_framework_paths => ["react/utils/platform/ios"])
59
60
 
60
61
  if use_third_party_jsc()
61
62
  s.exclude_files = ["RCTHermesInstanceFactory.{mm,h}", "RCTJscInstanceFactory.{mm,h}"]
@@ -27,7 +27,10 @@ RCT_ENUM_CONVERTER(
27
27
 
28
28
  @implementation RCTActivityIndicatorViewManager
29
29
 
30
- RCT_EXPORT_MODULE()
30
+ + (NSString *)moduleName
31
+ {
32
+ return @"ActivityIndicatorViewManager";
33
+ }
31
34
 
32
35
  - (UIView *)view
33
36
  {
@@ -17,7 +17,10 @@
17
17
 
18
18
  @implementation RCTDebuggingOverlayManager
19
19
 
20
- RCT_EXPORT_MODULE(DebuggingOverlay)
20
+ + (NSString *)moduleName
21
+ {
22
+ return @"DebuggingOverlay";
23
+ }
21
24
 
22
25
  - (UIView *)view
23
26
  {
@@ -40,7 +40,10 @@
40
40
  NSPointerArray *_hostViews;
41
41
  }
42
42
 
43
- RCT_EXPORT_MODULE()
43
+ + (NSString *)moduleName
44
+ {
45
+ return @"ModalHostViewManager ";
46
+ }
44
47
 
45
48
  - (UIView *)view
46
49
  {
@@ -17,7 +17,10 @@
17
17
 
18
18
  @implementation RCTModalManager
19
19
 
20
- RCT_EXPORT_MODULE();
20
+ + (NSString *)moduleName
21
+ {
22
+ return @"ModalManager";
23
+ }
21
24
 
22
25
  - (NSArray<NSString *> *)supportedEvents
23
26
  {
@@ -16,7 +16,10 @@
16
16
 
17
17
  @implementation RCTSwitchManager
18
18
 
19
- RCT_EXPORT_MODULE()
19
+ + (NSString *)moduleName
20
+ {
21
+ return @"SwitchManager";
22
+ }
20
23
 
21
24
  - (UIView *)view
22
25
  {
@@ -128,7 +128,10 @@ RCT_MULTI_ENUM_CONVERTER(
128
128
 
129
129
  @synthesize bridge = _bridge;
130
130
 
131
- RCT_EXPORT_MODULE()
131
+ + (NSString *)moduleName
132
+ {
133
+ return @"RCTViewManager";
134
+ }
132
135
 
133
136
  - (dispatch_queue_t)methodQueue
134
137
  {
@@ -15,7 +15,10 @@
15
15
 
16
16
  @implementation RCTRefreshControlManager
17
17
 
18
- RCT_EXPORT_MODULE()
18
+ + (NSString *)moduleName
19
+ {
20
+ return @"RefreshControlManager";
21
+ }
19
22
 
20
23
  - (UIView *)view
21
24
  {
@@ -15,7 +15,10 @@
15
15
 
16
16
  @implementation RCTSafeAreaViewManager
17
17
 
18
- RCT_EXPORT_MODULE()
18
+ + (NSString *)moduleName
19
+ {
20
+ return @"SafeAreaViewManager";
21
+ }
19
22
 
20
23
  - (UIView *)view
21
24
  {
@@ -14,7 +14,10 @@
14
14
 
15
15
  @implementation RCTScrollContentViewManager
16
16
 
17
- RCT_EXPORT_MODULE()
17
+ + (NSString *)moduleName
18
+ {
19
+ return @"ScrollContentViewManager";
20
+ }
18
21
 
19
22
  - (RCTScrollContentView *)view
20
23
  {
@@ -53,7 +53,10 @@ RCT_ENUM_CONVERTER(
53
53
 
54
54
  @implementation RCTScrollViewManager
55
55
 
56
- RCT_EXPORT_MODULE()
56
+ + (NSString *)moduleName
57
+ {
58
+ return @"ScrollViewManager";
59
+ }
57
60
 
58
61
  - (UIView *)view
59
62
  {
@@ -1,4 +1,4 @@
1
- VERSION_NAME=0.84.0-nightly-20251105-5ec5cc3a3
1
+ VERSION_NAME=0.84.0-nightly-20251106-de5141a3d
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<<890156e9513bff7c7c6252f8cf4402e4>>
7
+ * @generated SignedSource<<9646ebeba75ec903be5ade7e2333f0c8>>
8
8
  */
9
9
 
10
10
  /**
@@ -78,6 +78,12 @@ public object ReactNativeFeatureFlags {
78
78
  @JvmStatic
79
79
  public fun disableOldAndroidAttachmentMetricsWorkarounds(): Boolean = accessor.disableOldAndroidAttachmentMetricsWorkarounds()
80
80
 
81
+ /**
82
+ * Force disable subview clipping for ReactViewGroup on Android
83
+ */
84
+ @JvmStatic
85
+ public fun disableSubviewClippingAndroid(): Boolean = accessor.disableSubviewClippingAndroid()
86
+
81
87
  /**
82
88
  * Turns off the global measurement cache used by TextLayoutManager on Android.
83
89
  */
@@ -462,12 +468,6 @@ public object ReactNativeFeatureFlags {
462
468
  @JvmStatic
463
469
  public fun useNativeViewConfigsInBridgelessMode(): Boolean = accessor.useNativeViewConfigsInBridgelessMode()
464
470
 
465
- /**
466
- * Uses an optimized mechanism for event batching on Android that does not need to wait for a Choreographer frame callback.
467
- */
468
- @JvmStatic
469
- public fun useOptimizedEventBatchingOnAndroid(): Boolean = accessor.useOptimizedEventBatchingOnAndroid()
470
-
471
471
  /**
472
472
  * Instead of using folly::dynamic as internal representation in RawProps and RawValue, use jsi::Value
473
473
  */
@@ -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<<c62242068e649aa652b1a8f700bf0ab3>>
7
+ * @generated SignedSource<<9d6ccbe6d02608901fc18ad88baab176>>
8
8
  */
9
9
 
10
10
  /**
@@ -28,6 +28,7 @@ internal class ReactNativeFeatureFlagsCxxAccessor : ReactNativeFeatureFlagsAcces
28
28
  private var disableFabricCommitInCXXAnimatedCache: Boolean? = null
29
29
  private var disableMountItemReorderingAndroidCache: Boolean? = null
30
30
  private var disableOldAndroidAttachmentMetricsWorkaroundsCache: Boolean? = null
31
+ private var disableSubviewClippingAndroidCache: Boolean? = null
31
32
  private var disableTextLayoutManagerCacheAndroidCache: Boolean? = null
32
33
  private var enableAccessibilityOrderCache: Boolean? = null
33
34
  private var enableAccumulatedUpdatesInRawPropsAndroidCache: Boolean? = null
@@ -92,7 +93,6 @@ internal class ReactNativeFeatureFlagsCxxAccessor : ReactNativeFeatureFlagsAcces
92
93
  private var useNativeEqualsInNativeReadableArrayAndroidCache: Boolean? = null
93
94
  private var useNativeTransformHelperAndroidCache: Boolean? = null
94
95
  private var useNativeViewConfigsInBridgelessModeCache: Boolean? = null
95
- private var useOptimizedEventBatchingOnAndroidCache: Boolean? = null
96
96
  private var useRawPropsJsiValueCache: Boolean? = null
97
97
  private var useShadowNodeStateOnCloneCache: Boolean? = null
98
98
  private var useSharedAnimatedBackendCache: Boolean? = null
@@ -175,6 +175,15 @@ internal class ReactNativeFeatureFlagsCxxAccessor : ReactNativeFeatureFlagsAcces
175
175
  return cached
176
176
  }
177
177
 
178
+ override fun disableSubviewClippingAndroid(): Boolean {
179
+ var cached = disableSubviewClippingAndroidCache
180
+ if (cached == null) {
181
+ cached = ReactNativeFeatureFlagsCxxInterop.disableSubviewClippingAndroid()
182
+ disableSubviewClippingAndroidCache = cached
183
+ }
184
+ return cached
185
+ }
186
+
178
187
  override fun disableTextLayoutManagerCacheAndroid(): Boolean {
179
188
  var cached = disableTextLayoutManagerCacheAndroidCache
180
189
  if (cached == null) {
@@ -751,15 +760,6 @@ internal class ReactNativeFeatureFlagsCxxAccessor : ReactNativeFeatureFlagsAcces
751
760
  return cached
752
761
  }
753
762
 
754
- override fun useOptimizedEventBatchingOnAndroid(): Boolean {
755
- var cached = useOptimizedEventBatchingOnAndroidCache
756
- if (cached == null) {
757
- cached = ReactNativeFeatureFlagsCxxInterop.useOptimizedEventBatchingOnAndroid()
758
- useOptimizedEventBatchingOnAndroidCache = cached
759
- }
760
- return cached
761
- }
762
-
763
763
  override fun useRawPropsJsiValue(): Boolean {
764
764
  var cached = useRawPropsJsiValueCache
765
765
  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<<9a1bdbc2a3ae299433e690b254d7bf0a>>
7
+ * @generated SignedSource<<fbc551ca005a7d8abcd2cf2e5d29a3a6>>
8
8
  */
9
9
 
10
10
  /**
@@ -44,6 +44,8 @@ public object ReactNativeFeatureFlagsCxxInterop {
44
44
 
45
45
  @DoNotStrip @JvmStatic public external fun disableOldAndroidAttachmentMetricsWorkarounds(): Boolean
46
46
 
47
+ @DoNotStrip @JvmStatic public external fun disableSubviewClippingAndroid(): Boolean
48
+
47
49
  @DoNotStrip @JvmStatic public external fun disableTextLayoutManagerCacheAndroid(): Boolean
48
50
 
49
51
  @DoNotStrip @JvmStatic public external fun enableAccessibilityOrder(): Boolean
@@ -172,8 +174,6 @@ public object ReactNativeFeatureFlagsCxxInterop {
172
174
 
173
175
  @DoNotStrip @JvmStatic public external fun useNativeViewConfigsInBridgelessMode(): Boolean
174
176
 
175
- @DoNotStrip @JvmStatic public external fun useOptimizedEventBatchingOnAndroid(): Boolean
176
-
177
177
  @DoNotStrip @JvmStatic public external fun useRawPropsJsiValue(): Boolean
178
178
 
179
179
  @DoNotStrip @JvmStatic public external fun useShadowNodeStateOnClone(): 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<<0d78a0405db2a10c14bd69aaf2a3708a>>
7
+ * @generated SignedSource<<7b8a5ad9a3353ea32a39bd139e9174f7>>
8
8
  */
9
9
 
10
10
  /**
@@ -39,6 +39,8 @@ public open class ReactNativeFeatureFlagsDefaults : ReactNativeFeatureFlagsProvi
39
39
 
40
40
  override fun disableOldAndroidAttachmentMetricsWorkarounds(): Boolean = true
41
41
 
42
+ override fun disableSubviewClippingAndroid(): Boolean = false
43
+
42
44
  override fun disableTextLayoutManagerCacheAndroid(): Boolean = false
43
45
 
44
46
  override fun enableAccessibilityOrder(): Boolean = false
@@ -167,8 +169,6 @@ public open class ReactNativeFeatureFlagsDefaults : ReactNativeFeatureFlagsProvi
167
169
 
168
170
  override fun useNativeViewConfigsInBridgelessMode(): Boolean = false
169
171
 
170
- override fun useOptimizedEventBatchingOnAndroid(): Boolean = false
171
-
172
172
  override fun useRawPropsJsiValue(): Boolean = true
173
173
 
174
174
  override fun useShadowNodeStateOnClone(): 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<<98f16fd1bb180b247ee87bb24b10120e>>
7
+ * @generated SignedSource<<9bb9a7cf89c92f5a397b2328fa983dc6>>
8
8
  */
9
9
 
10
10
  /**
@@ -32,6 +32,7 @@ internal class ReactNativeFeatureFlagsLocalAccessor : ReactNativeFeatureFlagsAcc
32
32
  private var disableFabricCommitInCXXAnimatedCache: Boolean? = null
33
33
  private var disableMountItemReorderingAndroidCache: Boolean? = null
34
34
  private var disableOldAndroidAttachmentMetricsWorkaroundsCache: Boolean? = null
35
+ private var disableSubviewClippingAndroidCache: Boolean? = null
35
36
  private var disableTextLayoutManagerCacheAndroidCache: Boolean? = null
36
37
  private var enableAccessibilityOrderCache: Boolean? = null
37
38
  private var enableAccumulatedUpdatesInRawPropsAndroidCache: Boolean? = null
@@ -96,7 +97,6 @@ internal class ReactNativeFeatureFlagsLocalAccessor : ReactNativeFeatureFlagsAcc
96
97
  private var useNativeEqualsInNativeReadableArrayAndroidCache: Boolean? = null
97
98
  private var useNativeTransformHelperAndroidCache: Boolean? = null
98
99
  private var useNativeViewConfigsInBridgelessModeCache: Boolean? = null
99
- private var useOptimizedEventBatchingOnAndroidCache: Boolean? = null
100
100
  private var useRawPropsJsiValueCache: Boolean? = null
101
101
  private var useShadowNodeStateOnCloneCache: Boolean? = null
102
102
  private var useSharedAnimatedBackendCache: Boolean? = null
@@ -187,6 +187,16 @@ internal class ReactNativeFeatureFlagsLocalAccessor : ReactNativeFeatureFlagsAcc
187
187
  return cached
188
188
  }
189
189
 
190
+ override fun disableSubviewClippingAndroid(): Boolean {
191
+ var cached = disableSubviewClippingAndroidCache
192
+ if (cached == null) {
193
+ cached = currentProvider.disableSubviewClippingAndroid()
194
+ accessedFeatureFlags.add("disableSubviewClippingAndroid")
195
+ disableSubviewClippingAndroidCache = cached
196
+ }
197
+ return cached
198
+ }
199
+
190
200
  override fun disableTextLayoutManagerCacheAndroid(): Boolean {
191
201
  var cached = disableTextLayoutManagerCacheAndroidCache
192
202
  if (cached == null) {
@@ -827,16 +837,6 @@ internal class ReactNativeFeatureFlagsLocalAccessor : ReactNativeFeatureFlagsAcc
827
837
  return cached
828
838
  }
829
839
 
830
- override fun useOptimizedEventBatchingOnAndroid(): Boolean {
831
- var cached = useOptimizedEventBatchingOnAndroidCache
832
- if (cached == null) {
833
- cached = currentProvider.useOptimizedEventBatchingOnAndroid()
834
- accessedFeatureFlags.add("useOptimizedEventBatchingOnAndroid")
835
- useOptimizedEventBatchingOnAndroidCache = cached
836
- }
837
- return cached
838
- }
839
-
840
840
  override fun useRawPropsJsiValue(): Boolean {
841
841
  var cached = useRawPropsJsiValueCache
842
842
  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<<c810245ced5a83806ace12572e112a70>>
7
+ * @generated SignedSource<<eeb5d70e45eecdef0d9307cbe8ff17c2>>
8
8
  */
9
9
 
10
10
  /**
@@ -39,6 +39,8 @@ public interface ReactNativeFeatureFlagsProvider {
39
39
 
40
40
  @DoNotStrip public fun disableOldAndroidAttachmentMetricsWorkarounds(): Boolean
41
41
 
42
+ @DoNotStrip public fun disableSubviewClippingAndroid(): Boolean
43
+
42
44
  @DoNotStrip public fun disableTextLayoutManagerCacheAndroid(): Boolean
43
45
 
44
46
  @DoNotStrip public fun enableAccessibilityOrder(): Boolean
@@ -167,8 +169,6 @@ public interface ReactNativeFeatureFlagsProvider {
167
169
 
168
170
  @DoNotStrip public fun useNativeViewConfigsInBridgelessMode(): Boolean
169
171
 
170
- @DoNotStrip public fun useOptimizedEventBatchingOnAndroid(): Boolean
171
-
172
172
  @DoNotStrip public fun useRawPropsJsiValue(): Boolean
173
173
 
174
174
  @DoNotStrip public fun useShadowNodeStateOnClone(): Boolean
@@ -15,6 +15,6 @@ public object ReactNativeVersion {
15
15
  "major" to 0,
16
16
  "minor" to 84,
17
17
  "patch" to 0,
18
- "prerelease" to "nightly-20251105-5ec5cc3a3"
18
+ "prerelease" to "nightly-20251106-de5141a3d"
19
19
  )
20
20
  }
@@ -7,14 +7,12 @@
7
7
 
8
8
  package com.facebook.react.uimanager.events
9
9
 
10
- import android.os.Handler
11
10
  import android.view.Choreographer
12
11
  import com.facebook.react.bridge.LifecycleEventListener
13
12
  import com.facebook.react.bridge.ReactApplicationContext
14
13
  import com.facebook.react.bridge.ReactSoftExceptionLogger
15
14
  import com.facebook.react.bridge.UiThreadUtil
16
15
  import com.facebook.react.common.annotations.UnstableReactNativeAPI
17
- import com.facebook.react.internal.featureflags.ReactNativeFeatureFlags
18
16
  import com.facebook.react.modules.core.ReactChoreographer
19
17
  import com.facebook.react.uimanager.UIManagerHelper
20
18
  import com.facebook.react.uimanager.common.UIManagerType
@@ -41,19 +39,6 @@ internal class FabricEventDispatcher(
41
39
  private val postEventDispatchListeners = CopyOnWriteArrayList<BatchEventDispatchedListener>()
42
40
  private val currentFrameCallback = ScheduleDispatchFrameCallback()
43
41
 
44
- private var isDispatchScheduled = false
45
- private val dispatchEventsRunnable = Runnable {
46
- isDispatchScheduled = false
47
- Systrace.beginSection(Systrace.TRACE_TAG_REACT, "BatchEventDispatchedListeners")
48
- try {
49
- for (listener in postEventDispatchListeners) {
50
- listener.onBatchEventDispatched()
51
- }
52
- } finally {
53
- Systrace.endSection(Systrace.TRACE_TAG_REACT)
54
- }
55
- }
56
-
57
42
  init {
58
43
  reactContext.addLifecycleEventListener(this)
59
44
  eventEmitter.registerFabricEventEmitter(fabricEventEmitter)
@@ -109,14 +94,7 @@ internal class FabricEventDispatcher(
109
94
  }
110
95
 
111
96
  private fun scheduleDispatchOfBatchedEvents() {
112
- if (ReactNativeFeatureFlags.useOptimizedEventBatchingOnAndroid()) {
113
- if (!isDispatchScheduled) {
114
- isDispatchScheduled = true
115
- uiThreadHandler.postAtFrontOfQueue(dispatchEventsRunnable)
116
- }
117
- } else {
118
- currentFrameCallback.maybeScheduleDispatchOfBatchedEvents()
119
- }
97
+ currentFrameCallback.maybeScheduleDispatchOfBatchedEvents()
120
98
  }
121
99
 
122
100
  /** Add a listener to this EventDispatcher. */
@@ -139,9 +117,7 @@ internal class FabricEventDispatcher(
139
117
 
140
118
  override fun onHostResume() {
141
119
  scheduleDispatchOfBatchedEvents()
142
- if (!ReactNativeFeatureFlags.useOptimizedEventBatchingOnAndroid()) {
143
- currentFrameCallback.resume()
144
- }
120
+ currentFrameCallback.resume()
145
121
  }
146
122
 
147
123
  override fun onHostPause() {
@@ -165,12 +141,7 @@ internal class FabricEventDispatcher(
165
141
 
166
142
  private fun cancelDispatchOfBatchedEvents() {
167
143
  UiThreadUtil.assertOnUiThread()
168
- if (ReactNativeFeatureFlags.useOptimizedEventBatchingOnAndroid()) {
169
- isDispatchScheduled = false
170
- uiThreadHandler.removeCallbacks(dispatchEventsRunnable)
171
- } else {
172
- currentFrameCallback.stop()
173
- }
144
+ currentFrameCallback.stop()
174
145
  }
175
146
 
176
147
  private inner class ScheduleDispatchFrameCallback : Choreographer.FrameCallback {
@@ -229,8 +200,4 @@ internal class FabricEventDispatcher(
229
200
  }
230
201
  }
231
202
  }
232
-
233
- private companion object {
234
- private val uiThreadHandler: Handler = UiThreadUtil.getUiThreadHandler()
235
- }
236
203
  }
@@ -291,6 +291,10 @@ public class ReactHorizontalScrollView extends HorizontalScrollView
291
291
 
292
292
  @Override
293
293
  public void setRemoveClippedSubviews(boolean removeClippedSubviews) {
294
+ if (ReactNativeFeatureFlags.disableSubviewClippingAndroid()) {
295
+ return;
296
+ }
297
+
294
298
  if (removeClippedSubviews && mClippingRect == null) {
295
299
  mClippingRect = new Rect();
296
300
  }
@@ -719,6 +719,10 @@ public class ReactScrollView extends ScrollView
719
719
 
720
720
  @Override
721
721
  public void setRemoveClippedSubviews(boolean removeClippedSubviews) {
722
+ if (ReactNativeFeatureFlags.disableSubviewClippingAndroid()) {
723
+ return;
724
+ }
725
+
722
726
  if (removeClippedSubviews && mClippingRect == null) {
723
727
  mClippingRect = new Rect();
724
728
  }
@@ -32,6 +32,7 @@ import com.facebook.react.bridge.UiThreadUtil.assertOnUiThread
32
32
  import com.facebook.react.bridge.UiThreadUtil.runOnUiThread
33
33
  import com.facebook.react.common.ReactConstants.TAG
34
34
  import com.facebook.react.config.ReactFeatureFlags
35
+ import com.facebook.react.internal.featureflags.ReactNativeFeatureFlags
35
36
  import com.facebook.react.touch.OnInterceptTouchEventListener
36
37
  import com.facebook.react.touch.ReactHitSlopView
37
38
  import com.facebook.react.touch.ReactInterceptingViewGroup
@@ -362,8 +363,17 @@ public open class ReactViewGroup public constructor(context: Context?) :
362
363
  }
363
364
 
364
365
  override var removeClippedSubviews: Boolean
365
- get() = _removeClippedSubviews
366
+ get() {
367
+ if (ReactNativeFeatureFlags.disableSubviewClippingAndroid()) {
368
+ return false
369
+ }
370
+ return _removeClippedSubviews
371
+ }
366
372
  set(newValue) {
373
+ if (ReactNativeFeatureFlags.disableSubviewClippingAndroid()) {
374
+ return
375
+ }
376
+
367
377
  if (newValue == _removeClippedSubviews) {
368
378
  return
369
379
  }