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.
- package/Libraries/AppDelegate/RCTAppDelegate.h +0 -2
- package/Libraries/AppDelegate/RCTAppDelegate.mm +20 -13
- package/Libraries/Components/Touchable/TouchableBounce.js +4 -0
- package/Libraries/Components/Touchable/TouchableHighlight.js +5 -1
- package/Libraries/Components/Touchable/TouchableNativeFeedback.js +1 -0
- package/Libraries/Components/Touchable/TouchableOpacity.js +1 -0
- package/Libraries/Components/Touchable/TouchableWithoutFeedback.js +1 -0
- package/Libraries/Core/ReactNativeVersion.js +2 -2
- package/Libraries/Inspector/NetworkOverlay.js +1 -1
- package/Libraries/Lists/FillRateHelper.js +3 -3
- package/Libraries/Lists/FlatList.d.ts +1 -1
- package/Libraries/Lists/FlatList.js +2 -2
- package/Libraries/Lists/SectionList.d.ts +1 -1
- package/Libraries/Lists/SectionList.js +2 -2
- package/Libraries/Lists/SectionListModern.js +2 -2
- package/Libraries/Lists/ViewabilityHelper.js +3 -3
- package/Libraries/Lists/VirtualizeUtils.js +2 -2
- package/Libraries/Lists/VirtualizedList.js +9 -2094
- package/Libraries/Lists/VirtualizedListContext.js +2 -2
- package/Libraries/Lists/VirtualizedSectionList.js +3 -3
- package/Libraries/Modal/Modal.js +1 -1
- package/Libraries/Utilities/ReactNativeTestTools.js +1 -1
- package/Libraries/promiseRejectionTrackingOptions.js +5 -0
- package/README.md +11 -10
- package/React/Base/RCTVersion.m +2 -2
- package/React/CoreModules/RCTDeviceInfo.mm +33 -0
- package/React/CoreModules/RCTRedBox.mm +17 -0
- package/React/Fabric/Mounting/ComponentViews/View/RCTViewComponentView.mm +24 -1
- package/React/Modules/RCTUIManager.m +9 -3
- package/React/Views/RCTTVView.m +23 -0
- package/React/Views/ScrollView/RCTScrollView.m +81 -0
- package/ReactAndroid/build.gradle +1 -1
- package/ReactAndroid/gradle.properties +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/ReactActivity.java +1 -0
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/queue/MessageQueueThreadHandler.java +11 -0
- package/ReactAndroid/src/main/java/com/facebook/react/modules/systeminfo/ReactNativeVersion.java +2 -2
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIManagerModuleConstantsHelper.java +9 -1
- package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactEditText.java +29 -4
- package/ReactCommon/cxxreact/ReactNativeVersion.h +2 -2
- package/ReactCommon/react/renderer/components/view/YogaLayoutableShadowNode.cpp +2 -2
- package/ReactCommon/react/renderer/core/EventEmitter.cpp +14 -6
- package/ReactCommon/react/renderer/debug/flags.h +2 -4
- package/ReactCommon/react/renderer/debug/tests/DebugStringConvertibleTest.cpp +2 -0
- package/ReactCommon/react/renderer/templateprocessor/tests/UITemplateProcessorTest.cpp +4 -0
- package/package.json +11 -10
- package/scripts/cocoapods/utils.rb +4 -40
- package/scripts/react-native-xcode.sh +1 -1
- package/scripts/react_native_pods.rb +1 -2
- package/sdks/.hermesversion +1 -1
- package/sdks/hermes-engine/utils/replace_hermes_version.js +1 -1
- package/sdks/hermesc/osx-bin/hermes +0 -0
- package/sdks/hermesc/osx-bin/hermesc +0 -0
- package/sdks/hermesc/win64-bin/hermesc.exe +0 -0
- package/template/Gemfile +4 -2
- package/template/metro.config.js +23 -2
- package/template/package.json +5 -5
- package/third-party-podspecs/boost.podspec +1 -1
- 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
|
-
#
|
|
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
|
-
#
|
|
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.
|
|
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.
|
|
98
|
-
"@react-native-community/cli-platform-android": "12.3.
|
|
99
|
-
"@react-native-community/cli-platform-ios": "12.3.
|
|
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.
|
|
102
|
-
"@react-native/codegen": "0.73.
|
|
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.
|
|
119
|
-
"metro-source-map": "^0.80.
|
|
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.
|
|
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.
|
|
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.
|
|
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
|
-
|
|
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 =
|
|
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)
|
package/sdks/.hermesversion
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
hermes-
|
|
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
|
-
|
|
7
|
-
|
|
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'
|
package/template/metro.config.js
CHANGED
|
@@ -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
|
|
9
|
+
const defaultConfig = getDefaultConfig(__dirname);
|
|
10
10
|
|
|
11
|
-
|
|
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);
|
package/template/package.json
CHANGED
|
@@ -11,17 +11,17 @@
|
|
|
11
11
|
"test": "jest"
|
|
12
12
|
},
|
|
13
13
|
"dependencies": {
|
|
14
|
-
"expo": "^50.0.
|
|
14
|
+
"expo": "^50.0.2",
|
|
15
15
|
"react": "18.2.0",
|
|
16
|
-
"react-native": "npm:react-native-tvos@0.73.
|
|
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.
|
|
23
|
-
"@react-native/eslint-config": "0.73.
|
|
24
|
-
"@react-native/metro-config": "0.73.
|
|
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://
|
|
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';
|