react-native-tvos 0.86.0-2 → 0.86.2-0

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 (143) hide show
  1. package/Libraries/ActionSheetIOS/React-RCTActionSheet.podspec +1 -1
  2. package/Libraries/Animated/components/AnimatedScrollView.js +1 -1
  3. package/Libraries/AppDelegate/React-RCTAppDelegate.podspec +1 -1
  4. package/Libraries/Blob/React-RCTBlob.podspec +1 -1
  5. package/Libraries/Components/Button.js +2 -2
  6. package/Libraries/Components/TextInput/AndroidTextInputNativeComponent.js +1 -1
  7. package/Libraries/Components/TextInput/TextInput.flow.js +1 -1
  8. package/Libraries/Components/Touchable/Touchable.d.ts +1 -1
  9. package/Libraries/Components/View/ViewAccessibility.d.ts +1 -1
  10. package/Libraries/Components/View/ViewAccessibility.js +1 -1
  11. package/Libraries/Core/ReactNativeVersion.js +2 -2
  12. package/Libraries/Core/Timers/JSTimers.js +1 -1
  13. package/Libraries/Core/setUpNavigator.js +1 -1
  14. package/Libraries/EventEmitter/RCTNativeAppEventEmitter.d.ts +1 -1
  15. package/Libraries/FBLazyVector/FBLazyVector.podspec +1 -1
  16. package/Libraries/Image/ImageSource.d.ts +1 -1
  17. package/Libraries/Image/RCTImageLoader.mm +1 -1
  18. package/Libraries/Image/React-RCTImage.podspec +1 -1
  19. package/Libraries/Interaction/PanResponder.js +1 -1
  20. package/Libraries/LinkingIOS/React-RCTLinking.podspec +1 -1
  21. package/Libraries/NativeAnimation/React-RCTAnimation.podspec +1 -1
  22. package/Libraries/Network/React-RCTNetwork.podspec +1 -1
  23. package/Libraries/PushNotificationIOS/React-RCTPushNotification.podspec +1 -1
  24. package/Libraries/Renderer/README.md +2 -2
  25. package/Libraries/Required/RCTRequired.podspec +1 -1
  26. package/Libraries/Settings/React-RCTSettings.podspec +1 -1
  27. package/Libraries/Text/React-RCTText.podspec +1 -1
  28. package/Libraries/TypeSafety/RCTTypeSafety.podspec +1 -1
  29. package/Libraries/Utilities/PolyfillFunctions.js +1 -1
  30. package/Libraries/Vibration/React-RCTVibration.podspec +1 -1
  31. package/README-core.md +6 -6
  32. package/React/Base/RCTVersion.m +2 -2
  33. package/React/CoreModules/React-CoreModules.podspec +1 -1
  34. package/React/Fabric/Mounting/ComponentViews/ScrollView/RCTScrollViewComponentView.mm +1 -1
  35. package/React/Fabric/Mounting/ComponentViews/TextInput/RCTTextInputComponentView.mm +1 -1
  36. package/React/Fabric/Mounting/ComponentViews/View/RCTViewComponentView.mm +13 -17
  37. package/React/React-RCTFBReactNativeSpec.podspec +1 -1
  38. package/React/React-RCTFabric.podspec +1 -1
  39. package/React/Runtime/React-RCTRuntime.podspec +1 -1
  40. package/React/Views/ScrollView/RCTScrollView.m +1 -1
  41. package/React-Core.podspec +1 -1
  42. package/React.podspec +1 -1
  43. package/ReactAndroid/build.gradle.kts +1 -1
  44. package/ReactAndroid/gradle.properties +1 -1
  45. package/ReactAndroid/publish.gradle +5 -5
  46. package/ReactAndroid/src/main/java/com/facebook/react/ReactInstanceManager.java +5 -4
  47. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/CxxInspectorPackagerConnection.kt +1 -1
  48. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/SurfaceMountingManager.kt +39 -11
  49. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/JavaTimerManager.kt +2 -2
  50. package/ReactAndroid/src/main/java/com/facebook/react/modules/intent/IntentModule.kt +1 -1
  51. package/ReactAndroid/src/main/java/com/facebook/react/modules/network/NetworkingModule.kt +2 -2
  52. package/ReactAndroid/src/main/java/com/facebook/react/modules/systeminfo/ReactNativeVersion.kt +2 -2
  53. package/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactInstance.kt +1 -1
  54. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/BaseViewManager.java +1 -1
  55. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactNestedScrollViewManager.kt +1 -1
  56. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollViewManager.kt +1 -1
  57. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextView.java +1 -1
  58. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactEditText.kt +2 -2
  59. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputManager.kt +2 -2
  60. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextSelectionWatcher.kt +1 -1
  61. package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewGroup.kt +4 -4
  62. package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewManager.kt +1 -1
  63. package/ReactApple/Libraries/RCTFoundation/RCTDeprecation/RCTDeprecation.podspec +1 -1
  64. package/ReactApple/RCTSwiftUI/RCTSwiftUI.podspec +1 -1
  65. package/ReactApple/RCTSwiftUIWrapper/RCTSwiftUIWrapper.podspec +1 -1
  66. package/ReactCommon/React-Fabric.podspec +1 -1
  67. package/ReactCommon/React-FabricComponents.podspec +1 -1
  68. package/ReactCommon/React-FabricImage.podspec +1 -1
  69. package/ReactCommon/React-Mapbuffer.podspec +1 -1
  70. package/ReactCommon/ReactCommon.podspec +1 -1
  71. package/ReactCommon/callinvoker/React-callinvoker.podspec +1 -1
  72. package/ReactCommon/cxxreact/React-cxxreact.podspec +1 -1
  73. package/ReactCommon/cxxreact/ReactNativeVersion.h +3 -3
  74. package/ReactCommon/hermes/React-hermes.podspec +1 -1
  75. package/ReactCommon/hermes/executor/React-jsitracing.podspec +1 -1
  76. package/ReactCommon/jserrorhandler/React-jserrorhandler.podspec +1 -1
  77. package/ReactCommon/jsi/React-jsi.podspec +1 -1
  78. package/ReactCommon/jsiexecutor/React-jsiexecutor.podspec +1 -1
  79. package/ReactCommon/jsinspector-modern/React-jsinspector.podspec +1 -1
  80. package/ReactCommon/jsinspector-modern/cdp/React-jsinspectorcdp.podspec +1 -1
  81. package/ReactCommon/jsinspector-modern/network/React-jsinspectornetwork.podspec +1 -1
  82. package/ReactCommon/jsinspector-modern/tracing/React-jsinspectortracing.podspec +1 -1
  83. package/ReactCommon/jsitooling/React-jsitooling.podspec +1 -1
  84. package/ReactCommon/logger/React-logger.podspec +1 -1
  85. package/ReactCommon/oscompat/React-oscompat.podspec +1 -1
  86. package/ReactCommon/react/debug/React-debug.podspec +1 -1
  87. package/ReactCommon/react/debug/redbox/JscSafeUrl.h +1 -1
  88. package/ReactCommon/react/featureflags/React-featureflags.podspec +1 -1
  89. package/ReactCommon/react/nativemodule/core/platform/android/ReactCommon/JavaTurboModule.cpp +1 -1
  90. package/ReactCommon/react/nativemodule/core/platform/ios/React-NativeModulesApple.podspec +1 -1
  91. package/ReactCommon/react/nativemodule/core/platform/ios/ReactCommon/RCTInteropTurboModule.mm +1 -1
  92. package/ReactCommon/react/nativemodule/core/platform/ios/ReactCommon/RCTTurboModule.mm +1 -1
  93. package/ReactCommon/react/nativemodule/defaults/React-defaultsnativemodule.podspec +1 -1
  94. package/ReactCommon/react/nativemodule/dom/React-domnativemodule.podspec +1 -1
  95. package/ReactCommon/react/nativemodule/featureflags/React-featureflagsnativemodule.podspec +1 -1
  96. package/ReactCommon/react/nativemodule/idlecallbacks/React-idlecallbacksnativemodule.podspec +1 -1
  97. package/ReactCommon/react/nativemodule/intersectionobserver/React-intersectionobservernativemodule.podspec +1 -1
  98. package/ReactCommon/react/nativemodule/microtasks/React-microtasksnativemodule.podspec +1 -1
  99. package/ReactCommon/react/nativemodule/mutationobserver/React-mutationobservernativemodule.podspec +1 -1
  100. package/ReactCommon/react/nativemodule/samples/ReactCommon-Samples.podspec +1 -1
  101. package/ReactCommon/react/nativemodule/viewtransition/React-viewtransitionnativemodule.podspec +1 -1
  102. package/ReactCommon/react/nativemodule/webperformance/React-webperformancenativemodule.podspec +1 -1
  103. package/ReactCommon/react/networking/React-networking.podspec +1 -1
  104. package/ReactCommon/react/performance/cdpmetrics/React-performancecdpmetrics.podspec +1 -1
  105. package/ReactCommon/react/performance/timeline/React-performancetimeline.podspec +1 -1
  106. package/ReactCommon/react/renderer/animated/internal/primitives.h +1 -1
  107. package/ReactCommon/react/renderer/consistency/React-rendererconsistency.podspec +1 -1
  108. package/ReactCommon/react/renderer/core/ShadowNode.cpp +27 -19
  109. package/ReactCommon/react/renderer/core/ShadowNodeFamily.h +2 -0
  110. package/ReactCommon/react/renderer/css/React-renderercss.podspec +1 -1
  111. package/ReactCommon/react/renderer/debug/React-rendererdebug.podspec +1 -1
  112. package/ReactCommon/react/renderer/graphics/React-graphics.podspec +1 -1
  113. package/ReactCommon/react/renderer/imagemanager/platform/ios/React-ImageManager.podspec +1 -1
  114. package/ReactCommon/react/renderer/mounting/internal/CullingContext.cpp +1 -1
  115. package/ReactCommon/react/renderer/runtimescheduler/React-runtimescheduler.podspec +1 -1
  116. package/ReactCommon/react/renderer/uimanager/UIManager.cpp +58 -53
  117. package/ReactCommon/react/renderer/uimanager/tests/FabricUIManagerTest.cpp +144 -3
  118. package/ReactCommon/react/runtime/React-RuntimeCore.podspec +1 -1
  119. package/ReactCommon/react/runtime/React-RuntimeHermes.podspec +1 -1
  120. package/ReactCommon/react/runtime/platform/ios/React-RuntimeApple.podspec +1 -1
  121. package/ReactCommon/react/timing/React-timing.podspec +1 -1
  122. package/ReactCommon/react/utils/React-utils.podspec +1 -1
  123. package/ReactCommon/reactperflogger/React-perflogger.podspec +1 -1
  124. package/ReactCommon/runtimeexecutor/React-runtimeexecutor.podspec +1 -1
  125. package/ReactCommon/yoga/Yoga.podspec +1 -1
  126. package/ReactCommon/yoga/yoga/algorithm/AbsoluteLayout.cpp +2 -1
  127. package/ReactCommon/yoga/yoga/algorithm/CalculateLayout.cpp +11 -7
  128. package/ReactCommon/yoga/yoga/algorithm/CalculateLayout.h +1 -1
  129. package/package.json +11 -11
  130. package/scripts/cocoapods/spm.rb +1 -1
  131. package/scripts/cocoapods/utils.rb +2 -2
  132. package/scripts/codegen/templates/ReactAppDependencyProvider.podspec.template +1 -1
  133. package/scripts/codegen/templates/ReactCodegen.podspec.template +1 -1
  134. package/scripts/ios-configure-glog.sh +1 -1
  135. package/sdks/.hermesv1version +1 -1
  136. package/sdks/hermes-engine/hermes-engine.podspec +1 -1
  137. package/sdks/hermes-engine/version.properties +1 -1
  138. package/src/private/types/HostInstance.js +1 -1
  139. package/src/types/globals.d.ts +2 -2
  140. package/third-party-podspecs/RCT-Folly.podspec +1 -1
  141. package/third-party-podspecs/ReactNativeDependencies.podspec +1 -1
  142. package/third-party-podspecs/glog.podspec +1 -1
  143. package/types/public/ReactNativeTypes.d.ts +2 -2
@@ -171,6 +171,7 @@ public class ReactInstanceManager {
171
171
  // Identifies whether the instance manager destroy function is in process,
172
172
  // while true any spawned create thread should wait for proper clean up before initializing
173
173
  private volatile Boolean mHasStartedDestroying = false;
174
+ private final Object mHasStartedDestroyingLock = new Object();
174
175
  private final MemoryPressureRouter mMemoryPressureRouter;
175
176
  private final @Nullable JSExceptionHandler mJSExceptionHandler;
176
177
  private final @Nullable UIManagerProvider mUIManagerProvider;
@@ -782,8 +783,8 @@ public class ReactInstanceManager {
782
783
  ResourceDrawableIdHelper.getInstance().clear();
783
784
 
784
785
  mHasStartedDestroying = false;
785
- synchronized (mHasStartedDestroying) {
786
- mHasStartedDestroying.notifyAll();
786
+ synchronized (mHasStartedDestroyingLock) {
787
+ mHasStartedDestroyingLock.notifyAll();
787
788
  }
788
789
  synchronized (mPackages) {
789
790
  mViewManagerNames = null;
@@ -1139,10 +1140,10 @@ public class ReactInstanceManager {
1139
1140
  null,
1140
1141
  () -> {
1141
1142
  ReactMarker.logMarker(REACT_CONTEXT_THREAD_END);
1142
- synchronized (ReactInstanceManager.this.mHasStartedDestroying) {
1143
+ synchronized (ReactInstanceManager.this.mHasStartedDestroyingLock) {
1143
1144
  while (ReactInstanceManager.this.mHasStartedDestroying) {
1144
1145
  try {
1145
- ReactInstanceManager.this.mHasStartedDestroying.wait();
1146
+ ReactInstanceManager.this.mHasStartedDestroyingLock.wait();
1146
1147
  } catch (InterruptedException e) {
1147
1148
  // Interrupted while waiting for destruction to complete, just retry
1148
1149
  continue;
@@ -85,7 +85,7 @@ internal class CxxInspectorPackagerConnection(
85
85
  * A simple WebSocket wrapper that prevents having more than 16MiB of messages queued
86
86
  * simultaneously. This is done to stop OkHttp from closing the WebSocket connection.
87
87
  *
88
- * https://github.com/facebook/react-native/issues/39651.
88
+ * https://github.com/react/react-native/issues/39651.
89
89
  * https://github.com/square/okhttp/blob/4e7dbec1ea6c9cf8d80422ac9d44b9b185c749a3/okhttp/src/commonJvmAndroid/kotlin/okhttp3/internal/ws/RealWebSocket.kt#L684.
90
90
  */
91
91
  private class InspectorPackagerWebSocketImpl(
@@ -626,14 +626,15 @@ internal constructor(
626
626
 
627
627
  public fun storeSynchronousMountPropsOverride(reactTag: Int, props: ReadableMap): Unit {
628
628
  if (ReactNativeFeatureFlags.overrideBySynchronousMountPropsAtMountingAndroid()) {
629
- val propsMap = getMapFromPropsReadableMap(props)
630
- var synchronousMountProps = tagToSynchronousMountProps[reactTag]
631
- if (synchronousMountProps != null) {
632
- synchronousMountProps.putAll(propsMap)
629
+ val propsMap = getAnimatedPropsMap(props)
630
+ val synchronousMountProps = tagToSynchronousMountProps[reactTag] ?: mutableMapOf()
631
+ clearAnimatedNullPropsMapKeys(props, synchronousMountProps)
632
+ synchronousMountProps.putAll(propsMap)
633
+ if (synchronousMountProps.isEmpty()) {
634
+ tagToSynchronousMountProps.remove(reactTag)
633
635
  } else {
634
- synchronousMountProps = propsMap
636
+ tagToSynchronousMountProps[reactTag] = synchronousMountProps
635
637
  }
636
- tagToSynchronousMountProps[reactTag] = synchronousMountProps
637
638
  }
638
639
  }
639
640
 
@@ -1069,8 +1070,8 @@ internal constructor(
1069
1070
  // If the view that went offscreen is still being touched, we can't delete it yet.
1070
1071
  // We have to delay the deletion till the touch is completed.
1071
1072
  // This is causing bugs like those otherwise:
1072
- // - https://github.com/facebook/react-native/issues/44610
1073
- // - https://github.com/facebook/react-native/issues/45126
1073
+ // - https://github.com/react/react-native/issues/44610
1074
+ // - https://github.com/react/react-native/issues/45126
1074
1075
  viewsToDeleteAfterTouchFinishes.add(reactTag)
1075
1076
  } else {
1076
1077
  // To delete we simply remove the tag from the registry.
@@ -1328,7 +1329,11 @@ internal constructor(
1328
1329
  for ((propKey, propValue) in patchMap) {
1329
1330
  if (outputReadableMap.hasKey(propKey)) {
1330
1331
  if (propKey == PROP_TRANSFORM) {
1331
- assert(outputReadableMap.getType(propKey) == ReadableType.Array && propValue is List<*>)
1332
+ val outputType = outputReadableMap.getType(propKey)
1333
+ assert(
1334
+ (outputType == ReadableType.Array || outputType == ReadableType.Null) &&
1335
+ propValue is List<*>
1336
+ )
1332
1337
  val array = WritableNativeArray()
1333
1338
  for (item in propValue as List<*>) {
1334
1339
  if (item is Map<*, *>) {
@@ -1346,14 +1351,18 @@ internal constructor(
1346
1351
  }
1347
1352
  outputReadableMap.putArray(propKey, array)
1348
1353
  } else if (propKey == PROP_OPACITY) {
1349
- assert(outputReadableMap.getType(propKey) == ReadableType.Number && propValue is Number)
1354
+ val outputType = outputReadableMap.getType(propKey)
1355
+ assert(
1356
+ (outputType == ReadableType.Number || outputType == ReadableType.Null) &&
1357
+ propValue is Number
1358
+ )
1350
1359
  outputReadableMap.putDouble(propKey, (propValue as Number).toDouble())
1351
1360
  }
1352
1361
  }
1353
1362
  }
1354
1363
  }
1355
1364
 
1356
- private fun getMapFromPropsReadableMap(readableMap: ReadableMap): MutableMap<String, Any> {
1365
+ private fun getAnimatedPropsMap(readableMap: ReadableMap): MutableMap<String, Any> {
1357
1366
  val outputMap = mutableMapOf<String, Any>()
1358
1367
 
1359
1368
  if (
@@ -1383,6 +1392,25 @@ internal constructor(
1383
1392
  return outputMap
1384
1393
  }
1385
1394
 
1395
+ private fun clearAnimatedNullPropsMapKeys(
1396
+ readableMap: ReadableMap,
1397
+ outputMap: MutableMap<String, Any>,
1398
+ ) {
1399
+ // Native Animated uses synchronous null updates to restore animated-managed props.
1400
+ // Keep this scoped to props stored by this override path today.
1401
+ if (
1402
+ readableMap.hasKey(PROP_TRANSFORM) &&
1403
+ readableMap.getType(PROP_TRANSFORM) == ReadableType.Null
1404
+ ) {
1405
+ outputMap.remove(PROP_TRANSFORM)
1406
+ }
1407
+ if (
1408
+ readableMap.hasKey(PROP_OPACITY) && readableMap.getType(PROP_OPACITY) == ReadableType.Null
1409
+ ) {
1410
+ outputMap.remove(PROP_OPACITY)
1411
+ }
1412
+ }
1413
+
1386
1414
  // prevents unchecked conversion warn of the <ViewGroup> type
1387
1415
  private fun getViewGroupManager(viewState: ViewState): IViewGroupManager<View> {
1388
1416
  val viewManager =
@@ -326,8 +326,8 @@ public open class JavaTimerManager(
326
326
 
327
327
  // If the JS thread is busy for multiple frames we cancel any other pending runnable.
328
328
  // We also capture the idleCallbackRunnable to tentatively fix:
329
- // https://github.com/facebook/react-native/issues/44842
330
- // https://github.com/facebook/react-native/issues/54983
329
+ // https://github.com/react/react-native/issues/44842
330
+ // https://github.com/react/react-native/issues/54983
331
331
  currentIdleCallbackRunnable?.cancel()
332
332
  val idleCallbackRunnable = IdleCallbackRunnable(frameTimeNanos)
333
333
  currentIdleCallbackRunnable = idleCallbackRunnable
@@ -223,7 +223,7 @@ public open class IntentModule(reactContext: ReactApplicationContext) :
223
223
  }
224
224
  ReadableType.Number -> {
225
225
  // We cannot know from JS if is an Integer or Double
226
- // See: https://github.com/facebook/react-native/issues/4141
226
+ // See: https://github.com/react/react-native/issues/4141
227
227
  // We might need to find a workaround if this is really an issue
228
228
  val number = map.getDouble(EXTRA_MAP_KEY_FOR_VALUE)
229
229
  intent.putExtra(name, number)
@@ -166,7 +166,7 @@ public class NetworkingModule(
166
166
 
167
167
  @Deprecated(
168
168
  """To be removed in a future release. See
169
- https://github.com/facebook/react-native/pull/37798#pullrequestreview-1518338914"""
169
+ https://github.com/react/react-native/pull/37798#pullrequestreview-1518338914"""
170
170
  )
171
171
  public interface CustomClientBuilder : com.facebook.react.modules.network.CustomClientBuilder
172
172
 
@@ -480,7 +480,7 @@ public class NetworkingModule(
480
480
  } else {
481
481
  // Use getBytes() to convert the body into a byte[], preventing okhttp from
482
482
  // appending the character set to the Content-Type header when otherwise unspecified
483
- // https://github.com/facebook/react-native/issues/8237
483
+ // https://github.com/react/react-native/issues/8237
484
484
  val charset =
485
485
  if (contentMediaType == null) {
486
486
  StandardCharsets.UTF_8
@@ -14,7 +14,7 @@ public object ReactNativeVersion {
14
14
  public val VERSION: Map<String, Any?> = mapOf(
15
15
  "major" to 0,
16
16
  "minor" to 86,
17
- "patch" to 0,
18
- "prerelease" to "2"
17
+ "patch" to 2,
18
+ "prerelease" to "0"
19
19
  )
20
20
  }
@@ -569,7 +569,7 @@ internal class ReactInstance(
569
569
  // We need to null check here because some Java implementation of the
570
570
  // `ViewManagerOnDemandReactPackage` interface could still return null even
571
571
  // if the method is marked as returning a non-nullable collection in Kotlin.
572
- // See https://github.com/facebook/react-native/issues/52014
572
+ // See https://github.com/react/react-native/issues/52014
573
573
  @Suppress("SENSELESS_COMPARISON")
574
574
  if (names == null) {
575
575
  RNLog.w(
@@ -626,7 +626,7 @@ public abstract class BaseViewManager<T extends View, C extends LayoutShadowNode
626
626
  // The native Android implementation removed the screen density from the
627
627
  // calculation, so squaring and a normalization value of
628
628
  // sqrt(5) produces an exact replica with iOS.
629
- // For more information, see https://github.com/facebook/react-native/pull/18302
629
+ // For more information, see https://github.com/react/react-native/pull/18302
630
630
  float normalizedCameraDistance =
631
631
  sanitizeFloatPropertyValue(
632
632
  scale * scale * cameraDistance * CAMERA_DISTANCE_NORMALIZATION_MULTIPLIER);
@@ -438,7 +438,7 @@ constructor(private val fpsListener: FpsListener? = null) :
438
438
  // be on the wrong side. Thus we are moving it to the other side, when the list
439
439
  // is inverted.
440
440
  // See also:
441
- // - https://github.com/facebook/react-native/issues/35350
441
+ // - https://github.com/react/react-native/issues/35350
442
442
  // - https://issuetracker.google.com/issues/287304310
443
443
  if (applyFix) {
444
444
  view.verticalScrollbarPosition = View.SCROLLBAR_POSITION_LEFT
@@ -442,7 +442,7 @@ constructor(private val fpsListener: FpsListener? = null) :
442
442
  // be on the wrong side. Thus we are moving it to the other side, when the list
443
443
  // is inverted.
444
444
  // See also:
445
- // - https://github.com/facebook/react-native/issues/35350
445
+ // - https://github.com/react/react-native/issues/35350
446
446
  // - https://issuetracker.google.com/issues/287304310
447
447
  if (applyFix) {
448
448
  view.verticalScrollbarPosition = View.SCROLLBAR_POSITION_LEFT
@@ -252,7 +252,7 @@ public class ReactTextView extends AppCompatTextView implements ReactCompoundVie
252
252
  try (SystraceSection s = new SystraceSection("ReactTextView.setText(ReactTextUpdate)")) {
253
253
  // Android's TextView crashes when it tries to relayout if LayoutParams are
254
254
  // null; explicitly set the LayoutParams to prevent this crash. See:
255
- // https://github.com/facebook/react-native/pull/7011
255
+ // https://github.com/react/react-native/pull/7011
256
256
  if (getLayoutParams() == null) {
257
257
  setLayoutParams(EMPTY_LAYOUT_PARAMS);
258
258
  }
@@ -772,7 +772,7 @@ public open class ReactEditText public constructor(context: Context) : AppCompat
772
772
  /**
773
773
  * Remove spans from the SpannableStringBuilder which can be represented by TextAppearance
774
774
  * attributes on the underlying EditText. This works around instability on Samsung devices with
775
- * the presence of spans https://github.com/facebook/react-native/issues/35936 (S318090)
775
+ * the presence of spans https://github.com/react/react-native/issues/35936 (S318090)
776
776
  */
777
777
  private fun stripStyleEquivalentSpans(sb: SpannableStringBuilder) {
778
778
  stripSpansOfKind(sb, ReactAbsoluteSizeSpan::class.java) { span: ReactAbsoluteSizeSpan ->
@@ -990,7 +990,7 @@ public open class ReactEditText public constructor(context: Context) : AppCompat
990
990
  val selectionEnd = selectionEnd
991
991
 
992
992
  // Used to ensure that text is selectable inside of removeClippedSubviews
993
- // See https://github.com/facebook/react-native/issues/6805 for original
993
+ // See https://github.com/react/react-native/issues/6805 for original
994
994
  // fix that was ported to here.
995
995
  super.setTextIsSelectable(true)
996
996
 
@@ -381,7 +381,7 @@ public open class ReactTextInputManager public constructor() :
381
381
  return
382
382
  }
383
383
 
384
- // Based on https://github.com/facebook/react-native/pull/31007
384
+ // Based on https://github.com/react/react-native/pull/31007
385
385
  if (Build.VERSION.SDK_INT == Build.VERSION_CODES.P) {
386
386
  return
387
387
  }
@@ -739,7 +739,7 @@ public open class ReactTextInputManager public constructor() :
739
739
  // crash happens when focusing on a email EditText, during which a prompt will be triggered
740
740
  // but
741
741
  // the system fail to locate it properly. Here is an example post discussing about this
742
- // issue: https://github.com/facebook/react-native/issues/27204
742
+ // issue: https://github.com/react/react-native/issues/27204
743
743
  if (shouldHideCursorForEmailTextInput()) {
744
744
  view.isCursorVisible = false
745
745
  }
@@ -30,7 +30,7 @@ internal class ReactTextSelectionWatcher(private val editText: ReactEditText) :
30
30
  // forward it on if we have new values
31
31
 
32
32
  // Apparently Android might call this with an end value that is less than the start value
33
- // Lets normalize them. See https://github.com/facebook/react-native/issues/18579
33
+ // Lets normalize them. See https://github.com/react/react-native/issues/18579
34
34
  val realStart = min(start.toDouble(), end.toDouble()).toInt()
35
35
  val realEnd = max(start.toDouble(), end.toDouble()).toInt()
36
36
 
@@ -458,7 +458,7 @@ public open class ReactViewGroup public constructor(context: Context?) :
458
458
 
459
459
  internal fun requestFocusFromJS() {
460
460
  if (isAttachedToWindow) {
461
- super.requestFocus(FOCUS_DOWN, null)
461
+ requestFocus(FOCUS_DOWN, null)
462
462
  } else {
463
463
  focusOnAttach = true
464
464
  }
@@ -1188,7 +1188,7 @@ public open class ReactViewGroup public constructor(context: Context?) :
1188
1188
  return super.performAccessibilityAction(host, action, args)
1189
1189
  }
1190
1190
  if (action == AccessibilityNodeInfo.ACTION_FOCUS) {
1191
- if (args?.let { host.interceptAccessibilityEvents(action, it) } == true) {
1191
+ if (host.interceptAccessibilityEvents(action, args) == true) {
1192
1192
  return true
1193
1193
  }
1194
1194
  // Handle case when focus guide cannot find any focusable child
@@ -1206,7 +1206,7 @@ public open class ReactViewGroup public constructor(context: Context?) :
1206
1206
  return super.performAccessibilityAction(host, action, args)
1207
1207
  }
1208
1208
  if (action == AccessibilityNodeInfo.ACTION_ACCESSIBILITY_FOCUS) {
1209
- if (args?.let { host.interceptAccessibilityEvents(action, it) } == true) {
1209
+ if (host.interceptAccessibilityEvents(action, args) == true) {
1210
1210
  return true
1211
1211
  }
1212
1212
  // Handle case when focus guide cannot find any focusable child
@@ -1265,7 +1265,7 @@ public open class ReactViewGroup public constructor(context: Context?) :
1265
1265
  return this.isFocusGuideTalkbackAccessibilityDelegateSet
1266
1266
  }
1267
1267
 
1268
- private fun interceptAccessibilityEvents(action: Int, args: Bundle): Boolean {
1268
+ private fun interceptAccessibilityEvents(action: Int, args: Bundle?): Boolean {
1269
1269
  if (!this.isTVFocusGuide) {
1270
1270
  return false
1271
1271
  }
@@ -518,7 +518,7 @@ public open class ReactViewManager : ReactClippingViewManager<ReactViewGroup>()
518
518
  HOTSPOT_UPDATE_KEY -> handleHotspotUpdate(root, args)
519
519
  "setPressed" -> handleSetPressed(root, args)
520
520
  "setDestinations" -> handleSetDestinations(root, args)
521
- "requestTVFocus" -> root.requestFocus()
521
+ "requestTVFocus" -> root.requestFocusFromJS()
522
522
  "focus" -> handleFocus(root)
523
523
  "blur" -> handleBlur(root)
524
524
  else -> {}
@@ -14,7 +14,7 @@ Pod::Spec.new do |s|
14
14
  s.author = "Meta Platforms, Inc. and its affiliates"
15
15
  s.license = package["license"]
16
16
  s.homepage = "https://reactnative.dev/"
17
- s.source = { :git => 'https://github.com/facebook/react-native.git', :tag => 'v#{version}' }
17
+ s.source = { :git => 'https://github.com/react/react-native.git', :tag => 'v#{version}' }
18
18
  s.summary = "Macros for marking APIs as deprecated"
19
19
  s.source_files = podspec_sources(["Exported/*.h", "RCTDeprecation.m"], "Exported/*.h")
20
20
  s.pod_target_xcconfig = {
@@ -8,7 +8,7 @@ require "json"
8
8
  package = JSON.parse(File.read(File.join(__dir__, "..", "..", "package.json")))
9
9
  version = package['version']
10
10
 
11
- source = { :git => 'https://github.com/facebook/react-native.git' }
11
+ source = { :git => 'https://github.com/react/react-native.git' }
12
12
  if version == '1000.0.0'
13
13
  # This is an unpublished version, use the latest commit hash of the react-native repo, which we're presumably in.
14
14
  source[:commit] = `git rev-parse HEAD`.strip if system("git rev-parse --git-dir > /dev/null 2>&1")
@@ -8,7 +8,7 @@ require "json"
8
8
  package = JSON.parse(File.read(File.join(__dir__, "..", "..", "package.json")))
9
9
  version = package['version']
10
10
 
11
- source = { :git => 'https://github.com/facebook/react-native.git' }
11
+ source = { :git => 'https://github.com/react/react-native.git' }
12
12
  if version == '1000.0.0'
13
13
  # This is an unpublished version, use the latest commit hash of the react-native repo, which we're presumably in.
14
14
  source[:commit] = `git rev-parse HEAD`.strip if system("git rev-parse --git-dir > /dev/null 2>&1")
@@ -8,7 +8,7 @@ require "json"
8
8
  package = JSON.parse(File.read(File.join(__dir__, "..", "package.json")))
9
9
  version = package['version']
10
10
 
11
- source = { :git => 'https://github.com/facebook/react-native.git' }
11
+ source = { :git => 'https://github.com/react/react-native.git' }
12
12
  if version == '1000.0.0'
13
13
  # This is an unpublished version, use the latest commit hash of the react-native repo, which we’re presumably in.
14
14
  source[:commit] = `git rev-parse HEAD`.strip if system("git rev-parse --git-dir > /dev/null 2>&1")
@@ -8,7 +8,7 @@ require "json"
8
8
  package = JSON.parse(File.read(File.join(__dir__, "..", "package.json")))
9
9
  version = package['version']
10
10
 
11
- source = { :git => 'https://github.com/facebook/react-native.git' }
11
+ source = { :git => 'https://github.com/react/react-native.git' }
12
12
  if version == '1000.0.0'
13
13
  # This is an unpublished version, use the latest commit hash of the react-native repo, which we’re presumably in.
14
14
  source[:commit] = `git rev-parse HEAD`.strip if system("git rev-parse --git-dir > /dev/null 2>&1")
@@ -8,7 +8,7 @@ require "json"
8
8
  package = JSON.parse(File.read(File.join(__dir__, "..", "package.json")))
9
9
  version = package['version']
10
10
 
11
- source = { :git => 'https://github.com/facebook/react-native.git' }
11
+ source = { :git => 'https://github.com/react/react-native.git' }
12
12
  if version == '1000.0.0'
13
13
  # This is an unpublished version, use the latest commit hash of the react-native repo, which we’re presumably in.
14
14
  source[:commit] = `git rev-parse HEAD`.strip if system("git rev-parse --git-dir > /dev/null 2>&1")
@@ -8,7 +8,7 @@ require "json"
8
8
  package = JSON.parse(File.read(File.join(__dir__, "..", "package.json")))
9
9
  version = package['version']
10
10
 
11
- source = { :git => 'https://github.com/facebook/react-native.git' }
11
+ source = { :git => 'https://github.com/react/react-native.git' }
12
12
  if version == '1000.0.0'
13
13
  # This is an unpublished version, use the latest commit hash of the react-native repo, which we’re presumably in.
14
14
  source[:commit] = `git rev-parse HEAD`.strip if system("git rev-parse --git-dir > /dev/null 2>&1")
@@ -8,7 +8,7 @@ require "json"
8
8
  package = JSON.parse(File.read(File.join(__dir__, "..", "package.json")))
9
9
  version = package['version']
10
10
 
11
- source = { :git => 'https://github.com/facebook/react-native.git' }
11
+ source = { :git => 'https://github.com/react/react-native.git' }
12
12
  if version == '1000.0.0'
13
13
  # This is an unpublished version, use the latest commit hash of the react-native repo, which we’re presumably in.
14
14
  source[:commit] = `git rev-parse HEAD`.strip if system("git rev-parse --git-dir > /dev/null 2>&1")
@@ -8,7 +8,7 @@ require "json"
8
8
  package = JSON.parse(File.read(File.join(__dir__, "..", "..", "package.json")))
9
9
  version = package['version']
10
10
 
11
- source = { :git => 'https://github.com/facebook/react-native.git' }
11
+ source = { :git => 'https://github.com/react/react-native.git' }
12
12
  if version == '1000.0.0'
13
13
  # This is an unpublished version, use the latest commit hash of the react-native repo, which we’re presumably in.
14
14
  source[:commit] = `git rev-parse HEAD`.strip if system("git rev-parse --git-dir > /dev/null 2>&1")
@@ -9,7 +9,7 @@ require "json"
9
9
  package = JSON.parse(File.read(File.join(__dir__, "..", "..", "package.json")))
10
10
  version = package['version']
11
11
 
12
- source = { :git => 'https://github.com/facebook/react-native.git' }
12
+ source = { :git => 'https://github.com/react/react-native.git' }
13
13
  if version == '1000.0.0'
14
14
  # This is an unpublished version, use the latest commit hash of the react-native repo, which we’re presumably in.
15
15
  source[:commit] = `git rev-parse HEAD`.strip if system("git rev-parse --git-dir > /dev/null 2>&1")
@@ -14,15 +14,15 @@
14
14
 
15
15
  #define REACT_NATIVE_VERSION_MAJOR 0
16
16
  #define REACT_NATIVE_VERSION_MINOR 86
17
- #define REACT_NATIVE_VERSION_PATCH 0
17
+ #define REACT_NATIVE_VERSION_PATCH 2
18
18
 
19
19
  namespace facebook::react {
20
20
 
21
21
  struct ReactNativeVersionType {
22
22
  int32_t Major = 0;
23
23
  int32_t Minor = 86;
24
- int32_t Patch = 0;
25
- std::string_view Prerelease = "2";
24
+ int32_t Patch = 2;
25
+ std::string_view Prerelease = "0";
26
26
  };
27
27
 
28
28
  constexpr ReactNativeVersionType ReactNativeVersion;
@@ -9,7 +9,7 @@ require "json"
9
9
  package = JSON.parse(File.read(File.join(__dir__, "..", "..", "package.json")))
10
10
  version = package['version']
11
11
 
12
- source = { :git => 'https://github.com/facebook/react-native.git' }
12
+ source = { :git => 'https://github.com/react/react-native.git' }
13
13
  if version == '1000.0.0'
14
14
  # This is an unpublished version, use the latest commit hash of the react-native repo, which we’re presumably in.
15
15
  source[:commit] = `git rev-parse HEAD`.strip if system("git rev-parse --git-dir > /dev/null 2>&1")
@@ -8,7 +8,7 @@ require "json"
8
8
  package = JSON.parse(File.read(File.join(__dir__, "../../..", "package.json")))
9
9
  version = package['version']
10
10
 
11
- source = { :git => 'https://github.com/facebook/react-native.git' }
11
+ source = { :git => 'https://github.com/react/react-native.git' }
12
12
  if version == '1000.0.0'
13
13
  # This is an unpublished version, use the latest commit hash of the react-native repo, which we’re presumably in.
14
14
  source[:commit] = `git rev-parse HEAD`.strip if system("git rev-parse --git-dir > /dev/null 2>&1")
@@ -8,7 +8,7 @@ require "json"
8
8
  package = JSON.parse(File.read(File.join(__dir__, "..", "..", "package.json")))
9
9
  version = package['version']
10
10
 
11
- source = { :git => 'https://github.com/facebook/react-native.git' }
11
+ source = { :git => 'https://github.com/react/react-native.git' }
12
12
  if version == '1000.0.0'
13
13
  # This is an unpublished version, use the latest commit hash of the react-native repo, which we’re presumably in.
14
14
  source[:commit] = `git rev-parse HEAD`.strip if system("git rev-parse --git-dir > /dev/null 2>&1")
@@ -8,7 +8,7 @@ require "json"
8
8
  package = JSON.parse(File.read(File.join(__dir__, "..", "..", "package.json")))
9
9
  version = package['version']
10
10
 
11
- source = { :git => 'https://github.com/facebook/react-native.git' }
11
+ source = { :git => 'https://github.com/react/react-native.git' }
12
12
  if version == '1000.0.0'
13
13
  # This is an unpublished version, use the latest commit hash of the react-native repo, which we’re presumably in.
14
14
  source[:commit] = `git rev-parse HEAD`.strip if system("git rev-parse --git-dir > /dev/null 2>&1")
@@ -8,7 +8,7 @@ require "json"
8
8
  package = JSON.parse(File.read(File.join(__dir__, "..", "..", "package.json")))
9
9
  version = package['version']
10
10
 
11
- source = { :git => 'https://github.com/facebook/react-native.git' }
11
+ source = { :git => 'https://github.com/react/react-native.git' }
12
12
  if version == '1000.0.0'
13
13
  # This is an unpublished version, use the latest commit hash of the react-native repo, which we’re presumably in.
14
14
  source[:commit] = `git rev-parse HEAD`.strip if system("git rev-parse --git-dir > /dev/null 2>&1")
@@ -8,7 +8,7 @@ require "json"
8
8
  package = JSON.parse(File.read(File.join(__dir__, "..", "..", "package.json")))
9
9
  version = package['version']
10
10
 
11
- source = { :git => 'https://github.com/facebook/react-native.git' }
11
+ source = { :git => 'https://github.com/react/react-native.git' }
12
12
  if version == '1000.0.0'
13
13
  # This is an unpublished version, use the latest commit hash of the react-native repo, which we’re presumably in.
14
14
  source[:commit] = `git rev-parse HEAD`.strip if system("git rev-parse --git-dir > /dev/null 2>&1")
@@ -8,7 +8,7 @@ require "json"
8
8
  package = JSON.parse(File.read(File.join(__dir__, "..", "..", "..", "package.json")))
9
9
  version = package['version']
10
10
 
11
- source = { :git => 'https://github.com/facebook/react-native.git' }
11
+ source = { :git => 'https://github.com/react/react-native.git' }
12
12
  if version == '1000.0.0'
13
13
  # This is an unpublished version, use the latest commit hash of the react-native repo, which we’re presumably in.
14
14
  source[:commit] = `git rev-parse HEAD`.strip if system("git rev-parse --git-dir > /dev/null 2>&1")
@@ -8,7 +8,7 @@ require "json"
8
8
  package = JSON.parse(File.read(File.join(__dir__, "..", "..", "..", "package.json")))
9
9
  version = package['version']
10
10
 
11
- source = { :git => 'https://github.com/facebook/react-native.git' }
11
+ source = { :git => 'https://github.com/react/react-native.git' }
12
12
  if version == '1000.0.0'
13
13
  # This is an unpublished version, use the latest commit hash of the react-native repo, which we’re presumably in.
14
14
  source[:commit] = `git rev-parse HEAD`.strip if system("git rev-parse --git-dir > /dev/null 2>&1")
@@ -8,7 +8,7 @@ require "json"
8
8
  package = JSON.parse(File.read(File.join(__dir__, "..", "..", "..", "package.json")))
9
9
  version = package['version']
10
10
 
11
- source = { :git => 'https://github.com/facebook/react-native.git' }
11
+ source = { :git => 'https://github.com/react/react-native.git' }
12
12
  if version == '1000.0.0'
13
13
  # This is an unpublished version, use the latest commit hash of the react-native repo, which we’re presumably in.
14
14
  source[:commit] = `git rev-parse HEAD`.strip if system("git rev-parse --git-dir > /dev/null 2>&1")
@@ -8,7 +8,7 @@ require "json"
8
8
  package = JSON.parse(File.read(File.join(__dir__, "..", "..", "package.json")))
9
9
  version = package['version']
10
10
 
11
- source = { :git => 'https://github.com/facebook/react-native.git' }
11
+ source = { :git => 'https://github.com/react/react-native.git' }
12
12
  if version == '1000.0.0'
13
13
  # This is an unpublished version, use the latest commit hash of the react-native repo, which we’re presumably in.
14
14
  source[:commit] = `git rev-parse HEAD`.strip if system("git rev-parse --git-dir > /dev/null 2>&1")
@@ -9,7 +9,7 @@ require "json"
9
9
  package = JSON.parse(File.read(File.join(__dir__, "..", "..", "package.json")))
10
10
  version = package['version']
11
11
 
12
- source = { :git => 'https://github.com/facebook/react-native.git' }
12
+ source = { :git => 'https://github.com/react/react-native.git' }
13
13
  if version == '1000.0.0'
14
14
  # This is an unpublished version, use the latest commit hash of the react-native repo, which we’re presumably in.
15
15
  source[:commit] = `git rev-parse HEAD`.strip if system("git rev-parse --git-dir > /dev/null 2>&1")
@@ -8,7 +8,7 @@ require "json"
8
8
  package = JSON.parse(File.read(File.join(__dir__, "..", "..", "package.json")))
9
9
  version = package['version']
10
10
 
11
- source = { :git => 'https://github.com/facebook/react-native.git' }
11
+ source = { :git => 'https://github.com/react/react-native.git' }
12
12
  if version == '1000.0.0'
13
13
  # This is an unpublished version, use the latest commit hash of the react-native repo, which we’re presumably in.
14
14
  source[:commit] = `git rev-parse HEAD`.strip if system("git rev-parse --git-dir > /dev/null 2>&1")
@@ -8,7 +8,7 @@ require "json"
8
8
  package = JSON.parse(File.read(File.join(__dir__, "..", "..", "..", "package.json")))
9
9
  version = package['version']
10
10
 
11
- source = { :git => 'https://github.com/facebook/react-native.git' }
11
+ source = { :git => 'https://github.com/react/react-native.git' }
12
12
  if version == '1000.0.0'
13
13
  # This is an unpublished version, use the latest commit hash of the react-native repo, which we’re presumably in.
14
14
  source[:commit] = `git rev-parse HEAD`.strip if system("git rev-parse --git-dir > /dev/null 2>&1")
@@ -17,7 +17,7 @@ namespace facebook::react::unstable_redbox {
17
17
  * by query string stripping of URLs in JavaScriptCore stack traces
18
18
  * introduced in iOS 16.4. This is a direct port of https://www.npmjs.com/package/jsc-safe-url.
19
19
  *
20
- * See https://github.com/facebook/react-native/issues/36794 for context.
20
+ * See https://github.com/react/react-native/issues/36794 for context.
21
21
  */
22
22
 
23
23
  bool isJscSafeUrl(std::string_view url);
@@ -8,7 +8,7 @@ require "json"
8
8
  package = JSON.parse(File.read(File.join(__dir__, "..", "..", "..", "package.json")))
9
9
  version = package['version']
10
10
 
11
- source = { :git => 'https://github.com/facebook/react-native.git' }
11
+ source = { :git => 'https://github.com/react/react-native.git' }
12
12
  if version == '1000.0.0'
13
13
  # This is an unpublished version, use the latest commit hash of the react-native repo, which we’re presumably in.
14
14
  source[:commit] = `git rev-parse HEAD`.strip if system("git rev-parse --git-dir > /dev/null 2>&1")