react-native-windows 0.74.47 → 0.74.52
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/.flowconfig +4 -0
- package/Chakra/ChakraUtils.cpp +0 -2
- package/Directory.Build.props +1 -1
- package/Microsoft.ReactNative/Fabric/Composition/CompositionEventHandler.cpp +11 -6
- package/Microsoft.ReactNative/Fabric/Composition/CompositionViewComponentView.cpp +1 -1
- package/Microsoft.ReactNative/Fabric/Composition/ReactNativeIsland.cpp +6 -10
- package/Microsoft.ReactNative/Fabric/Composition/RootComponentView.cpp +2 -2
- package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputComponentView.cpp +21 -1
- package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputComponentView.h +2 -0
- package/Microsoft.ReactNative/Fabric/Composition/TooltipService.cpp +1 -1
- package/Microsoft.ReactNative/packages.lock.json +30 -106
- package/Microsoft.ReactNative.Cxx/Microsoft.ReactNative.Cxx.vcxitems +1 -1
- package/Microsoft.ReactNative.Managed/packages.lock.json +3 -3
- package/PropertySheets/CIBuildOptimizations.props +29 -0
- package/PropertySheets/Generated/PackageVersion.g.props +3 -3
- package/PropertySheets/JSEngine.props +1 -1
- package/ReactCommon/TEMP_UntilReactCommonUpdate/jsi/jsi/test/testlib.cpp +4 -4
- package/ReactCommon/cgmanifest.json +1 -1
- package/Scripts/NuGetRestoreForceEvaluateAllSolutions.ps1 +26 -4
- package/Scripts/Tfs/Layout-MSRN-Headers.ps1 +10 -0
- package/Shared/MemoryMappedBuffer.cpp +0 -2
- package/Shared/Networking/WinRTWebSocketResource.cpp +5 -4
- package/package.json +1 -1
- package/fmt/packages.lock.json +0 -13
package/.flowconfig
CHANGED
|
@@ -53,6 +53,10 @@
|
|
|
53
53
|
.*/node_modules/sample-apps/.*
|
|
54
54
|
.*/node_modules/playground/.*
|
|
55
55
|
|
|
56
|
+
; Ignore prepare-release's own node_modules (hermes-estree .flow files use unsupported syntax)
|
|
57
|
+
.*/node_modules/@rnw-scripts/prepare-release/node_modules/.*
|
|
58
|
+
.*/packages/@rnw-scripts/prepare-release/node_modules/.*
|
|
59
|
+
|
|
56
60
|
; Ignore templates for 'react-native init'
|
|
57
61
|
<PROJECT_ROOT>/packages/react-native/template/.*
|
|
58
62
|
|
package/Chakra/ChakraUtils.cpp
CHANGED
|
@@ -166,8 +166,6 @@ FileMappingBigString::FileMappingBigString(const std::wstring &filename, uint32_
|
|
|
166
166
|
return;
|
|
167
167
|
}
|
|
168
168
|
|
|
169
|
-
WerRegisterMemoryBlock(m_fileData.get(), m_fileSize);
|
|
170
|
-
|
|
171
169
|
static const uint32_t s_pageSize = getPageSize();
|
|
172
170
|
if (m_fileSize % s_pageSize != 0) {
|
|
173
171
|
// Data are owned by m_fileData, deleter is no-op
|
package/Directory.Build.props
CHANGED
|
@@ -22,7 +22,7 @@
|
|
|
22
22
|
<FmtVersion>10.1.0</FmtVersion>
|
|
23
23
|
<FmtCommitHash>ca2e3685b160617d3d95fcd9e789c4e06ca88</FmtCommitHash>
|
|
24
24
|
<!-- Commit hash for https://github.com/microsoft/node-api-jsi code. -->
|
|
25
|
-
<NodeApiJsiCommitHash>
|
|
25
|
+
<NodeApiJsiCommitHash>21b47f08b762b21b1d4d970940ab23f59f43249c</NodeApiJsiCommitHash>
|
|
26
26
|
</PropertyGroup>
|
|
27
27
|
|
|
28
28
|
<!--
|
|
@@ -966,12 +966,17 @@ void CompositionEventHandler::getTargetPointerArgs(
|
|
|
966
966
|
assert(m_pointerCapturingComponentTag != -1);
|
|
967
967
|
tag = m_pointerCapturingComponentTag;
|
|
968
968
|
|
|
969
|
-
auto targetComponentView = fabricuiManager->GetViewRegistry().
|
|
970
|
-
|
|
971
|
-
|
|
972
|
-
|
|
973
|
-
|
|
974
|
-
|
|
969
|
+
auto targetComponentView = fabricuiManager->GetViewRegistry().findComponentViewWithTag(tag);
|
|
970
|
+
if (targetComponentView) {
|
|
971
|
+
auto clientRect =
|
|
972
|
+
winrt::get_self<winrt::Microsoft::ReactNative::implementation::ComponentView>(targetComponentView)
|
|
973
|
+
->getClientRect();
|
|
974
|
+
if (auto strongRootView = m_wkRootView.get()) {
|
|
975
|
+
ptLocal.x = ptScaled.x - (clientRect.left / strongRootView.ScaleFactor());
|
|
976
|
+
ptLocal.y = ptScaled.y - (clientRect.top / strongRootView.ScaleFactor());
|
|
977
|
+
}
|
|
978
|
+
} else {
|
|
979
|
+
tag = -1;
|
|
975
980
|
}
|
|
976
981
|
} else {
|
|
977
982
|
tag = RootComponentView().hitTest(ptScaled, ptLocal);
|
|
@@ -381,7 +381,7 @@ void ComponentView::onGotFocus(
|
|
|
381
381
|
focusRect.size.height += (FOCUS_VISUAL_WIDTH * 2);
|
|
382
382
|
focusVisualRoot(focusRect)->hostFocusVisual(true, get_strong());
|
|
383
383
|
}
|
|
384
|
-
if (
|
|
384
|
+
if (EnsureUiaProvider()) {
|
|
385
385
|
auto spProviderSimple = m_uiaProvider.try_as<IRawElementProviderSimple>();
|
|
386
386
|
if (spProviderSimple != nullptr) {
|
|
387
387
|
winrt::Microsoft::ReactNative::implementation::UpdateUiaProperty(
|
|
@@ -374,13 +374,12 @@ winrt::IInspectable ReactNativeIsland::GetUiaProvider() noexcept {
|
|
|
374
374
|
if (m_uiaProvider == nullptr) {
|
|
375
375
|
m_uiaProvider =
|
|
376
376
|
winrt::make<winrt::Microsoft::ReactNative::implementation::CompositionRootAutomationProvider>(*this);
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
}
|
|
377
|
+
auto pRootProvider =
|
|
378
|
+
static_cast<winrt::Microsoft::ReactNative::implementation::CompositionRootAutomationProvider *>(
|
|
379
|
+
m_uiaProvider.as<IRawElementProviderSimple>().get());
|
|
380
|
+
if (pRootProvider != nullptr) {
|
|
381
|
+
pRootProvider->SetIsland(m_island);
|
|
382
|
+
pRootProvider->SetHwnd(m_hwnd);
|
|
384
383
|
}
|
|
385
384
|
}
|
|
386
385
|
return m_uiaProvider;
|
|
@@ -868,9 +867,6 @@ winrt::Microsoft::UI::Content::ContentIsland ReactNativeIsland::Island() {
|
|
|
868
867
|
auto pRootProvider =
|
|
869
868
|
static_cast<winrt::Microsoft::ReactNative::implementation::CompositionRootAutomationProvider *>(
|
|
870
869
|
provider.as<IRawElementProviderSimple>().get());
|
|
871
|
-
if (pRootProvider != nullptr) {
|
|
872
|
-
pRootProvider->SetIsland(pThis->m_island);
|
|
873
|
-
}
|
|
874
870
|
args.AutomationProvider(std::move(provider));
|
|
875
871
|
args.Handled(true);
|
|
876
872
|
}
|
|
@@ -88,6 +88,8 @@ void RootComponentView::SetFocusedComponent(
|
|
|
88
88
|
->onLostFocus(args);
|
|
89
89
|
}
|
|
90
90
|
|
|
91
|
+
m_focusedComponent = value;
|
|
92
|
+
|
|
91
93
|
if (value) {
|
|
92
94
|
if (auto rootView = m_wkRootView.get()) {
|
|
93
95
|
winrt::get_self<winrt::Microsoft::ReactNative::implementation::ReactNativeIsland>(rootView)->TrySetFocus();
|
|
@@ -95,8 +97,6 @@ void RootComponentView::SetFocusedComponent(
|
|
|
95
97
|
auto args = winrt::make<winrt::Microsoft::ReactNative::implementation::GotFocusEventArgs>(value, direction);
|
|
96
98
|
winrt::get_self<winrt::Microsoft::ReactNative::implementation::ComponentView>(value)->onGotFocus(args);
|
|
97
99
|
}
|
|
98
|
-
|
|
99
|
-
m_focusedComponent = value;
|
|
100
100
|
}
|
|
101
101
|
|
|
102
102
|
bool RootComponentView::NavigateFocus(const winrt::Microsoft::ReactNative::FocusNavigationRequest &request) noexcept {
|
package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputComponentView.cpp
CHANGED
|
@@ -631,6 +631,19 @@ WPARAM PointerRoutedEventArgsToMouseWParam(
|
|
|
631
631
|
return wParam;
|
|
632
632
|
}
|
|
633
633
|
|
|
634
|
+
bool WindowsTextInputComponentView::IsDoubleClick() {
|
|
635
|
+
using namespace std::chrono;
|
|
636
|
+
|
|
637
|
+
auto now = steady_clock::now();
|
|
638
|
+
auto duration = duration_cast<milliseconds>(now - m_lastClickTime).count();
|
|
639
|
+
|
|
640
|
+
const int DOUBLE_CLICK_TIME_MS = ::GetDoubleClickTime();
|
|
641
|
+
|
|
642
|
+
m_lastClickTime = now;
|
|
643
|
+
|
|
644
|
+
return (duration < DOUBLE_CLICK_TIME_MS);
|
|
645
|
+
}
|
|
646
|
+
|
|
634
647
|
void WindowsTextInputComponentView::OnPointerPressed(
|
|
635
648
|
const winrt::Microsoft::ReactNative::Composition::Input::PointerRoutedEventArgs &args) noexcept {
|
|
636
649
|
UINT msg = 0;
|
|
@@ -647,7 +660,11 @@ void WindowsTextInputComponentView::OnPointerPressed(
|
|
|
647
660
|
if (pp.PointerDeviceType() == winrt::Microsoft::ReactNative::Composition::Input::PointerDeviceType::Mouse) {
|
|
648
661
|
switch (pp.Properties().PointerUpdateKind()) {
|
|
649
662
|
case winrt::Microsoft::ReactNative::Composition::Input::PointerUpdateKind::LeftButtonPressed:
|
|
650
|
-
|
|
663
|
+
if (IsDoubleClick()) {
|
|
664
|
+
msg = WM_LBUTTONDBLCLK;
|
|
665
|
+
} else {
|
|
666
|
+
msg = WM_LBUTTONDOWN;
|
|
667
|
+
}
|
|
651
668
|
break;
|
|
652
669
|
case winrt::Microsoft::ReactNative::Composition::Input::PointerUpdateKind::MiddleButtonPressed:
|
|
653
670
|
msg = WM_MBUTTONDOWN;
|
|
@@ -1592,6 +1609,9 @@ WindowsTextInputComponentView::createVisual() noexcept {
|
|
|
1592
1609
|
LRESULT res;
|
|
1593
1610
|
winrt::check_hresult(m_textServices->TxSendMessage(EM_SETTEXTMODE, TM_PLAINTEXT, 0, &res));
|
|
1594
1611
|
|
|
1612
|
+
// Enable TSF support
|
|
1613
|
+
winrt::check_hresult(m_textServices->TxSendMessage(EM_SETEDITSTYLE, SES_USECTF, SES_USECTF, nullptr));
|
|
1614
|
+
|
|
1595
1615
|
m_caretVisual = m_compContext.CreateCaretVisual();
|
|
1596
1616
|
visual.InsertAt(m_caretVisual.InnerVisual(), 0);
|
|
1597
1617
|
m_caretVisual.IsVisible(false);
|
|
@@ -70,6 +70,7 @@ struct WindowsTextInputComponentView
|
|
|
70
70
|
std::optional<std::string> getAccessiblityValue() noexcept override;
|
|
71
71
|
void setAcccessiblityValue(std::string &&value) noexcept override;
|
|
72
72
|
bool getAcccessiblityIsReadOnly() noexcept override;
|
|
73
|
+
bool IsDoubleClick();
|
|
73
74
|
|
|
74
75
|
WindowsTextInputComponentView(
|
|
75
76
|
const winrt::Microsoft::ReactNative::Composition::Experimental::ICompositionContext &compContext,
|
|
@@ -141,6 +142,7 @@ struct WindowsTextInputComponentView
|
|
|
141
142
|
DWORD m_propBitsMask{0};
|
|
142
143
|
DWORD m_propBits{0};
|
|
143
144
|
HCURSOR m_hcursor{nullptr};
|
|
145
|
+
std::chrono::steady_clock::time_point m_lastClickTime{};
|
|
144
146
|
std::vector<facebook::react::CompWindowsTextInputSubmitKeyEventsStruct> m_submitKeyEvents;
|
|
145
147
|
};
|
|
146
148
|
|
|
@@ -266,7 +266,7 @@ void TooltipTracker::ShowTooltip(const winrt::Microsoft::ReactNative::ComponentV
|
|
|
266
266
|
static_cast<int>((tm.width + tooltipHorizontalPadding + tooltipHorizontalPadding) * scaleFactor);
|
|
267
267
|
tooltipData->height = static_cast<int>((tm.height + tooltipTopPadding + tooltipBottomPadding) * scaleFactor);
|
|
268
268
|
|
|
269
|
-
POINT pt = {static_cast<LONG>(m_pos.X), static_cast<LONG>(m_pos.Y)};
|
|
269
|
+
POINT pt = {static_cast<LONG>(m_pos.X * scaleFactor), static_cast<LONG>(m_pos.Y * scaleFactor)};
|
|
270
270
|
ClientToScreen(parentHwnd, &pt);
|
|
271
271
|
|
|
272
272
|
RegisterTooltipWndClass();
|
|
@@ -10,9 +10,9 @@
|
|
|
10
10
|
},
|
|
11
11
|
"Microsoft.JavaScript.Hermes": {
|
|
12
12
|
"type": "Direct",
|
|
13
|
-
"requested": "[0.
|
|
14
|
-
"resolved": "0.
|
|
15
|
-
"contentHash": "
|
|
13
|
+
"requested": "[0.0.0-2511.7001-d7ca19b3, )",
|
|
14
|
+
"resolved": "0.0.0-2511.7001-d7ca19b3",
|
|
15
|
+
"contentHash": "/EGy/gbTWpFZPZ4Z81QxbGQxpZhqiOE3qrnSokZRgXAyHivl15s7zZkRLOy9daDmVyEfanq7YBCOMi0ha58uQA=="
|
|
16
16
|
},
|
|
17
17
|
"Microsoft.SourceLink.GitHub": {
|
|
18
18
|
"type": "Direct",
|
|
@@ -24,22 +24,21 @@
|
|
|
24
24
|
"Microsoft.SourceLink.Common": "1.1.1"
|
|
25
25
|
}
|
|
26
26
|
},
|
|
27
|
+
"Microsoft.UI.Xaml": {
|
|
28
|
+
"type": "Direct",
|
|
29
|
+
"requested": "[2.8.0, )",
|
|
30
|
+
"resolved": "2.8.0",
|
|
31
|
+
"contentHash": "vxdHxTr63s5KVtNddMFpgvjBjUH50z7seq/5jLWmmSuf8poxg+sXrywkofUdE8ZstbpO9y3FL/IXXUcPYbeesA==",
|
|
32
|
+
"dependencies": {
|
|
33
|
+
"Microsoft.Web.WebView2": "1.0.1264.42"
|
|
34
|
+
}
|
|
35
|
+
},
|
|
27
36
|
"Microsoft.Windows.CppWinRT": {
|
|
28
37
|
"type": "Direct",
|
|
29
38
|
"requested": "[2.0.230706.1, )",
|
|
30
39
|
"resolved": "2.0.230706.1",
|
|
31
40
|
"contentHash": "l0D7oCw/5X+xIKHqZTi62TtV+1qeSz7KVluNFdrJ9hXsst4ghvqQ/Yhura7JqRdZWBXAuDS0G0KwALptdoxweQ=="
|
|
32
41
|
},
|
|
33
|
-
"Microsoft.WindowsAppSDK": {
|
|
34
|
-
"type": "Direct",
|
|
35
|
-
"requested": "[1.7.250401001, )",
|
|
36
|
-
"resolved": "1.7.250401001",
|
|
37
|
-
"contentHash": "kPsJ2LZoo3Xs/6FtIWMZRGnQ2ZMx9zDa0ZpqRGz1qwZr0gwwlXZJTmngaA1Ym2AHmIa05NtX2jEE2He8CzfhTg==",
|
|
38
|
-
"dependencies": {
|
|
39
|
-
"Microsoft.Web.WebView2": "1.0.2903.40",
|
|
40
|
-
"Microsoft.Windows.SDK.BuildTools": "10.0.22621.756"
|
|
41
|
-
}
|
|
42
|
-
},
|
|
43
42
|
"Microsoft.Build.Tasks.Git": {
|
|
44
43
|
"type": "Transitive",
|
|
45
44
|
"resolved": "1.1.1",
|
|
@@ -52,13 +51,8 @@
|
|
|
52
51
|
},
|
|
53
52
|
"Microsoft.Web.WebView2": {
|
|
54
53
|
"type": "Transitive",
|
|
55
|
-
"resolved": "1.0.
|
|
56
|
-
"contentHash": "
|
|
57
|
-
},
|
|
58
|
-
"Microsoft.Windows.SDK.BuildTools": {
|
|
59
|
-
"type": "Transitive",
|
|
60
|
-
"resolved": "10.0.22621.756",
|
|
61
|
-
"contentHash": "7ZL2sFSioYm1Ry067Kw1hg0SCcW5kuVezC2SwjGbcPE61Nn+gTbH86T73G3LcEOVj0S3IZzNuE/29gZvOLS7VA=="
|
|
54
|
+
"resolved": "1.0.1264.42",
|
|
55
|
+
"contentHash": "7OBUTkzQ5VI/3gb0ufi5U4zjuCowAJwQg2li0zXXzqkM+S1kmOlivTy1R4jAW+gY5Vyg510M+qMAESCQUjrfgA=="
|
|
62
56
|
},
|
|
63
57
|
"common": {
|
|
64
58
|
"type": "Project",
|
|
@@ -72,8 +66,8 @@
|
|
|
72
66
|
"folly": {
|
|
73
67
|
"type": "Project",
|
|
74
68
|
"dependencies": {
|
|
75
|
-
"
|
|
76
|
-
"
|
|
69
|
+
"boost": "[1.83.0, )",
|
|
70
|
+
"fmt": "[1.0.0, )"
|
|
77
71
|
}
|
|
78
72
|
},
|
|
79
73
|
"reactcommon": {
|
|
@@ -85,122 +79,52 @@
|
|
|
85
79
|
}
|
|
86
80
|
},
|
|
87
81
|
"native,Version=v0.0/win10-arm": {
|
|
88
|
-
"Microsoft.WindowsAppSDK": {
|
|
89
|
-
"type": "Direct",
|
|
90
|
-
"requested": "[1.7.250401001, )",
|
|
91
|
-
"resolved": "1.7.250401001",
|
|
92
|
-
"contentHash": "kPsJ2LZoo3Xs/6FtIWMZRGnQ2ZMx9zDa0ZpqRGz1qwZr0gwwlXZJTmngaA1Ym2AHmIa05NtX2jEE2He8CzfhTg==",
|
|
93
|
-
"dependencies": {
|
|
94
|
-
"Microsoft.Web.WebView2": "1.0.2903.40",
|
|
95
|
-
"Microsoft.Windows.SDK.BuildTools": "10.0.22621.756"
|
|
96
|
-
}
|
|
97
|
-
},
|
|
98
82
|
"Microsoft.Web.WebView2": {
|
|
99
83
|
"type": "Transitive",
|
|
100
|
-
"resolved": "1.0.
|
|
101
|
-
"contentHash": "
|
|
84
|
+
"resolved": "1.0.1264.42",
|
|
85
|
+
"contentHash": "7OBUTkzQ5VI/3gb0ufi5U4zjuCowAJwQg2li0zXXzqkM+S1kmOlivTy1R4jAW+gY5Vyg510M+qMAESCQUjrfgA=="
|
|
102
86
|
}
|
|
103
87
|
},
|
|
104
88
|
"native,Version=v0.0/win10-arm-aot": {
|
|
105
|
-
"Microsoft.WindowsAppSDK": {
|
|
106
|
-
"type": "Direct",
|
|
107
|
-
"requested": "[1.7.250401001, )",
|
|
108
|
-
"resolved": "1.7.250401001",
|
|
109
|
-
"contentHash": "kPsJ2LZoo3Xs/6FtIWMZRGnQ2ZMx9zDa0ZpqRGz1qwZr0gwwlXZJTmngaA1Ym2AHmIa05NtX2jEE2He8CzfhTg==",
|
|
110
|
-
"dependencies": {
|
|
111
|
-
"Microsoft.Web.WebView2": "1.0.2903.40",
|
|
112
|
-
"Microsoft.Windows.SDK.BuildTools": "10.0.22621.756"
|
|
113
|
-
}
|
|
114
|
-
},
|
|
115
89
|
"Microsoft.Web.WebView2": {
|
|
116
90
|
"type": "Transitive",
|
|
117
|
-
"resolved": "1.0.
|
|
118
|
-
"contentHash": "
|
|
91
|
+
"resolved": "1.0.1264.42",
|
|
92
|
+
"contentHash": "7OBUTkzQ5VI/3gb0ufi5U4zjuCowAJwQg2li0zXXzqkM+S1kmOlivTy1R4jAW+gY5Vyg510M+qMAESCQUjrfgA=="
|
|
119
93
|
}
|
|
120
94
|
},
|
|
121
95
|
"native,Version=v0.0/win10-arm64-aot": {
|
|
122
|
-
"Microsoft.WindowsAppSDK": {
|
|
123
|
-
"type": "Direct",
|
|
124
|
-
"requested": "[1.7.250401001, )",
|
|
125
|
-
"resolved": "1.7.250401001",
|
|
126
|
-
"contentHash": "kPsJ2LZoo3Xs/6FtIWMZRGnQ2ZMx9zDa0ZpqRGz1qwZr0gwwlXZJTmngaA1Ym2AHmIa05NtX2jEE2He8CzfhTg==",
|
|
127
|
-
"dependencies": {
|
|
128
|
-
"Microsoft.Web.WebView2": "1.0.2903.40",
|
|
129
|
-
"Microsoft.Windows.SDK.BuildTools": "10.0.22621.756"
|
|
130
|
-
}
|
|
131
|
-
},
|
|
132
96
|
"Microsoft.Web.WebView2": {
|
|
133
97
|
"type": "Transitive",
|
|
134
|
-
"resolved": "1.0.
|
|
135
|
-
"contentHash": "
|
|
98
|
+
"resolved": "1.0.1264.42",
|
|
99
|
+
"contentHash": "7OBUTkzQ5VI/3gb0ufi5U4zjuCowAJwQg2li0zXXzqkM+S1kmOlivTy1R4jAW+gY5Vyg510M+qMAESCQUjrfgA=="
|
|
136
100
|
}
|
|
137
101
|
},
|
|
138
102
|
"native,Version=v0.0/win10-x64": {
|
|
139
|
-
"Microsoft.WindowsAppSDK": {
|
|
140
|
-
"type": "Direct",
|
|
141
|
-
"requested": "[1.7.250401001, )",
|
|
142
|
-
"resolved": "1.7.250401001",
|
|
143
|
-
"contentHash": "kPsJ2LZoo3Xs/6FtIWMZRGnQ2ZMx9zDa0ZpqRGz1qwZr0gwwlXZJTmngaA1Ym2AHmIa05NtX2jEE2He8CzfhTg==",
|
|
144
|
-
"dependencies": {
|
|
145
|
-
"Microsoft.Web.WebView2": "1.0.2903.40",
|
|
146
|
-
"Microsoft.Windows.SDK.BuildTools": "10.0.22621.756"
|
|
147
|
-
}
|
|
148
|
-
},
|
|
149
103
|
"Microsoft.Web.WebView2": {
|
|
150
104
|
"type": "Transitive",
|
|
151
|
-
"resolved": "1.0.
|
|
152
|
-
"contentHash": "
|
|
105
|
+
"resolved": "1.0.1264.42",
|
|
106
|
+
"contentHash": "7OBUTkzQ5VI/3gb0ufi5U4zjuCowAJwQg2li0zXXzqkM+S1kmOlivTy1R4jAW+gY5Vyg510M+qMAESCQUjrfgA=="
|
|
153
107
|
}
|
|
154
108
|
},
|
|
155
109
|
"native,Version=v0.0/win10-x64-aot": {
|
|
156
|
-
"Microsoft.WindowsAppSDK": {
|
|
157
|
-
"type": "Direct",
|
|
158
|
-
"requested": "[1.7.250401001, )",
|
|
159
|
-
"resolved": "1.7.250401001",
|
|
160
|
-
"contentHash": "kPsJ2LZoo3Xs/6FtIWMZRGnQ2ZMx9zDa0ZpqRGz1qwZr0gwwlXZJTmngaA1Ym2AHmIa05NtX2jEE2He8CzfhTg==",
|
|
161
|
-
"dependencies": {
|
|
162
|
-
"Microsoft.Web.WebView2": "1.0.2903.40",
|
|
163
|
-
"Microsoft.Windows.SDK.BuildTools": "10.0.22621.756"
|
|
164
|
-
}
|
|
165
|
-
},
|
|
166
110
|
"Microsoft.Web.WebView2": {
|
|
167
111
|
"type": "Transitive",
|
|
168
|
-
"resolved": "1.0.
|
|
169
|
-
"contentHash": "
|
|
112
|
+
"resolved": "1.0.1264.42",
|
|
113
|
+
"contentHash": "7OBUTkzQ5VI/3gb0ufi5U4zjuCowAJwQg2li0zXXzqkM+S1kmOlivTy1R4jAW+gY5Vyg510M+qMAESCQUjrfgA=="
|
|
170
114
|
}
|
|
171
115
|
},
|
|
172
116
|
"native,Version=v0.0/win10-x86": {
|
|
173
|
-
"Microsoft.WindowsAppSDK": {
|
|
174
|
-
"type": "Direct",
|
|
175
|
-
"requested": "[1.7.250401001, )",
|
|
176
|
-
"resolved": "1.7.250401001",
|
|
177
|
-
"contentHash": "kPsJ2LZoo3Xs/6FtIWMZRGnQ2ZMx9zDa0ZpqRGz1qwZr0gwwlXZJTmngaA1Ym2AHmIa05NtX2jEE2He8CzfhTg==",
|
|
178
|
-
"dependencies": {
|
|
179
|
-
"Microsoft.Web.WebView2": "1.0.2903.40",
|
|
180
|
-
"Microsoft.Windows.SDK.BuildTools": "10.0.22621.756"
|
|
181
|
-
}
|
|
182
|
-
},
|
|
183
117
|
"Microsoft.Web.WebView2": {
|
|
184
118
|
"type": "Transitive",
|
|
185
|
-
"resolved": "1.0.
|
|
186
|
-
"contentHash": "
|
|
119
|
+
"resolved": "1.0.1264.42",
|
|
120
|
+
"contentHash": "7OBUTkzQ5VI/3gb0ufi5U4zjuCowAJwQg2li0zXXzqkM+S1kmOlivTy1R4jAW+gY5Vyg510M+qMAESCQUjrfgA=="
|
|
187
121
|
}
|
|
188
122
|
},
|
|
189
123
|
"native,Version=v0.0/win10-x86-aot": {
|
|
190
|
-
"Microsoft.WindowsAppSDK": {
|
|
191
|
-
"type": "Direct",
|
|
192
|
-
"requested": "[1.7.250401001, )",
|
|
193
|
-
"resolved": "1.7.250401001",
|
|
194
|
-
"contentHash": "kPsJ2LZoo3Xs/6FtIWMZRGnQ2ZMx9zDa0ZpqRGz1qwZr0gwwlXZJTmngaA1Ym2AHmIa05NtX2jEE2He8CzfhTg==",
|
|
195
|
-
"dependencies": {
|
|
196
|
-
"Microsoft.Web.WebView2": "1.0.2903.40",
|
|
197
|
-
"Microsoft.Windows.SDK.BuildTools": "10.0.22621.756"
|
|
198
|
-
}
|
|
199
|
-
},
|
|
200
124
|
"Microsoft.Web.WebView2": {
|
|
201
125
|
"type": "Transitive",
|
|
202
|
-
"resolved": "1.0.
|
|
203
|
-
"contentHash": "
|
|
126
|
+
"resolved": "1.0.1264.42",
|
|
127
|
+
"contentHash": "7OBUTkzQ5VI/3gb0ufi5U4zjuCowAJwQg2li0zXXzqkM+S1kmOlivTy1R4jAW+gY5Vyg510M+qMAESCQUjrfgA=="
|
|
204
128
|
}
|
|
205
129
|
}
|
|
206
130
|
}
|
|
@@ -18,7 +18,7 @@
|
|
|
18
18
|
<Bridging_SourcePath Condition="'$(Bridging_SourcePath)' == '' AND '$(ReactNativeDir)' != ''">$(ReactNativeDir)\ReactCommon\react\bridging</Bridging_SourcePath>
|
|
19
19
|
<Bridging_SourcePath Condition="'$(Bridging_SourcePath)' == '' AND Exists('$(MSBuildThisFileDirectory)react\bridging\CallbackWrapper.h')">$(MSBuildThisFileDirectory)react\bridging</Bridging_SourcePath>
|
|
20
20
|
|
|
21
|
-
<NodeApiJsiCommitHash>
|
|
21
|
+
<NodeApiJsiCommitHash>21b47f08b762b21b1d4d970940ab23f59f43249c</NodeApiJsiCommitHash>
|
|
22
22
|
<NodeApiJsiLocal Condition="Exists('$(MSBuildThisFileDirectory)NodeApiJsiRuntime.cpp')">true</NodeApiJsiLocal>
|
|
23
23
|
<NodeApiJsiDir Condition="'$(NodeApiJsiDir)' == '' AND '$(NodeApiJsiLocal)' == 'true'">$(MSBuildThisFileDirectory)</NodeApiJsiDir>
|
|
24
24
|
<NodeApiJsiDir Condition="'$(NodeApiJsiDir)' == '' AND '$(ReactNativeDir)' != ''">$(ReactNativeDir)\..\..\node_modules\.node-api-jsi\node-api-jsi-$(NodeApiJsiCommitHash)\</NodeApiJsiDir>
|
|
@@ -36,8 +36,8 @@
|
|
|
36
36
|
},
|
|
37
37
|
"Microsoft.JavaScript.Hermes": {
|
|
38
38
|
"type": "Transitive",
|
|
39
|
-
"resolved": "0.
|
|
40
|
-
"contentHash": "
|
|
39
|
+
"resolved": "0.0.0-2511.7001-d7ca19b3",
|
|
40
|
+
"contentHash": "/EGy/gbTWpFZPZ4Z81QxbGQxpZhqiOE3qrnSokZRgXAyHivl15s7zZkRLOy9daDmVyEfanq7YBCOMi0ha58uQA=="
|
|
41
41
|
},
|
|
42
42
|
"Microsoft.Net.Native.Compiler": {
|
|
43
43
|
"type": "Transitive",
|
|
@@ -179,7 +179,7 @@
|
|
|
179
179
|
"dependencies": {
|
|
180
180
|
"Common": "[1.0.0, )",
|
|
181
181
|
"Folly": "[1.0.0, )",
|
|
182
|
-
"Microsoft.JavaScript.Hermes": "[0.
|
|
182
|
+
"Microsoft.JavaScript.Hermes": "[0.0.0-2511.7001-d7ca19b3, )",
|
|
183
183
|
"Microsoft.SourceLink.GitHub": "[1.1.1, )",
|
|
184
184
|
"Microsoft.UI.Xaml": "[2.8.0, )",
|
|
185
185
|
"ReactCommon": "[1.0.0, )",
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="utf-8"?>
|
|
2
|
+
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
|
3
|
+
<!--
|
|
4
|
+
CI-specific C++ build optimizations for the publish pipeline.
|
|
5
|
+
|
|
6
|
+
This file is injected via /p:ForceImportAfterCppTargets in .ado/publish.yml.
|
|
7
|
+
It overrides defaults that are tuned for developer workflows (incremental builds,
|
|
8
|
+
file tracking) with settings that are better for CI clean builds.
|
|
9
|
+
|
|
10
|
+
1. Multi-threaded compilation: Use CL.exe internal /MP parallelism instead of
|
|
11
|
+
MSBuild's MultiToolTask (which spawns one CL.exe+Tracker.exe per source file).
|
|
12
|
+
/MP lets CL.exe compile all files in one process with shared PCH state.
|
|
13
|
+
|
|
14
|
+
2. Disable file tracking: CI always does clean builds, so incremental build
|
|
15
|
+
tracking (MinimalRebuild, TrackFileAccess) is pure overhead.
|
|
16
|
+
-->
|
|
17
|
+
<PropertyGroup>
|
|
18
|
+
<MultiProcCL>false</MultiProcCL>
|
|
19
|
+
<MinimalRebuildFromTracking>false</MinimalRebuildFromTracking>
|
|
20
|
+
<TrackFileAccess>false</TrackFileAccess>
|
|
21
|
+
</PropertyGroup>
|
|
22
|
+
<ItemDefinitionGroup>
|
|
23
|
+
<ClCompile>
|
|
24
|
+
<MultiProcessorCompilation>false</MultiProcessorCompilation>
|
|
25
|
+
<MinimalRebuild>false</MinimalRebuild>
|
|
26
|
+
<AdditionalOptions>%(AdditionalOptions) /MP</AdditionalOptions>
|
|
27
|
+
</ClCompile>
|
|
28
|
+
</ItemDefinitionGroup>
|
|
29
|
+
</Project>
|
|
@@ -10,11 +10,11 @@
|
|
|
10
10
|
-->
|
|
11
11
|
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
|
12
12
|
<PropertyGroup>
|
|
13
|
-
<ReactNativeWindowsVersion>0.74.
|
|
13
|
+
<ReactNativeWindowsVersion>0.74.52</ReactNativeWindowsVersion>
|
|
14
14
|
<ReactNativeWindowsMajor>0</ReactNativeWindowsMajor>
|
|
15
15
|
<ReactNativeWindowsMinor>74</ReactNativeWindowsMinor>
|
|
16
|
-
<ReactNativeWindowsPatch>
|
|
16
|
+
<ReactNativeWindowsPatch>52</ReactNativeWindowsPatch>
|
|
17
17
|
<ReactNativeWindowsCanary>false</ReactNativeWindowsCanary>
|
|
18
|
-
<ReactNativeWindowsCommitId>
|
|
18
|
+
<ReactNativeWindowsCommitId>48c6cfeeb522a3f66014675370d4f276ca080a86</ReactNativeWindowsCommitId>
|
|
19
19
|
</PropertyGroup>
|
|
20
20
|
</Project>
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
<!-- Enabling this will (1) Include hermes glues in the Microsoft.ReactNative binaries AND (2) Make hermes the default engine -->
|
|
7
7
|
<UseHermes Condition="'$(UseHermes)' == ''">true</UseHermes>
|
|
8
8
|
<!-- This will be true if (1) the client want to use hermes by setting UseHermes to true OR (2) We are building for UWP where dynamic switching is enabled -->
|
|
9
|
-
<HermesVersion Condition="'$(HermesVersion)' == ''">0.
|
|
9
|
+
<HermesVersion Condition="'$(HermesVersion)' == ''">0.0.0-2511.7001-d7ca19b3</HermesVersion>
|
|
10
10
|
<HermesPackage Condition="'$(HermesPackage)' == '' And Exists('$(PkgMicrosoft_JavaScript_Hermes)')">$(PkgMicrosoft_JavaScript_Hermes)</HermesPackage>
|
|
11
11
|
<HermesPackage Condition="'$(HermesPackage)' == ''">$(NuGetPackageRoot)\Microsoft.JavaScript.Hermes\$(HermesVersion)</HermesPackage>
|
|
12
12
|
<EnableHermesInspectorInReleaseFlavor Condition="'$(EnableHermesInspectorInReleaseFlavor)' == ''">false</EnableHermesInspectorInReleaseFlavor>
|
|
@@ -1173,7 +1173,7 @@ TEST_P(JSITest, DecoratorTest) {
|
|
|
1173
1173
|
|
|
1174
1174
|
class CountRuntime final : public WithRuntimeDecorator<Count> {
|
|
1175
1175
|
public:
|
|
1176
|
-
explicit CountRuntime(std::
|
|
1176
|
+
explicit CountRuntime(std::shared_ptr<Runtime> rt)
|
|
1177
1177
|
: WithRuntimeDecorator<Count>(*rt, count_),
|
|
1178
1178
|
rt_(std::move(rt)),
|
|
1179
1179
|
count_(kInit) {}
|
|
@@ -1183,7 +1183,7 @@ TEST_P(JSITest, DecoratorTest) {
|
|
|
1183
1183
|
}
|
|
1184
1184
|
|
|
1185
1185
|
private:
|
|
1186
|
-
std::
|
|
1186
|
+
std::shared_ptr<Runtime> rt_;
|
|
1187
1187
|
Count count_;
|
|
1188
1188
|
};
|
|
1189
1189
|
|
|
@@ -1222,7 +1222,7 @@ TEST_P(JSITest, MultiDecoratorTest) {
|
|
|
1222
1222
|
class MultiRuntime final
|
|
1223
1223
|
: public WithRuntimeDecorator<std::tuple<Inc, Nest>> {
|
|
1224
1224
|
public:
|
|
1225
|
-
explicit MultiRuntime(std::
|
|
1225
|
+
explicit MultiRuntime(std::shared_ptr<Runtime> rt)
|
|
1226
1226
|
: WithRuntimeDecorator<std::tuple<Inc, Nest>>(*rt, tuple_),
|
|
1227
1227
|
rt_(std::move(rt)) {}
|
|
1228
1228
|
|
|
@@ -1234,7 +1234,7 @@ TEST_P(JSITest, MultiDecoratorTest) {
|
|
|
1234
1234
|
}
|
|
1235
1235
|
|
|
1236
1236
|
private:
|
|
1237
|
-
std::
|
|
1237
|
+
std::shared_ptr<Runtime> rt_;
|
|
1238
1238
|
std::tuple<Inc, Nest> tuple_;
|
|
1239
1239
|
};
|
|
1240
1240
|
|
|
@@ -8,13 +8,35 @@ Set-Location -Path $RepoRoot
|
|
|
8
8
|
|
|
9
9
|
try
|
|
10
10
|
{
|
|
11
|
-
|
|
12
|
-
$
|
|
11
|
+
# Delete existing lock files
|
|
12
|
+
$existingLockFiles = (Get-ChildItem -File -Recurse -Path $RepoRoot -Filter *.lock.json)
|
|
13
|
+
$existingLockFiles | Foreach-Object {
|
|
14
|
+
Write-Host Deleting $_.FullName
|
|
15
|
+
Remove-Item $_.FullName
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
$packagesSolutions = (Get-ChildItem -File -Recurse -Path $RepoRoot\packages -Filter *.sln )| Where-Object { !$_.FullName.Contains('node_modules') -and !$_.FullName.Contains('e2etest') }
|
|
19
|
+
$vnextSolutions = (Get-ChildItem -File -Path $RepoRoot\vnext -Filter *.sln)
|
|
13
20
|
|
|
14
|
-
|
|
15
|
-
|
|
21
|
+
# Run all solutions with their defaults
|
|
22
|
+
$($packagesSolutions; $vnextSolutions) | Foreach-Object {
|
|
23
|
+
Write-Host Restoring $_.FullName with defaults
|
|
16
24
|
& msbuild /t:Restore /p:RestoreForceEvaluate=true $_.FullName
|
|
17
25
|
}
|
|
26
|
+
|
|
27
|
+
# Re-run solutions that build with UseExperimentalWinUI3
|
|
28
|
+
$experimentalSolutions = @("playground-composition.sln", "Microsoft.ReactNative.sln", "Microsoft.ReactNative.NewArch.sln", "ReactWindows-Desktop.sln");
|
|
29
|
+
$($packagesSolutions; $vnextSolutions) | Where-Object { $experimentalSolutions -contains $_.Name } | Foreach-Object {
|
|
30
|
+
Write-Host Restoring $_.FullName with UseExperimentalWinUI3=true
|
|
31
|
+
& msbuild /t:Restore /p:RestoreForceEvaluate=true /p:UseExperimentalWinUI3=true $_.FullName
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
# Re-run solutions that build with Chakra
|
|
35
|
+
$chakraSolutions = @("ReactUWPTestApp.sln", "integrationtest.sln");
|
|
36
|
+
$($packagesSolutions; $vnextSolutions) | Where-Object { $chakraSolutions -contains $_.Name } | Foreach-Object {
|
|
37
|
+
Write-Host Restoring $_.FullName with UseHermes=false
|
|
38
|
+
& msbuild /t:Restore /p:RestoreForceEvaluate=true /p:UseHermes=false $_.FullName
|
|
39
|
+
}
|
|
18
40
|
}
|
|
19
41
|
finally
|
|
20
42
|
{
|
|
@@ -45,6 +45,14 @@ Copy-Item -Force -Recurse -Path $ReactWindowsRoot\Microsoft.ReactNative.Cxx -Des
|
|
|
45
45
|
# Copy native module spec files
|
|
46
46
|
Copy-Item -Force -Recurse -Path $ReactWindowsRoot\codegen -Destination $TargetRoot\inc
|
|
47
47
|
|
|
48
|
+
# Overwrite ReactCommon\jsi\jsi files. It must be called before the ReactCommon overrides
|
|
49
|
+
Copy-Item -Force -Path $NodeApiJsiRoot\jsi\jsi\decorator.h -Destination $ReactNativeRoot\ReactCommon\jsi\jsi\
|
|
50
|
+
Copy-Item -Force -Path $NodeApiJsiRoot\jsi\jsi\instrumentation.h -Destination $ReactNativeRoot\ReactCommon\jsi\jsi\
|
|
51
|
+
Copy-Item -Force -Path $NodeApiJsiRoot\jsi\jsi\jsi.cpp -Destination $ReactNativeRoot\ReactCommon\jsi\jsi\
|
|
52
|
+
Copy-Item -Force -Path $NodeApiJsiRoot\jsi\jsi\jsi.h -Destination $ReactNativeRoot\ReactCommon\jsi\jsi\
|
|
53
|
+
Copy-Item -Force -Path $NodeApiJsiRoot\jsi\jsi\jsi-inl.h -Destination $ReactNativeRoot\ReactCommon\jsi\jsi\
|
|
54
|
+
Copy-Item -Force -Path $NodeApiJsiRoot\jsi\jsi\threadsafe.h -Destination $ReactNativeRoot\ReactCommon\jsi\jsi\
|
|
55
|
+
|
|
48
56
|
# Overwrite temporary ReactCommon files (since this script can runs on a different machine than where ReactCommon was built)
|
|
49
57
|
Copy-Item -Force -Recurse -Path $ReactCommonOverrideRoot\* -Destination $ReactNativeRoot\ReactCommon\
|
|
50
58
|
|
|
@@ -61,6 +69,8 @@ New-Item $TargetRoot\Microsoft.ReactNative.Cxx\node-api -ItemType Directory -For
|
|
|
61
69
|
Copy-Item -Force -Path $NodeApiJsiRoot\node-api\js_native_api.h -Destination $TargetRoot\Microsoft.ReactNative.Cxx\node-api\
|
|
62
70
|
Copy-Item -Force -Path $NodeApiJsiRoot\node-api\js_native_api_types.h -Destination $TargetRoot\Microsoft.ReactNative.Cxx\node-api\
|
|
63
71
|
Copy-Item -Force -Path $NodeApiJsiRoot\node-api\js_runtime_api.h -Destination $TargetRoot\Microsoft.ReactNative.Cxx\node-api\
|
|
72
|
+
Copy-Item -Force -Path $NodeApiJsiRoot\node-api\node_api.h -Destination $TargetRoot\Microsoft.ReactNative.Cxx\node-api\
|
|
73
|
+
Copy-Item -Force -Path $NodeApiJsiRoot\node-api\node_api_types.h -Destination $TargetRoot\Microsoft.ReactNative.Cxx\node-api\
|
|
64
74
|
|
|
65
75
|
# Microsoft.ReactNative.CXX project Node-API JSI files
|
|
66
76
|
New-Item $TargetRoot\Microsoft.ReactNative.Cxx\ApiLoaders -ItemType Directory -Force
|
|
@@ -77,8 +77,6 @@ MemoryMappedBuffer::MemoryMappedBuffer(const wchar_t *const filename, uint32_t o
|
|
|
77
77
|
throw facebook::jsi::JSINativeException(
|
|
78
78
|
"MapViewOfFile/MapViewOfFileFromApp failed with last error " + std::to_string(GetLastError()));
|
|
79
79
|
}
|
|
80
|
-
|
|
81
|
-
WerRegisterMemoryBlock(m_fileData.get(), m_fileSize);
|
|
82
80
|
}
|
|
83
81
|
|
|
84
82
|
size_t MemoryMappedBuffer::size() const {
|
|
@@ -227,11 +227,12 @@ fire_and_forget WinRTWebSocketResource2::PerformConnect(Uri &&uri) noexcept {
|
|
|
227
227
|
[self = self->shared_from_this(), coUri = std::move(movedUri)]() -> IAsyncAction {
|
|
228
228
|
auto coSelf = self->shared_from_this();
|
|
229
229
|
|
|
230
|
-
auto async = coSelf->m_socket.ConnectAsync(coUri);
|
|
231
|
-
co_await lessthrow_await_adapter<IAsyncAction>{async};
|
|
232
|
-
|
|
233
|
-
auto result = async.ErrorCode();
|
|
234
230
|
try {
|
|
231
|
+
// `ConnectAsync` MAY throw synchronously (e.g. WININET_E_INVALID_CA)
|
|
232
|
+
auto async = coSelf->m_socket.ConnectAsync(coUri);
|
|
233
|
+
co_await lessthrow_await_adapter<IAsyncAction>{async};
|
|
234
|
+
|
|
235
|
+
auto result = async.ErrorCode();
|
|
235
236
|
if (result >= 0) { // Non-failing HRESULT
|
|
236
237
|
coSelf->m_readyState = ReadyState::Open;
|
|
237
238
|
|
package/package.json
CHANGED
package/fmt/packages.lock.json
DELETED
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 1,
|
|
3
|
-
"dependencies": {
|
|
4
|
-
"native,Version=v0.0": {},
|
|
5
|
-
"native,Version=v0.0/win10-arm": {},
|
|
6
|
-
"native,Version=v0.0/win10-arm-aot": {},
|
|
7
|
-
"native,Version=v0.0/win10-arm64-aot": {},
|
|
8
|
-
"native,Version=v0.0/win10-x64": {},
|
|
9
|
-
"native,Version=v0.0/win10-x64-aot": {},
|
|
10
|
-
"native,Version=v0.0/win10-x86": {},
|
|
11
|
-
"native,Version=v0.0/win10-x86-aot": {}
|
|
12
|
-
}
|
|
13
|
-
}
|