react-native-windows 0.83.0-preview.2 → 0.84.0-preview.2

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.
Files changed (221) hide show
  1. package/.flowconfig +2 -2
  2. package/Folly/Folly.vcxproj +2 -0
  3. package/Libraries/Animated/AnimatedEvent.js +2 -2
  4. package/Libraries/Animated/animations/Animation.js +1 -3
  5. package/Libraries/Animated/createAnimatedComponent.js +8 -5
  6. package/Libraries/Animated/nodes/AnimatedColor.js +1 -1
  7. package/Libraries/Animated/nodes/AnimatedInterpolation.js +40 -4
  8. package/Libraries/Animated/nodes/AnimatedNode.js +3 -3
  9. package/Libraries/Animated/nodes/AnimatedObject.js +16 -11
  10. package/Libraries/Animated/nodes/AnimatedProps.js +43 -12
  11. package/Libraries/Animated/nodes/AnimatedStyle.js +12 -12
  12. package/Libraries/Animated/nodes/AnimatedValue.js +6 -3
  13. package/Libraries/Animated/nodes/AnimatedValueXY.js +1 -1
  14. package/Libraries/BatchedBridge/MessageQueue.js +24 -22
  15. package/Libraries/Blob/URL.js +34 -3
  16. package/Libraries/Blob/URLSearchParams.js +1 -0
  17. package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.d.ts +9 -1
  18. package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.js +6 -1
  19. package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.windows.js +6 -1
  20. package/Libraries/Components/Button.js +2 -5
  21. package/Libraries/Components/Button.windows.js +2 -5
  22. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.android.js +1 -1
  23. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroidTypes.js +4 -4
  24. package/Libraries/Components/Keyboard/Keyboard.js +2 -2
  25. package/Libraries/Components/Pressable/Pressable.js +8 -8
  26. package/Libraries/Components/Pressable/Pressable.windows.js +14 -13
  27. package/Libraries/Components/TextInput/TextInput.flow.js +13 -13
  28. package/Libraries/Components/TextInput/TextInput.flow.windows.js +19 -18
  29. package/Libraries/Components/TextInput/TextInput.js +33 -34
  30. package/Libraries/Components/TextInput/TextInput.windows.js +40 -39
  31. package/Libraries/Components/Touchable/PooledClass.js +2 -2
  32. package/Libraries/Components/Touchable/TouchableBounce.js +3 -3
  33. package/Libraries/Components/Touchable/TouchableBounce.windows.js +3 -3
  34. package/Libraries/Components/Touchable/TouchableNativeFeedback.js +1 -1
  35. package/Libraries/Components/Touchable/TouchableNativeFeedback.windows.js +1 -1
  36. package/Libraries/Components/Touchable/TouchableWithoutFeedback.js +9 -9
  37. package/Libraries/Components/Touchable/TouchableWithoutFeedback.windows.js +9 -9
  38. package/Libraries/Components/View/ViewPropTypes.js +16 -6
  39. package/Libraries/Components/View/ViewPropTypes.windows.js +21 -11
  40. package/Libraries/Core/Devtools/loadBundleFromServer.js +6 -3
  41. package/Libraries/Core/Devtools/loadBundleFromServer.windows.js +6 -3
  42. package/Libraries/Core/Devtools/symbolicateStackTrace.js +1 -1
  43. package/Libraries/Core/ExceptionsManager.js +3 -3
  44. package/Libraries/Core/RawEventEmitter.js +1 -1
  45. package/Libraries/Core/ReactFiberErrorDialog.js +1 -1
  46. package/Libraries/Core/ReactNativeVersion.js +3 -3
  47. package/Libraries/Core/setUpDeveloperTools.js +1 -1
  48. package/Libraries/Core/setUpErrorHandling.js +1 -1
  49. package/Libraries/EventEmitter/NativeEventEmitter.js +2 -2
  50. package/Libraries/Image/Image.android.js +2 -2
  51. package/Libraries/Image/Image.ios.js +2 -2
  52. package/Libraries/Image/Image.windows.js +2 -2
  53. package/Libraries/Image/ImageProps.js +1 -1
  54. package/Libraries/Image/ImageTypes.flow.js +2 -2
  55. package/Libraries/Interaction/InteractionManager.js +3 -3
  56. package/Libraries/Interaction/PanResponder.js +1 -1
  57. package/Libraries/LayoutAnimation/LayoutAnimation.js +1 -1
  58. package/Libraries/Linking/Linking.js +1 -1
  59. package/Libraries/Lists/FlatList.js +2 -2
  60. package/Libraries/LogBox/Data/LogBoxData.js +31 -4
  61. package/Libraries/LogBox/Data/LogBoxLog.js +2 -2
  62. package/Libraries/LogBox/Data/LogBoxSymbolication.js +1 -1
  63. package/Libraries/LogBox/Data/parseLogBoxLog.js +5 -5
  64. package/Libraries/LogBox/LogBox.js +7 -7
  65. package/Libraries/NativeComponent/BaseViewConfig.android.js +12 -0
  66. package/Libraries/NativeComponent/StaticViewConfigValidator.js +4 -4
  67. package/Libraries/NativeComponent/ViewConfigIgnore.js +1 -1
  68. package/Libraries/NativeComponent/ViewConfigIgnore.windows.js +1 -1
  69. package/Libraries/Network/RCTNetworking.android.js +3 -3
  70. package/Libraries/Network/RCTNetworking.ios.js +2 -2
  71. package/Libraries/Network/RCTNetworking.js.flow +2 -2
  72. package/Libraries/Network/RCTNetworking.windows.js +2 -2
  73. package/Libraries/Pressability/Pressability.js +9 -9
  74. package/Libraries/Pressability/Pressability.windows.js +17 -16
  75. package/Libraries/ReactNative/AppRegistry.flow.js +1 -1
  76. package/Libraries/ReactNative/BridgelessUIManager.js +1 -1
  77. package/Libraries/ReactNative/FabricUIManager.js +1 -1
  78. package/Libraries/ReactNative/PaperUIManager.js +1 -1
  79. package/Libraries/ReactNative/PaperUIManager.windows.js +1 -1
  80. package/Libraries/ReactNative/ReactFabricPublicInstance/ReactFabricPublicInstance.js +1 -1
  81. package/Libraries/ReactNative/ReactFabricPublicInstance/ReactFabricPublicInstanceUtils.js +2 -2
  82. package/Libraries/ReactNative/ReactFabricPublicInstance/ReactNativeAttributePayload.js +1 -1
  83. package/Libraries/ReactNative/RendererImplementation.js +1 -1
  84. package/Libraries/ReactNative/getNativeComponentAttributes.js +1 -1
  85. package/Libraries/ReactPrivate/ReactNativePrivateInterface.js +1 -2
  86. package/Libraries/Renderer/implementations/ReactFabric-dev.js +3 -3
  87. package/Libraries/Renderer/implementations/ReactFabric-prod.js +3 -3
  88. package/Libraries/Renderer/implementations/ReactFabric-profiling.js +3 -3
  89. package/Libraries/Renderer/implementations/ReactNativeRenderer-dev.js +11 -4
  90. package/Libraries/Renderer/implementations/ReactNativeRenderer-prod.js +11 -4
  91. package/Libraries/Renderer/implementations/ReactNativeRenderer-profiling.js +11 -4
  92. package/Libraries/Renderer/shims/ReactFabric.js +3 -1
  93. package/Libraries/Renderer/shims/ReactFeatureFlags.js +3 -1
  94. package/Libraries/Renderer/shims/ReactNative.js +2 -2
  95. package/Libraries/Renderer/shims/ReactNativeTypes.js +3 -1
  96. package/Libraries/Renderer/shims/ReactNativeTypes.windows.js +3 -1
  97. package/Libraries/Renderer/shims/ReactNativeViewConfigRegistry.js +3 -1
  98. package/Libraries/Renderer/shims/createReactNativeComponentClass.js +3 -1
  99. package/Libraries/Settings/Settings.ios.js +1 -1
  100. package/Libraries/StyleSheet/PlatformColorValueTypes.android.js +2 -2
  101. package/Libraries/StyleSheet/PlatformColorValueTypes.ios.js +1 -1
  102. package/Libraries/StyleSheet/PlatformColorValueTypes.js.flow +4 -2
  103. package/Libraries/StyleSheet/StyleSheetExports.js +1 -1
  104. package/Libraries/StyleSheet/StyleSheetTypes.d.ts +99 -4
  105. package/Libraries/StyleSheet/StyleSheetTypes.js +6 -8
  106. package/Libraries/StyleSheet/processFilter.js +1 -1
  107. package/Libraries/Text/Text.js +46 -6
  108. package/Libraries/Text/Text.windows.js +46 -6
  109. package/Libraries/Text/TextNativeComponent.js +1 -1
  110. package/Libraries/Text/TextProps.js +7 -7
  111. package/Libraries/Text/TextProps.windows.js +7 -7
  112. package/Libraries/Types/CodegenTypes.js +1 -1
  113. package/Libraries/Types/CoreEventTypes.js +31 -0
  114. package/Libraries/Types/CoreEventTypes.windows.js +31 -13
  115. package/Libraries/Types/ReactDevToolsTypes.js +2 -2
  116. package/Libraries/Utilities/Appearance.js +2 -2
  117. package/Libraries/Utilities/DevLoadingView.js +8 -1
  118. package/Libraries/Utilities/DevSettings.js +3 -3
  119. package/Libraries/Utilities/HMRClient.js +4 -3
  120. package/Libraries/Utilities/RCTLog.js +3 -3
  121. package/Libraries/Utilities/ReactNativeTestTools.js +1 -1
  122. package/Libraries/Utilities/SceneTracker.js +1 -1
  123. package/Libraries/Utilities/codegenNativeCommands.js +1 -1
  124. package/Libraries/Utilities/deepFreezeAndThrowOnMutationInDev.js +3 -3
  125. package/Libraries/Utilities/logError.js +1 -1
  126. package/Libraries/Utilities/stringifySafe.js +7 -7
  127. package/Libraries/Utilities/useRefEffect.js +1 -1
  128. package/Libraries/WebSocket/WebSocketInterceptor.js +3 -3
  129. package/Libraries/promiseRejectionTrackingOptions.js +8 -8
  130. package/Libraries/vendor/core/ErrorUtils.js +10 -10
  131. package/Libraries/vendor/emitter/EventEmitter.js +6 -6
  132. package/Microsoft.ReactNative/Fabric/AbiViewProps.cpp +5 -0
  133. package/Microsoft.ReactNative/Fabric/AbiViewProps.h +1 -0
  134. package/Microsoft.ReactNative/Fabric/Composition/CompositionEventHandler.cpp +25 -5
  135. package/Microsoft.ReactNative/Fabric/Composition/CompositionEventHandler.h +2 -1
  136. package/Microsoft.ReactNative/Fabric/Composition/CompositionViewComponentView.cpp +9 -3
  137. package/Microsoft.ReactNative/Fabric/FabricUIManagerModule.cpp +2 -3
  138. package/Microsoft.ReactNative/Fabric/ReactTaggedView.h +2 -2
  139. package/Microsoft.ReactNative/IReactCompositionViewComponentBuilder.idl +2 -0
  140. package/Microsoft.ReactNative/ReactHost/ReactInstanceWin.cpp +6 -0
  141. package/Microsoft.ReactNative/ViewProps.idl +9 -0
  142. package/Microsoft.ReactNative.Cxx/ReactCommon/TurboModule.h +12 -2
  143. package/PropertySheets/Generated/PackageVersion.g.props +3 -3
  144. package/ReactCommon/ReactCommon.vcxproj +7 -1
  145. package/ReactCommon/ReactCommon.vcxproj.filters +0 -3
  146. package/ReactCommon/TEMP_UntilReactCommonUpdate/cxxreact/JSIndexedRAMBundle.cpp +5 -5
  147. package/ReactCommon/TEMP_UntilReactCommonUpdate/cxxreact/ReactMarker.cpp +0 -1
  148. package/ReactCommon/TEMP_UntilReactCommonUpdate/jsiexecutor/jsireact/JSIExecutor.cpp +2 -43
  149. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/nativemodule/core/ReactCommon/TurboModule.h +12 -2
  150. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/attributedstring/TextAttributes.cpp +291 -0
  151. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/core/EventDispatcher.cpp +0 -1
  152. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/core/EventQueueProcessor.cpp +1 -3
  153. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/core/propsConversions.h +199 -0
  154. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/uimanager/UIManager.cpp +6 -0
  155. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/runtime/ReactInstance.cpp +17 -10
  156. package/Scripts/creaternwapp.cmd +8 -1
  157. package/Scripts/creaternwlib.cmd +21 -2
  158. package/Shared/DevSettings.h +0 -3
  159. package/Shared/Modules/WebSocketModule.cpp +0 -1
  160. package/Shared/Modules/WebSocketModule.h +62 -3
  161. package/Shared/OInstance.cpp +5 -0
  162. package/Shared/Shared.vcxitems +4 -6
  163. package/Shared/Shared.vcxitems.filters +218 -709
  164. package/codegen/NativeAccessibilityManagerSpec.g.h +2 -0
  165. package/codegen/NativeAnimatedModuleSpec.g.h +21 -15
  166. package/codegen/NativeDevLoadingViewSpec.g.h +3 -3
  167. package/codegen/NativeIntentAndroidSpec.g.h +16 -3
  168. package/codegen/NativeReactNativeFeatureFlagsSpec.g.h +209 -191
  169. package/codegen/react/components/rnwcore/EventEmitters.h +1 -0
  170. package/codegen/react/components/rnwcore/Props.h +14 -0
  171. package/codegen/rnwcoreJSI.h +246 -211
  172. package/index.js +3 -0
  173. package/index.windows.js +3 -0
  174. package/jest/mock.js +2 -2
  175. package/jest/mockComponent.js +1 -1
  176. package/jest/setup.js +1 -1
  177. package/package.json +22 -21
  178. package/src/private/animated/NativeAnimatedHelper.js +130 -125
  179. package/src/private/animated/NativeAnimatedValidation.js +7 -4
  180. package/src/private/animated/createAnimatedPropsHook.js +13 -5
  181. package/src/private/animated/createAnimatedPropsMemoHook.js +10 -10
  182. package/src/private/components/virtualview/VirtualView.js +16 -9
  183. package/src/private/components/virtualview/logger/VirtualViewLogger.js +21 -0
  184. package/src/private/components/virtualview/logger/VirtualViewLoggerTypes.js +24 -0
  185. package/src/private/devsupport/devmenu/elementinspector/ElementProperties.js +1 -1
  186. package/src/private/devsupport/devmenu/elementinspector/Inspector.js +6 -25
  187. package/src/private/devsupport/devmenu/elementinspector/InspectorPanel.js +1 -27
  188. package/src/private/devsupport/devmenu/elementinspector/XHRInterceptor.js +3 -2
  189. package/src/private/featureflags/ReactNativeFeatureFlags.js +63 -42
  190. package/src/private/featureflags/ReactNativeFeatureFlagsBase.js +3 -3
  191. package/src/private/featureflags/specs/NativeReactNativeFeatureFlags.js +12 -9
  192. package/src/private/renderer/errorhandling/ErrorHandlers.js +7 -4
  193. package/src/private/specs_DEPRECATED/modules/NativeAccessibilityManager.js +1 -1
  194. package/src/private/specs_DEPRECATED/modules/NativeAnimatedModule.js +4 -0
  195. package/src/private/specs_DEPRECATED/modules/NativeDevLoadingView.js +1 -0
  196. package/src/private/webapis/dom/events/CustomEvent.js +3 -3
  197. package/src/private/webapis/dom/nodes/internals/ReactNativeDocumentElementInstanceHandle.js +1 -1
  198. package/src/private/webapis/dom/nodes/internals/ReactNativeDocumentInstanceHandle.js +1 -1
  199. package/src/private/webapis/dom/nodes/specs/NativeDOM.js +29 -29
  200. package/src/private/webapis/dom/oldstylecollections/HTMLCollection.js +1 -1
  201. package/src/private/webapis/dom/oldstylecollections/NodeList.js +2 -2
  202. package/src/private/webapis/geometry/DOMRectReadOnly.js +1 -1
  203. package/src/private/webapis/html/events/MessageEvent.js +3 -3
  204. package/src/private/webapis/idlecallbacks/specs/NativeIdleCallbacks.js +3 -3
  205. package/src/private/webapis/intersectionobserver/IntersectionObserver.js +53 -5
  206. package/src/private/webapis/intersectionobserver/internals/IntersectionObserverManager.js +2 -2
  207. package/src/private/webapis/intersectionobserver/specs/NativeIntersectionObserver.js +4 -4
  208. package/src/private/webapis/microtasks/specs/NativeMicrotasks.js +1 -1
  209. package/src/private/webapis/mutationobserver/MutationObserver.js +1 -1
  210. package/src/private/webapis/mutationobserver/MutationRecord.js +1 -1
  211. package/src/private/webapis/mutationobserver/specs/NativeMutationObserver.js +4 -4
  212. package/src/private/webapis/performance/Performance.js +1 -1
  213. package/src/private/webapis/performance/UserTiming.js +1 -1
  214. package/src/private/webapis/performance/specs/NativePerformance.js +3 -3
  215. package/src/private/webapis/structuredClone/structuredClone.js +3 -3
  216. package/src/types/globals.d.ts +30 -1
  217. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/image/conversions.h +0 -178
  218. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/imagemanager/primitives.h +0 -183
  219. package/Shared/Modules/WebSocketTurboModule.h +0 -71
  220. package/src/private/devsupport/devmenu/elementinspector/NetworkOverlay.js +0 -628
  221. package/src/private/devsupport/devmenu/perfmonitor/PerformanceOverlay.js +0 -66
@@ -0,0 +1,291 @@
1
+ /*
2
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
3
+ *
4
+ * This source code is licensed under the MIT license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ */
7
+
8
+ #include "TextAttributes.h"
9
+
10
+ #include <react/renderer/attributedstring/conversions.h>
11
+ #include <react/renderer/core/conversions.h>
12
+ #include <react/renderer/core/graphicsConversions.h>
13
+ #include <react/utils/FloatComparison.h>
14
+ #include <cmath>
15
+
16
+ #include <react/renderer/debug/debugStringConvertibleUtils.h>
17
+
18
+ namespace facebook::react {
19
+
20
+ void TextAttributes::apply(TextAttributes textAttributes) {
21
+ // Color
22
+ foregroundColor = textAttributes.foregroundColor
23
+ ? textAttributes.foregroundColor
24
+ : foregroundColor;
25
+ backgroundColor = textAttributes.backgroundColor
26
+ ? textAttributes.backgroundColor
27
+ : backgroundColor;
28
+ opacity =
29
+ !std::isnan(textAttributes.opacity) ? textAttributes.opacity : opacity;
30
+
31
+ // Font
32
+ fontFamily = !textAttributes.fontFamily.empty() ? textAttributes.fontFamily
33
+ : fontFamily;
34
+ fontSize =
35
+ !std::isnan(textAttributes.fontSize) ? textAttributes.fontSize : fontSize;
36
+ fontSizeMultiplier = !std::isnan(textAttributes.fontSizeMultiplier)
37
+ ? textAttributes.fontSizeMultiplier
38
+ : fontSizeMultiplier;
39
+ fontWeight = textAttributes.fontWeight.has_value() ? textAttributes.fontWeight
40
+ : fontWeight;
41
+ fontStyle = textAttributes.fontStyle.has_value() ? textAttributes.fontStyle
42
+ : fontStyle;
43
+ fontVariant = textAttributes.fontVariant.has_value()
44
+ ? textAttributes.fontVariant
45
+ : fontVariant;
46
+ allowFontScaling = textAttributes.allowFontScaling.has_value()
47
+ ? textAttributes.allowFontScaling
48
+ : allowFontScaling;
49
+ maxFontSizeMultiplier = !std::isnan(textAttributes.maxFontSizeMultiplier)
50
+ ? textAttributes.maxFontSizeMultiplier
51
+ : maxFontSizeMultiplier;
52
+ dynamicTypeRamp = textAttributes.dynamicTypeRamp.has_value()
53
+ ? textAttributes.dynamicTypeRamp
54
+ : dynamicTypeRamp;
55
+ letterSpacing = !std::isnan(textAttributes.letterSpacing)
56
+ ? textAttributes.letterSpacing
57
+ : letterSpacing;
58
+ textTransform = textAttributes.textTransform.has_value()
59
+ ? textAttributes.textTransform
60
+ : textTransform;
61
+
62
+ // Paragraph Styles
63
+ lineHeight = !std::isnan(textAttributes.lineHeight)
64
+ ? textAttributes.lineHeight
65
+ : lineHeight;
66
+ alignment = textAttributes.alignment.has_value() ? textAttributes.alignment
67
+ : alignment;
68
+ baseWritingDirection = textAttributes.baseWritingDirection.has_value()
69
+ ? textAttributes.baseWritingDirection
70
+ : baseWritingDirection;
71
+ lineBreakStrategy = textAttributes.lineBreakStrategy.has_value()
72
+ ? textAttributes.lineBreakStrategy
73
+ : lineBreakStrategy;
74
+ lineBreakMode = textAttributes.lineBreakMode.has_value()
75
+ ? textAttributes.lineBreakMode
76
+ : lineBreakMode;
77
+
78
+ // Decoration
79
+ textDecorationColor = textAttributes.textDecorationColor
80
+ ? textAttributes.textDecorationColor
81
+ : textDecorationColor;
82
+ textDecorationLineType = textAttributes.textDecorationLineType.has_value()
83
+ ? textAttributes.textDecorationLineType
84
+ : textDecorationLineType;
85
+ textDecorationStyle = textAttributes.textDecorationStyle.has_value()
86
+ ? textAttributes.textDecorationStyle
87
+ : textDecorationStyle;
88
+
89
+ // Shadow
90
+ textShadowOffset = textAttributes.textShadowOffset.has_value()
91
+ ? textAttributes.textShadowOffset.value()
92
+ : textShadowOffset;
93
+ textShadowRadius = !std::isnan(textAttributes.textShadowRadius)
94
+ ? textAttributes.textShadowRadius
95
+ : textShadowRadius;
96
+ textShadowColor = textAttributes.textShadowColor
97
+ ? textAttributes.textShadowColor
98
+ : textShadowColor;
99
+
100
+ // Special
101
+ isHighlighted = textAttributes.isHighlighted.has_value()
102
+ ? textAttributes.isHighlighted
103
+ : isHighlighted;
104
+ // TextAttributes "inherits" the isPressable value from ancestors, so this
105
+ // only applies the current node's value for isPressable if it is truthy.
106
+ isPressable =
107
+ textAttributes.isPressable.has_value() && *textAttributes.isPressable
108
+ ? textAttributes.isPressable
109
+ : isPressable;
110
+ layoutDirection = textAttributes.layoutDirection.has_value()
111
+ ? textAttributes.layoutDirection
112
+ : layoutDirection;
113
+ accessibilityRole = textAttributes.accessibilityRole.has_value()
114
+ ? textAttributes.accessibilityRole
115
+ : accessibilityRole;
116
+ role = textAttributes.role.has_value() ? textAttributes.role : role;
117
+ }
118
+
119
+ #pragma mark - Operators
120
+
121
+ bool TextAttributes::operator==(const TextAttributes& rhs) const {
122
+ return std::tie(
123
+ foregroundColor,
124
+ backgroundColor,
125
+ fontFamily,
126
+ fontWeight,
127
+ fontStyle,
128
+ fontVariant,
129
+ allowFontScaling,
130
+ dynamicTypeRamp,
131
+ alignment,
132
+ baseWritingDirection,
133
+ lineBreakStrategy,
134
+ textDecorationColor,
135
+ textDecorationLineType,
136
+ textDecorationStyle,
137
+ textShadowOffset,
138
+ textShadowColor,
139
+ isHighlighted,
140
+ isPressable,
141
+ layoutDirection,
142
+ accessibilityRole,
143
+ role,
144
+ textTransform) ==
145
+ std::tie(
146
+ rhs.foregroundColor,
147
+ rhs.backgroundColor,
148
+ rhs.fontFamily,
149
+ rhs.fontWeight,
150
+ rhs.fontStyle,
151
+ rhs.fontVariant,
152
+ rhs.allowFontScaling,
153
+ rhs.dynamicTypeRamp,
154
+ rhs.alignment,
155
+ rhs.baseWritingDirection,
156
+ rhs.lineBreakStrategy,
157
+ rhs.textDecorationColor,
158
+ rhs.textDecorationLineType,
159
+ rhs.textDecorationStyle,
160
+ rhs.textShadowOffset,
161
+ rhs.textShadowColor,
162
+ rhs.isHighlighted,
163
+ rhs.isPressable,
164
+ rhs.layoutDirection,
165
+ rhs.accessibilityRole,
166
+ rhs.role,
167
+ rhs.textTransform) &&
168
+ floatEquality(maxFontSizeMultiplier, rhs.maxFontSizeMultiplier) &&
169
+ floatEquality(opacity, rhs.opacity) &&
170
+ floatEquality(fontSize, rhs.fontSize) &&
171
+ floatEquality(fontSizeMultiplier, rhs.fontSizeMultiplier) &&
172
+ floatEquality(letterSpacing, rhs.letterSpacing) &&
173
+ floatEquality(lineHeight, rhs.lineHeight) &&
174
+ floatEquality(textShadowRadius, rhs.textShadowRadius);
175
+ }
176
+
177
+ TextAttributes TextAttributes::defaultTextAttributes() {
178
+ static auto textAttributes = [] {
179
+ auto defaultAttrs = TextAttributes{};
180
+ // Non-obvious (can be different among platforms) default text attributes.
181
+ defaultAttrs.foregroundColor = facebook::react::Color { // [Windows] override default color to not be black
182
+ .m_color = {},
183
+ .m_platformColor = {"TextFillColorPrimary"},
184
+ };
185
+ defaultAttrs.backgroundColor = clearColor();
186
+ defaultAttrs.fontSize = 14.0;
187
+ defaultAttrs.fontSizeMultiplier = 1.0;
188
+ return defaultAttrs;
189
+ }();
190
+ return textAttributes;
191
+ }
192
+
193
+ #pragma mark - DebugStringConvertible
194
+
195
+ #if RN_DEBUG_STRING_CONVERTIBLE
196
+ SharedDebugStringConvertibleList TextAttributes::getDebugProps() const {
197
+ const auto& textAttributes = TextAttributes::defaultTextAttributes();
198
+ return {
199
+ // Color
200
+ debugStringConvertibleItem(
201
+ "backgroundColor", backgroundColor, textAttributes.backgroundColor),
202
+ debugStringConvertibleItem(
203
+ "foregroundColor", foregroundColor, textAttributes.foregroundColor),
204
+ debugStringConvertibleItem("opacity", opacity, textAttributes.opacity),
205
+
206
+ // Font
207
+ debugStringConvertibleItem(
208
+ "fontFamily", fontFamily, textAttributes.fontFamily),
209
+ debugStringConvertibleItem("fontSize", fontSize, textAttributes.fontSize),
210
+ debugStringConvertibleItem(
211
+ "fontSizeMultiplier",
212
+ fontSizeMultiplier,
213
+ textAttributes.fontSizeMultiplier),
214
+ debugStringConvertibleItem(
215
+ "fontWeight", fontWeight, textAttributes.fontWeight),
216
+ debugStringConvertibleItem(
217
+ "fontStyle", fontStyle, textAttributes.fontStyle),
218
+ debugStringConvertibleItem(
219
+ "fontVariant", fontVariant, textAttributes.fontVariant),
220
+ debugStringConvertibleItem(
221
+ "allowFontScaling",
222
+ allowFontScaling,
223
+ textAttributes.allowFontScaling),
224
+ debugStringConvertibleItem(
225
+ "maxFontSizeMultiplier",
226
+ maxFontSizeMultiplier,
227
+ textAttributes.maxFontSizeMultiplier),
228
+ debugStringConvertibleItem(
229
+ "dynamicTypeRamp", dynamicTypeRamp, textAttributes.dynamicTypeRamp),
230
+ debugStringConvertibleItem(
231
+ "letterSpacing", letterSpacing, textAttributes.letterSpacing),
232
+
233
+ // Paragraph Styles
234
+ debugStringConvertibleItem(
235
+ "lineHeight", lineHeight, textAttributes.lineHeight),
236
+ debugStringConvertibleItem(
237
+ "alignment", alignment, textAttributes.alignment),
238
+ debugStringConvertibleItem(
239
+ "writingDirection",
240
+ baseWritingDirection,
241
+ textAttributes.baseWritingDirection),
242
+ debugStringConvertibleItem(
243
+ "lineBreakStrategyIOS",
244
+ lineBreakStrategy,
245
+ textAttributes.lineBreakStrategy),
246
+ debugStringConvertibleItem(
247
+ "lineBreakModeIOS", lineBreakMode, textAttributes.lineBreakMode),
248
+
249
+ // Decoration
250
+ debugStringConvertibleItem(
251
+ "textDecorationColor",
252
+ textDecorationColor,
253
+ textAttributes.textDecorationColor),
254
+ debugStringConvertibleItem(
255
+ "textDecorationLineType",
256
+ textDecorationLineType,
257
+ textAttributes.textDecorationLineType),
258
+ debugStringConvertibleItem(
259
+ "textDecorationStyle",
260
+ textDecorationStyle,
261
+ textAttributes.textDecorationStyle),
262
+
263
+ // Shadow
264
+ debugStringConvertibleItem(
265
+ "textShadowOffset",
266
+ textShadowOffset,
267
+ textAttributes.textShadowOffset),
268
+ debugStringConvertibleItem(
269
+ "textShadowRadius",
270
+ textShadowRadius,
271
+ textAttributes.textShadowRadius),
272
+ debugStringConvertibleItem(
273
+ "textShadowColor", textShadowColor, textAttributes.textShadowColor),
274
+
275
+ // Special
276
+ debugStringConvertibleItem(
277
+ "isHighlighted", isHighlighted, textAttributes.isHighlighted),
278
+ debugStringConvertibleItem(
279
+ "isPressable", isPressable, textAttributes.isPressable),
280
+ debugStringConvertibleItem(
281
+ "layoutDirection", layoutDirection, textAttributes.layoutDirection),
282
+ debugStringConvertibleItem(
283
+ "accessibilityRole",
284
+ accessibilityRole,
285
+ textAttributes.accessibilityRole),
286
+ debugStringConvertibleItem("role", role, textAttributes.role),
287
+ };
288
+ }
289
+ #endif
290
+
291
+ } // namespace facebook::react
@@ -11,7 +11,6 @@
11
11
  #pragma warning(disable : 4996) // deprecated APIs
12
12
  #endif
13
13
  #include "EventDispatcher.h"
14
- #include <cxxreact/JSExecutor.h>
15
14
  #include <react/renderer/core/StateUpdate.h>
16
15
 
17
16
  #include "EventQueue.h"
@@ -10,13 +10,11 @@
10
10
  #pragma warning(push)
11
11
  #pragma warning(disable : 4996) // deprecated APIs
12
12
  #endif
13
- #include <cxxreact/JSExecutor.h>
13
+ #include "EventQueueProcessor.h"
14
14
  #include <logger/react_native_log.h>
15
15
  #include <react/featureflags/ReactNativeFeatureFlags.h>
16
16
  #include "EventEmitter.h"
17
17
  #include "EventLogger.h"
18
- #include "EventQueue.h"
19
- #include "ShadowNodeFamily.h"
20
18
 
21
19
  namespace facebook::react {
22
20
 
@@ -0,0 +1,199 @@
1
+ /*
2
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
3
+ *
4
+ * This source code is licensed under the MIT license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ */
7
+
8
+ #pragma once
9
+
10
+ #include <optional>
11
+
12
+ #include <react/renderer/core/PropsParserContext.h>
13
+ #include <react/renderer/core/RawProps.h>
14
+ #include <react/renderer/core/RawPropsKey.h>
15
+ #include <react/renderer/core/graphicsConversions.h>
16
+
17
+ namespace facebook::react {
18
+
19
+ #ifdef RN_SERIALIZABLE_STATE
20
+
21
+ inline folly::dynamic toDynamic(const std::vector<bool> &arrayValue)
22
+ {
23
+ folly::dynamic resultArray = folly::dynamic::array();
24
+ for (auto value : arrayValue) {
25
+ resultArray.push_back(value);
26
+ }
27
+ return resultArray;
28
+ }
29
+
30
+ inline folly::dynamic toDynamic(const std::vector<std::string> &arrayValue)
31
+ {
32
+ folly::dynamic resultArray = folly::dynamic::array();
33
+ for (auto &value : arrayValue) {
34
+ resultArray.push_back(value);
35
+ }
36
+ return resultArray;
37
+ }
38
+
39
+ inline folly::dynamic toDynamic(const std::vector<int> &arrayValue)
40
+ {
41
+ folly::dynamic resultArray = folly::dynamic::array();
42
+ for (auto value : arrayValue) {
43
+ resultArray.push_back(value);
44
+ }
45
+ return resultArray;
46
+ }
47
+
48
+ inline folly::dynamic toDynamic(const std::vector<double> &arrayValue)
49
+ {
50
+ folly::dynamic resultArray = folly::dynamic::array();
51
+ for (auto value : arrayValue) {
52
+ resultArray.push_back(value);
53
+ }
54
+ return resultArray;
55
+ }
56
+
57
+ inline folly::dynamic toDynamic(const std::vector<Float> &arrayValue)
58
+ {
59
+ folly::dynamic resultArray = folly::dynamic::array();
60
+ for (auto value : arrayValue) {
61
+ resultArray.push_back(value);
62
+ }
63
+ return resultArray;
64
+ }
65
+
66
+ inline folly::dynamic toDynamic(const std::vector<folly::dynamic> &arrayValue)
67
+ {
68
+ folly::dynamic resultArray = folly::dynamic::array();
69
+ for (auto &value : arrayValue) {
70
+ resultArray.push_back(value);
71
+ }
72
+ return resultArray;
73
+ }
74
+
75
+ template <typename T>
76
+ folly::dynamic toDynamic(const std::vector<T> &arrayValue)
77
+ {
78
+ folly::dynamic resultArray = folly::dynamic::array();
79
+ for (const auto &value : arrayValue) {
80
+ resultArray.push_back(toDynamic(value));
81
+ }
82
+ return resultArray;
83
+ }
84
+
85
+ #endif
86
+
87
+ /**
88
+ * Use this only when a prop update has definitely been sent from JS;
89
+ * essentially, cases where rawValue is virtually guaranteed to not be a
90
+ * nullptr.
91
+ */
92
+ template <typename T>
93
+ void fromRawValue(const PropsParserContext &context, const RawValue &rawValue, T &result, T defaultValue)
94
+ {
95
+ if (!rawValue.hasValue()) {
96
+ result = std::move(defaultValue);
97
+ return;
98
+ }
99
+
100
+ fromRawValue(context, rawValue, result);
101
+ }
102
+
103
+ template <typename T>
104
+ void fromRawValue(const PropsParserContext &context, const RawValue &rawValue, T &result)
105
+ {
106
+ result = (T)rawValue;
107
+ }
108
+
109
+ template <typename T>
110
+ void fromRawValue(const PropsParserContext &context, const RawValue &rawValue, std::optional<T> &result)
111
+ {
112
+ T resultValue;
113
+ fromRawValue(context, rawValue, resultValue);
114
+ result = std::optional<T>{std::move(resultValue)};
115
+ }
116
+
117
+ template <typename T>
118
+ void fromRawValue(const PropsParserContext &context, const RawValue &rawValue, std::vector<T> &result)
119
+ {
120
+ if (rawValue.hasType<std::vector<RawValue>>()) {
121
+ auto items = (std::vector<RawValue>)rawValue;
122
+ auto length = items.size();
123
+ result.clear();
124
+ result.reserve(length);
125
+ for (auto &item : items) {
126
+ T itemResult;
127
+ fromRawValue(context, item, itemResult);
128
+ result.push_back(itemResult);
129
+ }
130
+ return;
131
+ }
132
+
133
+ // The case where `value` is not an array.
134
+ result.clear();
135
+ result.reserve(1);
136
+ T itemResult;
137
+ fromRawValue(context, rawValue, itemResult);
138
+ result.push_back(itemResult);
139
+ }
140
+
141
+ template <typename T>
142
+ void fromRawValue(const PropsParserContext &context, const RawValue &rawValue, std::vector<std::vector<T>> &result)
143
+ {
144
+ if (rawValue.hasType<std::vector<std::vector<RawValue>>>()) {
145
+ auto items = (std::vector<std::vector<RawValue>>)rawValue;
146
+ auto length = items.size();
147
+ result.clear();
148
+ result.reserve(length);
149
+ for (auto &item : items) {
150
+ T itemResult;
151
+ fromRawValue(context, item, itemResult);
152
+ result.push_back(itemResult);
153
+ }
154
+ return;
155
+ }
156
+
157
+ // The case where `value` is not an array.
158
+ result.clear();
159
+ result.reserve(1);
160
+ T itemResult;
161
+ fromRawValue(context, rawValue, itemResult);
162
+ result.push_back(itemResult);
163
+ }
164
+
165
+ template <typename T, typename U = T>
166
+ T convertRawProp(
167
+ const PropsParserContext &context,
168
+ const RawProps &rawProps,
169
+ const char *name,
170
+ const T &sourceValue,
171
+ const U &defaultValue,
172
+ const char *namePrefix = nullptr,
173
+ const char *nameSuffix = nullptr)
174
+ {
175
+ const auto *rawValue = rawProps.at(name, namePrefix, nameSuffix);
176
+ if (rawValue == nullptr) [[likely]] {
177
+ return sourceValue;
178
+ }
179
+
180
+ // Special case: `null` always means "the prop was removed, use default
181
+ // value".
182
+ if (!rawValue->hasValue()) [[unlikely]] {
183
+ return static_cast<T>(defaultValue); // Windows #15782
184
+ }
185
+
186
+ try {
187
+ T result;
188
+ fromRawValue(context, *rawValue, result);
189
+ return result;
190
+ } catch (const std::exception &e) {
191
+ // In case of errors, log the error and fall back to the default
192
+ RawPropsKey key{.prefix = namePrefix, .name = name, .suffix = nameSuffix};
193
+ // TODO: report this using ErrorUtils so it's more visible to the user
194
+ LOG(ERROR) << "Error while converting prop '" << static_cast<std::string>(key) << "': " << e.what();
195
+ return static_cast<T>(defaultValue);// Windows #15782
196
+ }
197
+ }
198
+
199
+ } // namespace facebook::react
@@ -210,6 +210,12 @@ void UIManager::completeSurface(
210
210
  // after we commit a specific one.
211
211
  lazyShadowTreeRevisionConsistencyManager_->updateCurrentRevision(
212
212
  surfaceId, shadowTree.getCurrentRevision().rootShadowNode);
213
+
214
+ if (ReactNativeFeatureFlags::useSharedAnimatedBackend()) {
215
+ if (auto animationBackend = animationBackend_.lock()) {
216
+ animationBackend->clearRegistry(surfaceId);
217
+ }
218
+ }
213
219
  }
214
220
  });
215
221
  }
@@ -20,13 +20,13 @@
20
20
  #include <cxxreact/TraceSection.h>
21
21
  #include <glog/logging.h>
22
22
  #include <jsi/JSIDynamic.h>
23
- #include <jsi/hermes.h>
23
+ #include <jsi/hermes-interfaces.h>
24
24
  #include <jsi/instrumentation.h>
25
25
  #include <jsinspector-modern/HostTarget.h>
26
- #include <jsireact/JSIExecutor.h>
27
26
  #include <react/featureflags/ReactNativeFeatureFlags.h>
28
27
  #include <react/renderer/core/ShadowNode.h>
29
28
  #include <react/renderer/runtimescheduler/RuntimeSchedulerBinding.h>
29
+ #include <react/runtime/JSRuntimeBindings.h>
30
30
  #include <react/timing/primitives.h>
31
31
  #include <react/utils/jsi-utils.h>
32
32
  #include <iostream>
@@ -53,6 +53,12 @@ std::shared_ptr<RuntimeScheduler> createRuntimeScheduler(
53
53
  return scheduler;
54
54
  }
55
55
 
56
+ std::string getSyntheticBundlePath(uint32_t bundleId) {
57
+ std::array<char, 32> buffer{};
58
+ std::snprintf(buffer.data(), buffer.size(), "seg-%u.js", bundleId);
59
+ return buffer.data();
60
+ }
61
+
56
62
  } // namespace
57
63
 
58
64
  ReactInstance::ReactInstance(
@@ -94,7 +100,7 @@ ReactInstance::ReactInstance(
94
100
  jsErrorHandler->handleError(jsiRuntime, originalError, true);
95
101
  } catch (std::exception& ex) {
96
102
  jsi::JSError error(
97
- jsiRuntime, std::string("Non-js exception: ") + ex.what());
103
+ jsiRuntime, std::string("Non-JS exception: ") + ex.what());
98
104
  jsErrorHandler->handleError(jsiRuntime, error, true);
99
105
  }
100
106
  });
@@ -161,6 +167,11 @@ ReactInstance::ReactInstance(
161
167
  runtimeScheduler->scheduleWork(std::move(callback));
162
168
  });
163
169
  }
170
+ ReactInstance::~ReactInstance() noexcept {
171
+ if (timerManager_ != nullptr) {
172
+ timerManager_->quit();
173
+ }
174
+ }
164
175
 
165
176
  void ReactInstance::unregisterFromInspector() {
166
177
  if (inspectorTarget_ != nullptr) {
@@ -226,7 +237,7 @@ void ReactInstance::loadScript(
226
237
  const std::string& sourceURL,
227
238
  std::function<void(jsi::Runtime& runtime)>&& beforeLoad,
228
239
  std::function<void(jsi::Runtime& runtime)>&& afterLoad) {
229
- auto buffer = std::make_shared<BigStringBuffer>(std::move(script));
240
+ std::shared_ptr<const jsi::Buffer> buffer(std::move(script));
230
241
  std::string scriptName = simpleBasename(sourceURL);
231
242
 
232
243
  runtimeScheduler_->scheduleWork([this,
@@ -237,7 +248,7 @@ void ReactInstance::loadScript(
237
248
  std::weak_ptr<BufferedRuntimeExecutor>(
238
249
  bufferedRuntimeExecutor_),
239
250
  beforeLoad,
240
- afterLoad](jsi::Runtime& runtime) {
251
+ afterLoad](jsi::Runtime& runtime) mutable {
241
252
  if (beforeLoad) {
242
253
  beforeLoad(runtime);
243
254
  }
@@ -362,7 +373,6 @@ void ReactInstance::registerSegment(
362
373
  throw std::invalid_argument(
363
374
  "Empty segment registered with ID " + tag + " from " + segmentPath);
364
375
  }
365
- auto buffer = std::make_shared<BigStringBuffer>(std::move(script));
366
376
 
367
377
  bool hasLogger(ReactMarker::logTaggedMarkerBridgelessImpl != nullptr);
368
378
  if (hasLogger) {
@@ -371,11 +381,8 @@ void ReactInstance::registerSegment(
371
381
  }
372
382
  LOG(WARNING) << "Starting to evaluate segment " << segmentId
373
383
  << " in ReactInstance::registerSegment";
374
- #pragma clang diagnostic push
375
- #pragma clang diagnostic ignored "-Wdeprecated-declarations"
376
384
  runtime.evaluateJavaScript(
377
- buffer, JSExecutor::getSyntheticBundlePath(segmentId, segmentPath));
378
- #pragma clang diagnostic pop
385
+ std::move(script), getSyntheticBundlePath(segmentId));
379
386
  LOG(WARNING) << "Finished evaluating segment " << segmentId
380
387
  << " in ReactInstance::registerSegment";
381
388
  if (hasLogger) {
@@ -117,7 +117,14 @@ if not "x%RN_VERSION:nightly=%"=="x%RN_VERSION%" (
117
117
  REM Do not change, this makes sure we always get a nightly template when still consuming a nightly RN and NOT a later "stable" template that may have been released
118
118
  REM set RNCLI_TEMPLATE=--template "@react-native-community/template@^%RN_VERSION:~0,4%.0-"
119
119
  REM Windows we need to manually update this with every integration #15124
120
- set RNCLI_TEMPLATE=--template "@react-native-community/template@0.83.2"
120
+ set RNCLI_TEMPLATE=--template "@react-native-community/template@0.84.1"
121
+ )
122
+
123
+ if not "x%RN_VERSION:-rc=%"=="x%RN_VERSION%" (
124
+ @echo creaternwapp.cmd Override @react-native-community/template version for RC
125
+ REM RC versions may not have a corresponding template published to npm
126
+ REM Windows we need to manually update this with every integration #15124
127
+ set RNCLI_TEMPLATE=--template "@react-native-community/template@0.84.1"
121
128
  )
122
129
 
123
130
  @echo creaternwapp.cmd: Creating base RN app project with: npx --yes @react-native-community/cli@%RNCLI_VERSION% init %APP_NAME% --version %RN_VERSION% %RNCLI_TEMPLATE% --verbose --skip-install --install-pods false --skip-git-init true
@@ -116,8 +116,15 @@ for /f "delims=" %%a in ('npm show react@%R_VERSION% version') do @set R_VERSION
116
116
 
117
117
  @echo creaternwlib.cmd Creating RNW lib "%LIB_NAME%" with react@%R_VERSION%, react-native@%RN_VERSION%, and react-native-windows@%RNW_VERSION%
118
118
 
119
- @echo creaternwlib.cmd Creating base RN library project with: npx --yes create-react-native-library@0.48.9 --slug %LIB_NAME% --description %LIB_NAME% --author-name "React-Native-Windows Bot" --author-email 53619745+rnbot@users.noreply.github.com --author-url http://example.com --repo-url http://example.com --languages kotlin-objc --local false --type %RN_TEMPLATE_TYPE% --react-native-version %RN_VERSION% --example vanilla %LIB_NAME%
120
- call npx --yes create-react-native-library@0.48.9 --slug %LIB_NAME% --description %LIB_NAME% --author-name "React-Native-Windows Bot" --author-email 53619745+rnbot@users.noreply.github.com --author-url http://example.com --repo-url http://example.com --languages kotlin-objc --local false --type %RN_TEMPLATE_TYPE% --react-native-version %RN_VERSION% --example vanilla %LIB_NAME%
119
+ set CRNL_RN_VERSION_ARG=--react-native-version %RN_VERSION%
120
+ if not "x%RN_VERSION:-rc=%"=="x%RN_VERSION%" (
121
+ @echo creaternwlib.cmd Override --react-native-version for RC build, will fix up versions later
122
+ REM RC versions may not have a corresponding template published to npm, omit --react-native-version
123
+ set CRNL_RN_VERSION_ARG=
124
+ )
125
+
126
+ @echo creaternwlib.cmd Creating base RN library project with: npx --yes create-react-native-library@0.48.9 --slug %LIB_NAME% --description %LIB_NAME% --author-name "React-Native-Windows Bot" --author-email 53619745+rnbot@users.noreply.github.com --author-url http://example.com --repo-url http://example.com --languages kotlin-objc --local false --type %RN_TEMPLATE_TYPE% %CRNL_RN_VERSION_ARG% --example vanilla %LIB_NAME%
127
+ call npx --yes create-react-native-library@0.48.9 --slug %LIB_NAME% --description %LIB_NAME% --author-name "React-Native-Windows Bot" --author-email 53619745+rnbot@users.noreply.github.com --author-url http://example.com --repo-url http://example.com --languages kotlin-objc --local false --type %RN_TEMPLATE_TYPE% %CRNL_RN_VERSION_ARG% --example vanilla %LIB_NAME%
121
128
 
122
129
  if %ERRORLEVEL% neq 0 (
123
130
  @echo creaternwlib.cmd: Unable to create base RN library project
@@ -138,6 +145,18 @@ if not "x%RN_VERSION:nightly=%"=="x%RN_VERSION%" (
138
145
  popd
139
146
  )
140
147
 
148
+ if not "x%RN_VERSION:-rc=%"=="x%RN_VERSION%" (
149
+ @echo creaternwlib.cmd Fixing react-native RC version
150
+ pwsh.exe -Command "(gc package.json) -replace '""react-native"": ""[^\*]*""', '""react-native"": ""%RN_VERSION%""' | Out-File -encoding utf8NoBOM package.json"
151
+ pwsh.exe -Command "(gc package.json) -replace '""@react-native/(.+-(config|preset))"": "".*""', '""@react-native/$1"": ""%RN_VERSION%""' | Out-File -encoding utf8NoBOM package.json"
152
+ pwsh.exe -Command "(gc package.json) -replace '""@react-native-community/cli((-platform-)?(ios|android))?"": "".*""', '""@react-native-community/cli$1"": ""%RNCLI_VERSION%""' | Out-File -encoding utf8NoBOM package.json"
153
+ pushd example
154
+ pwsh.exe -Command "(gc package.json) -replace '""react-native"": ""[^\*]*""', '""react-native"": ""%RN_VERSION%""' | Out-File -encoding utf8NoBOM package.json"
155
+ pwsh.exe -Command "(gc package.json) -replace '""@react-native/(.+-(config|preset))"": "".*""', '""@react-native/$1"": ""%RN_VERSION%""' | Out-File -encoding utf8NoBOM package.json"
156
+ pwsh.exe -Command "(gc package.json) -replace '""@react-native-community/cli((-platform-)?(ios|android))?"": "".*""', '""@react-native-community/cli$1"": ""%RNCLI_VERSION%""' | Out-File -encoding utf8NoBOM package.json"
157
+ popd
158
+ )
159
+
141
160
  @echo creaternwlib.cmd: Calling yarn install
142
161
  call yarn install
143
162
 
@@ -86,9 +86,6 @@ struct DevSettings {
86
86
 
87
87
  bool enableDefaultCrashHandler{false};
88
88
 
89
- // OC:8368383 - Memory leak under investigation.
90
- bool useWebSocketTurboModule{false};
91
-
92
89
  // Enable concurrent mode by installing runtimeScheduler
93
90
  bool useRuntimeScheduler{false};
94
91