react-native-tvos 0.73.1-3 → 0.73.4-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 (58) hide show
  1. package/Libraries/AppDelegate/RCTAppDelegate.h +0 -2
  2. package/Libraries/AppDelegate/RCTAppDelegate.mm +20 -13
  3. package/Libraries/Components/Touchable/TouchableBounce.js +4 -0
  4. package/Libraries/Components/Touchable/TouchableHighlight.js +5 -1
  5. package/Libraries/Components/Touchable/TouchableNativeFeedback.js +1 -0
  6. package/Libraries/Components/Touchable/TouchableOpacity.js +1 -0
  7. package/Libraries/Components/Touchable/TouchableWithoutFeedback.js +1 -0
  8. package/Libraries/Core/ReactNativeVersion.js +2 -2
  9. package/Libraries/Inspector/NetworkOverlay.js +1 -1
  10. package/Libraries/Lists/FillRateHelper.js +3 -3
  11. package/Libraries/Lists/FlatList.d.ts +1 -1
  12. package/Libraries/Lists/FlatList.js +2 -2
  13. package/Libraries/Lists/SectionList.d.ts +1 -1
  14. package/Libraries/Lists/SectionList.js +2 -2
  15. package/Libraries/Lists/SectionListModern.js +2 -2
  16. package/Libraries/Lists/ViewabilityHelper.js +3 -3
  17. package/Libraries/Lists/VirtualizeUtils.js +2 -2
  18. package/Libraries/Lists/VirtualizedList.js +9 -2094
  19. package/Libraries/Lists/VirtualizedListContext.js +2 -2
  20. package/Libraries/Lists/VirtualizedSectionList.js +3 -3
  21. package/Libraries/Modal/Modal.js +1 -1
  22. package/Libraries/Utilities/ReactNativeTestTools.js +1 -1
  23. package/Libraries/promiseRejectionTrackingOptions.js +5 -0
  24. package/README.md +11 -10
  25. package/React/Base/RCTVersion.m +2 -2
  26. package/React/CoreModules/RCTDeviceInfo.mm +33 -0
  27. package/React/CoreModules/RCTRedBox.mm +17 -0
  28. package/React/Fabric/Mounting/ComponentViews/View/RCTViewComponentView.mm +24 -1
  29. package/React/Modules/RCTUIManager.m +9 -3
  30. package/React/Views/RCTTVView.m +23 -0
  31. package/React/Views/ScrollView/RCTScrollView.m +81 -0
  32. package/ReactAndroid/build.gradle +1 -1
  33. package/ReactAndroid/gradle.properties +1 -1
  34. package/ReactAndroid/src/main/java/com/facebook/react/ReactActivity.java +1 -0
  35. package/ReactAndroid/src/main/java/com/facebook/react/bridge/queue/MessageQueueThreadHandler.java +11 -0
  36. package/ReactAndroid/src/main/java/com/facebook/react/modules/systeminfo/ReactNativeVersion.java +2 -2
  37. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIManagerModuleConstantsHelper.java +9 -1
  38. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactEditText.java +29 -4
  39. package/ReactCommon/cxxreact/ReactNativeVersion.h +2 -2
  40. package/ReactCommon/react/renderer/components/view/YogaLayoutableShadowNode.cpp +2 -2
  41. package/ReactCommon/react/renderer/core/EventEmitter.cpp +14 -6
  42. package/ReactCommon/react/renderer/debug/flags.h +2 -4
  43. package/ReactCommon/react/renderer/debug/tests/DebugStringConvertibleTest.cpp +2 -0
  44. package/ReactCommon/react/renderer/templateprocessor/tests/UITemplateProcessorTest.cpp +4 -0
  45. package/package.json +11 -10
  46. package/scripts/cocoapods/utils.rb +4 -40
  47. package/scripts/react-native-xcode.sh +1 -1
  48. package/scripts/react_native_pods.rb +1 -2
  49. package/sdks/.hermesversion +1 -1
  50. package/sdks/hermes-engine/utils/replace_hermes_version.js +1 -1
  51. package/sdks/hermesc/osx-bin/hermes +0 -0
  52. package/sdks/hermesc/osx-bin/hermesc +0 -0
  53. package/sdks/hermesc/win64-bin/hermesc.exe +0 -0
  54. package/template/Gemfile +4 -2
  55. package/template/metro.config.js +23 -2
  56. package/template/package.json +5 -5
  57. package/third-party-podspecs/boost.podspec +1 -1
  58. package/types/index.d.ts +1 -1
@@ -26,7 +26,7 @@
26
26
  // Enables some Shadow Tree introspection features (maintains a StubViewTree,
27
27
  // and logs prev/next tree and mutations if there are any discrepancies). If you
28
28
  // define this, also define `RN_DEBUG_STRING_CONVERTIBLE`.
29
- #ifdef REACT_NATIVE_DEBUG
29
+ #if (defined(REACT_NATIVE_DEBUG) && defined(WITH_FBSYSTRACE))
30
30
  #define RN_SHADOW_TREE_INTROSPECTION 1
31
31
  #endif
32
32
 
@@ -34,9 +34,7 @@
34
34
  // Enable if `RN_SHADOW_TREE_INTROSPECTION` is enabled.
35
35
  #ifdef RN_SHADOW_TREE_INTROSPECTION
36
36
  #define RN_DEBUG_STRING_CONVERTIBLE 1
37
- #endif
38
-
39
- #ifndef RN_DEBUG_STRING_CONVERTIBLE
37
+ #else
40
38
  #define RN_DEBUG_STRING_CONVERTIBLE 0
41
39
  #endif
42
40
 
@@ -5,6 +5,7 @@
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  */
7
7
 
8
+ #if RN_DEBUG_STRING_CONVERTIBLE
8
9
  #include <memory>
9
10
 
10
11
  #include <gtest/gtest.h>
@@ -82,3 +83,4 @@ TEST(DebugStringConvertibleTest, handleNodeWithComplexProps) {
82
83
  item->getDebugDescription().c_str(),
83
84
  "<View=hello x=1(height=100 width=200)/>");
84
85
  }
86
+ #endif
@@ -5,6 +5,8 @@
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  */
7
7
 
8
+ #if RN_DEBUG_STRING_CONVERTIBLE
9
+
8
10
  #include <exception>
9
11
 
10
12
  #include <glog/logging.h>
@@ -164,3 +166,5 @@ TEST(UITemplateProcessorTest, testConditionalBytecode) {
164
166
  root2->getChildren().at(0)->getProps());
165
167
  ASSERT_STREQ(child_props2->testId.c_str(), "cond_false");
166
168
  }
169
+
170
+ #endif
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-native-tvos",
3
- "version": "0.73.1-3",
3
+ "version": "0.73.4-0",
4
4
  "description": "A framework for building native apps using React",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -94,20 +94,21 @@
94
94
  },
95
95
  "dependencies": {
96
96
  "@jest/create-cache-key-function": "^29.6.3",
97
- "@react-native-community/cli": "12.3.0",
98
- "@react-native-community/cli-platform-android": "12.3.0",
99
- "@react-native-community/cli-platform-ios": "12.3.0",
97
+ "@react-native-community/cli": "12.3.2",
98
+ "@react-native-community/cli-platform-android": "12.3.2",
99
+ "@react-native-community/cli-platform-ios": "12.3.2",
100
100
  "@react-native/assets-registry": "0.73.1",
101
- "@react-native/community-cli-plugin": "0.73.11",
102
- "@react-native/codegen": "0.73.2",
101
+ "@react-native/community-cli-plugin": "0.73.16",
102
+ "@react-native/codegen": "0.73.3",
103
103
  "@react-native/gradle-plugin": "0.73.4",
104
104
  "@react-native/js-polyfills": "0.73.1",
105
105
  "@react-native/normalize-colors": "0.73.2",
106
- "@react-native/virtualized-lists": "0.73.4",
106
+ "@react-native-tvos/virtualized-lists": "0.73.4-0",
107
107
  "abort-controller": "^3.0.0",
108
108
  "anser": "^1.4.9",
109
109
  "ansi-regex": "^5.0.0",
110
110
  "base64-js": "^1.5.1",
111
+ "chalk": "^4.0.0",
111
112
  "deprecated-react-native-prop-types": "^5.0.0",
112
113
  "event-target-shim": "^5.0.1",
113
114
  "flow-enums-runtime": "^0.0.6",
@@ -115,8 +116,8 @@
115
116
  "jest-environment-node": "^29.6.3",
116
117
  "jsc-android": "^250231.0.0",
117
118
  "memoize-one": "^5.0.0",
118
- "metro-runtime": "^0.80.0",
119
- "metro-source-map": "^0.80.0",
119
+ "metro-runtime": "^0.80.3",
120
+ "metro-source-map": "^0.80.3",
120
121
  "mkdirp": "^0.5.1",
121
122
  "nullthrows": "^1.1.1",
122
123
  "pretty-format": "^26.5.2",
@@ -150,6 +151,6 @@
150
151
  ]
151
152
  },
152
153
  "devDependencies": {
153
- "react-native-core": "npm:react-native@0.73.1"
154
+ "react-native-core": "npm:react-native@0.73.4"
154
155
  }
155
156
  }
@@ -162,7 +162,7 @@ class ReactNativePodsUtils
162
162
  project.build_configurations.each do |config|
163
163
  # fix for weak linking
164
164
  self.safe_init(config, other_ld_flags_key)
165
- if self.is_using_xcode15_or_greater(:xcodebuild_manager => xcodebuild_manager)
165
+ if self.is_using_xcode15_0(:xcodebuild_manager => xcodebuild_manager)
166
166
  self.add_value_to_setting_if_missing(config, other_ld_flags_key, xcode15_compatibility_flags)
167
167
  else
168
168
  self.remove_value_to_setting_if_present(config, other_ld_flags_key, xcode15_compatibility_flags)
@@ -391,7 +391,7 @@ class ReactNativePodsUtils
391
391
  end
392
392
  end
393
393
 
394
- def self.is_using_xcode15_or_greater(xcodebuild_manager: Xcodebuild)
394
+ def self.is_using_xcode15_0(xcodebuild_manager: Xcodebuild)
395
395
  xcodebuild_version = xcodebuild_manager.version
396
396
 
397
397
  # The output of xcodebuild -version is something like
@@ -402,7 +402,8 @@ class ReactNativePodsUtils
402
402
  regex = /(\d+)\.(\d+)(?:\.(\d+))?/
403
403
  if match_data = xcodebuild_version.match(regex)
404
404
  major = match_data[1].to_i
405
- return major >= 15
405
+ minor = match_data[2].to_i
406
+ return major == 15 && minor == 0
406
407
  end
407
408
 
408
409
  return false
@@ -542,43 +543,6 @@ class ReactNativePodsUtils
542
543
  ReactNativePodsUtils.update_header_paths_if_depends_on(target_installation_result, "React-ImageManager", header_search_paths)
543
544
  end
544
545
 
545
- def self.get_plist_paths_from(user_project)
546
- info_plists = user_project
547
- .files
548
- .select { |p|
549
- p.name&.end_with?('Info.plist')
550
- }
551
- return info_plists
552
- end
553
-
554
- def self.update_ats_in_plist(plistPaths, parent)
555
- plistPaths.each do |plistPath|
556
- fullPlistPath = File.join(parent, plistPath.path)
557
- plist = Xcodeproj::Plist.read_from_path(fullPlistPath)
558
- ats_configs = {
559
- "NSAllowsArbitraryLoads" => false,
560
- "NSAllowsLocalNetworking" => true,
561
- }
562
- if plist.nil?
563
- plist = {
564
- "NSAppTransportSecurity" => ats_configs
565
- }
566
- else
567
- plist["NSAppTransportSecurity"] ||= {}
568
- plist["NSAppTransportSecurity"] = plist["NSAppTransportSecurity"].merge(ats_configs)
569
- end
570
- Xcodeproj::Plist.write_to_path(plist, fullPlistPath)
571
- end
572
- end
573
-
574
- def self.apply_ats_config(installer)
575
- user_project = installer.aggregate_targets
576
- .map{ |t| t.user_project }
577
- .first
578
- plistPaths = self.get_plist_paths_from(user_project)
579
- self.update_ats_in_plist(plistPaths, user_project.path.parent)
580
- end
581
-
582
546
  def self.react_native_pods
583
547
  return [
584
548
  "DoubleConversion",
@@ -127,7 +127,7 @@ fi
127
127
  PACKAGER_SOURCEMAP_FILE=
128
128
  if [[ $EMIT_SOURCEMAP == true ]]; then
129
129
  if [[ $USE_HERMES != false ]]; then
130
- PACKAGER_SOURCEMAP_FILE="$CONFIGURATION_BUILD_DIR/$(basename $SOURCEMAP_FILE)"
130
+ PACKAGER_SOURCEMAP_FILE="$CONFIGURATION_BUILD_DIR/$(basename "$SOURCEMAP_FILE")"
131
131
  else
132
132
  PACKAGER_SOURCEMAP_FILE="$SOURCEMAP_FILE"
133
133
  fi
@@ -299,7 +299,7 @@ def react_native_post_install(
299
299
  end
300
300
 
301
301
  fabric_enabled = ENV['RCT_FABRIC_ENABLED'] == '1'
302
- hermes_enabled = ReactNativePodsUtils.has_pod(installer, "React-hermes")
302
+ hermes_enabled = ENV['USE_HERMES'] == '1'
303
303
 
304
304
  if hermes_enabled
305
305
  ReactNativePodsUtils.set_gcc_preprocessor_definition_for_React_hermes(installer)
@@ -312,7 +312,6 @@ def react_native_post_install(
312
312
  ReactNativePodsUtils.set_node_modules_user_settings(installer, react_native_path)
313
313
  ReactNativePodsUtils.apply_flags_for_fabric(installer, fabric_enabled: fabric_enabled)
314
314
  ReactNativePodsUtils.apply_xcode_15_patch(installer)
315
- ReactNativePodsUtils.apply_ats_config(installer)
316
315
  ReactNativePodsUtils.updateOSDeploymentTarget(installer)
317
316
 
318
317
  NewArchitectureHelper.set_clang_cxx_language_standard_if_needed(installer)
@@ -1 +1 @@
1
- hermes-2023-11-21-RNv0.73.0-ab91a3dcf7cd8c892ffeb0f9c32730551aa7c2d4
1
+ hermes-2024-01-31-RNv0.73.3-398783c198253f61e0a5eb603f1eb7b55af6baa4
@@ -53,7 +53,7 @@ function shouldReplaceHermesConfiguration(configuration) {
53
53
  }
54
54
 
55
55
  function replaceHermesConfiguration(configuration, version, podsRoot) {
56
- const tarballURLPath = `${podsRoot}/hermes-engine-artifacts/hermes-ios-${version}-${configuration}.tar.gz`;
56
+ const tarballURLPath = `${podsRoot}/hermes-engine-artifacts/hermes-ios-${version.toLowerCase()}-${configuration.toLowerCase()}.tar.gz`;
57
57
 
58
58
  const finalLocation = 'hermes-engine';
59
59
  console.log('Preparing the final location');
Binary file
Binary file
Binary file
package/template/Gemfile CHANGED
@@ -3,5 +3,7 @@ source 'https://rubygems.org'
3
3
  # You may use http://rbenv.org/ or https://rvm.io/ to install and use this version
4
4
  ruby ">= 2.6.10"
5
5
 
6
- gem 'cocoapods', '~> 1.13'
7
- gem 'activesupport', '>= 6.1.7.3', '< 7.1.0'
6
+ # Cocoapods 1.15 introduced a bug which break the build. We will remove the upper
7
+ # bound in the template on Cocoapods with next React Native release.
8
+ gem 'cocoapods', '>= 1.13', '< 1.15'
9
+ gem 'activesupport', '>= 6.1.7.5', '< 7.1.0'
@@ -6,6 +6,27 @@ const {getDefaultConfig, mergeConfig} = require('@react-native/metro-config');
6
6
  *
7
7
  * @type {import('metro-config').MetroConfig}
8
8
  */
9
- const config = {};
9
+ const defaultConfig = getDefaultConfig(__dirname);
10
10
 
11
- module.exports = mergeConfig(getDefaultConfig(__dirname), config);
11
+ const config = {
12
+ // When enabled, the optional code below will allow Metro to resolve
13
+ // and bundle source files with TV-specific extensions
14
+ // (e.g., *.ios.tv.tsx, *.android.tv.tsx, *.tv.tsx)
15
+ //
16
+ // Metro will still resolve source files with standard extensions
17
+ // as usual if TV-specific files are not found for a module.
18
+ //
19
+ // This code is not enabled by default, since it will impact bundling performance,
20
+ // but is available for developers who need this capability.
21
+ //
22
+ // resolver: process.env.BUILDING_FOR_TV
23
+ // ? {
24
+ // sourceExts: [].concat(
25
+ // defaultConfig.resolver.sourceExts.map(e => `tv.${e}`),
26
+ // defaultConfig.resolver.sourceExts,
27
+ // ),
28
+ // }
29
+ // : undefined,
30
+ };
31
+
32
+ module.exports = mergeConfig(defaultConfig, config);
@@ -11,17 +11,17 @@
11
11
  "test": "jest"
12
12
  },
13
13
  "dependencies": {
14
- "expo": "^50.0.0-preview.4",
14
+ "expo": "^50.0.2",
15
15
  "react": "18.2.0",
16
- "react-native": "npm:react-native-tvos@0.73.1-3"
16
+ "react-native": "npm:react-native-tvos@0.73.4-0"
17
17
  },
18
18
  "devDependencies": {
19
19
  "@babel/core": "^7.20.0",
20
20
  "@babel/preset-env": "^7.20.0",
21
21
  "@babel/runtime": "^7.20.0",
22
- "@react-native/babel-preset": "0.73.18",
23
- "@react-native/eslint-config": "0.73.1",
24
- "@react-native/metro-config": "0.73.2",
22
+ "@react-native/babel-preset": "0.73.21",
23
+ "@react-native/eslint-config": "0.73.2",
24
+ "@react-native/metro-config": "0.73.5",
25
25
  "@react-native/typescript-config": "0.73.1",
26
26
  "@types/react": "^18.2.6",
27
27
  "@types/react-test-renderer": "^18.0.0",
@@ -10,7 +10,7 @@ Pod::Spec.new do |spec|
10
10
  spec.homepage = 'http://www.boost.org'
11
11
  spec.summary = 'Boost provides free peer-reviewed portable C++ source libraries.'
12
12
  spec.authors = 'Rene Rivera'
13
- spec.source = { :http => 'https://boostorg.jfrog.io/artifactory/main/release/1.83.0/source/boost_1_83_0.tar.bz2',
13
+ spec.source = { :http => 'https://archives.boost.io/release/1.83.0/source/boost_1_83_0.tar.bz2',
14
14
  :sha256 => '6478edfe2f3305127cffe8caf73ea0176c53769f4bf1585be237eb30798c3b8e' }
15
15
 
16
16
  # Pinning to the same version as React.podspec.
package/types/index.d.ts CHANGED
@@ -116,7 +116,7 @@ export * from '../Libraries/LayoutAnimation/LayoutAnimation';
116
116
  export * from '../Libraries/Linking/Linking';
117
117
  export * from '../Libraries/Lists/FlatList';
118
118
  export * from '../Libraries/Lists/SectionList';
119
- export * from '@react-native/virtualized-lists';
119
+ export * from '@react-native-tvos/virtualized-lists';
120
120
  export * from '../Libraries/LogBox/LogBox';
121
121
  export * from '../Libraries/Modal/Modal';
122
122
  export * as Systrace from '../Libraries/Performance/Systrace';