react-native-windows 0.72.13 → 0.72.15

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.
@@ -12,6 +12,6 @@
12
12
  exports.version = {
13
13
  major: 0,
14
14
  minor: 72,
15
- patch: 5,
15
+ patch: 6,
16
16
  prerelease: null,
17
17
  };
@@ -109,7 +109,9 @@ export default class EventEmitter<TEventToArgsMap: {...}>
109
109
  Registration<$ElementType<TEventToArgsMap, TEvent>>,
110
110
  > = this._registry[eventType];
111
111
  if (registrations != null) {
112
- for (const registration of [...registrations]) {
112
+ // Copy `registrations` to take a snapshot when we invoke `emit`, in case
113
+ // registrations are added or removed when listeners are invoked.
114
+ for (const registration of Array.from(registrations)) {
113
115
  registration.listener.apply(registration.context, args);
114
116
  }
115
117
  }
@@ -567,6 +567,9 @@ void ReactInstanceWin::Initialize() noexcept {
567
567
  auto omitNetCxxPropName = ReactPropertyBagHelper::GetName(nullptr, L"OmitNetworkingCxxModules");
568
568
  auto omitNetCxxPropValue = m_options.Properties.Get(omitNetCxxPropName);
569
569
  devSettings->omitNetworkingCxxModules = winrt::unbox_value_or(omitNetCxxPropValue, false);
570
+ auto useWebSocketTurboModulePropName = ReactPropertyBagHelper::GetName(nullptr, L"UseWebSocketTurboModule");
571
+ auto useWebSocketTurboModulePropValue = m_options.Properties.Get(useWebSocketTurboModulePropName);
572
+ devSettings->useWebSocketTurboModule = winrt::unbox_value_or(useWebSocketTurboModulePropValue, false);
570
573
  auto bundleRootPath = devSettings->bundleRootPath;
571
574
  auto instanceWrapper = facebook::react::CreateReactInstance(
572
575
  std::shared_ptr<facebook::react::Instance>(strongThis->m_instance.Load()),
@@ -10,11 +10,11 @@
10
10
  -->
11
11
  <Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
12
12
  <PropertyGroup>
13
- <ReactNativeWindowsVersion>0.72.13</ReactNativeWindowsVersion>
13
+ <ReactNativeWindowsVersion>0.72.15</ReactNativeWindowsVersion>
14
14
  <ReactNativeWindowsMajor>0</ReactNativeWindowsMajor>
15
15
  <ReactNativeWindowsMinor>72</ReactNativeWindowsMinor>
16
- <ReactNativeWindowsPatch>13</ReactNativeWindowsPatch>
16
+ <ReactNativeWindowsPatch>15</ReactNativeWindowsPatch>
17
17
  <ReactNativeWindowsCanary>false</ReactNativeWindowsCanary>
18
- <ReactNativeWindowsCommitId>78f5a3de444b20d8e5826348ee3d18ffba19c89d</ReactNativeWindowsCommitId>
18
+ <ReactNativeWindowsCommitId>d6f66d93de3ba37d5c332e1cc3288827038a9bc4</ReactNativeWindowsCommitId>
19
19
  </PropertyGroup>
20
20
  </Project>
@@ -102,6 +102,9 @@ struct DevSettings {
102
102
 
103
103
  // Transitory. Used to indicate whether or not to load networking types in the default Cxx module registry.
104
104
  bool omitNetworkingCxxModules{false};
105
+
106
+ // OC:8368383 - Memory leak under investigation.
107
+ bool useWebSocketTurboModule{false};
105
108
  };
106
109
 
107
110
  } // namespace react
@@ -556,14 +556,18 @@ std::vector<std::unique_ptr<NativeModule>> InstanceImpl::GetDefaultNativeModules
556
556
  // If this code is enabled, we will have unused module instances.
557
557
  // Also, MSRN has a different property bag mechanism incompatible with this method's transitionalProps variable.
558
558
  #if (defined(_MSC_VER) && !defined(WINRT))
559
- // Applications using the Windows ABI feature should loade the networking TurboModule variants instead.
560
- if (!m_devSettings->omitNetworkingCxxModules) {
559
+
560
+ // OC:8368383 - Memory leak under investigation.
561
+ if (!m_devSettings->useWebSocketTurboModule) {
561
562
  modules.push_back(std::make_unique<CxxNativeModule>(
562
563
  m_innerInstance,
563
564
  Microsoft::React::GetWebSocketModuleName(),
564
565
  [transitionalProps]() { return Microsoft::React::CreateWebSocketModule(transitionalProps); },
565
566
  nativeQueue));
567
+ }
566
568
 
569
+ // Applications using the Windows ABI feature should loade the networking TurboModule variants instead.
570
+ if (!m_devSettings->omitNetworkingCxxModules) {
567
571
  // Use in case the host app provides its a non-Blob-compatilbe HTTP module.
568
572
  if (!Microsoft::React::GetRuntimeOptionBool("Blob.DisableModule")) {
569
573
  modules.push_back(std::make_unique<CxxNativeModule>(
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-native-windows",
3
- "version": "0.72.13",
3
+ "version": "0.72.15",
4
4
  "license": "MIT",
5
5
  "repository": {
6
6
  "type": "git",
@@ -80,7 +80,7 @@
80
80
  "metro-config": "0.76.4",
81
81
  "prettier": "^2.4.1",
82
82
  "react": "18.2.0",
83
- "react-native": "0.72.5",
83
+ "react-native": "0.72.6",
84
84
  "react-native-platform-override": "^1.9.4",
85
85
  "react-refresh": "^0.4.0",
86
86
  "typescript": "^4.9.5"