react-native-windows 0.81.7 → 0.81.9

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.
@@ -190,19 +190,8 @@ void ABIViewManager::AddView(const xaml::DependencyObject &parent, const xaml::D
190
190
  }
191
191
 
192
192
  void ABIViewManager::RemoveAllChildren(const xaml::DependencyObject &parent) {
193
- if (!parent) {
194
- return;
195
- }
196
-
197
193
  if (m_viewManagerWithChildren) {
198
- auto fe = parent.try_as<xaml::FrameworkElement>();
199
- if (fe) {
200
- try {
201
- m_viewManagerWithChildren.RemoveAllChildren(fe);
202
- } catch (...) {
203
- // External view manager may fail during shutdown if view is already disposed
204
- }
205
- }
194
+ m_viewManagerWithChildren.RemoveAllChildren(parent.as<xaml::FrameworkElement>());
206
195
  } else {
207
196
  Super::RemoveAllChildren(parent);
208
197
  }
@@ -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>
@@ -13,6 +13,16 @@
13
13
  <Warning Text="Property `RnwSdkDefaultsSet` was not set. Please ensure your project imports 'Microsoft.ReactNative.WindowsSdk.Default.props' before importing this prop sheet." />
14
14
  </Target>
15
15
 
16
+ <!--
17
+ Lib/module projects generate Windows Metadata. Explicitly set this to
18
+ prevent the CppWinRT NuGet target CppWinRTComputeGetResolvedWinMD from
19
+ trying to compute it, which can cause MSB4006 circular dependency errors
20
+ during parallel builds (see https://github.com/microsoft/cppwinrt/issues/950).
21
+ -->
22
+ <PropertyGroup Label="CppWinRT">
23
+ <CppWinRTGenerateWindowsMetadata Condition="'$(CppWinRTGenerateWindowsMetadata)' == ''">true</CppWinRTGenerateWindowsMetadata>
24
+ </PropertyGroup>
25
+
16
26
  <!-- Import common props sheets common to all Composition projects. -->
17
27
  <Import Project="$(MSBuildThisFileDirectory)Microsoft.ReactNative.Composition.Common.props" />
18
28
 
@@ -14,6 +14,16 @@
14
14
  <Warning Text="Property `RnwSdkDefaultsSet` was not set. Please ensure your project imports 'Microsoft.ReactNative.WindowsSdk.Default.props' before importing this prop sheet." />
15
15
  </Target>
16
16
 
17
+ <!--
18
+ Lib/module projects generate Windows Metadata. Explicitly set this to
19
+ prevent the CppWinRT NuGet target CppWinRTComputeGetResolvedWinMD from
20
+ trying to compute it, which can cause MSB4006 circular dependency errors
21
+ during parallel builds (see https://github.com/microsoft/cppwinrt/issues/950).
22
+ -->
23
+ <PropertyGroup Label="CppWinRT">
24
+ <CppWinRTGenerateWindowsMetadata Condition="'$(CppWinRTGenerateWindowsMetadata)' == ''">true</CppWinRTGenerateWindowsMetadata>
25
+ </PropertyGroup>
26
+
17
27
  <!-- Import common props sheets common to all UWP projects. -->
18
28
  <Import Project="$(MSBuildThisFileDirectory)Microsoft.ReactNative.Uwp.Common.props" />
19
29
 
@@ -10,11 +10,11 @@
10
10
  -->
11
11
  <Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
12
12
  <PropertyGroup>
13
- <ReactNativeWindowsVersion>0.81.7</ReactNativeWindowsVersion>
13
+ <ReactNativeWindowsVersion>0.81.9</ReactNativeWindowsVersion>
14
14
  <ReactNativeWindowsMajor>0</ReactNativeWindowsMajor>
15
15
  <ReactNativeWindowsMinor>81</ReactNativeWindowsMinor>
16
- <ReactNativeWindowsPatch>7</ReactNativeWindowsPatch>
16
+ <ReactNativeWindowsPatch>9</ReactNativeWindowsPatch>
17
17
  <ReactNativeWindowsCanary>false</ReactNativeWindowsCanary>
18
- <ReactNativeWindowsCommitId>f881c2c85f504f54bcbeecd4214e4297fc4e3fb3</ReactNativeWindowsCommitId>
18
+ <ReactNativeWindowsCommitId>1933bc69992ad9f199d0b2ebfa7ded80b141655e</ReactNativeWindowsCommitId>
19
19
  </PropertyGroup>
20
20
  </Project>
package/README.md CHANGED
@@ -58,16 +58,12 @@ Search the [existing issues](https://github.com/microsoft/react-native-windows/i
58
58
  ## Documentation
59
59
  React Native has [great documentation](https://reactnative.dev/docs/getting-started). React Native for Windows adds its own separate [Windows and macOS documentation](https://microsoft.github.io/react-native-windows/) for desktop platform information like API docs and blog updates.
60
60
 
61
- ### Security Documentation
62
- - **[Security Configuration Guide](https://github.com/microsoft/react-native-windows/blob/main/docs/security-configuration.md)** - Comprehensive guide for SDL-compliant security configurations
63
- - **[Security Best Practices](https://github.com/microsoft/react-native-windows/blob/main/docs/security-best-practices.md)** - Secure coding patterns and security API usage
64
-
65
61
  ### Examples
66
62
  - Using the CLI in the [Getting Started](https://microsoft.github.io/react-native-windows/docs/getting-started) guide will set you up with a sample React Native for Windows app that you can begin editing right away.
67
63
  - Check the [samples repo](https://github.com/microsoft/react-native-windows-samples) for more standalone samples.
68
64
  - The [React Native Gallery](https://github.com/microsoft/react-native-gallery) app demonstrates various components in an interactive way.
69
65
  - Check out the [React Native Developer Blog](https://devblogs.microsoft.com/react-native/) to see examples from past conference talks, blog posts, and more.
70
- - For more sample code browse the [RNTester folder](https://github.com/microsoft/react-native-windows/tree/main/packages/e2e-test-app/windows/RNTesterApp) in the GitHub web UI.
66
+ - For more sample code browse the [RNTester folder](https://github.com/microsoft/react-native-windows/tree/0.81-stable/packages/e2e-test-app/windows/RNTesterApp) in the GitHub web UI.
71
67
 
72
68
  ## 📢 Contributing
73
69
  See [Contributing guidelines](https://github.com/microsoft/react-native-windows/blob/main/CONTRIBUTING.md) for how to setup your fork of the repo and start a PR to contribute to React Native for Windows.
@@ -28,11 +28,6 @@
28
28
  <file src="$nugetroot$\Desktop\x64\Release\React.Windows.Desktop\Microsoft.ReactNative.winmd" target="lib\ship\x64"/>
29
29
  <file src="$nugetroot$\Desktop\ARM64EC\Release\React.Windows.Desktop\Microsoft.ReactNative.winmd" target="lib\ship\ARM64EC"/>
30
30
 
31
- <file src="$nugetroot$\Desktop\x86\Debug\React.Windows.Desktop.Test.DLL\React.Windows.Desktop.Test.**" target="lib\debug\x86" exclude="**\*.iobj;**\*.ipdb;**\*.exp;**\*.ilk" />
32
- <file src="$nugetroot$\Desktop\x64\Debug\React.Windows.Desktop.Test.DLL\React.Windows.Desktop.Test.**" target="lib\debug\x64" exclude="**\*.iobj;**\*.ipdb;**\*.exp;**\*.ilk" />
33
- <file src="$nugetroot$\Desktop\x86\Release\React.Windows.Desktop.Test.DLL\React.Windows.Desktop.Test.**" target="lib\ship\x86" exclude="**\*.iobj;**\*.ipdb;**\*.exp;**\*.ilk" />
34
- <file src="$nugetroot$\Desktop\x64\Release\React.Windows.Desktop.Test.DLL\React.Windows.Desktop.Test.**" target="lib\ship\x64" exclude="**\*.iobj;**\*.ipdb;**\*.exp;**\*.ilk" />
35
-
36
31
  <file src="$nugetroot$\inc\callinvoker\ReactCommon\CallInvoker.h" target="inc\ReactCommon"/>
37
32
  <file src="$nugetroot$\inc\callinvoker\ReactCommon\SchedulerPriority.h" target="inc\ReactCommon"/>
38
33
  <file src="$nugetroot$\inc\runtimeexecutor\ReactCommon\RuntimeExecutor.h" target="inc\ReactCommon"/>
@@ -62,12 +57,6 @@
62
57
  <file src="$nugetroot$\inc\Shared\Tracing.h" target="inc"/>
63
58
  <file src="$nugetroot$\inc\Shared\JSI\JSExecutorFactoryDelegate.h" target="inc\JSI"/>
64
59
 
65
- <!-- Test DLL -->
66
- <file src="$nugetroot$\inc\Test\WebSocketServer.h" target="inc\Test" />
67
- <file src="$nugetroot$\inc\Test\HttpServer.h" target="inc\Test" />
68
- <file src="$nugetroot$\inc\React.Windows.Desktop.Test.x64.def" target="inc\Test" />
69
- <file src="$nugetroot$\inc\React.Windows.Desktop.Test.x86.def" target="inc\Test" />
70
-
71
60
  <!-- Required for win32 -->
72
61
  <file src="$nugetroot$\inc\Shared\DevServerHelper.h" target="inc"/>
73
62
  <file src="$nugetroot$\inc\ReactWin32\JSBigStringResourceDll.h" target="inc"/>
@@ -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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-native-windows",
3
- "version": "0.81.7",
3
+ "version": "0.81.9",
4
4
  "license": "MIT",
5
5
  "repository": {
6
6
  "type": "git",
@@ -26,7 +26,7 @@
26
26
  "@react-native-community/cli": "17.0.0",
27
27
  "@react-native-community/cli-platform-android": "17.0.0",
28
28
  "@react-native-community/cli-platform-ios": "17.0.0",
29
- "@react-native-windows/cli": "0.81.4",
29
+ "@react-native-windows/cli": "0.81.5",
30
30
  "@react-native/assets": "1.0.0",
31
31
  "@react-native/assets-registry": "0.81.6",
32
32
  "@react-native/codegen": "0.81.6",
@@ -68,7 +68,7 @@
68
68
  "yargs": "^17.6.2"
69
69
  },
70
70
  "devDependencies": {
71
- "@react-native-windows/codegen": "0.81.4",
71
+ "@react-native-windows/codegen": "0.81.5",
72
72
  "@react-native/metro-config": "0.81.6",
73
73
  "@rnw-scripts/babel-react-native-config": "0.0.0",
74
74
  "@rnw-scripts/eslint-config": "1.2.37",
@@ -4,6 +4,8 @@
4
4
  <Import Project="$(SolutionDir)\ExperimentalFeatures.props" Condition="Exists('$(SolutionDir)\ExperimentalFeatures.props')" />
5
5
  <PropertyGroup Label="Globals">
6
6
  <CppWinRTOptimized>true</CppWinRTOptimized>
7
+ <!-- Prevent MSB4006 circular dependency in CppWinRT during parallel builds (https://github.com/microsoft/cppwinrt/issues/950) -->
8
+ <CppWinRTGenerateWindowsMetadata>true</CppWinRTGenerateWindowsMetadata>
7
9
  <MinimalCoreWin>true</MinimalCoreWin>
8
10
  <ProjectGuid>{{ projectGuidUpper }}</ProjectGuid>
9
11
  <ProjectName>{{ name }}</ProjectName>