react-native 0.76.5 → 0.76.6

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 (37) hide show
  1. package/Libraries/Core/ReactNativeVersion.js +1 -1
  2. package/Libraries/Text/TextInput/RCTBaseTextInputView.mm +1 -1
  3. package/React/Base/RCTVersion.m +1 -1
  4. package/React/Fabric/Mounting/ComponentViews/TextInput/RCTTextInputComponentView.mm +4 -0
  5. package/React/Fabric/Mounting/ComponentViews/View/RCTViewComponentView.mm +12 -9
  6. package/ReactAndroid/cmake-utils/ReactNative-application.cmake +18 -3
  7. package/ReactAndroid/gradle.properties +1 -1
  8. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlags.kt +1 -7
  9. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsCxxAccessor.kt +1 -11
  10. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsCxxInterop.kt +1 -3
  11. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsDefaults.kt +1 -3
  12. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsLocalAccessor.kt +1 -12
  13. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsProvider.kt +1 -3
  14. package/ReactAndroid/src/main/java/com/facebook/react/modules/systeminfo/ReactNativeVersion.java +1 -1
  15. package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewGroup.java +1 -0
  16. package/ReactAndroid/src/main/jni/react/fabric/Binding.cpp +17 -19
  17. package/ReactAndroid/src/main/jni/react/featureflags/JReactNativeFeatureFlagsCxxInterop.cpp +1 -15
  18. package/ReactAndroid/src/main/jni/react/featureflags/JReactNativeFeatureFlagsCxxInterop.h +1 -4
  19. package/ReactCommon/cxxreact/ReactNativeVersion.h +1 -1
  20. package/ReactCommon/react/featureflags/ReactNativeFeatureFlags.cpp +1 -5
  21. package/ReactCommon/react/featureflags/ReactNativeFeatureFlags.h +1 -6
  22. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsAccessor.cpp +47 -65
  23. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsAccessor.h +2 -4
  24. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsDefaults.h +1 -5
  25. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsProvider.h +1 -2
  26. package/ReactCommon/react/nativemodule/featureflags/NativeReactNativeFeatureFlags.cpp +1 -6
  27. package/ReactCommon/react/nativemodule/featureflags/NativeReactNativeFeatureFlags.h +1 -3
  28. package/ReactCommon/react/renderer/textlayoutmanager/TextMeasureCache.h +2 -3
  29. package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/react/renderer/textlayoutmanager/RCTAttributedTextUtils.mm +2 -0
  30. package/package.json +8 -8
  31. package/scripts/cocoapods/utils.rb +6 -6
  32. package/scripts/codegen/generate-artifacts-executor.js +6 -6
  33. package/sdks/hermesc/osx-bin/hermes +0 -0
  34. package/sdks/hermesc/osx-bin/hermesc +0 -0
  35. package/sdks/hermesc/win64-bin/hermesc.exe +0 -0
  36. package/src/private/featureflags/ReactNativeFeatureFlags.js +1 -6
  37. package/src/private/featureflags/specs/NativeReactNativeFeatureFlags.js +1 -2
@@ -16,7 +16,7 @@ const version: $ReadOnly<{
16
16
  }> = {
17
17
  major: 0,
18
18
  minor: 76,
19
- patch: 5,
19
+ patch: 6,
20
20
  prerelease: null,
21
21
  };
22
22
 
@@ -457,7 +457,7 @@ RCT_NOT_IMPLEMENTED(-(instancetype)initWithFrame : (CGRect)frame)
457
457
  _maxLength.integerValue - (NSInteger)backedTextInputView.attributedText.string.length + (NSInteger)range.length,
458
458
  0);
459
459
 
460
- if (text.length > _maxLength.integerValue) {
460
+ if (text.length > allowedLength) {
461
461
  // If we typed/pasted more than one character, limit the text inputted.
462
462
  if (text.length > 1) {
463
463
  if (allowedLength > 0) {
@@ -23,7 +23,7 @@ NSDictionary* RCTGetReactNativeVersion(void)
23
23
  __rnVersion = @{
24
24
  RCTVersionMajor: @(0),
25
25
  RCTVersionMinor: @(76),
26
- RCTVersionPatch: @(5),
26
+ RCTVersionPatch: @(6),
27
27
  RCTVersionPrerelease: [NSNull null],
28
28
  };
29
29
  });
@@ -99,9 +99,11 @@ static NSSet<NSNumber *> *returnKeyTypesSet;
99
99
  NSMutableDictionary<NSAttributedStringKey, id> *defaultAttributes =
100
100
  [_backedTextInputView.defaultTextAttributes mutableCopy];
101
101
 
102
+ #if !TARGET_OS_MACCATALYST
102
103
  RCTWeakEventEmitterWrapper *eventEmitterWrapper = [RCTWeakEventEmitterWrapper new];
103
104
  eventEmitterWrapper.eventEmitter = _eventEmitter;
104
105
  defaultAttributes[RCTAttributedStringEventEmitterKey] = eventEmitterWrapper;
106
+ #endif
105
107
 
106
108
  _backedTextInputView.defaultTextAttributes = defaultAttributes;
107
109
  }
@@ -261,8 +263,10 @@ static NSSet<NSNumber *> *returnKeyTypesSet;
261
263
  if (newTextInputProps.textAttributes != oldTextInputProps.textAttributes) {
262
264
  NSMutableDictionary<NSAttributedStringKey, id> *defaultAttributes =
263
265
  RCTNSTextAttributesFromTextAttributes(newTextInputProps.getEffectiveTextAttributes(RCTFontSizeMultiplier()));
266
+ #if !TARGET_OS_MACCATALYST
264
267
  defaultAttributes[RCTAttributedStringEventEmitterKey] =
265
268
  _backedTextInputView.defaultTextAttributes[RCTAttributedStringEventEmitterKey];
269
+ #endif
266
270
  _backedTextInputView.defaultTextAttributes = defaultAttributes;
267
271
  }
268
272
 
@@ -1003,15 +1003,10 @@ static RCTBorderStyle RCTBorderStyleFromBorderStyle(BorderStyle borderStyle)
1003
1003
  }
1004
1004
 
1005
1005
  // clipping
1006
+ self.currentContainerView.layer.mask = nil;
1006
1007
  if (self.currentContainerView.clipsToBounds) {
1007
1008
  BOOL clipToPaddingBox = ReactNativeFeatureFlags::enableIOSViewClipToPaddingBox();
1008
- if (clipToPaddingBox) {
1009
- CALayer *maskLayer = [self createMaskLayer:RCTCGRectFromRect(_layoutMetrics.getPaddingFrame())
1010
- cornerInsets:RCTGetCornerInsets(
1011
- RCTCornerRadiiFromBorderRadii(borderMetrics.borderRadii),
1012
- RCTUIEdgeInsetsFromEdgeInsets(borderMetrics.borderWidths))];
1013
- self.currentContainerView.layer.mask = maskLayer;
1014
- } else {
1009
+ if (!clipToPaddingBox) {
1015
1010
  if (borderMetrics.borderRadii.isUniform()) {
1016
1011
  self.currentContainerView.layer.cornerRadius = borderMetrics.borderRadii.topLeft.horizontal;
1017
1012
  } else {
@@ -1033,9 +1028,17 @@ static RCTBorderStyle RCTBorderStyleFromBorderStyle(BorderStyle borderStyle)
1033
1028
  subview.layer.mask = [self createMaskLayer:subview.bounds cornerInsets:cornerInsets];
1034
1029
  }
1035
1030
  }
1031
+ } else if (
1032
+ !borderMetrics.borderWidths.isUniform() || borderMetrics.borderWidths.left != 0 ||
1033
+ !borderMetrics.borderRadii.isUniform()) {
1034
+ CALayer *maskLayer = [self createMaskLayer:RCTCGRectFromRect(_layoutMetrics.getPaddingFrame())
1035
+ cornerInsets:RCTGetCornerInsets(
1036
+ RCTCornerRadiiFromBorderRadii(borderMetrics.borderRadii),
1037
+ RCTUIEdgeInsetsFromEdgeInsets(borderMetrics.borderWidths))];
1038
+ self.currentContainerView.layer.mask = maskLayer;
1039
+ } else {
1040
+ self.currentContainerView.layer.cornerRadius = borderMetrics.borderRadii.topLeft.horizontal;
1036
1041
  }
1037
- } else {
1038
- self.currentContainerView.layer.mask = nil;
1039
1042
  }
1040
1043
  }
1041
1044
 
@@ -34,9 +34,24 @@ set(BUILD_DIR ${PROJECT_BUILD_DIR})
34
34
  file(TO_CMAKE_PATH "${BUILD_DIR}" BUILD_DIR)
35
35
  file(TO_CMAKE_PATH "${REACT_ANDROID_DIR}" REACT_ANDROID_DIR)
36
36
 
37
- file(GLOB input_SRC CONFIGURE_DEPENDS
38
- ${REACT_ANDROID_DIR}/cmake-utils/default-app-setup/*.cpp
39
- ${BUILD_DIR}/generated/autolinking/src/main/jni/*.cpp)
37
+ if (PROJECT_ROOT_DIR)
38
+ # This empty `if` is just to silence a CMake warning and make sure the `PROJECT_ROOT_DIR`
39
+ # variable is defined if user need to access it.
40
+ endif ()
41
+
42
+ file(GLOB override_cpp_SRC CONFIGURE_DEPENDS *.cpp)
43
+ # We check if the user is providing a custom OnLoad.cpp file. If so, we pick that
44
+ # for compilation. Otherwise we fallback to using the `default-app-setup/OnLoad.cpp`
45
+ # file instead.
46
+ if(override_cpp_SRC)
47
+ file(GLOB input_SRC CONFIGURE_DEPENDS
48
+ *.cpp
49
+ ${BUILD_DIR}/generated/autolinking/src/main/jni/*.cpp)
50
+ else()
51
+ file(GLOB input_SRC CONFIGURE_DEPENDS
52
+ ${REACT_ANDROID_DIR}/cmake-utils/default-app-setup/*.cpp
53
+ ${BUILD_DIR}/generated/autolinking/src/main/jni/*.cpp)
54
+ endif()
40
55
 
41
56
  add_library(${CMAKE_PROJECT_NAME} SHARED ${input_SRC})
42
57
 
@@ -1,4 +1,4 @@
1
- VERSION_NAME=0.76.5
1
+ VERSION_NAME=0.76.6
2
2
  react.internal.publishingGroup=com.facebook.react
3
3
 
4
4
  android.useAndroidX=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<<6cc52570dd571ddc792a0fd842c05dd9>>
7
+ * @generated SignedSource<<89491eb63a7ca59b17419ed4432a4f88>>
8
8
  */
9
9
 
10
10
  /**
@@ -34,12 +34,6 @@ public object ReactNativeFeatureFlags {
34
34
  @JvmStatic
35
35
  public fun commonTestFlag(): Boolean = accessor.commonTestFlag()
36
36
 
37
- /**
38
- * Adds support for recursively processing commits that mount synchronously (Android only).
39
- */
40
- @JvmStatic
41
- public fun allowRecursiveCommitsWithSynchronousMountOnAndroid(): Boolean = accessor.allowRecursiveCommitsWithSynchronousMountOnAndroid()
42
-
43
37
  /**
44
38
  * When enabled, the RuntimeScheduler processing the event loop will batch all rendering updates and dispatch them together at the end of each iteration of the loop.
45
39
  */
@@ -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<<eca842a1b1c823b72136c625b3bfd16e>>
7
+ * @generated SignedSource<<9f741ec3df7cd5ecd8d5c3c099c86aba>>
8
8
  */
9
9
 
10
10
  /**
@@ -21,7 +21,6 @@ package com.facebook.react.internal.featureflags
21
21
 
22
22
  public class ReactNativeFeatureFlagsCxxAccessor : ReactNativeFeatureFlagsAccessor {
23
23
  private var commonTestFlagCache: Boolean? = null
24
- private var allowRecursiveCommitsWithSynchronousMountOnAndroidCache: Boolean? = null
25
24
  private var batchRenderingUpdatesInEventLoopCache: Boolean? = null
26
25
  private var completeReactInstanceCreationOnBgThreadOnAndroidCache: Boolean? = null
27
26
  private var destroyFabricSurfacesInReactInstanceManagerCache: Boolean? = null
@@ -78,15 +77,6 @@ public class ReactNativeFeatureFlagsCxxAccessor : ReactNativeFeatureFlagsAccesso
78
77
  return cached
79
78
  }
80
79
 
81
- override fun allowRecursiveCommitsWithSynchronousMountOnAndroid(): Boolean {
82
- var cached = allowRecursiveCommitsWithSynchronousMountOnAndroidCache
83
- if (cached == null) {
84
- cached = ReactNativeFeatureFlagsCxxInterop.allowRecursiveCommitsWithSynchronousMountOnAndroid()
85
- allowRecursiveCommitsWithSynchronousMountOnAndroidCache = cached
86
- }
87
- return cached
88
- }
89
-
90
80
  override fun batchRenderingUpdatesInEventLoop(): Boolean {
91
81
  var cached = batchRenderingUpdatesInEventLoopCache
92
82
  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<<ad54375c4ae3be2f377260887ae5aaf9>>
7
+ * @generated SignedSource<<774337b6aee6f528b0852704271ed96f>>
8
8
  */
9
9
 
10
10
  /**
@@ -30,8 +30,6 @@ public object ReactNativeFeatureFlagsCxxInterop {
30
30
 
31
31
  @DoNotStrip @JvmStatic public external fun commonTestFlag(): Boolean
32
32
 
33
- @DoNotStrip @JvmStatic public external fun allowRecursiveCommitsWithSynchronousMountOnAndroid(): Boolean
34
-
35
33
  @DoNotStrip @JvmStatic public external fun batchRenderingUpdatesInEventLoop(): Boolean
36
34
 
37
35
  @DoNotStrip @JvmStatic public external fun completeReactInstanceCreationOnBgThreadOnAndroid(): 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<<2a0cd5a4875a54bb724e5765ffe7753e>>
7
+ * @generated SignedSource<<43c4ba7a6c4f5a12ada181c081f91bfc>>
8
8
  */
9
9
 
10
10
  /**
@@ -25,8 +25,6 @@ public open class ReactNativeFeatureFlagsDefaults : ReactNativeFeatureFlagsProvi
25
25
 
26
26
  override fun commonTestFlag(): Boolean = false
27
27
 
28
- override fun allowRecursiveCommitsWithSynchronousMountOnAndroid(): Boolean = false
29
-
30
28
  override fun batchRenderingUpdatesInEventLoop(): Boolean = false
31
29
 
32
30
  override fun completeReactInstanceCreationOnBgThreadOnAndroid(): 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<<d02af2a8ef015c57d45aba8280539606>>
7
+ * @generated SignedSource<<0ca6ebf7ef1418d721b6f183f89b96a2>>
8
8
  */
9
9
 
10
10
  /**
@@ -25,7 +25,6 @@ public class ReactNativeFeatureFlagsLocalAccessor : ReactNativeFeatureFlagsAcces
25
25
  private val accessedFeatureFlags = mutableSetOf<String>()
26
26
 
27
27
  private var commonTestFlagCache: Boolean? = null
28
- private var allowRecursiveCommitsWithSynchronousMountOnAndroidCache: Boolean? = null
29
28
  private var batchRenderingUpdatesInEventLoopCache: Boolean? = null
30
29
  private var completeReactInstanceCreationOnBgThreadOnAndroidCache: Boolean? = null
31
30
  private var destroyFabricSurfacesInReactInstanceManagerCache: Boolean? = null
@@ -83,16 +82,6 @@ public class ReactNativeFeatureFlagsLocalAccessor : ReactNativeFeatureFlagsAcces
83
82
  return cached
84
83
  }
85
84
 
86
- override fun allowRecursiveCommitsWithSynchronousMountOnAndroid(): Boolean {
87
- var cached = allowRecursiveCommitsWithSynchronousMountOnAndroidCache
88
- if (cached == null) {
89
- cached = currentProvider.allowRecursiveCommitsWithSynchronousMountOnAndroid()
90
- accessedFeatureFlags.add("allowRecursiveCommitsWithSynchronousMountOnAndroid")
91
- allowRecursiveCommitsWithSynchronousMountOnAndroidCache = cached
92
- }
93
- return cached
94
- }
95
-
96
85
  override fun batchRenderingUpdatesInEventLoop(): Boolean {
97
86
  var cached = batchRenderingUpdatesInEventLoopCache
98
87
  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<<92b1214e3a526d7c67dcc7b0c2a131de>>
7
+ * @generated SignedSource<<94e1e69be22ec978859e3f242610f21b>>
8
8
  */
9
9
 
10
10
  /**
@@ -25,8 +25,6 @@ import com.facebook.proguard.annotations.DoNotStrip
25
25
  public interface ReactNativeFeatureFlagsProvider {
26
26
  @DoNotStrip public fun commonTestFlag(): Boolean
27
27
 
28
- @DoNotStrip public fun allowRecursiveCommitsWithSynchronousMountOnAndroid(): Boolean
29
-
30
28
  @DoNotStrip public fun batchRenderingUpdatesInEventLoop(): Boolean
31
29
 
32
30
  @DoNotStrip public fun completeReactInstanceCreationOnBgThreadOnAndroid(): Boolean
@@ -17,6 +17,6 @@ public class ReactNativeVersion {
17
17
  public static final Map<String, Object> VERSION = MapBuilder.<String, Object>of(
18
18
  "major", 0,
19
19
  "minor", 76,
20
- "patch", 5,
20
+ "patch", 6,
21
21
  "prerelease", null);
22
22
  }
@@ -770,6 +770,7 @@ public class ReactViewGroup extends ViewGroup
770
770
  }
771
771
  }
772
772
  removeViewsInLayout(index - clippedSoFar, 1);
773
+ invalidate();
773
774
  }
774
775
  removeFromArray(index);
775
776
  }
@@ -501,27 +501,25 @@ void Binding::schedulerShouldRenderTransactions(
501
501
  return;
502
502
  }
503
503
 
504
- if (ReactNativeFeatureFlags::
505
- allowRecursiveCommitsWithSynchronousMountOnAndroid()) {
506
- std::vector<MountingTransaction> pendingTransactions;
507
-
508
- {
509
- // Retain the lock to access the pending transactions but not to execute
510
- // the mount operations because that method can call into this method
511
- // again.
512
- std::unique_lock<std::mutex> lock(pendingTransactionsMutex_);
513
- pendingTransactions_.swap(pendingTransactions);
514
- }
515
504
 
516
- for (auto& transaction : pendingTransactions) {
517
- mountingManager->executeMount(transaction);
518
- }
519
- } else {
505
+ std::vector<MountingTransaction> pendingTransactions;
506
+
507
+ {
508
+ // Retain the lock to access the pending transactions but not to execute
509
+ // the mount operations because that method can call into this method
510
+ // again.
511
+ //
512
+ // This can be re-entrant when mounting manager triggers state updates
513
+ // synchronously (this can happen when committing from the UI thread).
514
+ // This is safe because we're already combining all the transactions for the
515
+ // same surface ID in a single transaction in the pending transactions list,
516
+ // so operations won't run out of order.
520
517
  std::unique_lock<std::mutex> lock(pendingTransactionsMutex_);
521
- for (auto& transaction : pendingTransactions_) {
522
- mountingManager->executeMount(transaction);
523
- }
524
- pendingTransactions_.clear();
518
+ pendingTransactions_.swap(pendingTransactions);
519
+ }
520
+
521
+ for (auto& transaction : pendingTransactions) {
522
+ mountingManager->executeMount(transaction);
525
523
  }
526
524
  }
527
525
 
@@ -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<<c23b21fca18699470580e54b99de1126>>
7
+ * @generated SignedSource<<68e5d4ce0ed3c237eeababaa04821101>>
8
8
  */
9
9
 
10
10
  /**
@@ -45,12 +45,6 @@ class ReactNativeFeatureFlagsProviderHolder
45
45
  return method(javaProvider_);
46
46
  }
47
47
 
48
- bool allowRecursiveCommitsWithSynchronousMountOnAndroid() override {
49
- static const auto method =
50
- getReactNativeFeatureFlagsProviderJavaClass()->getMethod<jboolean()>("allowRecursiveCommitsWithSynchronousMountOnAndroid");
51
- return method(javaProvider_);
52
- }
53
-
54
48
  bool batchRenderingUpdatesInEventLoop() override {
55
49
  static const auto method =
56
50
  getReactNativeFeatureFlagsProviderJavaClass()->getMethod<jboolean()>("batchRenderingUpdatesInEventLoop");
@@ -336,11 +330,6 @@ bool JReactNativeFeatureFlagsCxxInterop::commonTestFlag(
336
330
  return ReactNativeFeatureFlags::commonTestFlag();
337
331
  }
338
332
 
339
- bool JReactNativeFeatureFlagsCxxInterop::allowRecursiveCommitsWithSynchronousMountOnAndroid(
340
- facebook::jni::alias_ref<JReactNativeFeatureFlagsCxxInterop> /*unused*/) {
341
- return ReactNativeFeatureFlags::allowRecursiveCommitsWithSynchronousMountOnAndroid();
342
- }
343
-
344
333
  bool JReactNativeFeatureFlagsCxxInterop::batchRenderingUpdatesInEventLoop(
345
334
  facebook::jni::alias_ref<JReactNativeFeatureFlagsCxxInterop> /*unused*/) {
346
335
  return ReactNativeFeatureFlags::batchRenderingUpdatesInEventLoop();
@@ -591,9 +580,6 @@ void JReactNativeFeatureFlagsCxxInterop::registerNatives() {
591
580
  makeNativeMethod(
592
581
  "commonTestFlag",
593
582
  JReactNativeFeatureFlagsCxxInterop::commonTestFlag),
594
- makeNativeMethod(
595
- "allowRecursiveCommitsWithSynchronousMountOnAndroid",
596
- JReactNativeFeatureFlagsCxxInterop::allowRecursiveCommitsWithSynchronousMountOnAndroid),
597
583
  makeNativeMethod(
598
584
  "batchRenderingUpdatesInEventLoop",
599
585
  JReactNativeFeatureFlagsCxxInterop::batchRenderingUpdatesInEventLoop),
@@ -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<<89d0da3b2bb56a4ee3c887e6c57491b2>>
7
+ * @generated SignedSource<<bba5d2a290f39b6572db7f90b67e8469>>
8
8
  */
9
9
 
10
10
  /**
@@ -33,9 +33,6 @@ class JReactNativeFeatureFlagsCxxInterop
33
33
  static bool commonTestFlag(
34
34
  facebook::jni::alias_ref<JReactNativeFeatureFlagsCxxInterop>);
35
35
 
36
- static bool allowRecursiveCommitsWithSynchronousMountOnAndroid(
37
- facebook::jni::alias_ref<JReactNativeFeatureFlagsCxxInterop>);
38
-
39
36
  static bool batchRenderingUpdatesInEventLoop(
40
37
  facebook::jni::alias_ref<JReactNativeFeatureFlagsCxxInterop>);
41
38
 
@@ -17,7 +17,7 @@ namespace facebook::react {
17
17
  constexpr struct {
18
18
  int32_t Major = 0;
19
19
  int32_t Minor = 76;
20
- int32_t Patch = 5;
20
+ int32_t Patch = 6;
21
21
  std::string_view Prerelease = "";
22
22
  } ReactNativeVersion;
23
23
 
@@ -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<<6139aa47aac3e5682a453a416bc10236>>
7
+ * @generated SignedSource<<5c4ae3a29f0191428284e0c660353edf>>
8
8
  */
9
9
 
10
10
  /**
@@ -25,10 +25,6 @@ bool ReactNativeFeatureFlags::commonTestFlag() {
25
25
  return getAccessor().commonTestFlag();
26
26
  }
27
27
 
28
- bool ReactNativeFeatureFlags::allowRecursiveCommitsWithSynchronousMountOnAndroid() {
29
- return getAccessor().allowRecursiveCommitsWithSynchronousMountOnAndroid();
30
- }
31
-
32
28
  bool ReactNativeFeatureFlags::batchRenderingUpdatesInEventLoop() {
33
29
  return getAccessor().batchRenderingUpdatesInEventLoop();
34
30
  }
@@ -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<<c8266eb27ec23aaa856fa95275503a81>>
7
+ * @generated SignedSource<<8c40f45357799de60f939b510f1d2ae5>>
8
8
  */
9
9
 
10
10
  /**
@@ -42,11 +42,6 @@ class ReactNativeFeatureFlags {
42
42
  */
43
43
  RN_EXPORT static bool commonTestFlag();
44
44
 
45
- /**
46
- * Adds support for recursively processing commits that mount synchronously (Android only).
47
- */
48
- RN_EXPORT static bool allowRecursiveCommitsWithSynchronousMountOnAndroid();
49
-
50
45
  /**
51
46
  * When enabled, the RuntimeScheduler processing the event loop will batch all rendering updates and dispatch them together at the end of each iteration of the loop.
52
47
  */
@@ -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<<dadda9bba46220975852baddb41e7dc9>>
7
+ * @generated SignedSource<<4e9b371598ef4fbec6b6b9b826c5d193>>
8
8
  */
9
9
 
10
10
  /**
@@ -47,24 +47,6 @@ bool ReactNativeFeatureFlagsAccessor::commonTestFlag() {
47
47
  return flagValue.value();
48
48
  }
49
49
 
50
- bool ReactNativeFeatureFlagsAccessor::allowRecursiveCommitsWithSynchronousMountOnAndroid() {
51
- auto flagValue = allowRecursiveCommitsWithSynchronousMountOnAndroid_.load();
52
-
53
- if (!flagValue.has_value()) {
54
- // This block is not exclusive but it is not necessary.
55
- // If multiple threads try to initialize the feature flag, we would only
56
- // be accessing the provider multiple times but the end state of this
57
- // instance and the returned flag value would be the same.
58
-
59
- markFlagAsAccessed(1, "allowRecursiveCommitsWithSynchronousMountOnAndroid");
60
-
61
- flagValue = currentProvider_->allowRecursiveCommitsWithSynchronousMountOnAndroid();
62
- allowRecursiveCommitsWithSynchronousMountOnAndroid_ = flagValue;
63
- }
64
-
65
- return flagValue.value();
66
- }
67
-
68
50
  bool ReactNativeFeatureFlagsAccessor::batchRenderingUpdatesInEventLoop() {
69
51
  auto flagValue = batchRenderingUpdatesInEventLoop_.load();
70
52
 
@@ -74,7 +56,7 @@ bool ReactNativeFeatureFlagsAccessor::batchRenderingUpdatesInEventLoop() {
74
56
  // be accessing the provider multiple times but the end state of this
75
57
  // instance and the returned flag value would be the same.
76
58
 
77
- markFlagAsAccessed(2, "batchRenderingUpdatesInEventLoop");
59
+ markFlagAsAccessed(1, "batchRenderingUpdatesInEventLoop");
78
60
 
79
61
  flagValue = currentProvider_->batchRenderingUpdatesInEventLoop();
80
62
  batchRenderingUpdatesInEventLoop_ = flagValue;
@@ -92,7 +74,7 @@ bool ReactNativeFeatureFlagsAccessor::completeReactInstanceCreationOnBgThreadOnA
92
74
  // be accessing the provider multiple times but the end state of this
93
75
  // instance and the returned flag value would be the same.
94
76
 
95
- markFlagAsAccessed(3, "completeReactInstanceCreationOnBgThreadOnAndroid");
77
+ markFlagAsAccessed(2, "completeReactInstanceCreationOnBgThreadOnAndroid");
96
78
 
97
79
  flagValue = currentProvider_->completeReactInstanceCreationOnBgThreadOnAndroid();
98
80
  completeReactInstanceCreationOnBgThreadOnAndroid_ = flagValue;
@@ -110,7 +92,7 @@ bool ReactNativeFeatureFlagsAccessor::destroyFabricSurfacesInReactInstanceManage
110
92
  // be accessing the provider multiple times but the end state of this
111
93
  // instance and the returned flag value would be the same.
112
94
 
113
- markFlagAsAccessed(4, "destroyFabricSurfacesInReactInstanceManager");
95
+ markFlagAsAccessed(3, "destroyFabricSurfacesInReactInstanceManager");
114
96
 
115
97
  flagValue = currentProvider_->destroyFabricSurfacesInReactInstanceManager();
116
98
  destroyFabricSurfacesInReactInstanceManager_ = flagValue;
@@ -128,7 +110,7 @@ bool ReactNativeFeatureFlagsAccessor::enableAlignItemsBaselineOnFabricIOS() {
128
110
  // be accessing the provider multiple times but the end state of this
129
111
  // instance and the returned flag value would be the same.
130
112
 
131
- markFlagAsAccessed(5, "enableAlignItemsBaselineOnFabricIOS");
113
+ markFlagAsAccessed(4, "enableAlignItemsBaselineOnFabricIOS");
132
114
 
133
115
  flagValue = currentProvider_->enableAlignItemsBaselineOnFabricIOS();
134
116
  enableAlignItemsBaselineOnFabricIOS_ = flagValue;
@@ -146,7 +128,7 @@ bool ReactNativeFeatureFlagsAccessor::enableAndroidMixBlendModeProp() {
146
128
  // be accessing the provider multiple times but the end state of this
147
129
  // instance and the returned flag value would be the same.
148
130
 
149
- markFlagAsAccessed(6, "enableAndroidMixBlendModeProp");
131
+ markFlagAsAccessed(5, "enableAndroidMixBlendModeProp");
150
132
 
151
133
  flagValue = currentProvider_->enableAndroidMixBlendModeProp();
152
134
  enableAndroidMixBlendModeProp_ = flagValue;
@@ -164,7 +146,7 @@ bool ReactNativeFeatureFlagsAccessor::enableBackgroundStyleApplicator() {
164
146
  // be accessing the provider multiple times but the end state of this
165
147
  // instance and the returned flag value would be the same.
166
148
 
167
- markFlagAsAccessed(7, "enableBackgroundStyleApplicator");
149
+ markFlagAsAccessed(6, "enableBackgroundStyleApplicator");
168
150
 
169
151
  flagValue = currentProvider_->enableBackgroundStyleApplicator();
170
152
  enableBackgroundStyleApplicator_ = flagValue;
@@ -182,7 +164,7 @@ bool ReactNativeFeatureFlagsAccessor::enableCleanTextInputYogaNode() {
182
164
  // be accessing the provider multiple times but the end state of this
183
165
  // instance and the returned flag value would be the same.
184
166
 
185
- markFlagAsAccessed(8, "enableCleanTextInputYogaNode");
167
+ markFlagAsAccessed(7, "enableCleanTextInputYogaNode");
186
168
 
187
169
  flagValue = currentProvider_->enableCleanTextInputYogaNode();
188
170
  enableCleanTextInputYogaNode_ = flagValue;
@@ -200,7 +182,7 @@ bool ReactNativeFeatureFlagsAccessor::enableEagerRootViewAttachment() {
200
182
  // be accessing the provider multiple times but the end state of this
201
183
  // instance and the returned flag value would be the same.
202
184
 
203
- markFlagAsAccessed(9, "enableEagerRootViewAttachment");
185
+ markFlagAsAccessed(8, "enableEagerRootViewAttachment");
204
186
 
205
187
  flagValue = currentProvider_->enableEagerRootViewAttachment();
206
188
  enableEagerRootViewAttachment_ = flagValue;
@@ -218,7 +200,7 @@ bool ReactNativeFeatureFlagsAccessor::enableEventEmitterRetentionDuringGesturesO
218
200
  // be accessing the provider multiple times but the end state of this
219
201
  // instance and the returned flag value would be the same.
220
202
 
221
- markFlagAsAccessed(10, "enableEventEmitterRetentionDuringGesturesOnAndroid");
203
+ markFlagAsAccessed(9, "enableEventEmitterRetentionDuringGesturesOnAndroid");
222
204
 
223
205
  flagValue = currentProvider_->enableEventEmitterRetentionDuringGesturesOnAndroid();
224
206
  enableEventEmitterRetentionDuringGesturesOnAndroid_ = flagValue;
@@ -236,7 +218,7 @@ bool ReactNativeFeatureFlagsAccessor::enableFabricLogs() {
236
218
  // be accessing the provider multiple times but the end state of this
237
219
  // instance and the returned flag value would be the same.
238
220
 
239
- markFlagAsAccessed(11, "enableFabricLogs");
221
+ markFlagAsAccessed(10, "enableFabricLogs");
240
222
 
241
223
  flagValue = currentProvider_->enableFabricLogs();
242
224
  enableFabricLogs_ = flagValue;
@@ -254,7 +236,7 @@ bool ReactNativeFeatureFlagsAccessor::enableFabricRendererExclusively() {
254
236
  // be accessing the provider multiple times but the end state of this
255
237
  // instance and the returned flag value would be the same.
256
238
 
257
- markFlagAsAccessed(12, "enableFabricRendererExclusively");
239
+ markFlagAsAccessed(11, "enableFabricRendererExclusively");
258
240
 
259
241
  flagValue = currentProvider_->enableFabricRendererExclusively();
260
242
  enableFabricRendererExclusively_ = flagValue;
@@ -272,7 +254,7 @@ bool ReactNativeFeatureFlagsAccessor::enableGranularShadowTreeStateReconciliatio
272
254
  // be accessing the provider multiple times but the end state of this
273
255
  // instance and the returned flag value would be the same.
274
256
 
275
- markFlagAsAccessed(13, "enableGranularShadowTreeStateReconciliation");
257
+ markFlagAsAccessed(12, "enableGranularShadowTreeStateReconciliation");
276
258
 
277
259
  flagValue = currentProvider_->enableGranularShadowTreeStateReconciliation();
278
260
  enableGranularShadowTreeStateReconciliation_ = flagValue;
@@ -290,7 +272,7 @@ bool ReactNativeFeatureFlagsAccessor::enableIOSViewClipToPaddingBox() {
290
272
  // be accessing the provider multiple times but the end state of this
291
273
  // instance and the returned flag value would be the same.
292
274
 
293
- markFlagAsAccessed(14, "enableIOSViewClipToPaddingBox");
275
+ markFlagAsAccessed(13, "enableIOSViewClipToPaddingBox");
294
276
 
295
277
  flagValue = currentProvider_->enableIOSViewClipToPaddingBox();
296
278
  enableIOSViewClipToPaddingBox_ = flagValue;
@@ -308,7 +290,7 @@ bool ReactNativeFeatureFlagsAccessor::enableLayoutAnimationsOnIOS() {
308
290
  // be accessing the provider multiple times but the end state of this
309
291
  // instance and the returned flag value would be the same.
310
292
 
311
- markFlagAsAccessed(15, "enableLayoutAnimationsOnIOS");
293
+ markFlagAsAccessed(14, "enableLayoutAnimationsOnIOS");
312
294
 
313
295
  flagValue = currentProvider_->enableLayoutAnimationsOnIOS();
314
296
  enableLayoutAnimationsOnIOS_ = flagValue;
@@ -326,7 +308,7 @@ bool ReactNativeFeatureFlagsAccessor::enableLongTaskAPI() {
326
308
  // be accessing the provider multiple times but the end state of this
327
309
  // instance and the returned flag value would be the same.
328
310
 
329
- markFlagAsAccessed(16, "enableLongTaskAPI");
311
+ markFlagAsAccessed(15, "enableLongTaskAPI");
330
312
 
331
313
  flagValue = currentProvider_->enableLongTaskAPI();
332
314
  enableLongTaskAPI_ = flagValue;
@@ -344,7 +326,7 @@ bool ReactNativeFeatureFlagsAccessor::enableMicrotasks() {
344
326
  // be accessing the provider multiple times but the end state of this
345
327
  // instance and the returned flag value would be the same.
346
328
 
347
- markFlagAsAccessed(17, "enableMicrotasks");
329
+ markFlagAsAccessed(16, "enableMicrotasks");
348
330
 
349
331
  flagValue = currentProvider_->enableMicrotasks();
350
332
  enableMicrotasks_ = flagValue;
@@ -362,7 +344,7 @@ bool ReactNativeFeatureFlagsAccessor::enablePropsUpdateReconciliationAndroid() {
362
344
  // be accessing the provider multiple times but the end state of this
363
345
  // instance and the returned flag value would be the same.
364
346
 
365
- markFlagAsAccessed(18, "enablePropsUpdateReconciliationAndroid");
347
+ markFlagAsAccessed(17, "enablePropsUpdateReconciliationAndroid");
366
348
 
367
349
  flagValue = currentProvider_->enablePropsUpdateReconciliationAndroid();
368
350
  enablePropsUpdateReconciliationAndroid_ = flagValue;
@@ -380,7 +362,7 @@ bool ReactNativeFeatureFlagsAccessor::enableReportEventPaintTime() {
380
362
  // be accessing the provider multiple times but the end state of this
381
363
  // instance and the returned flag value would be the same.
382
364
 
383
- markFlagAsAccessed(19, "enableReportEventPaintTime");
365
+ markFlagAsAccessed(18, "enableReportEventPaintTime");
384
366
 
385
367
  flagValue = currentProvider_->enableReportEventPaintTime();
386
368
  enableReportEventPaintTime_ = flagValue;
@@ -398,7 +380,7 @@ bool ReactNativeFeatureFlagsAccessor::enableSynchronousStateUpdates() {
398
380
  // be accessing the provider multiple times but the end state of this
399
381
  // instance and the returned flag value would be the same.
400
382
 
401
- markFlagAsAccessed(20, "enableSynchronousStateUpdates");
383
+ markFlagAsAccessed(19, "enableSynchronousStateUpdates");
402
384
 
403
385
  flagValue = currentProvider_->enableSynchronousStateUpdates();
404
386
  enableSynchronousStateUpdates_ = flagValue;
@@ -416,7 +398,7 @@ bool ReactNativeFeatureFlagsAccessor::enableUIConsistency() {
416
398
  // be accessing the provider multiple times but the end state of this
417
399
  // instance and the returned flag value would be the same.
418
400
 
419
- markFlagAsAccessed(21, "enableUIConsistency");
401
+ markFlagAsAccessed(20, "enableUIConsistency");
420
402
 
421
403
  flagValue = currentProvider_->enableUIConsistency();
422
404
  enableUIConsistency_ = flagValue;
@@ -434,7 +416,7 @@ bool ReactNativeFeatureFlagsAccessor::enableViewRecycling() {
434
416
  // be accessing the provider multiple times but the end state of this
435
417
  // instance and the returned flag value would be the same.
436
418
 
437
- markFlagAsAccessed(22, "enableViewRecycling");
419
+ markFlagAsAccessed(21, "enableViewRecycling");
438
420
 
439
421
  flagValue = currentProvider_->enableViewRecycling();
440
422
  enableViewRecycling_ = flagValue;
@@ -452,7 +434,7 @@ bool ReactNativeFeatureFlagsAccessor::excludeYogaFromRawProps() {
452
434
  // be accessing the provider multiple times but the end state of this
453
435
  // instance and the returned flag value would be the same.
454
436
 
455
- markFlagAsAccessed(23, "excludeYogaFromRawProps");
437
+ markFlagAsAccessed(22, "excludeYogaFromRawProps");
456
438
 
457
439
  flagValue = currentProvider_->excludeYogaFromRawProps();
458
440
  excludeYogaFromRawProps_ = flagValue;
@@ -470,7 +452,7 @@ bool ReactNativeFeatureFlagsAccessor::fetchImagesInViewPreallocation() {
470
452
  // be accessing the provider multiple times but the end state of this
471
453
  // instance and the returned flag value would be the same.
472
454
 
473
- markFlagAsAccessed(24, "fetchImagesInViewPreallocation");
455
+ markFlagAsAccessed(23, "fetchImagesInViewPreallocation");
474
456
 
475
457
  flagValue = currentProvider_->fetchImagesInViewPreallocation();
476
458
  fetchImagesInViewPreallocation_ = flagValue;
@@ -488,7 +470,7 @@ bool ReactNativeFeatureFlagsAccessor::fixIncorrectScrollViewStateUpdateOnAndroid
488
470
  // be accessing the provider multiple times but the end state of this
489
471
  // instance and the returned flag value would be the same.
490
472
 
491
- markFlagAsAccessed(25, "fixIncorrectScrollViewStateUpdateOnAndroid");
473
+ markFlagAsAccessed(24, "fixIncorrectScrollViewStateUpdateOnAndroid");
492
474
 
493
475
  flagValue = currentProvider_->fixIncorrectScrollViewStateUpdateOnAndroid();
494
476
  fixIncorrectScrollViewStateUpdateOnAndroid_ = flagValue;
@@ -506,7 +488,7 @@ bool ReactNativeFeatureFlagsAccessor::fixMappingOfEventPrioritiesBetweenFabricAn
506
488
  // be accessing the provider multiple times but the end state of this
507
489
  // instance and the returned flag value would be the same.
508
490
 
509
- markFlagAsAccessed(26, "fixMappingOfEventPrioritiesBetweenFabricAndReact");
491
+ markFlagAsAccessed(25, "fixMappingOfEventPrioritiesBetweenFabricAndReact");
510
492
 
511
493
  flagValue = currentProvider_->fixMappingOfEventPrioritiesBetweenFabricAndReact();
512
494
  fixMappingOfEventPrioritiesBetweenFabricAndReact_ = flagValue;
@@ -524,7 +506,7 @@ bool ReactNativeFeatureFlagsAccessor::fixMissedFabricStateUpdatesOnAndroid() {
524
506
  // be accessing the provider multiple times but the end state of this
525
507
  // instance and the returned flag value would be the same.
526
508
 
527
- markFlagAsAccessed(27, "fixMissedFabricStateUpdatesOnAndroid");
509
+ markFlagAsAccessed(26, "fixMissedFabricStateUpdatesOnAndroid");
528
510
 
529
511
  flagValue = currentProvider_->fixMissedFabricStateUpdatesOnAndroid();
530
512
  fixMissedFabricStateUpdatesOnAndroid_ = flagValue;
@@ -542,7 +524,7 @@ bool ReactNativeFeatureFlagsAccessor::fixMountingCoordinatorReportedPendingTrans
542
524
  // be accessing the provider multiple times but the end state of this
543
525
  // instance and the returned flag value would be the same.
544
526
 
545
- markFlagAsAccessed(28, "fixMountingCoordinatorReportedPendingTransactionsOnAndroid");
527
+ markFlagAsAccessed(27, "fixMountingCoordinatorReportedPendingTransactionsOnAndroid");
546
528
 
547
529
  flagValue = currentProvider_->fixMountingCoordinatorReportedPendingTransactionsOnAndroid();
548
530
  fixMountingCoordinatorReportedPendingTransactionsOnAndroid_ = flagValue;
@@ -560,7 +542,7 @@ bool ReactNativeFeatureFlagsAccessor::forceBatchingMountItemsOnAndroid() {
560
542
  // be accessing the provider multiple times but the end state of this
561
543
  // instance and the returned flag value would be the same.
562
544
 
563
- markFlagAsAccessed(29, "forceBatchingMountItemsOnAndroid");
545
+ markFlagAsAccessed(28, "forceBatchingMountItemsOnAndroid");
564
546
 
565
547
  flagValue = currentProvider_->forceBatchingMountItemsOnAndroid();
566
548
  forceBatchingMountItemsOnAndroid_ = flagValue;
@@ -578,7 +560,7 @@ bool ReactNativeFeatureFlagsAccessor::fuseboxEnabledDebug() {
578
560
  // be accessing the provider multiple times but the end state of this
579
561
  // instance and the returned flag value would be the same.
580
562
 
581
- markFlagAsAccessed(30, "fuseboxEnabledDebug");
563
+ markFlagAsAccessed(29, "fuseboxEnabledDebug");
582
564
 
583
565
  flagValue = currentProvider_->fuseboxEnabledDebug();
584
566
  fuseboxEnabledDebug_ = flagValue;
@@ -596,7 +578,7 @@ bool ReactNativeFeatureFlagsAccessor::fuseboxEnabledRelease() {
596
578
  // be accessing the provider multiple times but the end state of this
597
579
  // instance and the returned flag value would be the same.
598
580
 
599
- markFlagAsAccessed(31, "fuseboxEnabledRelease");
581
+ markFlagAsAccessed(30, "fuseboxEnabledRelease");
600
582
 
601
583
  flagValue = currentProvider_->fuseboxEnabledRelease();
602
584
  fuseboxEnabledRelease_ = flagValue;
@@ -614,7 +596,7 @@ bool ReactNativeFeatureFlagsAccessor::initEagerTurboModulesOnNativeModulesQueueA
614
596
  // be accessing the provider multiple times but the end state of this
615
597
  // instance and the returned flag value would be the same.
616
598
 
617
- markFlagAsAccessed(32, "initEagerTurboModulesOnNativeModulesQueueAndroid");
599
+ markFlagAsAccessed(31, "initEagerTurboModulesOnNativeModulesQueueAndroid");
618
600
 
619
601
  flagValue = currentProvider_->initEagerTurboModulesOnNativeModulesQueueAndroid();
620
602
  initEagerTurboModulesOnNativeModulesQueueAndroid_ = flagValue;
@@ -632,7 +614,7 @@ bool ReactNativeFeatureFlagsAccessor::lazyAnimationCallbacks() {
632
614
  // be accessing the provider multiple times but the end state of this
633
615
  // instance and the returned flag value would be the same.
634
616
 
635
- markFlagAsAccessed(33, "lazyAnimationCallbacks");
617
+ markFlagAsAccessed(32, "lazyAnimationCallbacks");
636
618
 
637
619
  flagValue = currentProvider_->lazyAnimationCallbacks();
638
620
  lazyAnimationCallbacks_ = flagValue;
@@ -650,7 +632,7 @@ bool ReactNativeFeatureFlagsAccessor::loadVectorDrawablesOnImages() {
650
632
  // be accessing the provider multiple times but the end state of this
651
633
  // instance and the returned flag value would be the same.
652
634
 
653
- markFlagAsAccessed(34, "loadVectorDrawablesOnImages");
635
+ markFlagAsAccessed(33, "loadVectorDrawablesOnImages");
654
636
 
655
637
  flagValue = currentProvider_->loadVectorDrawablesOnImages();
656
638
  loadVectorDrawablesOnImages_ = flagValue;
@@ -668,7 +650,7 @@ bool ReactNativeFeatureFlagsAccessor::setAndroidLayoutDirection() {
668
650
  // be accessing the provider multiple times but the end state of this
669
651
  // instance and the returned flag value would be the same.
670
652
 
671
- markFlagAsAccessed(35, "setAndroidLayoutDirection");
653
+ markFlagAsAccessed(34, "setAndroidLayoutDirection");
672
654
 
673
655
  flagValue = currentProvider_->setAndroidLayoutDirection();
674
656
  setAndroidLayoutDirection_ = flagValue;
@@ -686,7 +668,7 @@ bool ReactNativeFeatureFlagsAccessor::traceTurboModulePromiseRejectionsOnAndroid
686
668
  // be accessing the provider multiple times but the end state of this
687
669
  // instance and the returned flag value would be the same.
688
670
 
689
- markFlagAsAccessed(36, "traceTurboModulePromiseRejectionsOnAndroid");
671
+ markFlagAsAccessed(35, "traceTurboModulePromiseRejectionsOnAndroid");
690
672
 
691
673
  flagValue = currentProvider_->traceTurboModulePromiseRejectionsOnAndroid();
692
674
  traceTurboModulePromiseRejectionsOnAndroid_ = flagValue;
@@ -704,7 +686,7 @@ bool ReactNativeFeatureFlagsAccessor::useFabricInterop() {
704
686
  // be accessing the provider multiple times but the end state of this
705
687
  // instance and the returned flag value would be the same.
706
688
 
707
- markFlagAsAccessed(37, "useFabricInterop");
689
+ markFlagAsAccessed(36, "useFabricInterop");
708
690
 
709
691
  flagValue = currentProvider_->useFabricInterop();
710
692
  useFabricInterop_ = flagValue;
@@ -722,7 +704,7 @@ bool ReactNativeFeatureFlagsAccessor::useImmediateExecutorInAndroidBridgeless()
722
704
  // be accessing the provider multiple times but the end state of this
723
705
  // instance and the returned flag value would be the same.
724
706
 
725
- markFlagAsAccessed(38, "useImmediateExecutorInAndroidBridgeless");
707
+ markFlagAsAccessed(37, "useImmediateExecutorInAndroidBridgeless");
726
708
 
727
709
  flagValue = currentProvider_->useImmediateExecutorInAndroidBridgeless();
728
710
  useImmediateExecutorInAndroidBridgeless_ = flagValue;
@@ -740,7 +722,7 @@ bool ReactNativeFeatureFlagsAccessor::useModernRuntimeScheduler() {
740
722
  // be accessing the provider multiple times but the end state of this
741
723
  // instance and the returned flag value would be the same.
742
724
 
743
- markFlagAsAccessed(39, "useModernRuntimeScheduler");
725
+ markFlagAsAccessed(38, "useModernRuntimeScheduler");
744
726
 
745
727
  flagValue = currentProvider_->useModernRuntimeScheduler();
746
728
  useModernRuntimeScheduler_ = flagValue;
@@ -758,7 +740,7 @@ bool ReactNativeFeatureFlagsAccessor::useNativeViewConfigsInBridgelessMode() {
758
740
  // be accessing the provider multiple times but the end state of this
759
741
  // instance and the returned flag value would be the same.
760
742
 
761
- markFlagAsAccessed(40, "useNativeViewConfigsInBridgelessMode");
743
+ markFlagAsAccessed(39, "useNativeViewConfigsInBridgelessMode");
762
744
 
763
745
  flagValue = currentProvider_->useNativeViewConfigsInBridgelessMode();
764
746
  useNativeViewConfigsInBridgelessMode_ = flagValue;
@@ -776,7 +758,7 @@ bool ReactNativeFeatureFlagsAccessor::useNewReactImageViewBackgroundDrawing() {
776
758
  // be accessing the provider multiple times but the end state of this
777
759
  // instance and the returned flag value would be the same.
778
760
 
779
- markFlagAsAccessed(41, "useNewReactImageViewBackgroundDrawing");
761
+ markFlagAsAccessed(40, "useNewReactImageViewBackgroundDrawing");
780
762
 
781
763
  flagValue = currentProvider_->useNewReactImageViewBackgroundDrawing();
782
764
  useNewReactImageViewBackgroundDrawing_ = flagValue;
@@ -794,7 +776,7 @@ bool ReactNativeFeatureFlagsAccessor::useOptimisedViewPreallocationOnAndroid() {
794
776
  // be accessing the provider multiple times but the end state of this
795
777
  // instance and the returned flag value would be the same.
796
778
 
797
- markFlagAsAccessed(42, "useOptimisedViewPreallocationOnAndroid");
779
+ markFlagAsAccessed(41, "useOptimisedViewPreallocationOnAndroid");
798
780
 
799
781
  flagValue = currentProvider_->useOptimisedViewPreallocationOnAndroid();
800
782
  useOptimisedViewPreallocationOnAndroid_ = flagValue;
@@ -812,7 +794,7 @@ bool ReactNativeFeatureFlagsAccessor::useOptimizedEventBatchingOnAndroid() {
812
794
  // be accessing the provider multiple times but the end state of this
813
795
  // instance and the returned flag value would be the same.
814
796
 
815
- markFlagAsAccessed(43, "useOptimizedEventBatchingOnAndroid");
797
+ markFlagAsAccessed(42, "useOptimizedEventBatchingOnAndroid");
816
798
 
817
799
  flagValue = currentProvider_->useOptimizedEventBatchingOnAndroid();
818
800
  useOptimizedEventBatchingOnAndroid_ = flagValue;
@@ -830,7 +812,7 @@ bool ReactNativeFeatureFlagsAccessor::useRuntimeShadowNodeReferenceUpdate() {
830
812
  // be accessing the provider multiple times but the end state of this
831
813
  // instance and the returned flag value would be the same.
832
814
 
833
- markFlagAsAccessed(44, "useRuntimeShadowNodeReferenceUpdate");
815
+ markFlagAsAccessed(43, "useRuntimeShadowNodeReferenceUpdate");
834
816
 
835
817
  flagValue = currentProvider_->useRuntimeShadowNodeReferenceUpdate();
836
818
  useRuntimeShadowNodeReferenceUpdate_ = flagValue;
@@ -848,7 +830,7 @@ bool ReactNativeFeatureFlagsAccessor::useRuntimeShadowNodeReferenceUpdateOnLayou
848
830
  // be accessing the provider multiple times but the end state of this
849
831
  // instance and the returned flag value would be the same.
850
832
 
851
- markFlagAsAccessed(45, "useRuntimeShadowNodeReferenceUpdateOnLayout");
833
+ markFlagAsAccessed(44, "useRuntimeShadowNodeReferenceUpdateOnLayout");
852
834
 
853
835
  flagValue = currentProvider_->useRuntimeShadowNodeReferenceUpdateOnLayout();
854
836
  useRuntimeShadowNodeReferenceUpdateOnLayout_ = flagValue;
@@ -866,7 +848,7 @@ bool ReactNativeFeatureFlagsAccessor::useStateAlignmentMechanism() {
866
848
  // be accessing the provider multiple times but the end state of this
867
849
  // instance and the returned flag value would be the same.
868
850
 
869
- markFlagAsAccessed(46, "useStateAlignmentMechanism");
851
+ markFlagAsAccessed(45, "useStateAlignmentMechanism");
870
852
 
871
853
  flagValue = currentProvider_->useStateAlignmentMechanism();
872
854
  useStateAlignmentMechanism_ = flagValue;
@@ -884,7 +866,7 @@ bool ReactNativeFeatureFlagsAccessor::useTurboModuleInterop() {
884
866
  // be accessing the provider multiple times but the end state of this
885
867
  // instance and the returned flag value would be the same.
886
868
 
887
- markFlagAsAccessed(47, "useTurboModuleInterop");
869
+ markFlagAsAccessed(46, "useTurboModuleInterop");
888
870
 
889
871
  flagValue = currentProvider_->useTurboModuleInterop();
890
872
  useTurboModuleInterop_ = 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<<ef12745c7462250933c3198115418393>>
7
+ * @generated SignedSource<<816cbee0a21bc7e03d3d645df4d80556>>
8
8
  */
9
9
 
10
10
  /**
@@ -32,7 +32,6 @@ class ReactNativeFeatureFlagsAccessor {
32
32
  ReactNativeFeatureFlagsAccessor();
33
33
 
34
34
  bool commonTestFlag();
35
- bool allowRecursiveCommitsWithSynchronousMountOnAndroid();
36
35
  bool batchRenderingUpdatesInEventLoop();
37
36
  bool completeReactInstanceCreationOnBgThreadOnAndroid();
38
37
  bool destroyFabricSurfacesInReactInstanceManager();
@@ -89,10 +88,9 @@ class ReactNativeFeatureFlagsAccessor {
89
88
  std::unique_ptr<ReactNativeFeatureFlagsProvider> currentProvider_;
90
89
  bool wasOverridden_;
91
90
 
92
- std::array<std::atomic<const char*>, 48> accessedFeatureFlags_;
91
+ std::array<std::atomic<const char*>, 47> accessedFeatureFlags_;
93
92
 
94
93
  std::atomic<std::optional<bool>> commonTestFlag_;
95
- std::atomic<std::optional<bool>> allowRecursiveCommitsWithSynchronousMountOnAndroid_;
96
94
  std::atomic<std::optional<bool>> batchRenderingUpdatesInEventLoop_;
97
95
  std::atomic<std::optional<bool>> completeReactInstanceCreationOnBgThreadOnAndroid_;
98
96
  std::atomic<std::optional<bool>> destroyFabricSurfacesInReactInstanceManager_;
@@ -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<<2a078848517574213e02b42dff1af8e8>>
7
+ * @generated SignedSource<<62afdf0b4dfbdafe08aec3e74ebd6fd4>>
8
8
  */
9
9
 
10
10
  /**
@@ -31,10 +31,6 @@ class ReactNativeFeatureFlagsDefaults : public ReactNativeFeatureFlagsProvider {
31
31
  return false;
32
32
  }
33
33
 
34
- bool allowRecursiveCommitsWithSynchronousMountOnAndroid() override {
35
- return false;
36
- }
37
-
38
34
  bool batchRenderingUpdatesInEventLoop() override {
39
35
  return false;
40
36
  }
@@ -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<<4adf3f21c8c7e370aa59bc79937e91a2>>
7
+ * @generated SignedSource<<5e7551f6a29374319a2914c4aa22294e>>
8
8
  */
9
9
 
10
10
  /**
@@ -26,7 +26,6 @@ class ReactNativeFeatureFlagsProvider {
26
26
  virtual ~ReactNativeFeatureFlagsProvider() = default;
27
27
 
28
28
  virtual bool commonTestFlag() = 0;
29
- virtual bool allowRecursiveCommitsWithSynchronousMountOnAndroid() = 0;
30
29
  virtual bool batchRenderingUpdatesInEventLoop() = 0;
31
30
  virtual bool completeReactInstanceCreationOnBgThreadOnAndroid() = 0;
32
31
  virtual bool destroyFabricSurfacesInReactInstanceManager() = 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<<1307630df6aff0acdb4f587465785a09>>
7
+ * @generated SignedSource<<d53862215473a927ef36df654af8f74e>>
8
8
  */
9
9
 
10
10
  /**
@@ -42,11 +42,6 @@ bool NativeReactNativeFeatureFlags::commonTestFlag(
42
42
  return ReactNativeFeatureFlags::commonTestFlag();
43
43
  }
44
44
 
45
- bool NativeReactNativeFeatureFlags::allowRecursiveCommitsWithSynchronousMountOnAndroid(
46
- jsi::Runtime& /*runtime*/) {
47
- return ReactNativeFeatureFlags::allowRecursiveCommitsWithSynchronousMountOnAndroid();
48
- }
49
-
50
45
  bool NativeReactNativeFeatureFlags::batchRenderingUpdatesInEventLoop(
51
46
  jsi::Runtime& /*runtime*/) {
52
47
  return ReactNativeFeatureFlags::batchRenderingUpdatesInEventLoop();
@@ -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<<7e65025b9bdd8b515b31f02d2a1489b1>>
7
+ * @generated SignedSource<<6da9173f6eac23ebe891e12b85e6afc0>>
8
8
  */
9
9
 
10
10
  /**
@@ -37,8 +37,6 @@ class NativeReactNativeFeatureFlags
37
37
 
38
38
  bool commonTestFlag(jsi::Runtime& runtime);
39
39
 
40
- bool allowRecursiveCommitsWithSynchronousMountOnAndroid(jsi::Runtime& runtime);
41
-
42
40
  bool batchRenderingUpdatesInEventLoop(jsi::Runtime& runtime);
43
41
 
44
42
  bool completeReactInstanceCreationOnBgThreadOnAndroid(jsi::Runtime& runtime);
@@ -208,8 +208,7 @@ inline bool operator==(
208
208
  return areAttributedStringsEquivalentLayoutWise(
209
209
  lhs.attributedString, rhs.attributedString) &&
210
210
  lhs.paragraphAttributes == rhs.paragraphAttributes &&
211
- lhs.layoutConstraints.maximumSize.width ==
212
- rhs.layoutConstraints.maximumSize.width;
211
+ lhs.layoutConstraints == rhs.layoutConstraints;
213
212
  }
214
213
 
215
214
  inline bool operator!=(
@@ -243,7 +242,7 @@ struct hash<facebook::react::TextMeasureCacheKey> {
243
242
  return facebook::react::hash_combine(
244
243
  attributedStringHashLayoutWise(key.attributedString),
245
244
  key.paragraphAttributes,
246
- key.layoutConstraints.maximumSize.width);
245
+ key.layoutConstraints);
247
246
  }
248
247
  };
249
248
 
@@ -403,6 +403,7 @@ static NSMutableAttributedString *RCTNSAttributedStringFragmentWithAttributesFro
403
403
  {
404
404
  auto nsAttributedStringFragment = RCTNSAttributedStringFragmentFromFragment(fragment, placeholderImage);
405
405
 
406
+ #if !TARGET_OS_MACCATALYST
406
407
  if (fragment.parentShadowView.componentHandle) {
407
408
  RCTWeakEventEmitterWrapper *eventEmitterWrapper = [RCTWeakEventEmitterWrapper new];
408
409
  eventEmitterWrapper.eventEmitter = fragment.parentShadowView.eventEmitter;
@@ -413,6 +414,7 @@ static NSMutableAttributedString *RCTNSAttributedStringFragmentWithAttributesFro
413
414
  [nsAttributedStringFragment addAttributes:additionalTextAttributes
414
415
  range:NSMakeRange(0, nsAttributedStringFragment.length)];
415
416
  }
417
+ #endif
416
418
 
417
419
  return nsAttributedStringFragment;
418
420
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-native",
3
- "version": "0.76.5",
3
+ "version": "0.76.6",
4
4
  "description": "A framework for building native apps using React",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -109,13 +109,13 @@
109
109
  },
110
110
  "dependencies": {
111
111
  "@jest/create-cache-key-function": "^29.6.3",
112
- "@react-native/assets-registry": "0.76.5",
113
- "@react-native/codegen": "0.76.5",
114
- "@react-native/community-cli-plugin": "0.76.5",
115
- "@react-native/gradle-plugin": "0.76.5",
116
- "@react-native/js-polyfills": "0.76.5",
117
- "@react-native/normalize-colors": "0.76.5",
118
- "@react-native/virtualized-lists": "0.76.5",
112
+ "@react-native/assets-registry": "0.76.6",
113
+ "@react-native/codegen": "0.76.6",
114
+ "@react-native/community-cli-plugin": "0.76.6",
115
+ "@react-native/gradle-plugin": "0.76.6",
116
+ "@react-native/js-polyfills": "0.76.6",
117
+ "@react-native/normalize-colors": "0.76.6",
118
+ "@react-native/virtualized-lists": "0.76.6",
119
119
  "abort-controller": "^3.0.0",
120
120
  "anser": "^1.4.9",
121
121
  "ansi-regex": "^5.0.0",
@@ -44,10 +44,10 @@ class ReactNativePodsUtils
44
44
  end
45
45
 
46
46
  def self.set_gcc_preprocessor_definition_for_React_hermes(installer)
47
- self.add_build_settings_to_pod(installer, "GCC_PREPROCESSOR_DEFINITIONS", "HERMES_ENABLE_DEBUGGER=1", "React-hermes", "Debug")
48
- self.add_build_settings_to_pod(installer, "GCC_PREPROCESSOR_DEFINITIONS", "HERMES_ENABLE_DEBUGGER=1", "React-jsinspector", "Debug")
49
- self.add_build_settings_to_pod(installer, "GCC_PREPROCESSOR_DEFINITIONS", "HERMES_ENABLE_DEBUGGER=1", "hermes-engine", "Debug")
50
- self.add_build_settings_to_pod(installer, "GCC_PREPROCESSOR_DEFINITIONS", "HERMES_ENABLE_DEBUGGER=1", "React-RuntimeHermes", "Debug")
47
+ self.add_build_settings_to_pod(installer, "GCC_PREPROCESSOR_DEFINITIONS", "HERMES_ENABLE_DEBUGGER=1", "React-hermes", :debug)
48
+ self.add_build_settings_to_pod(installer, "GCC_PREPROCESSOR_DEFINITIONS", "HERMES_ENABLE_DEBUGGER=1", "React-jsinspector", :debug)
49
+ self.add_build_settings_to_pod(installer, "GCC_PREPROCESSOR_DEFINITIONS", "HERMES_ENABLE_DEBUGGER=1", "hermes-engine", :debug)
50
+ self.add_build_settings_to_pod(installer, "GCC_PREPROCESSOR_DEFINITIONS", "HERMES_ENABLE_DEBUGGER=1", "React-RuntimeHermes", :debug)
51
51
  end
52
52
 
53
53
  def self.turn_off_resource_bundle_react_core(installer)
@@ -193,11 +193,11 @@ class ReactNativePodsUtils
193
193
 
194
194
  private
195
195
 
196
- def self.add_build_settings_to_pod(installer, settings_name, settings_value, target_pod_name, configuration)
196
+ def self.add_build_settings_to_pod(installer, settings_name, settings_value, target_pod_name, configuration_type)
197
197
  installer.target_installation_results.pod_target_installation_results.each do |pod_name, target_installation_result|
198
198
  if pod_name.to_s == target_pod_name
199
199
  target_installation_result.native_target.build_configurations.each do |config|
200
- if configuration == nil || (configuration != nil && config.name.include?(configuration))
200
+ if configuration_type == nil || (configuration_type != nil && config.type == configuration_type)
201
201
  config.build_settings[settings_name] ||= '$(inherited) '
202
202
  config.build_settings[settings_name] << settings_value
203
203
  end
@@ -325,13 +325,13 @@ function findNotLinkedLibraries(projectRoot) {
325
325
  // We don't consider the case were `dependency-name.root` is equal to `null`, because that
326
326
  // means that the library is not linked to the app at all, and in that case the dependency
327
327
  // should be removed by the user.
328
- dependency.platforms && Object.keys(dependency.platforms).forEach(platform => {
329
- if (dependency.platforms[platform] == null) {
330
- notLinkedPlatforms.push(platform);
331
- }
332
- });
328
+ dependency.platforms &&
329
+ Object.keys(dependency.platforms).forEach(platform => {
330
+ if (dependency.platforms[platform] == null) {
331
+ notLinkedPlatforms.push(platform);
332
+ }
333
+ });
333
334
  notLinkedLibraries[name] = notLinkedPlatforms;
334
-
335
335
  });
336
336
  return notLinkedLibraries;
337
337
  }
Binary file
Binary file
Binary file
@@ -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<<0bff47ec5af8ed96d8b2abe351f318f1>>
7
+ * @generated SignedSource<<cbc00457c9b6f4639083b6fa970683eb>>
8
8
  * @flow strict-local
9
9
  */
10
10
 
@@ -46,7 +46,6 @@ export type ReactNativeFeatureFlagsJsOnlyOverrides = Partial<ReactNativeFeatureF
46
46
  export type ReactNativeFeatureFlags = {
47
47
  ...ReactNativeFeatureFlagsJsOnly,
48
48
  commonTestFlag: Getter<boolean>,
49
- allowRecursiveCommitsWithSynchronousMountOnAndroid: Getter<boolean>,
50
49
  batchRenderingUpdatesInEventLoop: Getter<boolean>,
51
50
  completeReactInstanceCreationOnBgThreadOnAndroid: Getter<boolean>,
52
51
  destroyFabricSurfacesInReactInstanceManager: Getter<boolean>,
@@ -164,10 +163,6 @@ export const useRefsForTextInputState: Getter<boolean> = createJavaScriptFlagGet
164
163
  * Common flag for testing. Do NOT modify.
165
164
  */
166
165
  export const commonTestFlag: Getter<boolean> = createNativeFlagGetter('commonTestFlag', false);
167
- /**
168
- * Adds support for recursively processing commits that mount synchronously (Android only).
169
- */
170
- export const allowRecursiveCommitsWithSynchronousMountOnAndroid: Getter<boolean> = createNativeFlagGetter('allowRecursiveCommitsWithSynchronousMountOnAndroid', false);
171
166
  /**
172
167
  * When enabled, the RuntimeScheduler processing the event loop will batch all rendering updates and dispatch them together at the end of each iteration of the loop.
173
168
  */
@@ -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<<6d4aa48dfdd3b78ac5f0f8e70eb3895f>>
7
+ * @generated SignedSource<<ac46e3eb810d890a0f8199fe100936cb>>
8
8
  * @flow strict-local
9
9
  */
10
10
 
@@ -24,7 +24,6 @@ import * as TurboModuleRegistry from '../../../../Libraries/TurboModule/TurboMod
24
24
 
25
25
  export interface Spec extends TurboModule {
26
26
  +commonTestFlag?: () => boolean;
27
- +allowRecursiveCommitsWithSynchronousMountOnAndroid?: () => boolean;
28
27
  +batchRenderingUpdatesInEventLoop?: () => boolean;
29
28
  +completeReactInstanceCreationOnBgThreadOnAndroid?: () => boolean;
30
29
  +destroyFabricSurfacesInReactInstanceManager?: () => boolean;