react-native-windows 0.71.4 → 0.71.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/Directory.Build.props +19 -19
- package/Libraries/Blob/Blob.js +6 -0
- package/Libraries/Components/TextInput/TextInput.js +12 -5
- package/Libraries/Components/TextInput/TextInput.windows.js +12 -5
- package/Libraries/Core/ReactNativeVersion.js +1 -1
- package/Microsoft.ReactNative.Managed/packages.lock.json +5 -5
- package/PropertySheets/Generated/PackageVersion.g.props +3 -3
- package/Shared/Modules/BlobModule.cpp +4 -3
- package/Shared/Modules/BlobModule.h +4 -0
- package/package.json +10 -10
package/Directory.Build.props
CHANGED
|
@@ -23,6 +23,25 @@
|
|
|
23
23
|
<FmtCommitHash>9e8b86fd2d9806672cc73133d21780dd182bfd24</FmtCommitHash>
|
|
24
24
|
</PropertyGroup>
|
|
25
25
|
|
|
26
|
+
<!--
|
|
27
|
+
IMPORTANT: Traversals left in a directory will break some tools like midl, but we also cannot call
|
|
28
|
+
[MSBuild]::NormalizeDirectory on relative paths since cwd is not always correct. This logic should prefer to operate
|
|
29
|
+
on full paths and avoid extra normalization.
|
|
30
|
+
-->
|
|
31
|
+
<PropertyGroup>
|
|
32
|
+
<ReactNativeWindowsDir Condition="'$(ReactNativeWindowsDir)' == ''">$(MSBuildThisFileDirectory)</ReactNativeWindowsDir>
|
|
33
|
+
|
|
34
|
+
<ReactNativeDir Condition="'$(ReactNativeDir)' == ''">$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), 'node_modules\react-native\package.json'))\node_modules\react-native\</ReactNativeDir>
|
|
35
|
+
|
|
36
|
+
<YogaDir Condition="'$(YogaDir)' == ''">$(ReactNativeDir)ReactCommon\yoga</YogaDir>
|
|
37
|
+
|
|
38
|
+
<FollyDir Condition="'$(FollyDir)' == '' AND Exists('$([MSBuild]::NormalizeDirectory($(ReactNativeDir)..\..\node_modules))')">$(ReactNativeDir)..\..\node_modules\.folly\folly-$(FollyVersion)</FollyDir>
|
|
39
|
+
<FollyDir>$([MSBuild]::NormalizeDirectory($(FollyDir)))</FollyDir>
|
|
40
|
+
|
|
41
|
+
<FmtDir Condition="'$(FmtDir)' == '' AND Exists('$([MSBuild]::NormalizeDirectory($(ReactNativeDir)..\..\node_modules))')">$(ReactNativeDir)..\..\node_modules\.fmt\fmt-$(FmtVersion)</FmtDir>
|
|
42
|
+
<FmtDir>$([MSBuild]::NormalizeDirectory($(FmtDir)))</FmtDir>
|
|
43
|
+
</PropertyGroup>
|
|
44
|
+
|
|
26
45
|
<PropertyGroup Label="Configuration">
|
|
27
46
|
<ProjectName Condition="'$(ProjectName)'==''">$(MSBuildProjectName)</ProjectName>
|
|
28
47
|
|
|
@@ -46,25 +65,6 @@
|
|
|
46
65
|
<OutputPath Condition="'$(MSBuildProjectExtension)' == '.csproj'">$(OutDir)</OutputPath>
|
|
47
66
|
</PropertyGroup>
|
|
48
67
|
|
|
49
|
-
<!--
|
|
50
|
-
IMPORTANT: Traversals left in a directory will break some tools like midl, but we also cannot call
|
|
51
|
-
[MSBuild]::NormalizeDirectory on relative paths since cwd is not always correct. This logic should prefer to operate
|
|
52
|
-
on full paths and avoid extra normalization.
|
|
53
|
-
-->
|
|
54
|
-
<PropertyGroup>
|
|
55
|
-
<ReactNativeWindowsDir Condition="'$(ReactNativeWindowsDir)' == ''">$(MSBuildThisFileDirectory)</ReactNativeWindowsDir>
|
|
56
|
-
|
|
57
|
-
<ReactNativeDir Condition="'$(ReactNativeDir)' == ''">$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), 'node_modules\react-native\package.json'))\node_modules\react-native\</ReactNativeDir>
|
|
58
|
-
|
|
59
|
-
<YogaDir Condition="'$(YogaDir)' == ''">$(ReactNativeDir)ReactCommon\yoga</YogaDir>
|
|
60
|
-
|
|
61
|
-
<FollyDir Condition="'$(FollyDir)' == '' AND Exists('$([MSBuild]::NormalizeDirectory($(ReactNativeDir)..\..\node_modules))')">$(ReactNativeDir)..\..\node_modules\.folly\folly-$(FollyVersion)</FollyDir>
|
|
62
|
-
<FollyDir>$([MSBuild]::NormalizeDirectory($(FollyDir)))</FollyDir>
|
|
63
|
-
|
|
64
|
-
<FmtDir Condition="'$(FmtDir)' == '' AND Exists('$([MSBuild]::NormalizeDirectory($(ReactNativeDir)..\..\node_modules))')">$(ReactNativeDir)..\..\node_modules\.fmt\fmt-$(FmtVersion)</FmtDir>
|
|
65
|
-
<FmtDir>$([MSBuild]::NormalizeDirectory($(FmtDir)))</FmtDir>
|
|
66
|
-
</PropertyGroup>
|
|
67
|
-
|
|
68
68
|
<PropertyGroup Label="NuGet" Condition="'$(MSBuildProjectExtension)' == '.vcxproj'">
|
|
69
69
|
<!--See https://docs.microsoft.com/en-us/nuget/reference/msbuild-targets#restore-target-->
|
|
70
70
|
<RestoreUseStaticGraphEvaluation Condition="'$(BuildingInsideVisualStudio)' == 'true' AND '$(DisableRestoreUseStaticGraphEvaluation)' != 'true'">true</RestoreUseStaticGraphEvaluation>
|
package/Libraries/Blob/Blob.js
CHANGED
|
@@ -105,6 +105,12 @@ class Blob {
|
|
|
105
105
|
blobId: this.data.blobId,
|
|
106
106
|
offset,
|
|
107
107
|
size,
|
|
108
|
+
/* Since `blob.slice()` creates a new view onto the same binary
|
|
109
|
+
* data as the original blob, we should re-use the same collector
|
|
110
|
+
* object so that the underlying resource gets deallocated when
|
|
111
|
+
* the last view into the data is released, not the first.
|
|
112
|
+
*/
|
|
113
|
+
__collector: this.data.__collector,
|
|
108
114
|
});
|
|
109
115
|
}
|
|
110
116
|
|
|
@@ -349,6 +349,9 @@ type IOSProps = $ReadOnly<{|
|
|
|
349
349
|
/**
|
|
350
350
|
* Give the keyboard and the system information about the
|
|
351
351
|
* expected semantic meaning for the content that users enter.
|
|
352
|
+
* `autoComplete` property accomplishes same behavior and is recommended as its supported by both platforms.
|
|
353
|
+
* Avoid using both `autoComplete` and `textContentType`, you can use `Platform.select` for differing platform behaviors.
|
|
354
|
+
* For backwards compatibility, when both set, `textContentType` takes precedence on iOS.
|
|
352
355
|
* @platform ios
|
|
353
356
|
*/
|
|
354
357
|
textContentType?: ?TextContentType,
|
|
@@ -1630,16 +1633,20 @@ const ExportedForwardRef: React.AbstractComponent<
|
|
|
1630
1633
|
}
|
|
1631
1634
|
autoComplete={
|
|
1632
1635
|
Platform.OS === 'android'
|
|
1633
|
-
? // $FlowFixMe
|
|
1636
|
+
? // $FlowFixMe[invalid-computed-prop]
|
|
1637
|
+
// $FlowFixMe[prop-missing]
|
|
1634
1638
|
autoCompleteWebToAutoCompleteAndroidMap[autoComplete] ??
|
|
1635
1639
|
autoComplete
|
|
1636
1640
|
: undefined
|
|
1637
1641
|
}
|
|
1638
1642
|
textContentType={
|
|
1639
|
-
|
|
1640
|
-
|
|
1641
|
-
|
|
1642
|
-
|
|
1643
|
+
textContentType != null
|
|
1644
|
+
? textContentType
|
|
1645
|
+
: Platform.OS === 'ios' &&
|
|
1646
|
+
autoComplete &&
|
|
1647
|
+
autoComplete in autoCompleteWebToTextContentTypeMap
|
|
1648
|
+
? // $FlowFixMe[invalid-computed-prop]
|
|
1649
|
+
// $FlowFixMe[prop-missing]
|
|
1643
1650
|
autoCompleteWebToTextContentTypeMap[autoComplete]
|
|
1644
1651
|
: textContentType
|
|
1645
1652
|
}
|
|
@@ -360,6 +360,9 @@ type IOSProps = $ReadOnly<{|
|
|
|
360
360
|
/**
|
|
361
361
|
* Give the keyboard and the system information about the
|
|
362
362
|
* expected semantic meaning for the content that users enter.
|
|
363
|
+
* `autoComplete` property accomplishes same behavior and is recommended as its supported by both platforms.
|
|
364
|
+
* Avoid using both `autoComplete` and `textContentType`, you can use `Platform.select` for differing platform behaviors.
|
|
365
|
+
* For backwards compatibility, when both set, `textContentType` takes precedence on iOS.
|
|
363
366
|
* @platform ios
|
|
364
367
|
*/
|
|
365
368
|
textContentType?: ?TextContentType,
|
|
@@ -1750,16 +1753,20 @@ const ExportedForwardRef: React.AbstractComponent<
|
|
|
1750
1753
|
}
|
|
1751
1754
|
autoComplete={
|
|
1752
1755
|
Platform.OS === 'android'
|
|
1753
|
-
? // $FlowFixMe
|
|
1756
|
+
? // $FlowFixMe[invalid-computed-prop]
|
|
1757
|
+
// $FlowFixMe[prop-missing]
|
|
1754
1758
|
autoCompleteWebToAutoCompleteAndroidMap[autoComplete] ??
|
|
1755
1759
|
autoComplete
|
|
1756
1760
|
: undefined
|
|
1757
1761
|
}
|
|
1758
1762
|
textContentType={
|
|
1759
|
-
|
|
1760
|
-
|
|
1761
|
-
|
|
1762
|
-
|
|
1763
|
+
textContentType != null
|
|
1764
|
+
? textContentType
|
|
1765
|
+
: Platform.OS === 'ios' &&
|
|
1766
|
+
autoComplete &&
|
|
1767
|
+
autoComplete in autoCompleteWebToTextContentTypeMap
|
|
1768
|
+
? // $FlowFixMe[invalid-computed-prop]
|
|
1769
|
+
// $FlowFixMe[prop-missing]
|
|
1763
1770
|
autoCompleteWebToTextContentTypeMap[autoComplete]
|
|
1764
1771
|
: textContentType
|
|
1765
1772
|
}
|
|
@@ -58,7 +58,7 @@
|
|
|
58
58
|
"Microsoft.NETCore.Platforms": {
|
|
59
59
|
"type": "Transitive",
|
|
60
60
|
"resolved": "2.1.0",
|
|
61
|
-
"contentHash": "
|
|
61
|
+
"contentHash": "GmkKfoyerqmsHMn7OZj0AKpcBabD+GaafqphvX2Mw406IwiJRy1pKcKqdCfKJfYmkRyJ6+e+RaUylgdJoDa1jQ=="
|
|
62
62
|
},
|
|
63
63
|
"Microsoft.SourceLink.Common": {
|
|
64
64
|
"type": "Transitive",
|
|
@@ -78,15 +78,15 @@
|
|
|
78
78
|
"NETStandard.Library": {
|
|
79
79
|
"type": "Transitive",
|
|
80
80
|
"resolved": "2.0.3",
|
|
81
|
-
"contentHash": "
|
|
81
|
+
"contentHash": "548M6mnBSJWxsIlkQHfbzoYxpiYFXZZSL00p4GHYv8PkiqFBnnT68mW5mGEsA/ch9fDO9GkPgkFQpWiXZN7mAQ==",
|
|
82
82
|
"dependencies": {
|
|
83
83
|
"Microsoft.NETCore.Platforms": "1.1.0"
|
|
84
84
|
}
|
|
85
85
|
},
|
|
86
86
|
"ReactNative.Hermes.Windows": {
|
|
87
87
|
"type": "Transitive",
|
|
88
|
-
"resolved": "0.
|
|
89
|
-
"contentHash": "
|
|
88
|
+
"resolved": "0.0.0-2302.1002-2d4bf1df",
|
|
89
|
+
"contentHash": "4skpllUPEBkww7FN7iacP7NWrZlEGDNg83qIuFjKn4Sl8JpJQZqfUTrXcvh6tb4mHXkmwFoKhLw4Rc5Op7f+8w=="
|
|
90
90
|
},
|
|
91
91
|
"runtime.win10-arm.Microsoft.Net.Native.Compiler": {
|
|
92
92
|
"type": "Transitive",
|
|
@@ -176,7 +176,7 @@
|
|
|
176
176
|
"Microsoft.UI.Xaml": "[2.7.0, )",
|
|
177
177
|
"Microsoft.Windows.SDK.BuildTools": "[10.0.22000.194, )",
|
|
178
178
|
"ReactCommon": "[1.0.0, )",
|
|
179
|
-
"ReactNative.Hermes.Windows": "[0.
|
|
179
|
+
"ReactNative.Hermes.Windows": "[0.0.0-2302.1002-2d4bf1df, )",
|
|
180
180
|
"boost": "[1.76.0, )"
|
|
181
181
|
}
|
|
182
182
|
},
|
|
@@ -10,11 +10,11 @@
|
|
|
10
10
|
-->
|
|
11
11
|
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
|
12
12
|
<PropertyGroup>
|
|
13
|
-
<ReactNativeWindowsVersion>0.71.
|
|
13
|
+
<ReactNativeWindowsVersion>0.71.6</ReactNativeWindowsVersion>
|
|
14
14
|
<ReactNativeWindowsMajor>0</ReactNativeWindowsMajor>
|
|
15
15
|
<ReactNativeWindowsMinor>71</ReactNativeWindowsMinor>
|
|
16
|
-
<ReactNativeWindowsPatch>
|
|
16
|
+
<ReactNativeWindowsPatch>6</ReactNativeWindowsPatch>
|
|
17
17
|
<ReactNativeWindowsCanary>false</ReactNativeWindowsCanary>
|
|
18
|
-
<ReactNativeWindowsCommitId>
|
|
18
|
+
<ReactNativeWindowsCommitId>cce2fa1d36c2c2f08c4f1cc9f51574d9fb557a08</ReactNativeWindowsCommitId>
|
|
19
19
|
</PropertyGroup>
|
|
20
20
|
</Project>
|
|
@@ -12,6 +12,9 @@
|
|
|
12
12
|
// React Native
|
|
13
13
|
#include <cxxreact/JsArgumentHelpers.h>
|
|
14
14
|
|
|
15
|
+
// Boost Libriaries
|
|
16
|
+
#include <boost/uuid/uuid_io.hpp>
|
|
17
|
+
|
|
15
18
|
// Windows API
|
|
16
19
|
#include <winrt/Windows.Foundation.h>
|
|
17
20
|
#include <winrt/Windows.Security.Cryptography.h>
|
|
@@ -33,7 +36,6 @@ using winrt::Microsoft::ReactNative::IReactPropertyBag;
|
|
|
33
36
|
using winrt::Microsoft::ReactNative::ReactNonAbiValue;
|
|
34
37
|
using winrt::Microsoft::ReactNative::ReactPropertyBag;
|
|
35
38
|
using winrt::Microsoft::ReactNative::ReactPropertyId;
|
|
36
|
-
using winrt::Windows::Foundation::GuidHelper;
|
|
37
39
|
using winrt::Windows::Foundation::IInspectable;
|
|
38
40
|
using winrt::Windows::Foundation::Uri;
|
|
39
41
|
using winrt::Windows::Security::Cryptography::CryptographicBuffer;
|
|
@@ -249,8 +251,7 @@ void MemoryBlobPersistor::StoreMessage(vector<uint8_t> &&message, string &&blobI
|
|
|
249
251
|
}
|
|
250
252
|
|
|
251
253
|
string MemoryBlobPersistor::StoreMessage(vector<uint8_t> &&message) noexcept {
|
|
252
|
-
|
|
253
|
-
auto blobId = winrt::to_string(winrt::to_hstring(GuidHelper::CreateNewGuid())).substr(1, 36);
|
|
254
|
+
auto blobId = boost::uuids::to_string(m_guidGenerator());
|
|
254
255
|
|
|
255
256
|
scoped_lock lock{m_mutex};
|
|
256
257
|
m_blobs.insert_or_assign(blobId, std::move(message));
|
|
@@ -11,6 +11,9 @@
|
|
|
11
11
|
// React Native
|
|
12
12
|
#include <cxxreact/CxxModule.h>
|
|
13
13
|
|
|
14
|
+
// Boost Libraries
|
|
15
|
+
#include <boost/uuid/uuid_generators.hpp>
|
|
16
|
+
|
|
14
17
|
// Windows API
|
|
15
18
|
#include <winrt/base.h>
|
|
16
19
|
|
|
@@ -26,6 +29,7 @@ namespace Microsoft::React {
|
|
|
26
29
|
class MemoryBlobPersistor final : public IBlobPersistor {
|
|
27
30
|
std::unordered_map<std::string, std::vector<uint8_t>> m_blobs;
|
|
28
31
|
std::mutex m_mutex;
|
|
32
|
+
boost::uuids::random_generator m_guidGenerator;
|
|
29
33
|
|
|
30
34
|
public:
|
|
31
35
|
#pragma region IBlobPersistor
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "react-native-windows",
|
|
3
|
-
"version": "0.71.
|
|
3
|
+
"version": "0.71.6",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -23,10 +23,10 @@
|
|
|
23
23
|
"dependencies": {
|
|
24
24
|
"@babel/runtime": "^7.0.0",
|
|
25
25
|
"@jest/create-cache-key-function": "^29.2.1",
|
|
26
|
-
"@react-native-community/cli": "10.2.
|
|
26
|
+
"@react-native-community/cli": "10.2.2",
|
|
27
27
|
"@react-native-community/cli-platform-android": "10.2.0",
|
|
28
|
-
"@react-native-community/cli-platform-ios": "10.2.
|
|
29
|
-
"@react-native-windows/cli": "0.71.
|
|
28
|
+
"@react-native-community/cli-platform-ios": "10.2.1",
|
|
29
|
+
"@react-native-windows/cli": "0.71.4",
|
|
30
30
|
"@react-native/assets": "1.0.0",
|
|
31
31
|
"@react-native/normalize-color": "2.1.0",
|
|
32
32
|
"@react-native/polyfills": "2.0.0",
|
|
@@ -38,9 +38,9 @@
|
|
|
38
38
|
"invariant": "^2.2.4",
|
|
39
39
|
"jest-environment-node": "^29.2.1",
|
|
40
40
|
"memoize-one": "^5.0.0",
|
|
41
|
-
"metro-react-native-babel-transformer": "0.73.
|
|
42
|
-
"metro-runtime": "0.73.
|
|
43
|
-
"metro-source-map": "0.73.
|
|
41
|
+
"metro-react-native-babel-transformer": "0.73.9",
|
|
42
|
+
"metro-runtime": "0.73.9",
|
|
43
|
+
"metro-source-map": "0.73.9",
|
|
44
44
|
"mkdirp": "^0.5.1",
|
|
45
45
|
"nullthrows": "^1.1.1",
|
|
46
46
|
"pretty-format": "^26.5.2",
|
|
@@ -58,7 +58,7 @@
|
|
|
58
58
|
"ws": "^6.2.2"
|
|
59
59
|
},
|
|
60
60
|
"devDependencies": {
|
|
61
|
-
"@react-native-windows/codegen": "0.71.
|
|
61
|
+
"@react-native-windows/codegen": "0.71.3",
|
|
62
62
|
"@rnw-scripts/babel-react-native-config": "0.0.0",
|
|
63
63
|
"@rnw-scripts/eslint-config": "1.1.14",
|
|
64
64
|
"@rnw-scripts/jest-out-of-tree-snapshot-resolver": "^1.1.0",
|
|
@@ -72,10 +72,10 @@
|
|
|
72
72
|
"flow-bin": "^0.191.0",
|
|
73
73
|
"jscodeshift": "^0.13.1",
|
|
74
74
|
"just-scripts": "^1.3.3",
|
|
75
|
-
"metro-config": "0.73.
|
|
75
|
+
"metro-config": "0.73.9",
|
|
76
76
|
"prettier": "^2.4.1",
|
|
77
77
|
"react": "18.2.0",
|
|
78
|
-
"react-native": "0.71.
|
|
78
|
+
"react-native": "0.71.6",
|
|
79
79
|
"react-native-platform-override": "^1.8.3",
|
|
80
80
|
"react-refresh": "^0.4.0",
|
|
81
81
|
"typescript": "^4.9.5"
|