react-native 0.84.0-nightly-20251107-f8198f662 → 0.84.0-nightly-20251109-b7012ba92
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/Libraries/Blob/RCTBlobPlugins.mm +14 -14
- package/Libraries/Core/ReactNativeVersion.js +1 -1
- package/Libraries/Image/RCTImagePlugins.h +1 -0
- package/Libraries/Image/RCTImagePlugins.mm +30 -17
- package/Libraries/LinkingIOS/RCTLinkingPlugins.mm +10 -13
- package/Libraries/LogBox/Data/LogBoxData.js +31 -4
- package/Libraries/NativeAnimation/RCTAnimationPlugins.mm +14 -14
- package/Libraries/Network/RCTNetworkPlugins.mm +22 -16
- package/Libraries/PushNotificationIOS/RCTPushNotificationPlugins.mm +10 -13
- package/Libraries/Settings/RCTSettingsPlugins.mm +10 -13
- package/Libraries/Vibration/RCTVibrationPlugins.mm +10 -13
- package/React/Base/RCTVersion.m +1 -1
- package/React/CoreModules/CoreModulesPlugins.mm +98 -35
- package/React/FBReactNativeSpec/FBReactNativeSpecJSI.h +16 -0
- package/ReactAndroid/gradle.properties +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricUIManager.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlags.kt +13 -1
- package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsCxxAccessor.kt +21 -1
- package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsCxxInterop.kt +5 -1
- package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsDefaults.kt +5 -1
- package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsLocalAccessor.kt +23 -1
- package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsProvider.kt +5 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/systeminfo/ReactNativeVersion.kt +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/BaseViewManager.java +4 -5
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/drawable/OutlineDrawable.kt +1 -1
- package/ReactAndroid/src/main/jni/react/fabric/FabricUIManagerBinding.cpp +12 -0
- package/ReactAndroid/src/main/jni/react/featureflags/JReactNativeFeatureFlagsCxxInterop.cpp +29 -1
- package/ReactAndroid/src/main/jni/react/featureflags/JReactNativeFeatureFlagsCxxInterop.h +7 -1
- package/ReactAndroid/src/main/jni/react/runtime/jni/JReactHostInspectorTarget.cpp +8 -1
- package/ReactAndroid/src/main/jni/third-party/folly/CMakeLists.txt +1 -0
- package/ReactApple/RCTAnimatedModuleProvider/RCTAnimatedModuleProvider.mm +29 -4
- package/ReactCommon/cxxreact/ReactNativeVersion.h +1 -1
- package/ReactCommon/jsinspector-modern/HostTarget.h +8 -2
- package/ReactCommon/jsinspector-modern/HostTargetTraceRecording.cpp +6 -2
- package/ReactCommon/jsinspector-modern/HostTargetTraceRecording.h +15 -5
- package/ReactCommon/jsinspector-modern/HostTargetTracing.cpp +9 -5
- package/ReactCommon/jsinspector-modern/RuntimeAgent.cpp +3 -2
- package/ReactCommon/jsinspector-modern/TracingAgent.cpp +19 -2
- package/ReactCommon/jsinspector-modern/tests/TracingTest.cpp +59 -0
- package/ReactCommon/jsinspector-modern/tests/TracingTest.h +20 -7
- package/ReactCommon/jsinspector-modern/tracing/PerformanceTracer.cpp +19 -18
- package/ReactCommon/jsinspector-modern/tracing/TraceEvent.h +2 -1
- package/ReactCommon/jsinspector-modern/tracing/TraceEventSerializer.cpp +2 -1
- package/ReactCommon/jsinspector-modern/tracing/TraceRecordingState.h +3 -0
- package/ReactCommon/jsinspector-modern/tracing/TracingCategory.h +126 -0
- package/ReactCommon/react/featureflags/ReactNativeFeatureFlags.cpp +9 -1
- package/ReactCommon/react/featureflags/ReactNativeFeatureFlags.h +11 -1
- package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsAccessor.cpp +113 -77
- package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsAccessor.h +6 -2
- package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsDefaults.h +9 -1
- package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsDynamicProvider.h +19 -1
- package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsProvider.h +3 -1
- package/ReactCommon/react/nativemodule/core/platform/ios/ReactCommon/RCTTurboModuleManager.mm +0 -1
- package/ReactCommon/react/nativemodule/featureflags/NativeReactNativeFeatureFlags.cpp +11 -1
- package/ReactCommon/react/nativemodule/featureflags/NativeReactNativeFeatureFlags.h +5 -1
- package/ReactCommon/react/renderer/animated/NativeAnimatedNodesManager.cpp +3 -3
- package/ReactCommon/react/renderer/animated/NativeAnimatedNodesManagerProvider.cpp +2 -1
- package/ReactCommon/react/runtime/TimerManager.cpp +0 -54
- package/ReactCommon/react/runtime/TimerManager.h +0 -12
- package/package.json +9 -9
- package/sdks/hermes-engine/version.properties +1 -1
- package/src/private/featureflags/ReactNativeFeatureFlags.js +11 -1
- package/src/private/featureflags/specs/NativeReactNativeFeatureFlags.js +3 -1
|
@@ -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<<4e1bcac109eecdaf11c62ce8c367b20d>>
|
|
8
8
|
*/
|
|
9
9
|
|
|
10
10
|
/**
|
|
@@ -38,10 +38,12 @@ class ReactNativeFeatureFlagsAccessor {
|
|
|
38
38
|
bool cxxNativeAnimatedRemoveJsSync();
|
|
39
39
|
bool disableEarlyViewCommandExecution();
|
|
40
40
|
bool disableFabricCommitInCXXAnimated();
|
|
41
|
+
bool disableImageViewPreallocationAndroid();
|
|
41
42
|
bool disableMountItemReorderingAndroid();
|
|
42
43
|
bool disableOldAndroidAttachmentMetricsWorkarounds();
|
|
43
44
|
bool disableSubviewClippingAndroid();
|
|
44
45
|
bool disableTextLayoutManagerCacheAndroid();
|
|
46
|
+
bool disableViewPreallocationAndroid();
|
|
45
47
|
bool enableAccessibilityOrder();
|
|
46
48
|
bool enableAccumulatedUpdatesInRawPropsAndroid();
|
|
47
49
|
bool enableAndroidLinearText();
|
|
@@ -125,7 +127,7 @@ class ReactNativeFeatureFlagsAccessor {
|
|
|
125
127
|
std::unique_ptr<ReactNativeFeatureFlagsProvider> currentProvider_;
|
|
126
128
|
bool wasOverridden_;
|
|
127
129
|
|
|
128
|
-
std::array<std::atomic<const char*>,
|
|
130
|
+
std::array<std::atomic<const char*>, 84> accessedFeatureFlags_;
|
|
129
131
|
|
|
130
132
|
std::atomic<std::optional<bool>> commonTestFlag_;
|
|
131
133
|
std::atomic<std::optional<bool>> cdpInteractionMetricsEnabled_;
|
|
@@ -133,10 +135,12 @@ class ReactNativeFeatureFlagsAccessor {
|
|
|
133
135
|
std::atomic<std::optional<bool>> cxxNativeAnimatedRemoveJsSync_;
|
|
134
136
|
std::atomic<std::optional<bool>> disableEarlyViewCommandExecution_;
|
|
135
137
|
std::atomic<std::optional<bool>> disableFabricCommitInCXXAnimated_;
|
|
138
|
+
std::atomic<std::optional<bool>> disableImageViewPreallocationAndroid_;
|
|
136
139
|
std::atomic<std::optional<bool>> disableMountItemReorderingAndroid_;
|
|
137
140
|
std::atomic<std::optional<bool>> disableOldAndroidAttachmentMetricsWorkarounds_;
|
|
138
141
|
std::atomic<std::optional<bool>> disableSubviewClippingAndroid_;
|
|
139
142
|
std::atomic<std::optional<bool>> disableTextLayoutManagerCacheAndroid_;
|
|
143
|
+
std::atomic<std::optional<bool>> disableViewPreallocationAndroid_;
|
|
140
144
|
std::atomic<std::optional<bool>> enableAccessibilityOrder_;
|
|
141
145
|
std::atomic<std::optional<bool>> enableAccumulatedUpdatesInRawPropsAndroid_;
|
|
142
146
|
std::atomic<std::optional<bool>> enableAndroidLinearText_;
|
|
@@ -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<<cce007ecab09ff43ec931cb259542ed9>>
|
|
8
8
|
*/
|
|
9
9
|
|
|
10
10
|
/**
|
|
@@ -51,6 +51,10 @@ class ReactNativeFeatureFlagsDefaults : public ReactNativeFeatureFlagsProvider {
|
|
|
51
51
|
return false;
|
|
52
52
|
}
|
|
53
53
|
|
|
54
|
+
bool disableImageViewPreallocationAndroid() override {
|
|
55
|
+
return false;
|
|
56
|
+
}
|
|
57
|
+
|
|
54
58
|
bool disableMountItemReorderingAndroid() override {
|
|
55
59
|
return false;
|
|
56
60
|
}
|
|
@@ -67,6 +71,10 @@ class ReactNativeFeatureFlagsDefaults : public ReactNativeFeatureFlagsProvider {
|
|
|
67
71
|
return false;
|
|
68
72
|
}
|
|
69
73
|
|
|
74
|
+
bool disableViewPreallocationAndroid() override {
|
|
75
|
+
return false;
|
|
76
|
+
}
|
|
77
|
+
|
|
70
78
|
bool enableAccessibilityOrder() override {
|
|
71
79
|
return false;
|
|
72
80
|
}
|
|
@@ -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<<c1ffba92f08189da8b2a2726cd490afc>>
|
|
8
8
|
*/
|
|
9
9
|
|
|
10
10
|
/**
|
|
@@ -99,6 +99,15 @@ class ReactNativeFeatureFlagsDynamicProvider : public ReactNativeFeatureFlagsDef
|
|
|
99
99
|
return ReactNativeFeatureFlagsDefaults::disableFabricCommitInCXXAnimated();
|
|
100
100
|
}
|
|
101
101
|
|
|
102
|
+
bool disableImageViewPreallocationAndroid() override {
|
|
103
|
+
auto value = values_["disableImageViewPreallocationAndroid"];
|
|
104
|
+
if (!value.isNull()) {
|
|
105
|
+
return value.getBool();
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
return ReactNativeFeatureFlagsDefaults::disableImageViewPreallocationAndroid();
|
|
109
|
+
}
|
|
110
|
+
|
|
102
111
|
bool disableMountItemReorderingAndroid() override {
|
|
103
112
|
auto value = values_["disableMountItemReorderingAndroid"];
|
|
104
113
|
if (!value.isNull()) {
|
|
@@ -135,6 +144,15 @@ class ReactNativeFeatureFlagsDynamicProvider : public ReactNativeFeatureFlagsDef
|
|
|
135
144
|
return ReactNativeFeatureFlagsDefaults::disableTextLayoutManagerCacheAndroid();
|
|
136
145
|
}
|
|
137
146
|
|
|
147
|
+
bool disableViewPreallocationAndroid() override {
|
|
148
|
+
auto value = values_["disableViewPreallocationAndroid"];
|
|
149
|
+
if (!value.isNull()) {
|
|
150
|
+
return value.getBool();
|
|
151
|
+
}
|
|
152
|
+
|
|
153
|
+
return ReactNativeFeatureFlagsDefaults::disableViewPreallocationAndroid();
|
|
154
|
+
}
|
|
155
|
+
|
|
138
156
|
bool enableAccessibilityOrder() override {
|
|
139
157
|
auto value = values_["enableAccessibilityOrder"];
|
|
140
158
|
if (!value.isNull()) {
|
|
@@ -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<<724a7046fefc47616249d6fac8367615>>
|
|
8
8
|
*/
|
|
9
9
|
|
|
10
10
|
/**
|
|
@@ -31,10 +31,12 @@ class ReactNativeFeatureFlagsProvider {
|
|
|
31
31
|
virtual bool cxxNativeAnimatedRemoveJsSync() = 0;
|
|
32
32
|
virtual bool disableEarlyViewCommandExecution() = 0;
|
|
33
33
|
virtual bool disableFabricCommitInCXXAnimated() = 0;
|
|
34
|
+
virtual bool disableImageViewPreallocationAndroid() = 0;
|
|
34
35
|
virtual bool disableMountItemReorderingAndroid() = 0;
|
|
35
36
|
virtual bool disableOldAndroidAttachmentMetricsWorkarounds() = 0;
|
|
36
37
|
virtual bool disableSubviewClippingAndroid() = 0;
|
|
37
38
|
virtual bool disableTextLayoutManagerCacheAndroid() = 0;
|
|
39
|
+
virtual bool disableViewPreallocationAndroid() = 0;
|
|
38
40
|
virtual bool enableAccessibilityOrder() = 0;
|
|
39
41
|
virtual bool enableAccumulatedUpdatesInRawPropsAndroid() = 0;
|
|
40
42
|
virtual bool enableAndroidLinearText() = 0;
|
package/ReactCommon/react/nativemodule/core/platform/ios/ReactCommon/RCTTurboModuleManager.mm
CHANGED
|
@@ -30,7 +30,6 @@
|
|
|
30
30
|
#import <ReactCommon/CxxTurboModuleUtils.h>
|
|
31
31
|
#import <ReactCommon/RCTTurboModuleWithJSIBindings.h>
|
|
32
32
|
#import <ReactCommon/TurboModulePerfLogger.h>
|
|
33
|
-
#import <react/featureflags/ReactNativeFeatureFlags.h>
|
|
34
33
|
|
|
35
34
|
using namespace facebook;
|
|
36
35
|
using namespace facebook::react;
|
|
@@ -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<<19cc3c19f4e6115556fa29320ab47ff2>>
|
|
8
8
|
*/
|
|
9
9
|
|
|
10
10
|
/**
|
|
@@ -74,6 +74,11 @@ bool NativeReactNativeFeatureFlags::disableFabricCommitInCXXAnimated(
|
|
|
74
74
|
return ReactNativeFeatureFlags::disableFabricCommitInCXXAnimated();
|
|
75
75
|
}
|
|
76
76
|
|
|
77
|
+
bool NativeReactNativeFeatureFlags::disableImageViewPreallocationAndroid(
|
|
78
|
+
jsi::Runtime& /*runtime*/) {
|
|
79
|
+
return ReactNativeFeatureFlags::disableImageViewPreallocationAndroid();
|
|
80
|
+
}
|
|
81
|
+
|
|
77
82
|
bool NativeReactNativeFeatureFlags::disableMountItemReorderingAndroid(
|
|
78
83
|
jsi::Runtime& /*runtime*/) {
|
|
79
84
|
return ReactNativeFeatureFlags::disableMountItemReorderingAndroid();
|
|
@@ -94,6 +99,11 @@ bool NativeReactNativeFeatureFlags::disableTextLayoutManagerCacheAndroid(
|
|
|
94
99
|
return ReactNativeFeatureFlags::disableTextLayoutManagerCacheAndroid();
|
|
95
100
|
}
|
|
96
101
|
|
|
102
|
+
bool NativeReactNativeFeatureFlags::disableViewPreallocationAndroid(
|
|
103
|
+
jsi::Runtime& /*runtime*/) {
|
|
104
|
+
return ReactNativeFeatureFlags::disableViewPreallocationAndroid();
|
|
105
|
+
}
|
|
106
|
+
|
|
97
107
|
bool NativeReactNativeFeatureFlags::enableAccessibilityOrder(
|
|
98
108
|
jsi::Runtime& /*runtime*/) {
|
|
99
109
|
return ReactNativeFeatureFlags::enableAccessibilityOrder();
|
|
@@ -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<<65a06880aea8299c68e57e5b48a2fed8>>
|
|
8
8
|
*/
|
|
9
9
|
|
|
10
10
|
/**
|
|
@@ -48,6 +48,8 @@ class NativeReactNativeFeatureFlags
|
|
|
48
48
|
|
|
49
49
|
bool disableFabricCommitInCXXAnimated(jsi::Runtime& runtime);
|
|
50
50
|
|
|
51
|
+
bool disableImageViewPreallocationAndroid(jsi::Runtime& runtime);
|
|
52
|
+
|
|
51
53
|
bool disableMountItemReorderingAndroid(jsi::Runtime& runtime);
|
|
52
54
|
|
|
53
55
|
bool disableOldAndroidAttachmentMetricsWorkarounds(jsi::Runtime& runtime);
|
|
@@ -56,6 +58,8 @@ class NativeReactNativeFeatureFlags
|
|
|
56
58
|
|
|
57
59
|
bool disableTextLayoutManagerCacheAndroid(jsi::Runtime& runtime);
|
|
58
60
|
|
|
61
|
+
bool disableViewPreallocationAndroid(jsi::Runtime& runtime);
|
|
62
|
+
|
|
59
63
|
bool enableAccessibilityOrder(jsi::Runtime& runtime);
|
|
60
64
|
|
|
61
65
|
bool enableAccumulatedUpdatesInRawPropsAndroid(jsi::Runtime& runtime);
|
|
@@ -568,10 +568,10 @@ void NativeAnimatedNodesManager::stopRenderCallbackIfNeeded(
|
|
|
568
568
|
if (isRenderCallbackStarted) {
|
|
569
569
|
if (stopOnRenderCallback_) {
|
|
570
570
|
stopOnRenderCallback_(isAsync);
|
|
571
|
-
}
|
|
572
571
|
|
|
573
|
-
|
|
574
|
-
|
|
572
|
+
if (frameRateListenerCallback_) {
|
|
573
|
+
frameRateListenerCallback_(false);
|
|
574
|
+
}
|
|
575
575
|
}
|
|
576
576
|
}
|
|
577
577
|
}
|
|
@@ -96,7 +96,8 @@ NativeAnimatedNodesManagerProvider::getOrCreate(
|
|
|
96
96
|
std::move(directManipulationCallback),
|
|
97
97
|
std::move(fabricCommitCallback),
|
|
98
98
|
std::move(startOnRenderCallback_),
|
|
99
|
-
std::move(stopOnRenderCallback_)
|
|
99
|
+
std::move(stopOnRenderCallback_),
|
|
100
|
+
std::move(frameRateListenerCallback_));
|
|
100
101
|
|
|
101
102
|
nativeAnimatedDelegate_ =
|
|
102
103
|
std::make_shared<UIManagerNativeAnimatedDelegateImpl>(
|
|
@@ -8,7 +8,6 @@
|
|
|
8
8
|
#include "TimerManager.h"
|
|
9
9
|
|
|
10
10
|
#include <cxxreact/TraceSection.h>
|
|
11
|
-
#include <react/featureflags/ReactNativeFeatureFlags.h>
|
|
12
11
|
|
|
13
12
|
#include <cmath>
|
|
14
13
|
#include <utility>
|
|
@@ -62,41 +61,6 @@ void TimerManager::setRuntimeExecutor(
|
|
|
62
61
|
runtimeExecutor_ = std::move(runtimeExecutor);
|
|
63
62
|
}
|
|
64
63
|
|
|
65
|
-
TimerHandle TimerManager::createReactNativeMicrotask(
|
|
66
|
-
jsi::Function&& callback,
|
|
67
|
-
std::vector<jsi::Value>&& args) {
|
|
68
|
-
// Get the id for the callback.
|
|
69
|
-
TimerHandle timerID = timerIndex_++;
|
|
70
|
-
timers_.emplace(
|
|
71
|
-
std::piecewise_construct,
|
|
72
|
-
std::forward_as_tuple(timerID),
|
|
73
|
-
std::forward_as_tuple(
|
|
74
|
-
std::move(callback), std::move(args), /* repeat */ false));
|
|
75
|
-
|
|
76
|
-
reactNativeMicrotasksQueue_.push_back(timerID);
|
|
77
|
-
return timerID;
|
|
78
|
-
}
|
|
79
|
-
|
|
80
|
-
void TimerManager::callReactNativeMicrotasks(jsi::Runtime& runtime) {
|
|
81
|
-
std::vector<TimerHandle> reactNativeMicrotasksQueue;
|
|
82
|
-
while (!reactNativeMicrotasksQueue_.empty()) {
|
|
83
|
-
reactNativeMicrotasksQueue.clear();
|
|
84
|
-
reactNativeMicrotasksQueue.swap(reactNativeMicrotasksQueue_);
|
|
85
|
-
|
|
86
|
-
for (auto reactNativeMicrotaskID : reactNativeMicrotasksQueue) {
|
|
87
|
-
// ReactNativeMicrotasks can clear other scheduled reactNativeMicrotasks.
|
|
88
|
-
auto it = timers_.find(reactNativeMicrotaskID);
|
|
89
|
-
if (it != timers_.end()) {
|
|
90
|
-
it->second.invoke(runtime);
|
|
91
|
-
|
|
92
|
-
// Invoking a timer has the potential to delete it. Do not re-use the
|
|
93
|
-
// existing iterator to erase it from the map.
|
|
94
|
-
timers_.erase(reactNativeMicrotaskID);
|
|
95
|
-
}
|
|
96
|
-
}
|
|
97
|
-
}
|
|
98
|
-
}
|
|
99
|
-
|
|
100
64
|
TimerHandle TimerManager::createTimer(
|
|
101
65
|
jsi::Function&& callback,
|
|
102
66
|
std::vector<jsi::Value>&& args,
|
|
@@ -156,24 +120,6 @@ TimerHandle TimerManager::createRecurringTimer(
|
|
|
156
120
|
return timerID;
|
|
157
121
|
}
|
|
158
122
|
|
|
159
|
-
void TimerManager::deleteReactNativeMicrotask(
|
|
160
|
-
jsi::Runtime& runtime,
|
|
161
|
-
TimerHandle timerHandle) {
|
|
162
|
-
if (timerHandle < 0) {
|
|
163
|
-
throw jsi::JSError(
|
|
164
|
-
runtime, "clearReactNativeMicrotask was called with an invalid handle");
|
|
165
|
-
}
|
|
166
|
-
|
|
167
|
-
auto it = std::find(
|
|
168
|
-
reactNativeMicrotasksQueue_.begin(),
|
|
169
|
-
reactNativeMicrotasksQueue_.end(),
|
|
170
|
-
timerHandle);
|
|
171
|
-
if (it != reactNativeMicrotasksQueue_.end()) {
|
|
172
|
-
reactNativeMicrotasksQueue_.erase(it);
|
|
173
|
-
timers_.erase(timerHandle);
|
|
174
|
-
}
|
|
175
|
-
}
|
|
176
|
-
|
|
177
123
|
void TimerManager::deleteTimer(jsi::Runtime& runtime, TimerHandle timerHandle) {
|
|
178
124
|
if (timerHandle < 0) {
|
|
179
125
|
throw jsi::JSError(runtime, "clearTimeout called with an invalid handle");
|
|
@@ -8,7 +8,6 @@
|
|
|
8
8
|
#pragma once
|
|
9
9
|
|
|
10
10
|
#include <ReactCommon/RuntimeExecutor.h>
|
|
11
|
-
#include <cstdint>
|
|
12
11
|
#include <unordered_map>
|
|
13
12
|
#include <vector>
|
|
14
13
|
|
|
@@ -50,17 +49,11 @@ class TimerManager {
|
|
|
50
49
|
|
|
51
50
|
void setRuntimeExecutor(RuntimeExecutor runtimeExecutor) noexcept;
|
|
52
51
|
|
|
53
|
-
void callReactNativeMicrotasks(jsi::Runtime &runtime);
|
|
54
|
-
|
|
55
52
|
void callTimer(TimerHandle handle);
|
|
56
53
|
|
|
57
54
|
void attachGlobals(jsi::Runtime &runtime);
|
|
58
55
|
|
|
59
56
|
private:
|
|
60
|
-
TimerHandle createReactNativeMicrotask(jsi::Function &&callback, std::vector<jsi::Value> &&args);
|
|
61
|
-
|
|
62
|
-
void deleteReactNativeMicrotask(jsi::Runtime &runtime, TimerHandle handle);
|
|
63
|
-
|
|
64
57
|
TimerHandle createTimer(
|
|
65
58
|
jsi::Function &&callback,
|
|
66
59
|
std::vector<jsi::Value> &&args,
|
|
@@ -88,11 +81,6 @@ class TimerManager {
|
|
|
88
81
|
// As per WHATWG HTML 8.6.1 (Timers) ids must be greater than zero, i.e. start
|
|
89
82
|
// at 1
|
|
90
83
|
TimerHandle timerIndex_{1};
|
|
91
|
-
|
|
92
|
-
// The React Native microtask queue is used to back public APIs including
|
|
93
|
-
// `queueMicrotask`, `clearImmediate`, and `setImmediate` (which is used by
|
|
94
|
-
// the Promise polyfill) when the JSVM microtask mechanism is not used.
|
|
95
|
-
std::vector<TimerHandle> reactNativeMicrotasksQueue_;
|
|
96
84
|
};
|
|
97
85
|
|
|
98
86
|
} // namespace facebook::react
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "react-native",
|
|
3
|
-
"version": "0.84.0-nightly-
|
|
3
|
+
"version": "0.84.0-nightly-20251109-b7012ba92",
|
|
4
4
|
"description": "A framework for building native apps using React",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": {
|
|
@@ -160,13 +160,13 @@
|
|
|
160
160
|
},
|
|
161
161
|
"dependencies": {
|
|
162
162
|
"@jest/create-cache-key-function": "^29.7.0",
|
|
163
|
-
"@react-native/assets-registry": "0.84.0-nightly-
|
|
164
|
-
"@react-native/codegen": "0.84.0-nightly-
|
|
165
|
-
"@react-native/community-cli-plugin": "0.84.0-nightly-
|
|
166
|
-
"@react-native/gradle-plugin": "0.84.0-nightly-
|
|
167
|
-
"@react-native/js-polyfills": "0.84.0-nightly-
|
|
168
|
-
"@react-native/normalize-colors": "0.84.0-nightly-
|
|
169
|
-
"@react-native/virtualized-lists": "0.84.0-nightly-
|
|
163
|
+
"@react-native/assets-registry": "0.84.0-nightly-20251109-b7012ba92",
|
|
164
|
+
"@react-native/codegen": "0.84.0-nightly-20251109-b7012ba92",
|
|
165
|
+
"@react-native/community-cli-plugin": "0.84.0-nightly-20251109-b7012ba92",
|
|
166
|
+
"@react-native/gradle-plugin": "0.84.0-nightly-20251109-b7012ba92",
|
|
167
|
+
"@react-native/js-polyfills": "0.84.0-nightly-20251109-b7012ba92",
|
|
168
|
+
"@react-native/normalize-colors": "0.84.0-nightly-20251109-b7012ba92",
|
|
169
|
+
"@react-native/virtualized-lists": "0.84.0-nightly-20251109-b7012ba92",
|
|
170
170
|
"abort-controller": "^3.0.0",
|
|
171
171
|
"anser": "^1.4.9",
|
|
172
172
|
"ansi-regex": "^5.0.0",
|
|
@@ -176,7 +176,7 @@
|
|
|
176
176
|
"commander": "^12.0.0",
|
|
177
177
|
"flow-enums-runtime": "^0.0.6",
|
|
178
178
|
"glob": "^7.1.1",
|
|
179
|
-
"hermes-compiler": "0.14.0-commitly-
|
|
179
|
+
"hermes-compiler": "0.14.0-commitly-202511080502-bbebefee2",
|
|
180
180
|
"invariant": "^2.2.4",
|
|
181
181
|
"jest-environment-node": "^29.7.0",
|
|
182
182
|
"memoize-one": "^5.0.0",
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
HERMES_VERSION_NAME=0.14.0-commitly-
|
|
1
|
+
HERMES_VERSION_NAME=0.14.0-commitly-202511080502-bbebefee2
|
|
2
2
|
HERMES_V1_VERSION_NAME=250829098.0.2
|
|
@@ -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<<77fabf68a75a0d8a563b032027e7f817>>
|
|
8
8
|
* @flow strict
|
|
9
9
|
* @noformat
|
|
10
10
|
*/
|
|
@@ -56,10 +56,12 @@ export type ReactNativeFeatureFlags = $ReadOnly<{
|
|
|
56
56
|
cxxNativeAnimatedRemoveJsSync: Getter<boolean>,
|
|
57
57
|
disableEarlyViewCommandExecution: Getter<boolean>,
|
|
58
58
|
disableFabricCommitInCXXAnimated: Getter<boolean>,
|
|
59
|
+
disableImageViewPreallocationAndroid: Getter<boolean>,
|
|
59
60
|
disableMountItemReorderingAndroid: Getter<boolean>,
|
|
60
61
|
disableOldAndroidAttachmentMetricsWorkarounds: Getter<boolean>,
|
|
61
62
|
disableSubviewClippingAndroid: Getter<boolean>,
|
|
62
63
|
disableTextLayoutManagerCacheAndroid: Getter<boolean>,
|
|
64
|
+
disableViewPreallocationAndroid: Getter<boolean>,
|
|
63
65
|
enableAccessibilityOrder: Getter<boolean>,
|
|
64
66
|
enableAccumulatedUpdatesInRawPropsAndroid: Getter<boolean>,
|
|
65
67
|
enableAndroidLinearText: Getter<boolean>,
|
|
@@ -237,6 +239,10 @@ export const disableEarlyViewCommandExecution: Getter<boolean> = createNativeFla
|
|
|
237
239
|
* Prevents use of Fabric commit in C++ Animated implementation
|
|
238
240
|
*/
|
|
239
241
|
export const disableFabricCommitInCXXAnimated: Getter<boolean> = createNativeFlagGetter('disableFabricCommitInCXXAnimated', false);
|
|
242
|
+
/**
|
|
243
|
+
* Force disable view preallocation for images triggered from createNode off the main thread on Android
|
|
244
|
+
*/
|
|
245
|
+
export const disableImageViewPreallocationAndroid: Getter<boolean> = createNativeFlagGetter('disableImageViewPreallocationAndroid', false);
|
|
240
246
|
/**
|
|
241
247
|
* Prevent FabricMountingManager from reordering mountItems, which may lead to invalid state on the UI thread
|
|
242
248
|
*/
|
|
@@ -253,6 +259,10 @@ export const disableSubviewClippingAndroid: Getter<boolean> = createNativeFlagGe
|
|
|
253
259
|
* Turns off the global measurement cache used by TextLayoutManager on Android.
|
|
254
260
|
*/
|
|
255
261
|
export const disableTextLayoutManagerCacheAndroid: Getter<boolean> = createNativeFlagGetter('disableTextLayoutManagerCacheAndroid', false);
|
|
262
|
+
/**
|
|
263
|
+
* Force disable view preallocation triggered from createNode off the main thread on Android
|
|
264
|
+
*/
|
|
265
|
+
export const disableViewPreallocationAndroid: Getter<boolean> = createNativeFlagGetter('disableViewPreallocationAndroid', false);
|
|
256
266
|
/**
|
|
257
267
|
* When enabled, the accessibilityOrder prop will propagate to native platforms and define the accessibility order.
|
|
258
268
|
*/
|
|
@@ -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<<5819b97ded2f415bdcff52f7f408aec6>>
|
|
8
8
|
* @flow strict
|
|
9
9
|
* @noformat
|
|
10
10
|
*/
|
|
@@ -31,10 +31,12 @@ export interface Spec extends TurboModule {
|
|
|
31
31
|
+cxxNativeAnimatedRemoveJsSync?: () => boolean;
|
|
32
32
|
+disableEarlyViewCommandExecution?: () => boolean;
|
|
33
33
|
+disableFabricCommitInCXXAnimated?: () => boolean;
|
|
34
|
+
+disableImageViewPreallocationAndroid?: () => boolean;
|
|
34
35
|
+disableMountItemReorderingAndroid?: () => boolean;
|
|
35
36
|
+disableOldAndroidAttachmentMetricsWorkarounds?: () => boolean;
|
|
36
37
|
+disableSubviewClippingAndroid?: () => boolean;
|
|
37
38
|
+disableTextLayoutManagerCacheAndroid?: () => boolean;
|
|
39
|
+
+disableViewPreallocationAndroid?: () => boolean;
|
|
38
40
|
+enableAccessibilityOrder?: () => boolean;
|
|
39
41
|
+enableAccumulatedUpdatesInRawPropsAndroid?: () => boolean;
|
|
40
42
|
+enableAndroidLinearText?: () => boolean;
|