react-native 0.84.0-nightly-20251113-6ddba300b → 0.84.0-nightly-20251115-e08abbcb9

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 (52) hide show
  1. package/Libraries/Core/ReactNativeVersion.js +1 -1
  2. package/React/Base/RCTBundleManager.h +2 -2
  3. package/React/Base/RCTBundleManager.m +14 -1
  4. package/React/Base/RCTVersion.m +1 -1
  5. package/React/CoreModules/RCTDevSettings.h +36 -1
  6. package/React/CoreModules/RCTDevSettings.mm +45 -9
  7. package/React/DevSupport/RCTPackagerConnection.h +4 -2
  8. package/React/DevSupport/RCTPackagerConnection.mm +30 -33
  9. package/React/FBReactNativeSpec/FBReactNativeSpecJSI.h +16 -0
  10. package/ReactAndroid/api/ReactAndroid.api +1 -0
  11. package/ReactAndroid/build.gradle.kts +2 -0
  12. package/ReactAndroid/gradle.properties +1 -1
  13. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlags.kt +13 -1
  14. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsCxxAccessor.kt +21 -1
  15. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsCxxInterop.kt +5 -1
  16. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsDefaults.kt +6 -2
  17. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsLocalAccessor.kt +23 -1
  18. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsOverrides_RNOSS_Canary_Android.kt +3 -1
  19. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsProvider.kt +5 -1
  20. package/ReactAndroid/src/main/java/com/facebook/react/modules/network/NetworkEventUtil.kt +23 -0
  21. package/ReactAndroid/src/main/java/com/facebook/react/modules/systeminfo/ReactNativeVersion.kt +1 -1
  22. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/BackgroundStyleApplicator.kt +84 -2
  23. package/ReactAndroid/src/main/java/com/facebook/react/views/image/ReactImageView.kt +12 -9
  24. package/ReactAndroid/src/main/jni/CMakeLists.txt +5 -0
  25. package/ReactAndroid/src/main/jni/react/featureflags/JReactNativeFeatureFlagsCxxInterop.cpp +29 -1
  26. package/ReactAndroid/src/main/jni/react/featureflags/JReactNativeFeatureFlagsCxxInterop.h +7 -1
  27. package/ReactAndroid/src/main/res/views/uimanager/values-ne/strings.xml +1 -0
  28. package/ReactCommon/React-Fabric.podspec +8 -2
  29. package/ReactCommon/cxxreact/ReactNativeVersion.h +1 -1
  30. package/ReactCommon/react/featureflags/ReactNativeFeatureFlags.cpp +9 -1
  31. package/ReactCommon/react/featureflags/ReactNativeFeatureFlags.h +11 -1
  32. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsAccessor.cpp +110 -74
  33. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsAccessor.h +6 -2
  34. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsDefaults.h +10 -2
  35. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsDynamicProvider.h +19 -1
  36. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsOverridesOSSCanary.h +5 -1
  37. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsProvider.h +3 -1
  38. package/ReactCommon/react/nativemodule/core/platform/ios/ReactCommon/RCTTurboModuleManager.mm +2 -2
  39. package/ReactCommon/react/nativemodule/defaults/CMakeLists.txt +1 -0
  40. package/ReactCommon/react/nativemodule/defaults/DefaultTurboModules.cpp +7 -0
  41. package/ReactCommon/react/nativemodule/defaults/React-defaultsnativemodule.podspec +5 -1
  42. package/ReactCommon/react/nativemodule/featureflags/NativeReactNativeFeatureFlags.cpp +11 -1
  43. package/ReactCommon/react/nativemodule/featureflags/NativeReactNativeFeatureFlags.h +5 -1
  44. package/ReactCommon/react/nativemodule/intersectionobserver/NativeIntersectionObserver.h +4 -0
  45. package/ReactCommon/react/nativemodule/intersectionobserver/React-intersectionobservernativemodule.podspec +66 -0
  46. package/ReactCommon/react/renderer/core/ShadowNode.cpp +4 -10
  47. package/ReactCommon/react/renderer/core/tests/ShadowNodeTest.cpp +32 -0
  48. package/package.json +8 -8
  49. package/scripts/react_native_pods.rb +1 -0
  50. package/src/private/featureflags/ReactNativeFeatureFlags.js +13 -3
  51. package/src/private/featureflags/specs/NativeReactNativeFeatureFlags.js +3 -1
  52. package/src/private/setup/setUpDefaultReactNativeEnvironment.js +6 -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<<f82b5905d822f8009c054a9443f86e39>>
7
+ * @generated SignedSource<<2912fe4c90e3b493770bf14e70264656>>
8
8
  */
9
9
 
10
10
  /**
@@ -27,6 +27,8 @@ public open class ReactNativeFeatureFlagsOverrides_RNOSS_Canary_Android : ReactN
27
27
 
28
28
  override fun enableFabricRenderer(): Boolean = true
29
29
 
30
+ override fun enableIntersectionObserverByDefault(): Boolean = true
31
+
30
32
  override fun useNativeViewConfigsInBridgelessMode(): Boolean = true
31
33
 
32
34
  override fun useTurboModuleInterop(): Boolean = true
@@ -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<<da5879ddbaea7cd51f828e284bc0e913>>
7
+ * @generated SignedSource<<48d0d5486793b60914cfd595f0fc78d1>>
8
8
  */
9
9
 
10
10
  /**
@@ -51,6 +51,8 @@ public interface ReactNativeFeatureFlagsProvider {
51
51
 
52
52
  @DoNotStrip public fun enableAccumulatedUpdatesInRawPropsAndroid(): Boolean
53
53
 
54
+ @DoNotStrip public fun enableAndroidAntialiasedBorderRadiusClipping(): Boolean
55
+
54
56
  @DoNotStrip public fun enableAndroidLinearText(): Boolean
55
57
 
56
58
  @DoNotStrip public fun enableAndroidTextMeasurementOptimizations(): Boolean
@@ -93,6 +95,8 @@ public interface ReactNativeFeatureFlagsProvider {
93
95
 
94
96
  @DoNotStrip public fun enableInteropViewManagerClassLookUpOptimizationIOS(): Boolean
95
97
 
98
+ @DoNotStrip public fun enableIntersectionObserverByDefault(): Boolean
99
+
96
100
  @DoNotStrip public fun enableKeyEvents(): Boolean
97
101
 
98
102
  @DoNotStrip public fun enableLayoutAnimationsOnAndroid(): Boolean
@@ -42,6 +42,29 @@ internal object NetworkEventUtil {
42
42
  }
43
43
  }
44
44
 
45
+ @Deprecated("Compatibility overload")
46
+ @JvmStatic
47
+ fun onCreateRequest(
48
+ devToolsRequestId: String,
49
+ requestUrl: String,
50
+ requestMethod: String,
51
+ requestHeaders: Map<String, String>,
52
+ requestBody: String,
53
+ encodedDataLength: Long,
54
+ ) {
55
+ if (ReactNativeFeatureFlags.enableNetworkEventReporting()) {
56
+ InspectorNetworkReporter.reportRequestStart(
57
+ devToolsRequestId,
58
+ requestUrl,
59
+ requestMethod,
60
+ requestHeaders,
61
+ requestBody,
62
+ encodedDataLength,
63
+ )
64
+ InspectorNetworkReporter.reportConnectionTiming(devToolsRequestId, requestHeaders)
65
+ }
66
+ }
67
+
45
68
  @JvmStatic
46
69
  fun onDataSend(
47
70
  reactContext: ReactApplicationContext?,
@@ -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-20251113-6ddba300b"
18
+ "prerelease" to "nightly-20251115-e08abbcb9"
19
19
  )
20
20
  }
@@ -9,7 +9,10 @@ package com.facebook.react.uimanager
9
9
 
10
10
  import android.graphics.Canvas
11
11
  import android.graphics.Color
12
+ import android.graphics.Paint
12
13
  import android.graphics.Path
14
+ import android.graphics.PorterDuff
15
+ import android.graphics.PorterDuffXfermode
13
16
  import android.graphics.Rect
14
17
  import android.graphics.RectF
15
18
  import android.graphics.drawable.Drawable
@@ -19,6 +22,7 @@ import android.widget.ImageView
19
22
  import androidx.annotation.ColorInt
20
23
  import com.facebook.react.bridge.ReadableArray
21
24
  import com.facebook.react.common.annotations.UnstableReactNativeAPI
25
+ import com.facebook.react.internal.featureflags.ReactNativeFeatureFlags
22
26
  import com.facebook.react.uimanager.PixelUtil.dpToPx
23
27
  import com.facebook.react.uimanager.PixelUtil.pxToDp
24
28
  import com.facebook.react.uimanager.common.UIManagerType
@@ -481,12 +485,36 @@ public object BackgroundStyleApplicator {
481
485
  */
482
486
  @JvmStatic
483
487
  public fun clipToPaddingBox(view: View, canvas: Canvas) {
488
+ clipToPaddingBoxWithAntiAliasing(view, canvas, null)
489
+ }
490
+
491
+ /**
492
+ * Clips the canvas to the padding box of the view.
493
+ *
494
+ * The padding box is the area within the borders of the view, accounting for border radius if
495
+ * present.
496
+ *
497
+ * On Android 28 and below, when border radius is present, this uses an antialiased clipping
498
+ * approach with Porter-Duff compositing to avoid jagged edges. The drawContent lambda is invoked
499
+ * to draw the actual content after setting up the layer but before applying the mask.
500
+ *
501
+ * @param view The view whose padding box defines the clipping region
502
+ * @param canvas The canvas to clip
503
+ * @param drawContent Lambda that draws the content after clipping is set up
504
+ */
505
+ @JvmStatic
506
+ public fun clipToPaddingBoxWithAntiAliasing(
507
+ view: View,
508
+ canvas: Canvas,
509
+ drawContent: (() -> Unit)?,
510
+ ) {
484
511
  val drawingRect = Rect()
485
512
  view.getDrawingRect(drawingRect)
486
513
 
487
514
  val composite = getCompositeBackgroundDrawable(view)
488
515
  if (composite == null) {
489
516
  canvas.clipRect(drawingRect)
517
+ drawContent?.invoke()
490
518
  return
491
519
  }
492
520
 
@@ -508,15 +536,69 @@ public object BackgroundStyleApplicator {
508
536
  paddingBoxRect,
509
537
  computedBorderInsets,
510
538
  )
511
-
512
539
  paddingBoxPath.offset(drawingRect.left.toFloat(), drawingRect.top.toFloat())
513
- canvas.clipPath(paddingBoxPath)
540
+
541
+ // On Android 28 and below, use antialiased clipping with Porter-Duff compositing. On newer
542
+ // Android versions, use the standard clipPath.
543
+ if (
544
+ ReactNativeFeatureFlags.enableAndroidAntialiasedBorderRadiusClipping() &&
545
+ Build.VERSION.SDK_INT <= Build.VERSION_CODES.P &&
546
+ view.width > 0 &&
547
+ view.height > 0 &&
548
+ drawContent != null
549
+ ) {
550
+ clipWithAntiAliasing(
551
+ view,
552
+ canvas,
553
+ paddingBoxPath,
554
+ drawContent,
555
+ )
556
+ } else {
557
+ canvas.clipPath(paddingBoxPath)
558
+ drawContent?.invoke()
559
+ }
514
560
  } else {
515
561
  paddingBoxRect.offset(drawingRect.left.toFloat(), drawingRect.top.toFloat())
516
562
  canvas.clipRect(paddingBoxRect)
563
+ drawContent?.invoke()
517
564
  }
518
565
  }
519
566
 
567
+ /**
568
+ * Applies antialiased clipping using Porter-Duff compositing for Android 28 and below. This draws
569
+ * content to a layer, then applies an antialiased mask to clip it.
570
+ */
571
+ private fun clipWithAntiAliasing(
572
+ view: View,
573
+ canvas: Canvas,
574
+ paddingBoxPath: Path,
575
+ drawContent: () -> Unit,
576
+ ) {
577
+ // Save the layer for Porter-Duff compositing
578
+ val saveCount = canvas.saveLayer(0f, 0f, view.width.toFloat(), view.height.toFloat(), null)
579
+
580
+ // Draw the content first
581
+ drawContent()
582
+
583
+ // Create the antialiased mask path with Porter-Duff DST_IN to clip
584
+ val maskPaint = Paint(Paint.ANTI_ALIAS_FLAG)
585
+ maskPaint.style = Paint.Style.FILL
586
+ maskPaint.xfermode = PorterDuffXfermode(PorterDuff.Mode.DST_IN)
587
+
588
+ // Transparent pixels with INVERSE_WINDING only works on API 28
589
+ if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.P) {
590
+ maskPaint.color = Color.TRANSPARENT
591
+ paddingBoxPath.setFillType(Path.FillType.INVERSE_WINDING)
592
+ } else {
593
+ maskPaint.color = Color.BLACK
594
+ }
595
+
596
+ canvas.drawPath(paddingBoxPath, maskPaint)
597
+
598
+ // Restore the layer
599
+ canvas.restoreToCount(saveCount)
600
+ }
601
+
520
602
  /**
521
603
  * Resets the background styling of the view to its original state.
522
604
  *
@@ -372,15 +372,18 @@ public class ReactImageView(
372
372
  public override fun hasOverlappingRendering(): Boolean = false
373
373
 
374
374
  public override fun onDraw(canvas: Canvas) {
375
- BackgroundStyleApplicator.clipToPaddingBox(this, canvas)
376
- try {
377
- super.onDraw(canvas)
378
- } catch (e: RuntimeException) {
379
- // Only provide updates if downloadListener is set (shouldNotify is true)
380
- if (downloadListener != null) {
381
- val eventDispatcher =
382
- UIManagerHelper.getEventDispatcherForReactTag(context as ReactContext, id)
383
- eventDispatcher?.dispatchEvent(createErrorEvent(UIManagerHelper.getSurfaceId(this), id, e))
375
+ BackgroundStyleApplicator.clipToPaddingBoxWithAntiAliasing(this, canvas) {
376
+ try {
377
+ super.onDraw(canvas)
378
+ } catch (e: RuntimeException) {
379
+ // Only provide updates if downloadListener is set (shouldNotify is true)
380
+ if (downloadListener != null) {
381
+ val eventDispatcher =
382
+ UIManagerHelper.getEventDispatcherForReactTag(context as ReactContext, id)
383
+ eventDispatcher?.dispatchEvent(
384
+ createErrorEvent(UIManagerHelper.getSurfaceId(this), id, e)
385
+ )
386
+ }
384
387
  }
385
388
  }
386
389
  }
@@ -114,6 +114,7 @@ add_react_common_subdir(react/renderer/components/scrollview)
114
114
  add_react_common_subdir(react/renderer/components/safeareaview)
115
115
  add_react_common_subdir(react/renderer/leakchecker)
116
116
  add_react_common_subdir(react/renderer/observers/events)
117
+ add_react_common_subdir(react/renderer/observers/intersection)
117
118
  add_react_common_subdir(react/renderer/textlayoutmanager)
118
119
  add_react_common_subdir(react/utils)
119
120
  add_react_common_subdir(react/bridging)
@@ -124,6 +125,7 @@ add_react_common_subdir(react/nativemodule/dom)
124
125
  add_react_common_subdir(react/nativemodule/featureflags)
125
126
  add_react_common_subdir(react/nativemodule/microtasks)
126
127
  add_react_common_subdir(react/nativemodule/idlecallbacks)
128
+ add_react_common_subdir(react/nativemodule/intersectionobserver)
127
129
  add_react_common_subdir(react/nativemodule/webperformance)
128
130
  add_react_common_subdir(react/networking)
129
131
  add_react_common_subdir(jserrorhandler)
@@ -192,6 +194,7 @@ add_library(reactnative
192
194
  $<TARGET_OBJECTS:react_nativemodule_dom>
193
195
  $<TARGET_OBJECTS:react_nativemodule_featureflags>
194
196
  $<TARGET_OBJECTS:react_nativemodule_idlecallbacks>
197
+ $<TARGET_OBJECTS:react_nativemodule_intersectionobserver>
195
198
  $<TARGET_OBJECTS:react_nativemodule_microtasks>
196
199
  $<TARGET_OBJECTS:react_nativemodule_webperformance>
197
200
  $<TARGET_OBJECTS:react_networking>
@@ -213,6 +216,7 @@ add_library(reactnative
213
216
  $<TARGET_OBJECTS:react_renderer_mapbuffer>
214
217
  $<TARGET_OBJECTS:react_renderer_mounting>
215
218
  $<TARGET_OBJECTS:react_renderer_observers_events>
219
+ $<TARGET_OBJECTS:react_renderer_observers_intersection>
216
220
  $<TARGET_OBJECTS:react_renderer_runtimescheduler>
217
221
  $<TARGET_OBJECTS:react_renderer_scheduler>
218
222
  $<TARGET_OBJECTS:react_renderer_telemetry>
@@ -284,6 +288,7 @@ target_include_directories(reactnative
284
288
  $<TARGET_PROPERTY:react_nativemodule_dom,INTERFACE_INCLUDE_DIRECTORIES>
285
289
  $<TARGET_PROPERTY:react_nativemodule_featureflags,INTERFACE_INCLUDE_DIRECTORIES>
286
290
  $<TARGET_PROPERTY:react_nativemodule_idlecallbacks,INTERFACE_INCLUDE_DIRECTORIES>
291
+ $<TARGET_PROPERTY:react_nativemodule_intersectionobserver,INTERFACE_INCLUDE_DIRECTORIES>
287
292
  $<TARGET_PROPERTY:react_nativemodule_microtasks,INTERFACE_INCLUDE_DIRECTORIES>
288
293
  $<TARGET_PROPERTY:react_nativemodule_webperformance,INTERFACE_INCLUDE_DIRECTORIES>
289
294
  $<TARGET_PROPERTY:react_networking,INTERFACE_INCLUDE_DIRECTORIES>
@@ -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<<1a3267843d7400974e8686c83d359c7b>>
7
+ * @generated SignedSource<<5e4e22e976ce1724191c7b7e381ea5a1>>
8
8
  */
9
9
 
10
10
  /**
@@ -123,6 +123,12 @@ class ReactNativeFeatureFlagsJavaProvider
123
123
  return method(javaProvider_);
124
124
  }
125
125
 
126
+ bool enableAndroidAntialiasedBorderRadiusClipping() override {
127
+ static const auto method =
128
+ getReactNativeFeatureFlagsProviderJavaClass()->getMethod<jboolean()>("enableAndroidAntialiasedBorderRadiusClipping");
129
+ return method(javaProvider_);
130
+ }
131
+
126
132
  bool enableAndroidLinearText() override {
127
133
  static const auto method =
128
134
  getReactNativeFeatureFlagsProviderJavaClass()->getMethod<jboolean()>("enableAndroidLinearText");
@@ -249,6 +255,12 @@ class ReactNativeFeatureFlagsJavaProvider
249
255
  return method(javaProvider_);
250
256
  }
251
257
 
258
+ bool enableIntersectionObserverByDefault() override {
259
+ static const auto method =
260
+ getReactNativeFeatureFlagsProviderJavaClass()->getMethod<jboolean()>("enableIntersectionObserverByDefault");
261
+ return method(javaProvider_);
262
+ }
263
+
252
264
  bool enableKeyEvents() override {
253
265
  static const auto method =
254
266
  getReactNativeFeatureFlagsProviderJavaClass()->getMethod<jboolean()>("enableKeyEvents");
@@ -635,6 +647,11 @@ bool JReactNativeFeatureFlagsCxxInterop::enableAccumulatedUpdatesInRawPropsAndro
635
647
  return ReactNativeFeatureFlags::enableAccumulatedUpdatesInRawPropsAndroid();
636
648
  }
637
649
 
650
+ bool JReactNativeFeatureFlagsCxxInterop::enableAndroidAntialiasedBorderRadiusClipping(
651
+ facebook::jni::alias_ref<JReactNativeFeatureFlagsCxxInterop> /*unused*/) {
652
+ return ReactNativeFeatureFlags::enableAndroidAntialiasedBorderRadiusClipping();
653
+ }
654
+
638
655
  bool JReactNativeFeatureFlagsCxxInterop::enableAndroidLinearText(
639
656
  facebook::jni::alias_ref<JReactNativeFeatureFlagsCxxInterop> /*unused*/) {
640
657
  return ReactNativeFeatureFlags::enableAndroidLinearText();
@@ -740,6 +757,11 @@ bool JReactNativeFeatureFlagsCxxInterop::enableInteropViewManagerClassLookUpOpti
740
757
  return ReactNativeFeatureFlags::enableInteropViewManagerClassLookUpOptimizationIOS();
741
758
  }
742
759
 
760
+ bool JReactNativeFeatureFlagsCxxInterop::enableIntersectionObserverByDefault(
761
+ facebook::jni::alias_ref<JReactNativeFeatureFlagsCxxInterop> /*unused*/) {
762
+ return ReactNativeFeatureFlags::enableIntersectionObserverByDefault();
763
+ }
764
+
743
765
  bool JReactNativeFeatureFlagsCxxInterop::enableKeyEvents(
744
766
  facebook::jni::alias_ref<JReactNativeFeatureFlagsCxxInterop> /*unused*/) {
745
767
  return ReactNativeFeatureFlags::enableKeyEvents();
@@ -1073,6 +1095,9 @@ void JReactNativeFeatureFlagsCxxInterop::registerNatives() {
1073
1095
  makeNativeMethod(
1074
1096
  "enableAccumulatedUpdatesInRawPropsAndroid",
1075
1097
  JReactNativeFeatureFlagsCxxInterop::enableAccumulatedUpdatesInRawPropsAndroid),
1098
+ makeNativeMethod(
1099
+ "enableAndroidAntialiasedBorderRadiusClipping",
1100
+ JReactNativeFeatureFlagsCxxInterop::enableAndroidAntialiasedBorderRadiusClipping),
1076
1101
  makeNativeMethod(
1077
1102
  "enableAndroidLinearText",
1078
1103
  JReactNativeFeatureFlagsCxxInterop::enableAndroidLinearText),
@@ -1136,6 +1161,9 @@ void JReactNativeFeatureFlagsCxxInterop::registerNatives() {
1136
1161
  makeNativeMethod(
1137
1162
  "enableInteropViewManagerClassLookUpOptimizationIOS",
1138
1163
  JReactNativeFeatureFlagsCxxInterop::enableInteropViewManagerClassLookUpOptimizationIOS),
1164
+ makeNativeMethod(
1165
+ "enableIntersectionObserverByDefault",
1166
+ JReactNativeFeatureFlagsCxxInterop::enableIntersectionObserverByDefault),
1139
1167
  makeNativeMethod(
1140
1168
  "enableKeyEvents",
1141
1169
  JReactNativeFeatureFlagsCxxInterop::enableKeyEvents),
@@ -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<<9769e993b3481e991ef79406734b6e28>>
7
+ * @generated SignedSource<<1cb8ed4a72e9d2b8dd34694485704f60>>
8
8
  */
9
9
 
10
10
  /**
@@ -72,6 +72,9 @@ class JReactNativeFeatureFlagsCxxInterop
72
72
  static bool enableAccumulatedUpdatesInRawPropsAndroid(
73
73
  facebook::jni::alias_ref<JReactNativeFeatureFlagsCxxInterop>);
74
74
 
75
+ static bool enableAndroidAntialiasedBorderRadiusClipping(
76
+ facebook::jni::alias_ref<JReactNativeFeatureFlagsCxxInterop>);
77
+
75
78
  static bool enableAndroidLinearText(
76
79
  facebook::jni::alias_ref<JReactNativeFeatureFlagsCxxInterop>);
77
80
 
@@ -135,6 +138,9 @@ class JReactNativeFeatureFlagsCxxInterop
135
138
  static bool enableInteropViewManagerClassLookUpOptimizationIOS(
136
139
  facebook::jni::alias_ref<JReactNativeFeatureFlagsCxxInterop>);
137
140
 
141
+ static bool enableIntersectionObserverByDefault(
142
+ facebook::jni::alias_ref<JReactNativeFeatureFlagsCxxInterop>);
143
+
138
144
  static bool enableKeyEvents(
139
145
  facebook::jni::alias_ref<JReactNativeFeatureFlagsCxxInterop>);
140
146
 
@@ -8,6 +8,7 @@
8
8
  <string name="imagebutton_description" gender="unknown">बटन, फोटो</string>
9
9
  <string name="combobox_description" gender="unknown">कम्बो बक्स</string>
10
10
  <string name="menu_description" gender="unknown">मेनु</string>
11
+ <string name="rn_tab_description" gender="unknown">टयाब</string>
11
12
  <string name="state_expanded_description" gender="unknown">विस्तार गरियो</string>
12
13
  <string name="state_on_description" gender="unknown">अन</string>
13
14
  <string name="state_off_description" gender="unknown">अफ</string>
@@ -54,7 +54,7 @@ Pod::Spec.new do |s|
54
54
  depend_on_js_engine(s)
55
55
  add_rn_third_party_dependencies(s)
56
56
  add_rncore_dependency(s)
57
-
57
+
58
58
  s.subspec "animated" do |ss|
59
59
  ss.source_files = podspec_sources("react/renderer/animated/**/*.{m,mm,cpp,h}", "react/renderer/animated/**/*.{h}")
60
60
  ss.exclude_files = "react/renderer/animated/tests"
@@ -66,7 +66,7 @@ Pod::Spec.new do |s|
66
66
  ss.exclude_files = "react/renderer/animations/tests"
67
67
  ss.header_dir = "react/renderer/animations"
68
68
  end
69
-
69
+
70
70
  s.subspec "animationbackend" do |ss|
71
71
  ss.source_files = podspec_sources("react/renderer/animationbackend/**/*.{m,mm,cpp,h}", "react/renderer/animationbackend/**/*.{h}")
72
72
  ss.header_dir = "react/renderer/animationbackend"
@@ -179,6 +179,12 @@ Pod::Spec.new do |s|
179
179
  sss.exclude_files = "react/renderer/observers/events/tests"
180
180
  sss.header_dir = "react/renderer/observers/events"
181
181
  end
182
+
183
+ ss.subspec "intersection" do |sss|
184
+ sss.source_files = podspec_sources("react/renderer/observers/intersection/**/*.{m,mm,cpp,h}", "react/renderer/observers/intersection/**/*.h")
185
+ sss.exclude_files = "react/renderer/observers/intersection/tests"
186
+ sss.header_dir = "react/renderer/observers/intersection"
187
+ end
182
188
  end
183
189
 
184
190
  s.subspec "templateprocessor" do |ss|
@@ -22,7 +22,7 @@ constexpr struct {
22
22
  int32_t Major = 0;
23
23
  int32_t Minor = 84;
24
24
  int32_t Patch = 0;
25
- std::string_view Prerelease = "nightly-20251113-6ddba300b";
25
+ std::string_view Prerelease = "nightly-20251115-e08abbcb9";
26
26
  } ReactNativeVersion;
27
27
 
28
28
  } // namespace facebook::react
@@ -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<<316d877ef7aac59c840cb2b6e659891d>>
7
+ * @generated SignedSource<<9c10486574fdff78933aed6acd90533c>>
8
8
  */
9
9
 
10
10
  /**
@@ -82,6 +82,10 @@ bool ReactNativeFeatureFlags::enableAccumulatedUpdatesInRawPropsAndroid() {
82
82
  return getAccessor().enableAccumulatedUpdatesInRawPropsAndroid();
83
83
  }
84
84
 
85
+ bool ReactNativeFeatureFlags::enableAndroidAntialiasedBorderRadiusClipping() {
86
+ return getAccessor().enableAndroidAntialiasedBorderRadiusClipping();
87
+ }
88
+
85
89
  bool ReactNativeFeatureFlags::enableAndroidLinearText() {
86
90
  return getAccessor().enableAndroidLinearText();
87
91
  }
@@ -166,6 +170,10 @@ bool ReactNativeFeatureFlags::enableInteropViewManagerClassLookUpOptimizationIOS
166
170
  return getAccessor().enableInteropViewManagerClassLookUpOptimizationIOS();
167
171
  }
168
172
 
173
+ bool ReactNativeFeatureFlags::enableIntersectionObserverByDefault() {
174
+ return getAccessor().enableIntersectionObserverByDefault();
175
+ }
176
+
169
177
  bool ReactNativeFeatureFlags::enableKeyEvents() {
170
178
  return getAccessor().enableKeyEvents();
171
179
  }
@@ -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<<2ff839b736c1c74b3dccefadb6e278b9>>
7
+ * @generated SignedSource<<72ed560f90d44db777469315e0865c6c>>
8
8
  */
9
9
 
10
10
  /**
@@ -109,6 +109,11 @@ class ReactNativeFeatureFlags {
109
109
  */
110
110
  RN_EXPORT static bool enableAccumulatedUpdatesInRawPropsAndroid();
111
111
 
112
+ /**
113
+ * Enable antialiased border radius clipping for Android API 28 and below using manual masking with Porter-Duff compositing
114
+ */
115
+ RN_EXPORT static bool enableAndroidAntialiasedBorderRadiusClipping();
116
+
112
117
  /**
113
118
  * Enables linear text rendering on Android wherever subpixel text rendering is enabled
114
119
  */
@@ -214,6 +219,11 @@ class ReactNativeFeatureFlags {
214
219
  */
215
220
  RN_EXPORT static bool enableInteropViewManagerClassLookUpOptimizationIOS();
216
221
 
222
+ /**
223
+ * Enables the IntersectionObserver Web API in React Native.
224
+ */
225
+ RN_EXPORT static bool enableIntersectionObserverByDefault();
226
+
217
227
  /**
218
228
  * Enables key up/down/press events to be sent to JS from components
219
229
  */