react-native 0.75.0-rc.4 → 0.75.0-rc.5

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 (98) hide show
  1. package/Libraries/AppDelegate/React-RCTAppDelegate.podspec +1 -1
  2. package/Libraries/Blob/React-RCTBlob.podspec +1 -1
  3. package/Libraries/Core/ReactNativeVersion.js +1 -1
  4. package/Libraries/Image/RCTImageLoader.mm +2 -6
  5. package/Libraries/Image/React-RCTImage.podspec +1 -1
  6. package/Libraries/LinkingIOS/React-RCTLinking.podspec +1 -1
  7. package/Libraries/NativeAnimation/React-RCTAnimation.podspec +1 -1
  8. package/Libraries/Network/RCTNetworkTask.mm +4 -3
  9. package/Libraries/Network/React-RCTNetwork.podspec +1 -1
  10. package/Libraries/PushNotificationIOS/React-RCTPushNotification.podspec +1 -1
  11. package/Libraries/Settings/React-RCTSettings.podspec +1 -1
  12. package/Libraries/Text/React-RCTText.podspec +1 -1
  13. package/Libraries/TypeSafety/RCTTypeSafety.podspec +1 -1
  14. package/Libraries/Utilities/Platform.android.js +1 -1
  15. package/Libraries/Utilities/Platform.d.ts +1 -1
  16. package/Libraries/Utilities/Platform.flow.js +2 -2
  17. package/Libraries/Utilities/Platform.ios.js +1 -1
  18. package/Libraries/Vibration/React-RCTVibration.podspec +1 -1
  19. package/React/Base/RCTVersion.m +1 -1
  20. package/React/CoreModules/RCTPlatform.mm +1 -3
  21. package/React/CoreModules/React-CoreModules.podspec +1 -1
  22. package/React/React-RCTFabric.podspec +1 -1
  23. package/React/Views/RCTComponentData.m +11 -3
  24. package/React-Core.podspec +1 -1
  25. package/ReactAndroid/api/ReactAndroid.api +2 -0
  26. package/ReactAndroid/build.gradle.kts +28 -0
  27. package/ReactAndroid/cmake-utils/ReactNative-application.cmake +5 -0
  28. package/ReactAndroid/gradle.properties +1 -1
  29. package/ReactAndroid/src/main/java/com/facebook/react/bridge/CatalystInstance.kt +4 -1
  30. package/ReactAndroid/src/main/java/com/facebook/react/bridge/Dynamic.kt +4 -4
  31. package/ReactAndroid/src/main/java/com/facebook/react/bridge/NativeModule.java +64 -0
  32. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReadableMap.kt +2 -2
  33. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReadableNativeMap.kt +24 -24
  34. package/ReactAndroid/src/main/java/com/facebook/react/modules/i18nmanager/I18nUtil.kt +11 -0
  35. package/ReactAndroid/src/main/java/com/facebook/react/modules/systeminfo/ReactNativeVersion.java +1 -1
  36. package/ReactAndroid/src/main/java/com/facebook/react/runtime/BridgelessCatalystInstance.kt +3 -1
  37. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/FilterHelper.kt +3 -3
  38. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/LengthPercentage.kt +2 -2
  39. package/ReactAndroid/src/main/java/com/facebook/react/views/imagehelper/ResourceDrawableIdHelper.kt +10 -0
  40. package/ReactAndroid/src/main/jni/react/runtime/jni/CMakeLists.txt +1 -0
  41. package/ReactAndroid/src/main/jni/react/runtime/jni/JReactInstance.cpp +3 -3
  42. package/ReactApple/Libraries/RCTFoundation/RCTDeprecation/RCTDeprecation.podspec +1 -1
  43. package/ReactCommon/React-Fabric.podspec +1 -1
  44. package/ReactCommon/React-FabricComponents.podspec +1 -1
  45. package/ReactCommon/React-FabricImage.podspec +1 -1
  46. package/ReactCommon/React-Mapbuffer.podspec +1 -1
  47. package/ReactCommon/React-nativeconfig.podspec +1 -1
  48. package/ReactCommon/React-rncore.podspec +1 -1
  49. package/ReactCommon/ReactCommon.podspec +1 -1
  50. package/ReactCommon/cxxreact/React-cxxreact.podspec +1 -1
  51. package/ReactCommon/cxxreact/ReactNativeVersion.h +1 -1
  52. package/ReactCommon/hermes/React-hermes.podspec +1 -1
  53. package/ReactCommon/hermes/executor/React-jsitracing.podspec +1 -1
  54. package/ReactCommon/jserrorhandler/React-jserrorhandler.podspec +1 -1
  55. package/ReactCommon/jsiexecutor/React-jsiexecutor.podspec +1 -1
  56. package/ReactCommon/jsinspector-modern/React-jsinspector.podspec +1 -1
  57. package/ReactCommon/react/debug/React-debug.podspec +1 -1
  58. package/ReactCommon/react/featureflags/React-featureflags.podspec +1 -1
  59. package/ReactCommon/react/nativemodule/core/platform/ios/React-NativeModulesApple.podspec +1 -1
  60. package/ReactCommon/react/nativemodule/defaults/React-defaultsnativemodule.podspec +1 -1
  61. package/ReactCommon/react/nativemodule/dom/React-domnativemodule.podspec +1 -1
  62. package/ReactCommon/react/nativemodule/featureflags/React-featureflagsnativemodule.podspec +1 -1
  63. package/ReactCommon/react/nativemodule/idlecallbacks/React-idlecallbacksnativemodule.podspec +1 -1
  64. package/ReactCommon/react/nativemodule/microtasks/React-microtasksnativemodule.podspec +1 -1
  65. package/ReactCommon/react/nativemodule/samples/ReactCommon-Samples.podspec +1 -1
  66. package/ReactCommon/react/performance/timeline/React-performancetimeline.podspec +1 -1
  67. package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/LegacyViewManagerInteropComponentDescriptor.mm +4 -3
  68. package/ReactCommon/react/renderer/consistency/React-rendererconsistency.podspec +1 -1
  69. package/ReactCommon/react/renderer/debug/React-rendererdebug.podspec +1 -1
  70. package/ReactCommon/react/renderer/graphics/React-graphics.podspec +1 -1
  71. package/ReactCommon/react/renderer/imagemanager/platform/ios/React-ImageManager.podspec +1 -1
  72. package/ReactCommon/react/renderer/runtimescheduler/React-runtimescheduler.podspec +1 -1
  73. package/ReactCommon/react/renderer/runtimescheduler/RuntimeScheduler_Modern.cpp +1 -1
  74. package/ReactCommon/react/renderer/runtimescheduler/SchedulerPriorityUtils.h +4 -4
  75. package/ReactCommon/react/renderer/runtimescheduler/tests/RuntimeSchedulerTest.cpp +65 -0
  76. package/ReactCommon/react/renderer/runtimescheduler/tests/SchedulerPriorityTest.cpp +2 -2
  77. package/ReactCommon/react/runtime/React-RuntimeCore.podspec +1 -1
  78. package/ReactCommon/react/runtime/React-RuntimeHermes.podspec +1 -1
  79. package/ReactCommon/react/runtime/platform/ios/React-RuntimeApple.podspec +2 -1
  80. package/ReactCommon/react/runtime/platform/ios/ReactCommon/RCTInstance.mm +2 -2
  81. package/ReactCommon/react/utils/React-utils.podspec +1 -1
  82. package/ReactCommon/reactperflogger/React-perflogger.podspec +2 -1
  83. package/package.json +8 -8
  84. package/scripts/cocoapods/helpers.rb +4 -0
  85. package/scripts/cocoapods/new_architecture.rb +10 -23
  86. package/scripts/cocoapods/privacy_manifest_utils.rb +14 -5
  87. package/scripts/cocoapods/spm.rb +94 -0
  88. package/scripts/react_native_pods.rb +18 -0
  89. package/sdks/hermesc/osx-bin/hermes +0 -0
  90. package/sdks/hermesc/osx-bin/hermesc +0 -0
  91. package/sdks/hermesc/win64-bin/hermesc.exe +0 -0
  92. package/src/private/specs/modules/NativePlatformConstantsAndroid.js +1 -1
  93. package/src/private/specs/modules/NativePlatformConstantsIOS.js +1 -1
  94. package/third-party-podspecs/RCT-Folly.podspec +1 -1
  95. package/third-party-podspecs/fmt.podspec +1 -1
  96. package/ReactAndroid/src/main/java/com/facebook/react/bridge/NativeModule.kt +0 -55
  97. package/ReactCommon/react/runtime/BridgelessJSCallInvoker.cpp +0 -29
  98. package/ReactCommon/react/runtime/BridgelessJSCallInvoker.h +0 -30
@@ -25,7 +25,7 @@ public class LengthPercentage(
25
25
  public companion object {
26
26
  @JvmStatic
27
27
  public fun setFromDynamic(dynamic: Dynamic): LengthPercentage? {
28
- return when (dynamic.getType()) {
28
+ return when (dynamic.type) {
29
29
  ReadableType.Number -> {
30
30
  val value = dynamic.asDouble()
31
31
  if (value >= 0f) {
@@ -54,7 +54,7 @@ public class LengthPercentage(
54
54
  }
55
55
  }
56
56
  else -> {
57
- FLog.w(ReactConstants.TAG, "Unsupported type for radius property: ${dynamic.getType()}")
57
+ FLog.w(ReactConstants.TAG, "Unsupported type for radius property: ${dynamic.type}")
58
58
  null
59
59
  }
60
60
  }
@@ -67,5 +67,15 @@ public class ResourceDrawableIdHelper private constructor() {
67
67
  @JvmStatic
68
68
  public val instance: ResourceDrawableIdHelper
69
69
  get() = resourceDrawableIdHelper
70
+
71
+ /**
72
+ * We're just re-adding this to reduce a breaking change for libraries in React Native 0.75.
73
+ *
74
+ * @deprecated Use instance instead
75
+ */
76
+ @Deprecated("Use .instance instead, this API is for backward compat", ReplaceWith("instance"))
77
+ @JvmName(
78
+ "DEPRECATED\$getInstance") // We intentionally don't want to expose this accessor to Java.
79
+ public fun getInstance(): ResourceDrawableIdHelper = instance
70
80
  }
71
81
  }
@@ -24,6 +24,7 @@ target_link_libraries(
24
24
  rninstance
25
25
  fabricjni
26
26
  react_featureflagsjni
27
+ react_render_runtimescheduler
27
28
  turbomodulejsijni
28
29
  fb
29
30
  jsi
@@ -20,7 +20,7 @@
20
20
  #include <jsireact/JSIExecutor.h>
21
21
  #include <react/jni/JRuntimeExecutor.h>
22
22
  #include <react/jni/JSLogging.h>
23
- #include <react/runtime/BridgelessJSCallInvoker.h>
23
+ #include <react/renderer/runtimescheduler/RuntimeSchedulerCallInvoker.h>
24
24
  #include <react/runtime/BridgelessNativeMethodCallInvoker.h>
25
25
  #include "JavaTimerRegistry.h"
26
26
 
@@ -90,8 +90,8 @@ JReactInstance::JReactInstance(
90
90
 
91
91
  auto unbufferedRuntimeExecutor = instance_->getUnbufferedRuntimeExecutor();
92
92
  // Set up the JS and native modules call invokers (for TurboModules)
93
- auto jsInvoker =
94
- std::make_unique<BridgelessJSCallInvoker>(unbufferedRuntimeExecutor);
93
+ auto jsInvoker = std::make_unique<RuntimeSchedulerCallInvoker>(
94
+ instance_->getRuntimeScheduler());
95
95
  jsCallInvokerHolder_ = jni::make_global(
96
96
  CallInvokerHolder::newObjectCxxArgs(std::move(jsInvoker)));
97
97
  auto nativeMethodCallInvoker =
@@ -19,7 +19,7 @@ Pod::Spec.new do |s|
19
19
  s.source_files = ["Exported/*.h", "RCTDeprecation.m"]
20
20
  s.pod_target_xcconfig = {
21
21
  "DEFINES_MODULE" => "YES",
22
- "CLANG_CXX_LANGUAGE_STANDARD" => "c++20"
22
+ "CLANG_CXX_LANGUAGE_STANDARD" => rct_cxx_language_standard()
23
23
  }
24
24
  s.compiler_flags = "-Wnullable-to-nonnull-conversion -Wnullability-completeness"
25
25
  end
@@ -35,7 +35,7 @@ Pod::Spec.new do |s|
35
35
  s.source = source
36
36
  s.source_files = "dummyFile.cpp"
37
37
  s.pod_target_xcconfig = { "USE_HEADERMAP" => "YES",
38
- "CLANG_CXX_LANGUAGE_STANDARD" => "c++20",
38
+ "CLANG_CXX_LANGUAGE_STANDARD" => rct_cxx_language_standard(),
39
39
  "DEFINES_MODULE" => "YES" }
40
40
 
41
41
  if ENV['USE_FRAMEWORKS']
@@ -54,7 +54,7 @@ Pod::Spec.new do |s|
54
54
  s.source = source
55
55
  s.source_files = "dummyFile.cpp"
56
56
  s.pod_target_xcconfig = { "USE_HEADERMAP" => "YES",
57
- "CLANG_CXX_LANGUAGE_STANDARD" => "c++20",
57
+ "CLANG_CXX_LANGUAGE_STANDARD" => rct_cxx_language_standard(),
58
58
  "DEFINES_MODULE" => "YES",
59
59
  "HEADER_SEARCH_PATHS" => header_search_path.join(" "),
60
60
  }
@@ -56,7 +56,7 @@ Pod::Spec.new do |s|
56
56
  s.header_dir = "react/renderer/components/image"
57
57
  s.compiler_flags = folly_compiler_flags
58
58
  s.pod_target_xcconfig = { "USE_HEADERMAP" => "YES",
59
- "CLANG_CXX_LANGUAGE_STANDARD" => "c++20",
59
+ "CLANG_CXX_LANGUAGE_STANDARD" => rct_cxx_language_standard(),
60
60
  "HEADER_SEARCH_PATHS" => header_search_path.join(" ")
61
61
  }
62
62
 
@@ -30,7 +30,7 @@ Pod::Spec.new do |s|
30
30
  s.public_header_files = 'react/renderer/mapbuffer/*.h'
31
31
  s.header_dir = "react/renderer/mapbuffer"
32
32
  s.pod_target_xcconfig = { "HEADER_SEARCH_PATHS" => "\"$(PODS_TARGET_SRCROOT)\"", "USE_HEADERMAP" => "YES",
33
- "CLANG_CXX_LANGUAGE_STANDARD" => "c++20" }
33
+ "CLANG_CXX_LANGUAGE_STANDARD" => rct_cxx_language_standard() }
34
34
 
35
35
  if ENV['USE_FRAMEWORKS']
36
36
  s.header_mappings_dir = './'
@@ -27,7 +27,7 @@ Pod::Spec.new do |s|
27
27
  s.source = source
28
28
  s.source_files = "react/config/*.{m,mm,cpp,h}"
29
29
  s.header_dir = "react/config"
30
- s.pod_target_xcconfig = { "CLANG_CXX_LANGUAGE_STANDARD" => "c++20" }
30
+ s.pod_target_xcconfig = { "CLANG_CXX_LANGUAGE_STANDARD" => rct_cxx_language_standard() }
31
31
 
32
32
  if ENV['USE_FRAMEWORKS']
33
33
  s.header_mappings_dir = './'
@@ -48,5 +48,5 @@ Pod::Spec.new do |s|
48
48
  s.source_files = "dummyFile.cpp"
49
49
  s.pod_target_xcconfig = { "USE_HEADERMAP" => "YES",
50
50
  "HEADER_SEARCH_PATHS" => header_search_paths.join(' '),
51
- "CLANG_CXX_LANGUAGE_STANDARD" => "c++20" }
51
+ "CLANG_CXX_LANGUAGE_STANDARD" => rct_cxx_language_standard() }
52
52
  end
@@ -37,7 +37,7 @@ Pod::Spec.new do |s|
37
37
  s.pod_target_xcconfig = { "HEADER_SEARCH_PATHS" => "\"$(PODS_ROOT)/boost\" \"$(PODS_ROOT)/RCT-Folly\" \"$(PODS_ROOT)/DoubleConversion\" \"$(PODS_ROOT)/fmt/include\" \"$(PODS_ROOT)/Headers/Private/React-Core\"",
38
38
  "USE_HEADERMAP" => "YES",
39
39
  "DEFINES_MODULE" => "YES",
40
- "CLANG_CXX_LANGUAGE_STANDARD" => "c++20",
40
+ "CLANG_CXX_LANGUAGE_STANDARD" => rct_cxx_language_standard(),
41
41
  "GCC_WARN_PEDANTIC" => "YES" }
42
42
  if ENV['USE_FRAMEWORKS']
43
43
  s.header_mappings_dir = './'
@@ -36,7 +36,7 @@ Pod::Spec.new do |s|
36
36
  s.compiler_flags = folly_compiler_flags + ' ' + boost_compiler_flags
37
37
  s.pod_target_xcconfig = {
38
38
  "HEADER_SEARCH_PATHS" => "\"$(PODS_ROOT)/boost\" \"$(PODS_ROOT)/RCT-Folly\" \"$(PODS_ROOT)/DoubleConversion\" \"$(PODS_ROOT)/fmt/include\" \"$(PODS_CONFIGURATION_BUILD_DIR)/React-debug/React_debug.framework/Headers\" \"${PODS_CONFIGURATION_BUILD_DIR}/React-runtimeexecutor/React_runtimeexecutor.framework/Headers\"",
39
- "CLANG_CXX_LANGUAGE_STANDARD" => "c++20"
39
+ "CLANG_CXX_LANGUAGE_STANDARD" => rct_cxx_language_standard()
40
40
  }
41
41
  s.header_dir = "cxxreact"
42
42
 
@@ -18,7 +18,7 @@ constexpr struct {
18
18
  int32_t Major = 0;
19
19
  int32_t Minor = 75;
20
20
  int32_t Patch = 0;
21
- std::string_view Prerelease = "rc.4";
21
+ std::string_view Prerelease = "rc.5";
22
22
  } ReactNativeVersion;
23
23
 
24
24
  } // namespace facebook::react
@@ -37,7 +37,7 @@ Pod::Spec.new do |s|
37
37
  s.compiler_flags = folly_compiler_flags + ' ' + boost_compiler_flags
38
38
  s.pod_target_xcconfig = {
39
39
  "HEADER_SEARCH_PATHS" => "\"${PODS_ROOT}/hermes-engine/destroot/include\" \"$(PODS_TARGET_SRCROOT)/..\" \"$(PODS_ROOT)/boost\" \"$(PODS_ROOT)/RCT-Folly\" \"$(PODS_ROOT)/DoubleConversion\" \"$(PODS_ROOT)/fmt/include\"",
40
- "CLANG_CXX_LANGUAGE_STANDARD" => "c++20"
40
+ "CLANG_CXX_LANGUAGE_STANDARD" => rct_cxx_language_standard()
41
41
  }
42
42
  s.header_dir = "reacthermes"
43
43
  s.dependency "React-cxxreact", version
@@ -29,7 +29,7 @@ Pod::Spec.new do |s|
29
29
  s.header_dir = "."
30
30
  s.pod_target_xcconfig = { "HEADER_SEARCH_PATHS" => "\"${PODS_TARGET_SRCROOT}/../..\"",
31
31
  "USE_HEADERMAP" => "YES",
32
- "CLANG_CXX_LANGUAGE_STANDARD" => "c++20",
32
+ "CLANG_CXX_LANGUAGE_STANDARD" => rct_cxx_language_standard(),
33
33
  "GCC_WARN_PEDANTIC" => "YES" }
34
34
 
35
35
  if ENV['USE_FRAMEWORKS']
@@ -36,7 +36,7 @@ Pod::Spec.new do |s|
36
36
  s.source_files = "JsErrorHandler.{cpp,h}"
37
37
  s.pod_target_xcconfig = {
38
38
  "USE_HEADERMAP" => "YES",
39
- "CLANG_CXX_LANGUAGE_STANDARD" => "c++20"
39
+ "CLANG_CXX_LANGUAGE_STANDARD" => rct_cxx_language_standard()
40
40
  }
41
41
  s.compiler_flags = folly_compiler_flags + ' ' + boost_compiler_flags
42
42
 
@@ -33,7 +33,7 @@ Pod::Spec.new do |s|
33
33
  s.source_files = "jsireact/*.{cpp,h}"
34
34
  s.compiler_flags = folly_compiler_flags + ' ' + boost_compiler_flags
35
35
  s.pod_target_xcconfig = { "HEADER_SEARCH_PATHS" => "\"$(PODS_ROOT)/boost\" \"$(PODS_ROOT)/RCT-Folly\" \"$(PODS_ROOT)/DoubleConversion\" \"$(PODS_ROOT)/fmt/include\"",
36
- "CLANG_CXX_LANGUAGE_STANDARD" => "c++20" }
36
+ "CLANG_CXX_LANGUAGE_STANDARD" => rct_cxx_language_standard() }
37
37
  s.header_dir = "jsireact"
38
38
 
39
39
  s.dependency "React-cxxreact", version
@@ -38,7 +38,7 @@ Pod::Spec.new do |s|
38
38
  s.compiler_flags = folly_compiler_flags
39
39
  s.pod_target_xcconfig = {
40
40
  "HEADER_SEARCH_PATHS" => "\"$(PODS_TARGET_SRCROOT)/..\" \"$(PODS_ROOT)/boost\" \"$(PODS_ROOT)/RCT-Folly\" \"$(PODS_ROOT)/DoubleConversion\" \"$(PODS_ROOT)/fmt/include\"",
41
- "CLANG_CXX_LANGUAGE_STANDARD" => "c++20",
41
+ "CLANG_CXX_LANGUAGE_STANDARD" => rct_cxx_language_standard(),
42
42
  "DEFINES_MODULE" => "YES"
43
43
  }.merge!(use_frameworks ? {
44
44
  "PUBLIC_HEADERS_FOLDER_PATH" => "#{module_name}.framework/Headers/#{header_dir}"
@@ -27,7 +27,7 @@ Pod::Spec.new do |s|
27
27
  s.source = source
28
28
  s.source_files = "**/*.{cpp,h}"
29
29
  s.header_dir = "react/debug"
30
- s.pod_target_xcconfig = { "CLANG_CXX_LANGUAGE_STANDARD" => "c++20",
30
+ s.pod_target_xcconfig = { "CLANG_CXX_LANGUAGE_STANDARD" => rct_cxx_language_standard(),
31
31
  "DEFINES_MODULE" => "YES" }
32
32
 
33
33
  if ENV['USE_FRAMEWORKS']
@@ -33,7 +33,7 @@ Pod::Spec.new do |s|
33
33
  s.source = source
34
34
  s.source_files = "*.{cpp,h}"
35
35
  s.header_dir = "react/featureflags"
36
- s.pod_target_xcconfig = { "CLANG_CXX_LANGUAGE_STANDARD" => "c++20",
36
+ s.pod_target_xcconfig = { "CLANG_CXX_LANGUAGE_STANDARD" => rct_cxx_language_standard(),
37
37
  "HEADER_SEARCH_PATHS" => header_search_paths.join(' '),
38
38
  "DEFINES_MODULE" => "YES" }
39
39
 
@@ -36,7 +36,7 @@ Pod::Spec.new do |s|
36
36
  s.compiler_flags = folly_compiler_flags + ' ' + boost_compiler_flags
37
37
  s.pod_target_xcconfig = { "HEADER_SEARCH_PATHS" => "\"$(PODS_ROOT)/boost\" \"$(PODS_ROOT)/RCT-Folly\" \"$(PODS_ROOT)/DoubleConversion\" \"$(PODS_ROOT)/fmt/include\" \"$(PODS_ROOT)/Headers/Private/React-Core\"",
38
38
  "USE_HEADERMAP" => "YES",
39
- "CLANG_CXX_LANGUAGE_STANDARD" => "c++20",
39
+ "CLANG_CXX_LANGUAGE_STANDARD" => rct_cxx_language_standard(),
40
40
  "GCC_WARN_PEDANTIC" => "YES" }
41
41
  if ENV['USE_FRAMEWORKS']
42
42
  s.header_mappings_dir = './'
@@ -33,7 +33,7 @@ Pod::Spec.new do |s|
33
33
  s.source = source
34
34
  s.source_files = "*.{cpp,h}"
35
35
  s.header_dir = "react/nativemodule/defaults"
36
- s.pod_target_xcconfig = { "CLANG_CXX_LANGUAGE_STANDARD" => "c++20",
36
+ s.pod_target_xcconfig = { "CLANG_CXX_LANGUAGE_STANDARD" => rct_cxx_language_standard(),
37
37
  "HEADER_SEARCH_PATHS" => header_search_paths.join(' '),
38
38
  "DEFINES_MODULE" => "YES" }
39
39
 
@@ -33,7 +33,7 @@ Pod::Spec.new do |s|
33
33
  s.source = source
34
34
  s.source_files = "*.{cpp,h}"
35
35
  s.header_dir = "react/nativemodule/dom"
36
- s.pod_target_xcconfig = { "CLANG_CXX_LANGUAGE_STANDARD" => "c++20",
36
+ s.pod_target_xcconfig = { "CLANG_CXX_LANGUAGE_STANDARD" => rct_cxx_language_standard(),
37
37
  "HEADER_SEARCH_PATHS" => header_search_paths.join(' '),
38
38
  "DEFINES_MODULE" => "YES" }
39
39
 
@@ -33,7 +33,7 @@ Pod::Spec.new do |s|
33
33
  s.source = source
34
34
  s.source_files = "*.{cpp,h}"
35
35
  s.header_dir = "react/nativemodule/featureflags"
36
- s.pod_target_xcconfig = { "CLANG_CXX_LANGUAGE_STANDARD" => "c++20",
36
+ s.pod_target_xcconfig = { "CLANG_CXX_LANGUAGE_STANDARD" => rct_cxx_language_standard(),
37
37
  "HEADER_SEARCH_PATHS" => header_search_paths.join(' '),
38
38
  "DEFINES_MODULE" => "YES" }
39
39
 
@@ -33,7 +33,7 @@ Pod::Spec.new do |s|
33
33
  s.source = source
34
34
  s.source_files = "*.{cpp,h}"
35
35
  s.header_dir = "react/nativemodule/idlecallbacks"
36
- s.pod_target_xcconfig = { "CLANG_CXX_LANGUAGE_STANDARD" => "c++20",
36
+ s.pod_target_xcconfig = { "CLANG_CXX_LANGUAGE_STANDARD" => rct_cxx_language_standard(),
37
37
  "HEADER_SEARCH_PATHS" => header_search_paths.join(' '),
38
38
  "DEFINES_MODULE" => "YES" }
39
39
 
@@ -33,7 +33,7 @@ Pod::Spec.new do |s|
33
33
  s.source = source
34
34
  s.source_files = "*.{cpp,h}"
35
35
  s.header_dir = "react/nativemodule/microtasks"
36
- s.pod_target_xcconfig = { "CLANG_CXX_LANGUAGE_STANDARD" => "c++20",
36
+ s.pod_target_xcconfig = { "CLANG_CXX_LANGUAGE_STANDARD" => rct_cxx_language_standard(),
37
37
  "HEADER_SEARCH_PATHS" => header_search_paths.join(' '),
38
38
  "DEFINES_MODULE" => "YES" }
39
39
 
@@ -47,7 +47,7 @@ Pod::Spec.new do |s|
47
47
  s.compiler_flags = folly_compiler_flags + ' ' + boost_compiler_flags
48
48
  s.pod_target_xcconfig = { "HEADER_SEARCH_PATHS" => header_search_paths,
49
49
  "USE_HEADERMAP" => "YES",
50
- "CLANG_CXX_LANGUAGE_STANDARD" => "c++20",
50
+ "CLANG_CXX_LANGUAGE_STANDARD" => rct_cxx_language_standard(),
51
51
  "GCC_WARN_PEDANTIC" => "YES" }
52
52
  if ENV['USE_FRAMEWORKS']
53
53
  s.header_mappings_dir = './'
@@ -43,7 +43,7 @@ Pod::Spec.new do |s|
43
43
  s.header_dir = "react/performance/timeline"
44
44
  s.exclude_files = "tests"
45
45
  s.pod_target_xcconfig = {
46
- "CLANG_CXX_LANGUAGE_STANDARD" => "c++20",
46
+ "CLANG_CXX_LANGUAGE_STANDARD" => rct_cxx_language_standard(),
47
47
  "HEADER_SEARCH_PATHS" => header_search_paths.join(' ')}
48
48
 
49
49
  if ENV['USE_FRAMEWORKS']
@@ -125,9 +125,10 @@ static const std::shared_ptr<void> constructCoordinator(
125
125
  bridgeModuleDecorator = unwrapManagedObject(optionalModuleDecorator.value());
126
126
  }
127
127
 
128
- RCTComponentData *componentData = [[RCTComponentData alloc] initWithManagerClass:viewManagerClass
129
- bridge:bridge
130
- eventDispatcher:eventDispatcher];
128
+ RCTComponentData *componentData =
129
+ [[RCTComponentData alloc] initWithManagerClass:viewManagerClass
130
+ bridge:bridge != nil ? bridge : (RCTBridge *)bridgeProxy
131
+ eventDispatcher:eventDispatcher];
131
132
  return wrapManagedObject([[RCTLegacyViewManagerInteropCoordinator alloc]
132
133
  initWithComponentData:componentData
133
134
  bridge:bridge
@@ -35,7 +35,7 @@ Pod::Spec.new do |s|
35
35
  s.header_dir = "react/renderer/consistency"
36
36
  s.exclude_files = "tests"
37
37
  s.pod_target_xcconfig = {
38
- "CLANG_CXX_LANGUAGE_STANDARD" => "c++20",
38
+ "CLANG_CXX_LANGUAGE_STANDARD" => rct_cxx_language_standard(),
39
39
  "HEADER_SEARCH_PATHS" => header_search_paths.join(' ')}
40
40
 
41
41
  if ENV['USE_FRAMEWORKS']
@@ -45,7 +45,7 @@ Pod::Spec.new do |s|
45
45
  s.header_dir = "react/renderer/debug"
46
46
  s.exclude_files = "tests"
47
47
  s.pod_target_xcconfig = {
48
- "CLANG_CXX_LANGUAGE_STANDARD" => "c++20",
48
+ "CLANG_CXX_LANGUAGE_STANDARD" => rct_cxx_language_standard(),
49
49
  "HEADER_SEARCH_PATHS" => header_search_paths.join(' '),
50
50
  "DEFINES_MODULE" => "YES"
51
51
  }
@@ -57,7 +57,7 @@ Pod::Spec.new do |s|
57
57
  s.pod_target_xcconfig = { "USE_HEADERMAP" => "NO",
58
58
  "HEADER_SEARCH_PATHS" => header_search_paths.join(" "),
59
59
  "DEFINES_MODULE" => "YES",
60
- "CLANG_CXX_LANGUAGE_STANDARD" => "c++20" }
60
+ "CLANG_CXX_LANGUAGE_STANDARD" => rct_cxx_language_standard() }
61
61
 
62
62
  s.dependency "glog"
63
63
  s.dependency "RCT-Folly/Fabric", folly_version
@@ -50,7 +50,7 @@ Pod::Spec.new do |s|
50
50
  s.pod_target_xcconfig = {
51
51
  "USE_HEADERMAP" => "NO",
52
52
  "HEADER_SEARCH_PATHS" => header_search_paths,
53
- "CLANG_CXX_LANGUAGE_STANDARD" => "c++20",
53
+ "CLANG_CXX_LANGUAGE_STANDARD" => rct_cxx_language_standard(),
54
54
  "DEFINES_MODULE" => "YES",
55
55
  }
56
56
 
@@ -43,7 +43,7 @@ Pod::Spec.new do |s|
43
43
  s.header_dir = "react/renderer/runtimescheduler"
44
44
  s.exclude_files = "tests"
45
45
  s.pod_target_xcconfig = {
46
- "CLANG_CXX_LANGUAGE_STANDARD" => "c++20",
46
+ "CLANG_CXX_LANGUAGE_STANDARD" => rct_cxx_language_standard(),
47
47
  "HEADER_SEARCH_PATHS" => header_search_paths.join(' ')}
48
48
 
49
49
  if ENV['USE_FRAMEWORKS']
@@ -24,7 +24,7 @@ std::chrono::milliseconds getResolvedTimeoutForIdleTask(
24
24
  timeoutForSchedulerPriority(SchedulerPriority::IdlePriority)
25
25
  ? timeoutForSchedulerPriority(SchedulerPriority::LowPriority) +
26
26
  customTimeout
27
- : timeoutForSchedulerPriority(SchedulerPriority::IdlePriority);
27
+ : customTimeout;
28
28
  }
29
29
  } // namespace
30
30
 
@@ -41,15 +41,15 @@ static inline std::chrono::milliseconds timeoutForSchedulerPriority(
41
41
  SchedulerPriority schedulerPriority) noexcept {
42
42
  switch (schedulerPriority) {
43
43
  case SchedulerPriority::ImmediatePriority:
44
- return std::chrono::milliseconds(-1);
44
+ return std::chrono::milliseconds(0);
45
45
  case SchedulerPriority::UserBlockingPriority:
46
46
  return std::chrono::milliseconds(250);
47
47
  case SchedulerPriority::NormalPriority:
48
- return std::chrono::milliseconds(5000);
48
+ return std::chrono::seconds(5);
49
49
  case SchedulerPriority::LowPriority:
50
- return std::chrono::milliseconds(10'000);
50
+ return std::chrono::seconds(10);
51
51
  case SchedulerPriority::IdlePriority:
52
- return std::chrono::milliseconds::max();
52
+ return std::chrono::minutes(5);
53
53
  }
54
54
  }
55
55
 
@@ -332,6 +332,71 @@ TEST_P(RuntimeSchedulerTest, scheduleTwoTasksWithDifferentPriorities) {
332
332
  EXPECT_EQ(hostFunctionCallCount_, 2);
333
333
  }
334
334
 
335
+ TEST_P(RuntimeSchedulerTest, scheduleTwoTasksWithAllPriorities) {
336
+ uint idlePriorityTaskCallOrder = 0;
337
+ auto idlePriTask = createHostFunctionFromLambda(
338
+ [this, &idlePriorityTaskCallOrder](bool /*unused*/) {
339
+ idlePriorityTaskCallOrder = hostFunctionCallCount_;
340
+ return jsi::Value::undefined();
341
+ });
342
+
343
+ uint lowPriorityTaskCallOrder = 0;
344
+ auto lowPriTask = createHostFunctionFromLambda(
345
+ [this, &lowPriorityTaskCallOrder](bool /*unused*/) {
346
+ lowPriorityTaskCallOrder = hostFunctionCallCount_;
347
+ return jsi::Value::undefined();
348
+ });
349
+
350
+ uint normalPriorityTaskCallOrder = 0;
351
+ auto normalPriTask = createHostFunctionFromLambda(
352
+ [this, &normalPriorityTaskCallOrder](bool /*unused*/) {
353
+ normalPriorityTaskCallOrder = hostFunctionCallCount_;
354
+ return jsi::Value::undefined();
355
+ });
356
+
357
+ uint userBlockingPriorityTaskCallOrder = 0;
358
+ auto userBlockingPriTask = createHostFunctionFromLambda(
359
+ [this, &userBlockingPriorityTaskCallOrder](bool /*unused*/) {
360
+ userBlockingPriorityTaskCallOrder = hostFunctionCallCount_;
361
+ return jsi::Value::undefined();
362
+ });
363
+
364
+ uint immediatePriorityTaskCallOrder = 0;
365
+ auto immediatePriTask = createHostFunctionFromLambda(
366
+ [this, &immediatePriorityTaskCallOrder](bool /*unused*/) {
367
+ immediatePriorityTaskCallOrder = hostFunctionCallCount_;
368
+ return jsi::Value::undefined();
369
+ });
370
+
371
+ runtimeScheduler_->scheduleTask(
372
+ SchedulerPriority::IdlePriority, std::move(idlePriTask));
373
+ runtimeScheduler_->scheduleTask(
374
+ SchedulerPriority::LowPriority, std::move(lowPriTask));
375
+ runtimeScheduler_->scheduleTask(
376
+ SchedulerPriority::NormalPriority, std::move(normalPriTask));
377
+ runtimeScheduler_->scheduleTask(
378
+ SchedulerPriority::UserBlockingPriority, std::move(userBlockingPriTask));
379
+ runtimeScheduler_->scheduleTask(
380
+ SchedulerPriority::ImmediatePriority, std::move(immediatePriTask));
381
+
382
+ EXPECT_EQ(idlePriorityTaskCallOrder, 0);
383
+ EXPECT_EQ(lowPriorityTaskCallOrder, 0);
384
+ EXPECT_EQ(normalPriorityTaskCallOrder, 0);
385
+ EXPECT_EQ(userBlockingPriorityTaskCallOrder, 0);
386
+ EXPECT_EQ(immediatePriorityTaskCallOrder, 0);
387
+ EXPECT_EQ(stubQueue_->size(), 1);
388
+
389
+ stubQueue_->tick();
390
+
391
+ EXPECT_EQ(idlePriorityTaskCallOrder, 5);
392
+ EXPECT_EQ(lowPriorityTaskCallOrder, 4);
393
+ EXPECT_EQ(normalPriorityTaskCallOrder, 3);
394
+ EXPECT_EQ(userBlockingPriorityTaskCallOrder, 2);
395
+ EXPECT_EQ(immediatePriorityTaskCallOrder, 1);
396
+ EXPECT_EQ(stubQueue_->size(), 0);
397
+ EXPECT_EQ(hostFunctionCallCount_, 5);
398
+ }
399
+
335
400
  TEST_P(RuntimeSchedulerTest, cancelTask) {
336
401
  bool didRunTask = false;
337
402
  auto callback = createHostFunctionFromLambda([&didRunTask](bool /*unused*/) {
@@ -31,7 +31,7 @@ TEST(SchedulerPriorityTest, serialize) {
31
31
  TEST(SchedulerPriorityTest, timeoutForSchedulerPriority) {
32
32
  EXPECT_EQ(
33
33
  timeoutForSchedulerPriority(SchedulerPriority::ImmediatePriority),
34
- std::chrono::milliseconds(-1));
34
+ std::chrono::milliseconds(0));
35
35
  EXPECT_EQ(
36
36
  timeoutForSchedulerPriority(SchedulerPriority::UserBlockingPriority),
37
37
  std::chrono::milliseconds(250));
@@ -43,5 +43,5 @@ TEST(SchedulerPriorityTest, timeoutForSchedulerPriority) {
43
43
  std::chrono::seconds(10));
44
44
  EXPECT_EQ(
45
45
  timeoutForSchedulerPriority(SchedulerPriority::IdlePriority),
46
- std::chrono::milliseconds::max());
46
+ std::chrono::minutes(5));
47
47
  }
@@ -37,7 +37,7 @@ Pod::Spec.new do |s|
37
37
  s.header_dir = "react/runtime"
38
38
  s.pod_target_xcconfig = { "HEADER_SEARCH_PATHS" => "\"$(PODS_ROOT)/boost\" \"$(PODS_ROOT)/Headers/Private/React-Core\" \"${PODS_TARGET_SRCROOT}/../..\"",
39
39
  "USE_HEADERMAP" => "YES",
40
- "CLANG_CXX_LANGUAGE_STANDARD" => "c++20",
40
+ "CLANG_CXX_LANGUAGE_STANDARD" => rct_cxx_language_standard(),
41
41
  "GCC_WARN_PEDANTIC" => "YES" }
42
42
  s.compiler_flags = folly_compiler_flags + ' ' + boost_compiler_flags
43
43
 
@@ -35,7 +35,7 @@ Pod::Spec.new do |s|
35
35
  s.header_dir = "react/runtime/hermes"
36
36
  s.pod_target_xcconfig = { "HEADER_SEARCH_PATHS" => "\"${PODS_TARGET_SRCROOT}/../..\" \"${PODS_TARGET_SRCROOT}/../../hermes/executor\" \"$(PODS_ROOT)/boost\"",
37
37
  "USE_HEADERMAP" => "YES",
38
- "CLANG_CXX_LANGUAGE_STANDARD" => "c++20",
38
+ "CLANG_CXX_LANGUAGE_STANDARD" => rct_cxx_language_standard(),
39
39
  "GCC_WARN_PEDANTIC" => "YES" }
40
40
  s.compiler_flags = folly_compiler_flags + ' ' + boost_compiler_flags
41
41
 
@@ -42,7 +42,7 @@ Pod::Spec.new do |s|
42
42
  s.header_dir = "ReactCommon"
43
43
  s.pod_target_xcconfig = { "HEADER_SEARCH_PATHS" => header_search_paths,
44
44
  "USE_HEADERMAP" => "YES",
45
- "CLANG_CXX_LANGUAGE_STANDARD" => "c++20",
45
+ "CLANG_CXX_LANGUAGE_STANDARD" => rct_cxx_language_standard(),
46
46
  "GCC_WARN_PEDANTIC" => "YES" }
47
47
  s.compiler_flags = folly_compiler_flags + ' ' + boost_compiler_flags
48
48
 
@@ -56,6 +56,7 @@ Pod::Spec.new do |s|
56
56
  s.dependency "React-cxxreact"
57
57
  s.dependency "React-callinvoker"
58
58
  s.dependency "React-runtimeexecutor"
59
+ s.dependency "React-runtimescheduler"
59
60
  s.dependency "React-utils"
60
61
  s.dependency "React-jsi"
61
62
  s.dependency "React-Core/Default"
@@ -37,7 +37,7 @@
37
37
  #import <cxxreact/ReactMarker.h>
38
38
  #import <jsinspector-modern/ReactCdp.h>
39
39
  #import <jsireact/JSIExecutor.h>
40
- #import <react/runtime/BridgelessJSCallInvoker.h>
40
+ #import <react/renderer/runtimescheduler/RuntimeSchedulerCallInvoker.h>
41
41
  #import <react/utils/ContextContainer.h>
42
42
  #import <react/utils/ManagedObjectWrapper.h>
43
43
 
@@ -249,7 +249,7 @@ void RCTInstanceSetRuntimeDiagnosticFlags(NSString *flags)
249
249
  RuntimeExecutor bufferedRuntimeExecutor = _reactInstance->getBufferedRuntimeExecutor();
250
250
  timerManager->setRuntimeExecutor(bufferedRuntimeExecutor);
251
251
 
252
- auto jsCallInvoker = make_shared<BridgelessJSCallInvoker>(bufferedRuntimeExecutor);
252
+ auto jsCallInvoker = make_shared<RuntimeSchedulerCallInvoker>(_reactInstance->getRuntimeScheduler());
253
253
  RCTBridgeProxy *bridgeProxy =
254
254
  [[RCTBridgeProxy alloc] initWithViewRegistry:_bridgeModuleDecorator.viewRegistry_DEPRECATED
255
255
  moduleRegistry:_bridgeModuleDecorator.moduleRegistry
@@ -39,7 +39,7 @@ Pod::Spec.new do |s|
39
39
  s.compiler_flags = folly_compiler_flags
40
40
  s.header_dir = "react/utils"
41
41
  s.exclude_files = "tests"
42
- s.pod_target_xcconfig = { "CLANG_CXX_LANGUAGE_STANDARD" => "c++20",
42
+ s.pod_target_xcconfig = { "CLANG_CXX_LANGUAGE_STANDARD" => rct_cxx_language_standard(),
43
43
  "HEADER_SEARCH_PATHS" => header_search_paths.join(' '),
44
44
  "DEFINES_MODULE" => "YES" }
45
45
 
@@ -32,5 +32,6 @@ Pod::Spec.new do |s|
32
32
  s.source = source
33
33
  s.source_files = "**/*.{cpp,h}"
34
34
  s.header_dir = "reactperflogger"
35
- s.pod_target_xcconfig = { "CLANG_CXX_LANGUAGE_STANDARD" => "c++20" }
35
+ s.pod_target_xcconfig = { "CLANG_CXX_LANGUAGE_STANDARD" => rct_cxx_language_standard() }
36
+ s.compiler_flags = folly_compiler_flags
36
37
  end
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-native",
3
- "version": "0.75.0-rc.4",
3
+ "version": "0.75.0-rc.5",
4
4
  "description": "A framework for building native apps using React",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -112,13 +112,13 @@
112
112
  "@react-native-community/cli": "14.0.0-alpha.11",
113
113
  "@react-native-community/cli-platform-android": "14.0.0-alpha.11",
114
114
  "@react-native-community/cli-platform-ios": "14.0.0-alpha.11",
115
- "@react-native/assets-registry": "0.75.0-rc.4",
116
- "@react-native/codegen": "0.75.0-rc.4",
117
- "@react-native/community-cli-plugin": "0.75.0-rc.4",
118
- "@react-native/gradle-plugin": "0.75.0-rc.4",
119
- "@react-native/js-polyfills": "0.75.0-rc.4",
120
- "@react-native/normalize-colors": "0.75.0-rc.4",
121
- "@react-native/virtualized-lists": "0.75.0-rc.4",
115
+ "@react-native/assets-registry": "0.75.0-rc.5",
116
+ "@react-native/codegen": "0.75.0-rc.5",
117
+ "@react-native/community-cli-plugin": "0.75.0-rc.5",
118
+ "@react-native/gradle-plugin": "0.75.0-rc.5",
119
+ "@react-native/js-polyfills": "0.75.0-rc.5",
120
+ "@react-native/normalize-colors": "0.75.0-rc.5",
121
+ "@react-native/virtualized-lists": "0.75.0-rc.5",
122
122
  "abort-controller": "^3.0.0",
123
123
  "anser": "^1.4.9",
124
124
  "ansi-regex": "^5.0.0",