react-native 0.84.0-nightly-20251105-5ec5cc3a3 → 0.84.0-nightly-20251107-f8198f662

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 (102) hide show
  1. package/Libraries/Animated/createAnimatedComponent.js +1 -0
  2. package/Libraries/Components/Button.js +0 -3
  3. package/Libraries/Core/ReactNativeVersion.js +1 -1
  4. package/Libraries/StyleSheet/PlatformColorValueTypes.android.js +2 -2
  5. package/Libraries/StyleSheet/PlatformColorValueTypes.ios.js +1 -1
  6. package/Libraries/StyleSheet/PlatformColorValueTypes.js.flow +4 -2
  7. package/React/Base/RCTVersion.m +1 -1
  8. package/React/CoreModules/React-CoreModules.podspec +1 -0
  9. package/React/FBReactNativeSpec/FBReactNativeSpecJSI.h +8 -8
  10. package/React/Fabric/Surface/RCTFabricSurface.mm +1 -1
  11. package/React/Runtime/React-RCTRuntime.podspec +1 -0
  12. package/ReactAndroid/api/ReactAndroid.api +0 -13
  13. package/ReactAndroid/gradle.properties +1 -1
  14. package/ReactAndroid/src/main/java/com/facebook/react/ReactPackageTurboModuleManagerDelegate.kt +2 -3
  15. package/ReactAndroid/src/main/java/com/facebook/react/bridge/CatalystInstanceImpl.java +2 -6
  16. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ModuleHolder.kt +2 -2
  17. package/ReactAndroid/src/main/java/com/facebook/react/bridge/NativeModuleRegistry.kt +1 -16
  18. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlags.kt +7 -7
  19. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsCxxAccessor.kt +11 -11
  20. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsCxxInterop.kt +3 -3
  21. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsDefaults.kt +3 -3
  22. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsLocalAccessor.kt +12 -12
  23. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsProvider.kt +3 -3
  24. package/ReactAndroid/src/main/java/com/facebook/react/internal/turbomodule/core/TurboModuleManager.kt +2 -35
  25. package/ReactAndroid/src/main/java/com/facebook/react/modules/systeminfo/ReactNativeVersion.kt +1 -1
  26. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/FabricEventDispatcher.kt +3 -36
  27. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactHorizontalScrollView.java +4 -0
  28. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollView.java +4 -0
  29. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/VirtualViewContainerStateExperimental.kt +7 -0
  30. package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewGroup.kt +11 -1
  31. package/ReactAndroid/src/main/jni/react/fabric/FabricUIManagerBinding.cpp +36 -26
  32. package/ReactAndroid/src/main/jni/react/featureflags/JReactNativeFeatureFlagsCxxInterop.cpp +15 -15
  33. package/ReactAndroid/src/main/jni/react/featureflags/JReactNativeFeatureFlagsCxxInterop.h +4 -4
  34. package/ReactAndroid/src/main/jni/react/jni/CatalystInstanceImpl.cpp +3 -13
  35. package/ReactAndroid/src/main/jni/react/jni/CatalystInstanceImpl.h +1 -4
  36. package/ReactAndroid/src/main/jni/react/jni/CxxModuleWrapperBase.h +0 -24
  37. package/ReactAndroid/src/main/jni/react/jni/JavaModuleWrapper.cpp +0 -1
  38. package/ReactAndroid/src/main/jni/react/jni/ModuleRegistryBuilder.cpp +1 -29
  39. package/ReactAndroid/src/main/jni/react/jni/ModuleRegistryBuilder.h +1 -2
  40. package/ReactAndroid/src/main/jni/react/jni/OnLoad.cpp +0 -2
  41. package/ReactAndroid/src/main/jni/react/runtime/jni/JReactInstance.cpp +2 -1
  42. package/ReactAndroid/src/main/jni/react/turbomodule/ReactCommon/TurboModuleManager.cpp +1 -35
  43. package/ReactCommon/cxxreact/React-cxxreact.podspec +1 -0
  44. package/ReactCommon/cxxreact/ReactMarker.cpp +0 -1
  45. package/ReactCommon/cxxreact/ReactNativeVersion.h +1 -1
  46. package/ReactCommon/jsiexecutor/CMakeLists.txt +3 -1
  47. package/ReactCommon/jsiexecutor/React-jsiexecutor.podspec +3 -0
  48. package/ReactCommon/jsiexecutor/jsireact/JSIExecutor.cpp +0 -40
  49. package/ReactCommon/jsiexecutor/jsireact/JSIExecutor.h +1 -6
  50. package/ReactCommon/jsinspector-modern/ConsoleTask.cpp +27 -0
  51. package/ReactCommon/jsinspector-modern/ConsoleTask.h +38 -0
  52. package/ReactCommon/jsinspector-modern/ConsoleTaskContext.cpp +46 -0
  53. package/ReactCommon/jsinspector-modern/ConsoleTaskContext.h +102 -0
  54. package/ReactCommon/jsinspector-modern/ConsoleTaskOrchestrator.cpp +55 -0
  55. package/ReactCommon/jsinspector-modern/ConsoleTaskOrchestrator.h +48 -0
  56. package/ReactCommon/jsinspector-modern/RuntimeAgent.h +1 -1
  57. package/ReactCommon/jsinspector-modern/RuntimeTarget.cpp +12 -0
  58. package/ReactCommon/jsinspector-modern/RuntimeTarget.h +16 -13
  59. package/ReactCommon/jsinspector-modern/RuntimeTargetConsole.cpp +106 -1
  60. package/ReactCommon/jsinspector-modern/tests/ConsoleCreateTaskTest.cpp +131 -0
  61. package/ReactCommon/jsinspector-modern/tests/ReactInstanceIntegrationTest.cpp +1 -0
  62. package/ReactCommon/jsinspector-modern/tracing/PerformanceTracer.cpp +13 -2
  63. package/ReactCommon/jsinspector-modern/tracing/PerformanceTracer.h +6 -2
  64. package/ReactCommon/jsinspector-modern/tracing/React-jsinspectortracing.podspec +4 -0
  65. package/ReactCommon/jsinspector-modern/tracing/TargetTracingAgent.h +5 -0
  66. package/ReactCommon/jsitooling/React-jsitooling.podspec +1 -0
  67. package/ReactCommon/jsitooling/react/runtime/JSRuntimeBindings.cpp +54 -0
  68. package/ReactCommon/jsitooling/react/runtime/JSRuntimeBindings.h +20 -0
  69. package/ReactCommon/react/featureflags/ReactNativeFeatureFlags.cpp +5 -5
  70. package/ReactCommon/react/featureflags/ReactNativeFeatureFlags.h +6 -6
  71. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsAccessor.cpp +83 -83
  72. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsAccessor.h +3 -3
  73. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsDefaults.h +5 -5
  74. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsDynamicProvider.h +10 -10
  75. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsProvider.h +2 -2
  76. package/ReactCommon/react/nativemodule/featureflags/NativeReactNativeFeatureFlags.cpp +6 -6
  77. package/ReactCommon/react/nativemodule/featureflags/NativeReactNativeFeatureFlags.h +3 -3
  78. package/ReactCommon/react/performance/timeline/CMakeLists.txt +1 -0
  79. package/ReactCommon/react/performance/timeline/PerformanceEntryReporter.cpp +9 -1
  80. package/ReactCommon/react/performance/timeline/React-performancetimeline.podspec +1 -0
  81. package/ReactCommon/react/renderer/animated/NativeAnimatedNodesManager.cpp +21 -16
  82. package/ReactCommon/react/renderer/animated/NativeAnimatedNodesManagerProvider.cpp +9 -5
  83. package/ReactCommon/react/renderer/animationbackend/AnimationBackend.cpp +67 -32
  84. package/ReactCommon/react/renderer/animationbackend/AnimationBackend.h +14 -2
  85. package/ReactCommon/react/renderer/core/EventDispatcher.cpp +1 -1
  86. package/ReactCommon/react/renderer/core/EventQueueProcessor.cpp +3 -3
  87. package/ReactCommon/react/renderer/scheduler/SurfaceHandler.cpp +0 -20
  88. package/ReactCommon/react/renderer/scheduler/SurfaceHandler.h +3 -3
  89. package/ReactCommon/react/renderer/scheduler/SurfaceManager.cpp +2 -3
  90. package/ReactCommon/react/runtime/ReactInstance.cpp +8 -6
  91. package/ReactCommon/react/runtime/ReactInstance.h +0 -1
  92. package/ReactCommon/react/utils/React-utils.podspec +3 -1
  93. package/flow/bom.js.flow +7 -0
  94. package/package.json +9 -8
  95. package/scripts/ios-configure-glog.sh +6 -1
  96. package/src/private/featureflags/ReactNativeFeatureFlags.js +6 -6
  97. package/src/private/featureflags/specs/NativeReactNativeFeatureFlags.js +2 -2
  98. package/types_generated/Libraries/Components/Button.d.ts +1 -4
  99. package/types_generated/Libraries/StyleSheet/PlatformColorValueTypes.d.ts +3 -3
  100. package/ReactAndroid/src/main/java/com/facebook/react/bridge/CxxModuleWrapper.kt +0 -25
  101. package/ReactAndroid/src/main/java/com/facebook/react/bridge/CxxModuleWrapperBase.kt +0 -61
  102. package/ReactAndroid/src/main/jni/react/jni/CxxModuleWrapper.h +0 -37
@@ -0,0 +1,131 @@
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 <folly/executors/QueuedImmediateExecutor.h>
9
+
10
+ #include "JsiIntegrationTest.h"
11
+ #include "engines/JsiIntegrationTestHermesEngineAdapter.h"
12
+
13
+ #include <jsinspector-modern/ConsoleTaskOrchestrator.h>
14
+
15
+ using namespace ::testing;
16
+
17
+ namespace facebook::react::jsinspector_modern {
18
+
19
+ /**
20
+ * A test fixture for the console.createTask API.
21
+ */
22
+ class ConsoleCreateTaskTest : public JsiIntegrationPortableTestBase<
23
+ JsiIntegrationTestHermesEngineAdapter,
24
+ folly::QueuedImmediateExecutor> {};
25
+
26
+ TEST_F(ConsoleCreateTaskTest, Installed) {
27
+ auto result = eval("typeof console.createTask");
28
+ auto& runtime = engineAdapter_->getRuntime();
29
+ EXPECT_EQ(result.asString(runtime).utf8(runtime), "function");
30
+ }
31
+
32
+ TEST_F(ConsoleCreateTaskTest, ReturnsTaskObject) {
33
+ auto result = eval("typeof console.createTask('test-task')");
34
+ auto& runtime = engineAdapter_->getRuntime();
35
+ EXPECT_EQ(result.asString(runtime).utf8(runtime), "object");
36
+ }
37
+
38
+ TEST_F(ConsoleCreateTaskTest, TaskObjectHasRunMethod) {
39
+ auto result = eval("typeof console.createTask('test-task').run");
40
+ auto& runtime = engineAdapter_->getRuntime();
41
+ EXPECT_EQ(result.asString(runtime).utf8(runtime), "function");
42
+ }
43
+
44
+ TEST_F(ConsoleCreateTaskTest, RunMethodExecutesFunction) {
45
+ auto result = eval(R"(
46
+ let executed = false;
47
+ const task = console.createTask('test-task');
48
+ task.run(() => { executed = true; });
49
+ executed;
50
+ )");
51
+ EXPECT_TRUE(result.getBool());
52
+ }
53
+
54
+ TEST_F(ConsoleCreateTaskTest, RunMethodReturnsValue) {
55
+ auto result = eval(R"(
56
+ const task = console.createTask('test-task');
57
+ task.run(() => 42);
58
+ )");
59
+ EXPECT_EQ(result.getNumber(), 42);
60
+ }
61
+
62
+ TEST_F(ConsoleCreateTaskTest, ThrowsOnNoArguments) {
63
+ EXPECT_THROW(eval("console.createTask()"), facebook::jsi::JSError);
64
+ }
65
+
66
+ TEST_F(ConsoleCreateTaskTest, ThrowsOnEmptyString) {
67
+ EXPECT_THROW(eval("console.createTask('')"), facebook::jsi::JSError);
68
+ }
69
+
70
+ TEST_F(ConsoleCreateTaskTest, ThrowsOnNonStringArgument) {
71
+ EXPECT_THROW(eval("console.createTask(123)"), facebook::jsi::JSError);
72
+ EXPECT_THROW(eval("console.createTask(null)"), facebook::jsi::JSError);
73
+ EXPECT_THROW(eval("console.createTask(undefined)"), facebook::jsi::JSError);
74
+ EXPECT_THROW(eval("console.createTask({})"), facebook::jsi::JSError);
75
+ }
76
+
77
+ TEST_F(ConsoleCreateTaskTest, RunMethodThrowsOnNoArguments) {
78
+ EXPECT_THROW(
79
+ eval(R"(
80
+ const task = console.createTask('test-task');
81
+ task.run();
82
+ )"),
83
+ facebook::jsi::JSError);
84
+ }
85
+
86
+ TEST_F(ConsoleCreateTaskTest, RunMethodThrowsOnNonFunction) {
87
+ EXPECT_THROW(
88
+ eval(R"(
89
+ const task = console.createTask('test-task');
90
+ task.run(123);
91
+ )"),
92
+ facebook::jsi::JSError);
93
+ EXPECT_THROW(
94
+ eval(R"(
95
+ const task = console.createTask('test-task');
96
+ task.run('not a function');
97
+ )"),
98
+ facebook::jsi::JSError);
99
+ EXPECT_THROW(
100
+ eval(R"(
101
+ const task = console.createTask('test-task');
102
+ task.run({});
103
+ )"),
104
+ facebook::jsi::JSError);
105
+ }
106
+
107
+ TEST_F(ConsoleCreateTaskTest, MultipleTasksCanBeCreated) {
108
+ auto result = eval(R"(
109
+ const task1 = console.createTask('task-1');
110
+ const task2 = console.createTask('task-2');
111
+ let count = 0;
112
+ task1.run(() => { count++; });
113
+ task2.run(() => { count++; });
114
+ count;
115
+ )");
116
+ EXPECT_EQ(result.getNumber(), 2);
117
+ }
118
+
119
+ TEST_F(ConsoleCreateTaskTest, TaskCanBeRunMultipleTimes) {
120
+ auto result = eval(R"(
121
+ const task = console.createTask('test-task');
122
+ let count = 0;
123
+ task.run(() => { count++; });
124
+ task.run(() => { count++; });
125
+ task.run(() => { count++; });
126
+ count;
127
+ )");
128
+ EXPECT_EQ(result.getNumber(), 3);
129
+ }
130
+
131
+ } // namespace facebook::react::jsinspector_modern
@@ -14,6 +14,7 @@
14
14
  #include <glog/logging.h>
15
15
  #include <jsinspector-modern/InspectorFlags.h>
16
16
  #include <react/featureflags/ReactNativeFeatureFlags.h>
17
+ #include <react/runtime/JSRuntimeBindings.h>
17
18
  #include <react/runtime/hermes/HermesInstance.h>
18
19
 
19
20
  using namespace ::testing;
@@ -187,7 +187,8 @@ void PerformanceTracer::reportMeasure(
187
187
  const std::string& name,
188
188
  HighResTimeStamp start,
189
189
  HighResDuration duration,
190
- folly::dynamic&& detail) {
190
+ folly::dynamic&& detail,
191
+ std::optional<folly::dynamic> stackTrace) {
191
192
  if (!tracingAtomic_) {
192
193
  return;
193
194
  }
@@ -204,6 +205,7 @@ void PerformanceTracer::reportMeasure(
204
205
  .duration = duration,
205
206
  .detail = std::move(detail),
206
207
  .threadId = getCurrentThreadId(),
208
+ .stackTrace = std::move(stackTrace),
207
209
  });
208
210
  }
209
211
 
@@ -214,7 +216,8 @@ void PerformanceTracer::reportTimeStamp(
214
216
  std::optional<std::string> trackName,
215
217
  std::optional<std::string> trackGroup,
216
218
  std::optional<ConsoleTimeStampColor> color,
217
- std::optional<folly::dynamic> detail) {
219
+ std::optional<folly::dynamic> detail,
220
+ std::optional<folly::dynamic> stackTrace) {
218
221
  if (!tracingAtomic_) {
219
222
  return;
220
223
  }
@@ -233,6 +236,7 @@ void PerformanceTracer::reportTimeStamp(
233
236
  .trackGroup = std::move(trackGroup),
234
237
  .color = std::move(color),
235
238
  .detail = std::move(detail),
239
+ .stackTrace = std::move(stackTrace),
236
240
  .threadId = getCurrentThreadId(),
237
241
  });
238
242
  }
@@ -606,6 +610,10 @@ void PerformanceTracer::enqueueTraceEventsFromPerformanceTracerEvent(
606
610
  beginEventArgs =
607
611
  folly::dynamic::object("detail", folly::toJson(event.detail));
608
612
  }
613
+ if (event.stackTrace) {
614
+ beginEventArgs["data"] = folly::dynamic::object(
615
+ "rnStackTrace", std::move(*event.stackTrace));
616
+ }
609
617
 
610
618
  auto eventId = ++performanceMeasureCount_;
611
619
 
@@ -695,6 +703,9 @@ void PerformanceTracer::enqueueTraceEventsFromPerformanceTracerEvent(
695
703
  }
696
704
  data["devtools"] = folly::toJson(devtoolsDetail);
697
705
  }
706
+ if (event.stackTrace) {
707
+ data["rnStackTrace"] = std::move(*event.stackTrace);
708
+ }
698
709
 
699
710
  events.emplace_back(
700
711
  TraceEvent{
@@ -81,7 +81,8 @@ class PerformanceTracer {
81
81
  const std::string &name,
82
82
  HighResTimeStamp start,
83
83
  HighResDuration duration,
84
- folly::dynamic &&detail = nullptr);
84
+ folly::dynamic &&detail = nullptr,
85
+ std::optional<folly::dynamic> stackTrace = nullptr);
85
86
 
86
87
  /**
87
88
  * Record a "TimeStamp" Trace Event - a labelled entry on Performance
@@ -97,7 +98,8 @@ class PerformanceTracer {
97
98
  std::optional<std::string> trackName = std::nullopt,
98
99
  std::optional<std::string> trackGroup = std::nullopt,
99
100
  std::optional<ConsoleTimeStampColor> color = std::nullopt,
100
- std::optional<folly::dynamic> detail = std::nullopt);
101
+ std::optional<folly::dynamic> detail = std::nullopt,
102
+ std::optional<folly::dynamic> stackTrace = std::nullopt);
101
103
 
102
104
  /**
103
105
  * Record an Event Loop tick, which will be represented as an Event Loop task
@@ -256,6 +258,7 @@ class PerformanceTracer {
256
258
  HighResDuration duration;
257
259
  folly::dynamic detail;
258
260
  ThreadId threadId;
261
+ std::optional<folly::dynamic> stackTrace;
259
262
  HighResTimeStamp createdAt = HighResTimeStamp::now();
260
263
  };
261
264
 
@@ -267,6 +270,7 @@ class PerformanceTracer {
267
270
  std::optional<std::string> trackGroup;
268
271
  std::optional<ConsoleTimeStampColor> color;
269
272
  std::optional<folly::dynamic> detail;
273
+ std::optional<folly::dynamic> stackTrace;
270
274
  ThreadId threadId;
271
275
  HighResTimeStamp createdAt = HighResTimeStamp::now();
272
276
  };
@@ -48,6 +48,10 @@ Pod::Spec.new do |s|
48
48
  s.dependency "React-oscompat"
49
49
  s.dependency "React-timing"
50
50
 
51
+ if use_hermes()
52
+ s.dependency "hermes-engine"
53
+ end
54
+
51
55
  add_rn_third_party_dependencies(s)
52
56
  add_rncore_dependency(s)
53
57
  end
@@ -27,6 +27,11 @@ class TargetTracingAgent {
27
27
  (void)state_;
28
28
  }
29
29
 
30
+ bool isRunningInBackgroundMode()
31
+ {
32
+ return state_.mode == tracing::Mode::Background;
33
+ }
34
+
30
35
  protected:
31
36
  TraceRecordingState &state_;
32
37
  };
@@ -42,6 +42,7 @@ Pod::Spec.new do |s|
42
42
  add_dependency(s, "React-jsinspector", :framework_name => 'jsinspector_modern')
43
43
  add_dependency(s, "React-jsinspectorcdp", :framework_name => 'jsinspector_moderncdp')
44
44
  add_dependency(s, "React-jsinspectortracing", :framework_name => 'jsinspector_moderntracing')
45
+ add_dependency(s, "React-utils", :additional_framework_paths => ["react/utils/platform/ios"])
45
46
 
46
47
  add_rn_third_party_dependencies(s)
47
48
  add_rncore_dependency(s)
@@ -0,0 +1,54 @@
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 "JSRuntimeBindings.h"
9
+
10
+ #include <react/timing/primitives.h>
11
+
12
+ namespace facebook::react {
13
+
14
+ void bindNativeLogger(jsi::Runtime& runtime, Logger logger) {
15
+ runtime.global().setProperty(
16
+ runtime,
17
+ "nativeLoggingHook",
18
+ jsi::Function::createFromHostFunction(
19
+ runtime,
20
+ jsi::PropNameID::forAscii(runtime, "nativeLoggingHook"),
21
+ 2,
22
+ [logger = std::move(logger)](
23
+ jsi::Runtime& runtime,
24
+ const jsi::Value& /* this */,
25
+ const jsi::Value* args,
26
+ size_t count) {
27
+ if (count != 2) {
28
+ throw std::invalid_argument(
29
+ "nativeLoggingHook takes 2 arguments");
30
+ }
31
+ logger(
32
+ args[0].asString(runtime).utf8(runtime),
33
+ static_cast<unsigned int>(args[1].asNumber()));
34
+ return jsi::Value::undefined();
35
+ }));
36
+ }
37
+
38
+ void bindNativePerformanceNow(jsi::Runtime& runtime) {
39
+ runtime.global().setProperty(
40
+ runtime,
41
+ "nativePerformanceNow",
42
+ jsi::Function::createFromHostFunction(
43
+ runtime,
44
+ jsi::PropNameID::forAscii(runtime, "nativePerformanceNow"),
45
+ 0,
46
+ [](jsi::Runtime& /* runtime */,
47
+ const jsi::Value& /* this */,
48
+ const jsi::Value* /* args */,
49
+ size_t /*count*/) {
50
+ return HighResTimeStamp::now().toDOMHighResTimeStamp();
51
+ }));
52
+ }
53
+
54
+ } // namespace facebook::react
@@ -0,0 +1,20 @@
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 <jsi/jsi.h>
11
+ #include <string>
12
+
13
+ namespace facebook::react {
14
+
15
+ using Logger = std::function<void(const std::string &message, unsigned int logLevel)>;
16
+ void bindNativeLogger(jsi::Runtime &runtime, Logger logger);
17
+
18
+ void bindNativePerformanceNow(jsi::Runtime &runtime);
19
+
20
+ } // 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<<6f88454830626622f9b5720ae0395938>>
7
+ * @generated SignedSource<<a2224b72c2e27abf6a158aa1b4fe9ed0>>
8
8
  */
9
9
 
10
10
  /**
@@ -58,6 +58,10 @@ bool ReactNativeFeatureFlags::disableOldAndroidAttachmentMetricsWorkarounds() {
58
58
  return getAccessor().disableOldAndroidAttachmentMetricsWorkarounds();
59
59
  }
60
60
 
61
+ bool ReactNativeFeatureFlags::disableSubviewClippingAndroid() {
62
+ return getAccessor().disableSubviewClippingAndroid();
63
+ }
64
+
61
65
  bool ReactNativeFeatureFlags::disableTextLayoutManagerCacheAndroid() {
62
66
  return getAccessor().disableTextLayoutManagerCacheAndroid();
63
67
  }
@@ -314,10 +318,6 @@ bool ReactNativeFeatureFlags::useNativeViewConfigsInBridgelessMode() {
314
318
  return getAccessor().useNativeViewConfigsInBridgelessMode();
315
319
  }
316
320
 
317
- bool ReactNativeFeatureFlags::useOptimizedEventBatchingOnAndroid() {
318
- return getAccessor().useOptimizedEventBatchingOnAndroid();
319
- }
320
-
321
321
  bool ReactNativeFeatureFlags::useRawPropsJsiValue() {
322
322
  return getAccessor().useRawPropsJsiValue();
323
323
  }
@@ -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<<7e530e01e8c31edb68099a11bc371b89>>
7
+ * @generated SignedSource<<467f48f2231ceb6772a9a9da9e3badb9>>
8
8
  */
9
9
 
10
10
  /**
@@ -79,6 +79,11 @@ class ReactNativeFeatureFlags {
79
79
  */
80
80
  RN_EXPORT static bool disableOldAndroidAttachmentMetricsWorkarounds();
81
81
 
82
+ /**
83
+ * Force disable subview clipping for ReactViewGroup on Android
84
+ */
85
+ RN_EXPORT static bool disableSubviewClippingAndroid();
86
+
82
87
  /**
83
88
  * Turns off the global measurement cache used by TextLayoutManager on Android.
84
89
  */
@@ -399,11 +404,6 @@ class ReactNativeFeatureFlags {
399
404
  */
400
405
  RN_EXPORT static bool useNativeViewConfigsInBridgelessMode();
401
406
 
402
- /**
403
- * Uses an optimized mechanism for event batching on Android that does not need to wait for a Choreographer frame callback.
404
- */
405
- RN_EXPORT static bool useOptimizedEventBatchingOnAndroid();
406
-
407
407
  /**
408
408
  * Instead of using folly::dynamic as internal representation in RawProps and RawValue, use jsi::Value
409
409
  */