react-native-windows 0.81.0-preview.6 → 0.81.0
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 +3 -0
- package/Chakra/ChakraUtils.cpp +0 -2
- package/Libraries/Components/Switch/Switch.js +1 -1
- package/Libraries/Components/Switch/Switch.windows.js +1 -1
- package/Libraries/Components/TextInput/TextInput.js +6 -1
- package/Libraries/Components/TextInput/TextInput.windows.js +5 -0
- package/Libraries/Components/View/View.js +5 -1
- package/Libraries/Components/View/View.windows.js +6 -1
- package/Libraries/Core/ReactNativeVersion.js +2 -2
- package/Microsoft.ReactNative/Fabric/Composition/Modal/WindowsModalHostViewComponentView.cpp +19 -0
- package/Microsoft.ReactNative/Fabric/Composition/UriImageManager.cpp +5 -3
- package/Microsoft.ReactNative/Fabric/WindowsImageManager.cpp +14 -1
- package/PropertySheets/Generated/PackageVersion.g.props +2 -2
- package/Shared/MemoryMappedBuffer.cpp +0 -2
- package/codegen/NativeReactNativeFeatureFlagsSpec.g.h +39 -21
- package/codegen/rnwcoreJSI-generated.cpp +18 -0
- package/codegen/rnwcoreJSI.h +27 -0
- package/package.json +17 -17
- package/src/private/featureflags/ReactNativeFeatureFlags.js +16 -1
- package/src/private/featureflags/specs/NativeReactNativeFeatureFlags.js +4 -1
- package/src/private/specs_DEPRECATED/components/SwitchNativeComponent.js +1 -0
package/.flowconfig
CHANGED
|
@@ -7,6 +7,9 @@
|
|
|
7
7
|
; Ignore fb_internal modules
|
|
8
8
|
<PROJECT_ROOT>/packages/react-native/src/fb_internal/.*
|
|
9
9
|
|
|
10
|
+
; Ignore all flow directory contents in node_modules
|
|
11
|
+
.*/flow/.*
|
|
12
|
+
|
|
10
13
|
; These modules have base components and Windows versions.
|
|
11
14
|
; Ideally we'd delete the base versions of files that had .windows overrides as part of the
|
|
12
15
|
; initRNLibraries build step
|
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
|
|
@@ -618,6 +618,9 @@ function InternalTextInput(props: TextInputProps): React.Node {
|
|
|
618
618
|
// so omitting onBlur and onFocus pressability handlers here.
|
|
619
619
|
const {onBlur, onFocus, ...eventHandlers} = usePressability(config);
|
|
620
620
|
|
|
621
|
+
const _accessibilityLabel =
|
|
622
|
+
props?.['aria-label'] ?? props?.accessibilityLabel;
|
|
623
|
+
|
|
621
624
|
let _accessibilityState;
|
|
622
625
|
if (
|
|
623
626
|
accessibilityState != null ||
|
|
@@ -681,6 +684,7 @@ function InternalTextInput(props: TextInputProps): React.Node {
|
|
|
681
684
|
{...otherProps}
|
|
682
685
|
{...eventHandlers}
|
|
683
686
|
acceptDragAndDropTypes={props.experimental_acceptDragAndDropTypes}
|
|
687
|
+
accessibilityLabel={_accessibilityLabel}
|
|
684
688
|
accessibilityState={_accessibilityState}
|
|
685
689
|
accessible={accessible}
|
|
686
690
|
submitBehavior={submitBehavior}
|
|
@@ -744,8 +748,9 @@ function InternalTextInput(props: TextInputProps): React.Node {
|
|
|
744
748
|
{...otherProps}
|
|
745
749
|
{...colorProps}
|
|
746
750
|
{...eventHandlers}
|
|
747
|
-
|
|
751
|
+
accessibilityLabel={_accessibilityLabel}
|
|
748
752
|
accessibilityLabelledBy={_accessibilityLabelledBy}
|
|
753
|
+
accessibilityState={_accessibilityState}
|
|
749
754
|
accessible={accessible}
|
|
750
755
|
acceptDragAndDropTypes={props.experimental_acceptDragAndDropTypes}
|
|
751
756
|
autoCapitalize={autoCapitalize}
|
|
@@ -734,6 +734,9 @@ function InternalTextInput(props: TextInputProps): React.Node {
|
|
|
734
734
|
const _accessibilityPosInSet = ariaPosinset ?? accessibilityPosInSet; // Windows
|
|
735
735
|
const _accessibilitySetSize = ariaSetsize ?? accessibilitySetSize; // Windows
|
|
736
736
|
|
|
737
|
+
const _accessibilityLabel =
|
|
738
|
+
props?.['aria-label'] ?? props?.accessibilityLabel;
|
|
739
|
+
|
|
737
740
|
let _accessibilityState;
|
|
738
741
|
if (
|
|
739
742
|
accessibilityState != null ||
|
|
@@ -804,6 +807,7 @@ function InternalTextInput(props: TextInputProps): React.Node {
|
|
|
804
807
|
{...otherProps}
|
|
805
808
|
{...eventHandlers}
|
|
806
809
|
acceptDragAndDropTypes={props.experimental_acceptDragAndDropTypes}
|
|
810
|
+
accessibilityLabel={_accessibilityLabel}
|
|
807
811
|
accessibilityErrorMessage={accessibilityErrorMessage}
|
|
808
812
|
accessibilityState={_accessibilityState}
|
|
809
813
|
accessible={accessible}
|
|
@@ -868,6 +872,7 @@ function InternalTextInput(props: TextInputProps): React.Node {
|
|
|
868
872
|
{...otherProps}
|
|
869
873
|
{...colorProps}
|
|
870
874
|
{...eventHandlers}
|
|
875
|
+
accessibilityLabel={_accessibilityLabel}
|
|
871
876
|
accessibilityErrorMessage={accessibilityErrorMessage}
|
|
872
877
|
accessibilityState={_accessibilityState}
|
|
873
878
|
accessibilityLabelledBy={_accessibilityLabelledBy}
|
|
@@ -23,7 +23,7 @@ import {use} from 'react';
|
|
|
23
23
|
*
|
|
24
24
|
* @see https://reactnative.dev/docs/view
|
|
25
25
|
*/
|
|
26
|
-
|
|
26
|
+
component View(
|
|
27
27
|
ref?: React.RefSetter<React.ElementRef<typeof ViewNativeComponent>>,
|
|
28
28
|
...props: ViewProps
|
|
29
29
|
) {
|
|
@@ -213,3 +213,7 @@ export default component View(
|
|
|
213
213
|
}
|
|
214
214
|
return actualView;
|
|
215
215
|
}
|
|
216
|
+
|
|
217
|
+
View.displayName = 'View';
|
|
218
|
+
|
|
219
|
+
export default View;
|
|
@@ -57,7 +57,7 @@ const childrenWithImportantForAccessibility = children => {
|
|
|
57
57
|
*
|
|
58
58
|
* @see https://reactnative.dev/docs/view
|
|
59
59
|
*/
|
|
60
|
-
|
|
60
|
+
component View(
|
|
61
61
|
ref?: React.RefSetter<React.ElementRef<typeof ViewNativeComponent>>,
|
|
62
62
|
...props: ViewProps
|
|
63
63
|
) {
|
|
@@ -398,3 +398,8 @@ export default component View(
|
|
|
398
398
|
}
|
|
399
399
|
return actualView;
|
|
400
400
|
}
|
|
401
|
+
|
|
402
|
+
// eslint-disable-next-line no-unreachable
|
|
403
|
+
View.displayName = 'View';
|
|
404
|
+
|
|
405
|
+
export default View;
|
package/Microsoft.ReactNative/Fabric/Composition/Modal/WindowsModalHostViewComponentView.cpp
CHANGED
|
@@ -66,6 +66,12 @@ struct ModalHostView : public winrt::implements<ModalHostView, winrt::Windows::F
|
|
|
66
66
|
m_appWindow = nullptr;
|
|
67
67
|
}
|
|
68
68
|
|
|
69
|
+
// Bring parent window to foreground
|
|
70
|
+
if (m_parentHwnd) {
|
|
71
|
+
SetForegroundWindow(m_parentHwnd);
|
|
72
|
+
SetFocus(m_parentHwnd);
|
|
73
|
+
}
|
|
74
|
+
|
|
69
75
|
// Close bridge
|
|
70
76
|
m_popUp.Close();
|
|
71
77
|
m_popUp = nullptr;
|
|
@@ -247,6 +253,12 @@ struct ModalHostView : public winrt::implements<ModalHostView, winrt::Windows::F
|
|
|
247
253
|
m_reactContext.Properties().Handle(), m_prevWindowID);
|
|
248
254
|
}
|
|
249
255
|
|
|
256
|
+
// Bring parent window to foreground
|
|
257
|
+
if (m_parentHwnd) {
|
|
258
|
+
SetForegroundWindow(m_parentHwnd);
|
|
259
|
+
SetFocus(m_parentHwnd);
|
|
260
|
+
}
|
|
261
|
+
|
|
250
262
|
// Dispatch onDismiss event
|
|
251
263
|
if (auto eventEmitter = EventEmitter()) {
|
|
252
264
|
::Microsoft::ReactNativeSpecs::ModalHostViewEventEmitter::OnDismiss eventArgs;
|
|
@@ -287,9 +299,16 @@ struct ModalHostView : public winrt::implements<ModalHostView, winrt::Windows::F
|
|
|
287
299
|
overlappedPresenter.IsModal(true);
|
|
288
300
|
overlappedPresenter.SetBorderAndTitleBar(true, true);
|
|
289
301
|
|
|
302
|
+
// modal should only have close button
|
|
303
|
+
overlappedPresenter.IsMinimizable(false);
|
|
304
|
+
overlappedPresenter.IsMaximizable(false);
|
|
305
|
+
|
|
290
306
|
// Apply the presenter to the window
|
|
291
307
|
m_appWindow.SetPresenter(overlappedPresenter);
|
|
292
308
|
|
|
309
|
+
// Hide the title bar icon
|
|
310
|
+
m_appWindow.TitleBar().IconShowOptions(winrt::Microsoft::UI::Windowing::IconShowOptions::HideIconAndSystemMenu);
|
|
311
|
+
|
|
293
312
|
// Set initial title using the stored local props
|
|
294
313
|
if (m_localProps && m_localProps->title.has_value()) {
|
|
295
314
|
winrt::hstring titleValue = winrt::to_hstring(m_localProps->title.value());
|
|
@@ -291,9 +291,11 @@ ImageResponseOrImageErrorInfo ImageFailedResponse::ResolveImage() {
|
|
|
291
291
|
if (imageOrError.errorInfo->error.empty()) {
|
|
292
292
|
imageOrError.errorInfo->error = "Failed to load image.";
|
|
293
293
|
}
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
294
|
+
if (m_responseHeaders) {
|
|
295
|
+
for (auto &&[header, value] : m_responseHeaders) {
|
|
296
|
+
imageOrError.errorInfo->httpResponseHeaders.push_back(
|
|
297
|
+
std::make_pair<std::string, std::string>(winrt::to_string(header), winrt::to_string(value)));
|
|
298
|
+
}
|
|
297
299
|
}
|
|
298
300
|
return imageOrError;
|
|
299
301
|
}
|
|
@@ -10,6 +10,7 @@
|
|
|
10
10
|
#include <Fabric/Composition/ImageResponseImage.h>
|
|
11
11
|
#include <Fabric/Composition/UriImageManager.h>
|
|
12
12
|
#include <Networking/NetworkPropertyIds.h>
|
|
13
|
+
#include <Utils/CppWinrtLessExceptions.h>
|
|
13
14
|
#include <Utils/ImageUtils.h>
|
|
14
15
|
#include <fmt/format.h>
|
|
15
16
|
#include <functional/functor.h>
|
|
@@ -131,7 +132,19 @@ WindowsImageManager::GetImageRandomAccessStreamAsync(
|
|
|
131
132
|
request.Content(bodyContent);
|
|
132
133
|
}
|
|
133
134
|
|
|
134
|
-
|
|
135
|
+
auto asyncOp = m_httpClient.SendRequestAsync(request);
|
|
136
|
+
co_await lessthrow_await_adapter<winrt::Windows::Foundation::IAsyncOperationWithProgress<
|
|
137
|
+
winrt::Windows::Web::Http::HttpResponseMessage,
|
|
138
|
+
winrt::Windows::Web::Http::HttpProgress>>{asyncOp};
|
|
139
|
+
|
|
140
|
+
if (asyncOp.Status() == winrt::Windows::Foundation::AsyncStatus::Error ||
|
|
141
|
+
asyncOp.Status() == winrt::Windows::Foundation::AsyncStatus::Canceled) {
|
|
142
|
+
auto errorMessage = FormatHResultError(winrt::hresult_error(asyncOp.ErrorCode()));
|
|
143
|
+
co_return winrt::Microsoft::ReactNative::Composition::ImageFailedResponse(
|
|
144
|
+
winrt::to_hstring("Network request failed: " + errorMessage));
|
|
145
|
+
}
|
|
146
|
+
|
|
147
|
+
winrt::Windows::Web::Http::HttpResponseMessage response = asyncOp.GetResults();
|
|
135
148
|
|
|
136
149
|
if (!response.IsSuccessStatusCode()) {
|
|
137
150
|
co_return winrt::Microsoft::ReactNative::Composition::ImageFailedResponse(
|
|
@@ -10,11 +10,11 @@
|
|
|
10
10
|
-->
|
|
11
11
|
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
|
12
12
|
<PropertyGroup>
|
|
13
|
-
<ReactNativeWindowsVersion>0.81.0
|
|
13
|
+
<ReactNativeWindowsVersion>0.81.0</ReactNativeWindowsVersion>
|
|
14
14
|
<ReactNativeWindowsMajor>0</ReactNativeWindowsMajor>
|
|
15
15
|
<ReactNativeWindowsMinor>81</ReactNativeWindowsMinor>
|
|
16
16
|
<ReactNativeWindowsPatch>0</ReactNativeWindowsPatch>
|
|
17
17
|
<ReactNativeWindowsCanary>false</ReactNativeWindowsCanary>
|
|
18
|
-
<ReactNativeWindowsCommitId>
|
|
18
|
+
<ReactNativeWindowsCommitId>81863d6ae455c6d92f9ec8db6c9c4fe350a1c5b5</ReactNativeWindowsCommitId>
|
|
19
19
|
</PropertyGroup>
|
|
20
20
|
</Project>
|
|
@@ -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 {
|
|
@@ -65,17 +65,20 @@ struct ReactNativeFeatureFlagsSpec : winrt::Microsoft::ReactNative::TurboModuleS
|
|
|
65
65
|
SyncMethod<bool() noexcept>{45, L"fuseboxNetworkInspectionEnabled"},
|
|
66
66
|
SyncMethod<bool() noexcept>{46, L"hideOffscreenVirtualViewsOnIOS"},
|
|
67
67
|
SyncMethod<double() noexcept>{47, L"preparedTextCacheSize"},
|
|
68
|
-
SyncMethod<bool() noexcept>{48, L"
|
|
69
|
-
SyncMethod<bool() noexcept>{49, L"
|
|
70
|
-
SyncMethod<bool() noexcept>{50, L"
|
|
71
|
-
SyncMethod<bool() noexcept>{51, L"
|
|
72
|
-
SyncMethod<bool() noexcept>{52, L"
|
|
73
|
-
SyncMethod<bool() noexcept>{53, L"
|
|
74
|
-
SyncMethod<bool() noexcept>{54, L"
|
|
75
|
-
SyncMethod<bool() noexcept>{55, L"
|
|
76
|
-
SyncMethod<bool() noexcept>{56, L"
|
|
77
|
-
SyncMethod<bool() noexcept>{57, L"
|
|
78
|
-
SyncMethod<
|
|
68
|
+
SyncMethod<bool() noexcept>{48, L"preventShadowTreeCommitExhaustion"},
|
|
69
|
+
SyncMethod<bool() noexcept>{49, L"traceTurboModulePromiseRejectionsOnAndroid"},
|
|
70
|
+
SyncMethod<bool() noexcept>{50, L"updateRuntimeShadowNodeReferencesOnCommit"},
|
|
71
|
+
SyncMethod<bool() noexcept>{51, L"useAlwaysAvailableJSErrorHandling"},
|
|
72
|
+
SyncMethod<bool() noexcept>{52, L"useFabricInterop"},
|
|
73
|
+
SyncMethod<bool() noexcept>{53, L"useNativeEqualsInNativeReadableArrayAndroid"},
|
|
74
|
+
SyncMethod<bool() noexcept>{54, L"useNativeTransformHelperAndroid"},
|
|
75
|
+
SyncMethod<bool() noexcept>{55, L"useNativeViewConfigsInBridgelessMode"},
|
|
76
|
+
SyncMethod<bool() noexcept>{56, L"useOptimizedEventBatchingOnAndroid"},
|
|
77
|
+
SyncMethod<bool() noexcept>{57, L"useRawPropsJsiValue"},
|
|
78
|
+
SyncMethod<bool() noexcept>{58, L"useShadowNodeStateOnClone"},
|
|
79
|
+
SyncMethod<bool() noexcept>{59, L"useTurboModuleInterop"},
|
|
80
|
+
SyncMethod<bool() noexcept>{60, L"useTurboModules"},
|
|
81
|
+
SyncMethod<double() noexcept>{61, L"virtualViewPrerenderRatio"},
|
|
79
82
|
};
|
|
80
83
|
|
|
81
84
|
template <class TModule>
|
|
@@ -324,56 +327,71 @@ struct ReactNativeFeatureFlagsSpec : winrt::Microsoft::ReactNative::TurboModuleS
|
|
|
324
327
|
" REACT_SYNC_METHOD(preparedTextCacheSize) static double preparedTextCacheSize() noexcept { /* implementation */ }\n");
|
|
325
328
|
REACT_SHOW_METHOD_SPEC_ERRORS(
|
|
326
329
|
48,
|
|
330
|
+
"preventShadowTreeCommitExhaustion",
|
|
331
|
+
" REACT_SYNC_METHOD(preventShadowTreeCommitExhaustion) bool preventShadowTreeCommitExhaustion() noexcept { /* implementation */ }\n"
|
|
332
|
+
" REACT_SYNC_METHOD(preventShadowTreeCommitExhaustion) static bool preventShadowTreeCommitExhaustion() noexcept { /* implementation */ }\n");
|
|
333
|
+
REACT_SHOW_METHOD_SPEC_ERRORS(
|
|
334
|
+
49,
|
|
327
335
|
"traceTurboModulePromiseRejectionsOnAndroid",
|
|
328
336
|
" REACT_SYNC_METHOD(traceTurboModulePromiseRejectionsOnAndroid) bool traceTurboModulePromiseRejectionsOnAndroid() noexcept { /* implementation */ }\n"
|
|
329
337
|
" REACT_SYNC_METHOD(traceTurboModulePromiseRejectionsOnAndroid) static bool traceTurboModulePromiseRejectionsOnAndroid() noexcept { /* implementation */ }\n");
|
|
330
338
|
REACT_SHOW_METHOD_SPEC_ERRORS(
|
|
331
|
-
|
|
339
|
+
50,
|
|
332
340
|
"updateRuntimeShadowNodeReferencesOnCommit",
|
|
333
341
|
" REACT_SYNC_METHOD(updateRuntimeShadowNodeReferencesOnCommit) bool updateRuntimeShadowNodeReferencesOnCommit() noexcept { /* implementation */ }\n"
|
|
334
342
|
" REACT_SYNC_METHOD(updateRuntimeShadowNodeReferencesOnCommit) static bool updateRuntimeShadowNodeReferencesOnCommit() noexcept { /* implementation */ }\n");
|
|
335
343
|
REACT_SHOW_METHOD_SPEC_ERRORS(
|
|
336
|
-
|
|
344
|
+
51,
|
|
337
345
|
"useAlwaysAvailableJSErrorHandling",
|
|
338
346
|
" REACT_SYNC_METHOD(useAlwaysAvailableJSErrorHandling) bool useAlwaysAvailableJSErrorHandling() noexcept { /* implementation */ }\n"
|
|
339
347
|
" REACT_SYNC_METHOD(useAlwaysAvailableJSErrorHandling) static bool useAlwaysAvailableJSErrorHandling() noexcept { /* implementation */ }\n");
|
|
340
348
|
REACT_SHOW_METHOD_SPEC_ERRORS(
|
|
341
|
-
|
|
349
|
+
52,
|
|
342
350
|
"useFabricInterop",
|
|
343
351
|
" REACT_SYNC_METHOD(useFabricInterop) bool useFabricInterop() noexcept { /* implementation */ }\n"
|
|
344
352
|
" REACT_SYNC_METHOD(useFabricInterop) static bool useFabricInterop() noexcept { /* implementation */ }\n");
|
|
345
353
|
REACT_SHOW_METHOD_SPEC_ERRORS(
|
|
346
|
-
|
|
354
|
+
53,
|
|
355
|
+
"useNativeEqualsInNativeReadableArrayAndroid",
|
|
356
|
+
" REACT_SYNC_METHOD(useNativeEqualsInNativeReadableArrayAndroid) bool useNativeEqualsInNativeReadableArrayAndroid() noexcept { /* implementation */ }\n"
|
|
357
|
+
" REACT_SYNC_METHOD(useNativeEqualsInNativeReadableArrayAndroid) static bool useNativeEqualsInNativeReadableArrayAndroid() noexcept { /* implementation */ }\n");
|
|
358
|
+
REACT_SHOW_METHOD_SPEC_ERRORS(
|
|
359
|
+
54,
|
|
360
|
+
"useNativeTransformHelperAndroid",
|
|
361
|
+
" REACT_SYNC_METHOD(useNativeTransformHelperAndroid) bool useNativeTransformHelperAndroid() noexcept { /* implementation */ }\n"
|
|
362
|
+
" REACT_SYNC_METHOD(useNativeTransformHelperAndroid) static bool useNativeTransformHelperAndroid() noexcept { /* implementation */ }\n");
|
|
363
|
+
REACT_SHOW_METHOD_SPEC_ERRORS(
|
|
364
|
+
55,
|
|
347
365
|
"useNativeViewConfigsInBridgelessMode",
|
|
348
366
|
" REACT_SYNC_METHOD(useNativeViewConfigsInBridgelessMode) bool useNativeViewConfigsInBridgelessMode() noexcept { /* implementation */ }\n"
|
|
349
367
|
" REACT_SYNC_METHOD(useNativeViewConfigsInBridgelessMode) static bool useNativeViewConfigsInBridgelessMode() noexcept { /* implementation */ }\n");
|
|
350
368
|
REACT_SHOW_METHOD_SPEC_ERRORS(
|
|
351
|
-
|
|
369
|
+
56,
|
|
352
370
|
"useOptimizedEventBatchingOnAndroid",
|
|
353
371
|
" REACT_SYNC_METHOD(useOptimizedEventBatchingOnAndroid) bool useOptimizedEventBatchingOnAndroid() noexcept { /* implementation */ }\n"
|
|
354
372
|
" REACT_SYNC_METHOD(useOptimizedEventBatchingOnAndroid) static bool useOptimizedEventBatchingOnAndroid() noexcept { /* implementation */ }\n");
|
|
355
373
|
REACT_SHOW_METHOD_SPEC_ERRORS(
|
|
356
|
-
|
|
374
|
+
57,
|
|
357
375
|
"useRawPropsJsiValue",
|
|
358
376
|
" REACT_SYNC_METHOD(useRawPropsJsiValue) bool useRawPropsJsiValue() noexcept { /* implementation */ }\n"
|
|
359
377
|
" REACT_SYNC_METHOD(useRawPropsJsiValue) static bool useRawPropsJsiValue() noexcept { /* implementation */ }\n");
|
|
360
378
|
REACT_SHOW_METHOD_SPEC_ERRORS(
|
|
361
|
-
|
|
379
|
+
58,
|
|
362
380
|
"useShadowNodeStateOnClone",
|
|
363
381
|
" REACT_SYNC_METHOD(useShadowNodeStateOnClone) bool useShadowNodeStateOnClone() noexcept { /* implementation */ }\n"
|
|
364
382
|
" REACT_SYNC_METHOD(useShadowNodeStateOnClone) static bool useShadowNodeStateOnClone() noexcept { /* implementation */ }\n");
|
|
365
383
|
REACT_SHOW_METHOD_SPEC_ERRORS(
|
|
366
|
-
|
|
384
|
+
59,
|
|
367
385
|
"useTurboModuleInterop",
|
|
368
386
|
" REACT_SYNC_METHOD(useTurboModuleInterop) bool useTurboModuleInterop() noexcept { /* implementation */ }\n"
|
|
369
387
|
" REACT_SYNC_METHOD(useTurboModuleInterop) static bool useTurboModuleInterop() noexcept { /* implementation */ }\n");
|
|
370
388
|
REACT_SHOW_METHOD_SPEC_ERRORS(
|
|
371
|
-
|
|
389
|
+
60,
|
|
372
390
|
"useTurboModules",
|
|
373
391
|
" REACT_SYNC_METHOD(useTurboModules) bool useTurboModules() noexcept { /* implementation */ }\n"
|
|
374
392
|
" REACT_SYNC_METHOD(useTurboModules) static bool useTurboModules() noexcept { /* implementation */ }\n");
|
|
375
393
|
REACT_SHOW_METHOD_SPEC_ERRORS(
|
|
376
|
-
|
|
394
|
+
61,
|
|
377
395
|
"virtualViewPrerenderRatio",
|
|
378
396
|
" REACT_SYNC_METHOD(virtualViewPrerenderRatio) double virtualViewPrerenderRatio() noexcept { /* implementation */ }\n"
|
|
379
397
|
" REACT_SYNC_METHOD(virtualViewPrerenderRatio) static double virtualViewPrerenderRatio() noexcept { /* implementation */ }\n");
|
|
@@ -251,6 +251,11 @@ static jsi::Value __hostFunction_NativeReactNativeFeatureFlagsCxxSpecJSI_prepare
|
|
|
251
251
|
rt
|
|
252
252
|
);
|
|
253
253
|
}
|
|
254
|
+
static jsi::Value __hostFunction_NativeReactNativeFeatureFlagsCxxSpecJSI_preventShadowTreeCommitExhaustion(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) {
|
|
255
|
+
return static_cast<NativeReactNativeFeatureFlagsCxxSpecJSI *>(&turboModule)->preventShadowTreeCommitExhaustion(
|
|
256
|
+
rt
|
|
257
|
+
);
|
|
258
|
+
}
|
|
254
259
|
static jsi::Value __hostFunction_NativeReactNativeFeatureFlagsCxxSpecJSI_traceTurboModulePromiseRejectionsOnAndroid(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) {
|
|
255
260
|
return static_cast<NativeReactNativeFeatureFlagsCxxSpecJSI *>(&turboModule)->traceTurboModulePromiseRejectionsOnAndroid(
|
|
256
261
|
rt
|
|
@@ -271,6 +276,16 @@ static jsi::Value __hostFunction_NativeReactNativeFeatureFlagsCxxSpecJSI_useFabr
|
|
|
271
276
|
rt
|
|
272
277
|
);
|
|
273
278
|
}
|
|
279
|
+
static jsi::Value __hostFunction_NativeReactNativeFeatureFlagsCxxSpecJSI_useNativeEqualsInNativeReadableArrayAndroid(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) {
|
|
280
|
+
return static_cast<NativeReactNativeFeatureFlagsCxxSpecJSI *>(&turboModule)->useNativeEqualsInNativeReadableArrayAndroid(
|
|
281
|
+
rt
|
|
282
|
+
);
|
|
283
|
+
}
|
|
284
|
+
static jsi::Value __hostFunction_NativeReactNativeFeatureFlagsCxxSpecJSI_useNativeTransformHelperAndroid(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) {
|
|
285
|
+
return static_cast<NativeReactNativeFeatureFlagsCxxSpecJSI *>(&turboModule)->useNativeTransformHelperAndroid(
|
|
286
|
+
rt
|
|
287
|
+
);
|
|
288
|
+
}
|
|
274
289
|
static jsi::Value __hostFunction_NativeReactNativeFeatureFlagsCxxSpecJSI_useNativeViewConfigsInBridgelessMode(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) {
|
|
275
290
|
return static_cast<NativeReactNativeFeatureFlagsCxxSpecJSI *>(&turboModule)->useNativeViewConfigsInBridgelessMode(
|
|
276
291
|
rt
|
|
@@ -357,10 +372,13 @@ NativeReactNativeFeatureFlagsCxxSpecJSI::NativeReactNativeFeatureFlagsCxxSpecJSI
|
|
|
357
372
|
methodMap_["fuseboxNetworkInspectionEnabled"] = MethodMetadata {0, __hostFunction_NativeReactNativeFeatureFlagsCxxSpecJSI_fuseboxNetworkInspectionEnabled};
|
|
358
373
|
methodMap_["hideOffscreenVirtualViewsOnIOS"] = MethodMetadata {0, __hostFunction_NativeReactNativeFeatureFlagsCxxSpecJSI_hideOffscreenVirtualViewsOnIOS};
|
|
359
374
|
methodMap_["preparedTextCacheSize"] = MethodMetadata {0, __hostFunction_NativeReactNativeFeatureFlagsCxxSpecJSI_preparedTextCacheSize};
|
|
375
|
+
methodMap_["preventShadowTreeCommitExhaustion"] = MethodMetadata {0, __hostFunction_NativeReactNativeFeatureFlagsCxxSpecJSI_preventShadowTreeCommitExhaustion};
|
|
360
376
|
methodMap_["traceTurboModulePromiseRejectionsOnAndroid"] = MethodMetadata {0, __hostFunction_NativeReactNativeFeatureFlagsCxxSpecJSI_traceTurboModulePromiseRejectionsOnAndroid};
|
|
361
377
|
methodMap_["updateRuntimeShadowNodeReferencesOnCommit"] = MethodMetadata {0, __hostFunction_NativeReactNativeFeatureFlagsCxxSpecJSI_updateRuntimeShadowNodeReferencesOnCommit};
|
|
362
378
|
methodMap_["useAlwaysAvailableJSErrorHandling"] = MethodMetadata {0, __hostFunction_NativeReactNativeFeatureFlagsCxxSpecJSI_useAlwaysAvailableJSErrorHandling};
|
|
363
379
|
methodMap_["useFabricInterop"] = MethodMetadata {0, __hostFunction_NativeReactNativeFeatureFlagsCxxSpecJSI_useFabricInterop};
|
|
380
|
+
methodMap_["useNativeEqualsInNativeReadableArrayAndroid"] = MethodMetadata {0, __hostFunction_NativeReactNativeFeatureFlagsCxxSpecJSI_useNativeEqualsInNativeReadableArrayAndroid};
|
|
381
|
+
methodMap_["useNativeTransformHelperAndroid"] = MethodMetadata {0, __hostFunction_NativeReactNativeFeatureFlagsCxxSpecJSI_useNativeTransformHelperAndroid};
|
|
364
382
|
methodMap_["useNativeViewConfigsInBridgelessMode"] = MethodMetadata {0, __hostFunction_NativeReactNativeFeatureFlagsCxxSpecJSI_useNativeViewConfigsInBridgelessMode};
|
|
365
383
|
methodMap_["useOptimizedEventBatchingOnAndroid"] = MethodMetadata {0, __hostFunction_NativeReactNativeFeatureFlagsCxxSpecJSI_useOptimizedEventBatchingOnAndroid};
|
|
366
384
|
methodMap_["useRawPropsJsiValue"] = MethodMetadata {0, __hostFunction_NativeReactNativeFeatureFlagsCxxSpecJSI_useRawPropsJsiValue};
|
package/codegen/rnwcoreJSI.h
CHANGED
|
@@ -68,10 +68,13 @@ public:
|
|
|
68
68
|
virtual bool fuseboxNetworkInspectionEnabled(jsi::Runtime &rt) = 0;
|
|
69
69
|
virtual bool hideOffscreenVirtualViewsOnIOS(jsi::Runtime &rt) = 0;
|
|
70
70
|
virtual double preparedTextCacheSize(jsi::Runtime &rt) = 0;
|
|
71
|
+
virtual bool preventShadowTreeCommitExhaustion(jsi::Runtime &rt) = 0;
|
|
71
72
|
virtual bool traceTurboModulePromiseRejectionsOnAndroid(jsi::Runtime &rt) = 0;
|
|
72
73
|
virtual bool updateRuntimeShadowNodeReferencesOnCommit(jsi::Runtime &rt) = 0;
|
|
73
74
|
virtual bool useAlwaysAvailableJSErrorHandling(jsi::Runtime &rt) = 0;
|
|
74
75
|
virtual bool useFabricInterop(jsi::Runtime &rt) = 0;
|
|
76
|
+
virtual bool useNativeEqualsInNativeReadableArrayAndroid(jsi::Runtime &rt) = 0;
|
|
77
|
+
virtual bool useNativeTransformHelperAndroid(jsi::Runtime &rt) = 0;
|
|
75
78
|
virtual bool useNativeViewConfigsInBridgelessMode(jsi::Runtime &rt) = 0;
|
|
76
79
|
virtual bool useOptimizedEventBatchingOnAndroid(jsi::Runtime &rt) = 0;
|
|
77
80
|
virtual bool useRawPropsJsiValue(jsi::Runtime &rt) = 0;
|
|
@@ -493,6 +496,14 @@ private:
|
|
|
493
496
|
return bridging::callFromJs<double>(
|
|
494
497
|
rt, &T::preparedTextCacheSize, jsInvoker_, instance_);
|
|
495
498
|
}
|
|
499
|
+
bool preventShadowTreeCommitExhaustion(jsi::Runtime &rt) override {
|
|
500
|
+
static_assert(
|
|
501
|
+
bridging::getParameterCount(&T::preventShadowTreeCommitExhaustion) == 1,
|
|
502
|
+
"Expected preventShadowTreeCommitExhaustion(...) to have 1 parameters");
|
|
503
|
+
|
|
504
|
+
return bridging::callFromJs<bool>(
|
|
505
|
+
rt, &T::preventShadowTreeCommitExhaustion, jsInvoker_, instance_);
|
|
506
|
+
}
|
|
496
507
|
bool traceTurboModulePromiseRejectionsOnAndroid(jsi::Runtime &rt) override {
|
|
497
508
|
static_assert(
|
|
498
509
|
bridging::getParameterCount(&T::traceTurboModulePromiseRejectionsOnAndroid) == 1,
|
|
@@ -525,6 +536,22 @@ private:
|
|
|
525
536
|
return bridging::callFromJs<bool>(
|
|
526
537
|
rt, &T::useFabricInterop, jsInvoker_, instance_);
|
|
527
538
|
}
|
|
539
|
+
bool useNativeEqualsInNativeReadableArrayAndroid(jsi::Runtime &rt) override {
|
|
540
|
+
static_assert(
|
|
541
|
+
bridging::getParameterCount(&T::useNativeEqualsInNativeReadableArrayAndroid) == 1,
|
|
542
|
+
"Expected useNativeEqualsInNativeReadableArrayAndroid(...) to have 1 parameters");
|
|
543
|
+
|
|
544
|
+
return bridging::callFromJs<bool>(
|
|
545
|
+
rt, &T::useNativeEqualsInNativeReadableArrayAndroid, jsInvoker_, instance_);
|
|
546
|
+
}
|
|
547
|
+
bool useNativeTransformHelperAndroid(jsi::Runtime &rt) override {
|
|
548
|
+
static_assert(
|
|
549
|
+
bridging::getParameterCount(&T::useNativeTransformHelperAndroid) == 1,
|
|
550
|
+
"Expected useNativeTransformHelperAndroid(...) to have 1 parameters");
|
|
551
|
+
|
|
552
|
+
return bridging::callFromJs<bool>(
|
|
553
|
+
rt, &T::useNativeTransformHelperAndroid, jsInvoker_, instance_);
|
|
554
|
+
}
|
|
528
555
|
bool useNativeViewConfigsInBridgelessMode(jsi::Runtime &rt) override {
|
|
529
556
|
static_assert(
|
|
530
557
|
bridging::getParameterCount(&T::useNativeViewConfigsInBridgelessMode) == 1,
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "react-native-windows",
|
|
3
|
-
"version": "0.81.0
|
|
3
|
+
"version": "0.81.0",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -26,16 +26,16 @@
|
|
|
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.0
|
|
29
|
+
"@react-native-windows/cli": "0.81.0",
|
|
30
30
|
"@react-native/assets": "1.0.0",
|
|
31
|
-
"@react-native/assets-registry": "0.81.
|
|
32
|
-
"@react-native/codegen": "0.81.
|
|
33
|
-
"@react-native/community-cli-plugin": "0.81.
|
|
34
|
-
"@react-native/gradle-plugin": "0.81.
|
|
35
|
-
"@react-native/js-polyfills": "0.81.
|
|
36
|
-
"@react-native/normalize-colors": "0.81.
|
|
37
|
-
"@react-native/virtualized-lists": "0.81.
|
|
38
|
-
"@react-native/new-app-screen": "0.81.
|
|
31
|
+
"@react-native/assets-registry": "0.81.5",
|
|
32
|
+
"@react-native/codegen": "0.81.5",
|
|
33
|
+
"@react-native/community-cli-plugin": "0.81.5",
|
|
34
|
+
"@react-native/gradle-plugin": "0.81.5",
|
|
35
|
+
"@react-native/js-polyfills": "0.81.5",
|
|
36
|
+
"@react-native/normalize-colors": "0.81.5",
|
|
37
|
+
"@react-native/virtualized-lists": "0.81.5",
|
|
38
|
+
"@react-native/new-app-screen": "0.81.5",
|
|
39
39
|
"abort-controller": "^3.0.0",
|
|
40
40
|
"anser": "^1.4.9",
|
|
41
41
|
"ansi-regex": "^5.0.0",
|
|
@@ -68,8 +68,8 @@
|
|
|
68
68
|
"yargs": "^17.6.2"
|
|
69
69
|
},
|
|
70
70
|
"devDependencies": {
|
|
71
|
-
"@react-native-windows/codegen": "0.81.0
|
|
72
|
-
"@react-native/metro-config": "0.81.
|
|
71
|
+
"@react-native-windows/codegen": "0.81.0",
|
|
72
|
+
"@react-native/metro-config": "0.81.5",
|
|
73
73
|
"@rnw-scripts/babel-react-native-config": "0.0.0",
|
|
74
74
|
"@rnw-scripts/eslint-config": "1.2.37",
|
|
75
75
|
"@rnw-scripts/jest-out-of-tree-snapshot-resolver": "^1.1.41",
|
|
@@ -84,22 +84,22 @@
|
|
|
84
84
|
"just-scripts": "^1.3.3",
|
|
85
85
|
"prettier": "2.8.8",
|
|
86
86
|
"react": "19.1.0",
|
|
87
|
-
"react-native": "0.81.
|
|
88
|
-
"react-native-platform-override": "
|
|
87
|
+
"react-native": "0.81.5",
|
|
88
|
+
"react-native-platform-override": "0.81.0",
|
|
89
89
|
"react-refresh": "^0.14.0",
|
|
90
90
|
"typescript": "5.0.4"
|
|
91
91
|
},
|
|
92
92
|
"peerDependencies": {
|
|
93
93
|
"@types/react": "^19.1.0",
|
|
94
94
|
"react": "^19.1.0",
|
|
95
|
-
"react-native": "0.81.
|
|
95
|
+
"react-native": "0.81.5"
|
|
96
96
|
},
|
|
97
97
|
"beachball": {
|
|
98
|
-
"defaultNpmTag": "
|
|
98
|
+
"defaultNpmTag": "latest",
|
|
99
99
|
"disallowedChangeTypes": [
|
|
100
100
|
"major",
|
|
101
101
|
"minor",
|
|
102
|
-
"
|
|
102
|
+
"prerelease",
|
|
103
103
|
"premajor",
|
|
104
104
|
"preminor",
|
|
105
105
|
"prepatch"
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* This source code is licensed under the MIT license found in the
|
|
5
5
|
* LICENSE file in the root directory of this source tree.
|
|
6
6
|
*
|
|
7
|
-
* @generated SignedSource<<
|
|
7
|
+
* @generated SignedSource<<f17b8e4e33228e19b346837e7a33a2dd>>
|
|
8
8
|
* @flow strict
|
|
9
9
|
* @noformat
|
|
10
10
|
*/
|
|
@@ -98,10 +98,13 @@ export type ReactNativeFeatureFlags = $ReadOnly<{
|
|
|
98
98
|
fuseboxNetworkInspectionEnabled: Getter<boolean>,
|
|
99
99
|
hideOffscreenVirtualViewsOnIOS: Getter<boolean>,
|
|
100
100
|
preparedTextCacheSize: Getter<number>,
|
|
101
|
+
preventShadowTreeCommitExhaustion: Getter<boolean>,
|
|
101
102
|
traceTurboModulePromiseRejectionsOnAndroid: Getter<boolean>,
|
|
102
103
|
updateRuntimeShadowNodeReferencesOnCommit: Getter<boolean>,
|
|
103
104
|
useAlwaysAvailableJSErrorHandling: Getter<boolean>,
|
|
104
105
|
useFabricInterop: Getter<boolean>,
|
|
106
|
+
useNativeEqualsInNativeReadableArrayAndroid: Getter<boolean>,
|
|
107
|
+
useNativeTransformHelperAndroid: Getter<boolean>,
|
|
105
108
|
useNativeViewConfigsInBridgelessMode: Getter<boolean>,
|
|
106
109
|
useOptimizedEventBatchingOnAndroid: Getter<boolean>,
|
|
107
110
|
useRawPropsJsiValue: Getter<boolean>,
|
|
@@ -383,6 +386,10 @@ export const hideOffscreenVirtualViewsOnIOS: Getter<boolean> = createNativeFlagG
|
|
|
383
386
|
* Number cached PreparedLayouts in TextLayoutManager cache
|
|
384
387
|
*/
|
|
385
388
|
export const preparedTextCacheSize: Getter<number> = createNativeFlagGetter('preparedTextCacheSize', 200);
|
|
389
|
+
/**
|
|
390
|
+
* Enables a new mechanism in ShadowTree to prevent problems caused by multiple threads trying to commit concurrently. If a thread tries to commit a few times unsuccessfully, it will acquire a lock and try again.
|
|
391
|
+
*/
|
|
392
|
+
export const preventShadowTreeCommitExhaustion: Getter<boolean> = createNativeFlagGetter('preventShadowTreeCommitExhaustion', false);
|
|
386
393
|
/**
|
|
387
394
|
* Enables storing js caller stack when creating promise in native module. This is useful in case of Promise rejection and tracing the cause.
|
|
388
395
|
*/
|
|
@@ -399,6 +406,14 @@ export const useAlwaysAvailableJSErrorHandling: Getter<boolean> = createNativeFl
|
|
|
399
406
|
* Should this application enable the Fabric Interop Layer for Android? If yes, the application will behave so that it can accept non-Fabric components and render them on Fabric. This toggle is controlling extra logic such as custom event dispatching that are needed for the Fabric Interop Layer to work correctly.
|
|
400
407
|
*/
|
|
401
408
|
export const useFabricInterop: Getter<boolean> = createNativeFlagGetter('useFabricInterop', true);
|
|
409
|
+
/**
|
|
410
|
+
* Use a native implementation of equals in NativeReadableArray.
|
|
411
|
+
*/
|
|
412
|
+
export const useNativeEqualsInNativeReadableArrayAndroid: Getter<boolean> = createNativeFlagGetter('useNativeEqualsInNativeReadableArrayAndroid', false);
|
|
413
|
+
/**
|
|
414
|
+
* Use a native implementation of TransformHelper
|
|
415
|
+
*/
|
|
416
|
+
export const useNativeTransformHelperAndroid: Getter<boolean> = createNativeFlagGetter('useNativeTransformHelperAndroid', false);
|
|
402
417
|
/**
|
|
403
418
|
* When enabled, the native view configs are used in bridgeless mode.
|
|
404
419
|
*/
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* This source code is licensed under the MIT license found in the
|
|
5
5
|
* LICENSE file in the root directory of this source tree.
|
|
6
6
|
*
|
|
7
|
-
* @generated SignedSource<<
|
|
7
|
+
* @generated SignedSource<<8b4f1275a16d5b83f5594da1eb89c6c1>>
|
|
8
8
|
* @flow strict
|
|
9
9
|
* @noformat
|
|
10
10
|
*/
|
|
@@ -72,10 +72,13 @@ export interface Spec extends TurboModule {
|
|
|
72
72
|
+fuseboxNetworkInspectionEnabled?: () => boolean;
|
|
73
73
|
+hideOffscreenVirtualViewsOnIOS?: () => boolean;
|
|
74
74
|
+preparedTextCacheSize?: () => number;
|
|
75
|
+
+preventShadowTreeCommitExhaustion?: () => boolean;
|
|
75
76
|
+traceTurboModulePromiseRejectionsOnAndroid?: () => boolean;
|
|
76
77
|
+updateRuntimeShadowNodeReferencesOnCommit?: () => boolean;
|
|
77
78
|
+useAlwaysAvailableJSErrorHandling?: () => boolean;
|
|
78
79
|
+useFabricInterop?: () => boolean;
|
|
80
|
+
+useNativeEqualsInNativeReadableArrayAndroid?: () => boolean;
|
|
81
|
+
+useNativeTransformHelperAndroid?: () => boolean;
|
|
79
82
|
+useNativeViewConfigsInBridgelessMode?: () => boolean;
|
|
80
83
|
+useOptimizedEventBatchingOnAndroid?: () => boolean;
|
|
81
84
|
+useRawPropsJsiValue?: () => boolean;
|
|
@@ -58,4 +58,5 @@ export const Commands: NativeCommands = codegenNativeCommands<NativeCommands>({
|
|
|
58
58
|
export default (codegenNativeComponent<SwitchNativeProps>('Switch', {
|
|
59
59
|
paperComponentName: 'RCTSwitch',
|
|
60
60
|
excludedPlatforms: ['android'],
|
|
61
|
+
//#Windows interfaceOnly: true,
|
|
61
62
|
}): ComponentType);
|