react-native 0.83.0-nightly-20251003-aab0d3397 → 0.83.0-nightly-20251006-07f40ec6b

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 (37) hide show
  1. package/Libraries/Core/ReactNativeVersion.js +1 -1
  2. package/React/Base/RCTVersion.m +1 -1
  3. package/ReactAndroid/gradle.properties +1 -1
  4. package/ReactAndroid/src/main/java/com/facebook/react/modules/systeminfo/ReactNativeVersion.kt +1 -1
  5. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollView.java +15 -2
  6. package/ReactCommon/cxxreact/ReactNativeVersion.h +1 -1
  7. package/ReactCommon/hermes/executor/HermesExecutorFactory.cpp +1 -68
  8. package/ReactCommon/jsinspector-modern/tests/InspectorMocks.h +10 -0
  9. package/ReactCommon/jsinspector-modern/tests/InspectorPackagerConnectionTest.cpp +2 -0
  10. package/ReactCommon/jsinspector-modern/tests/JsiIntegrationTest.h +2 -3
  11. package/ReactCommon/jsinspector-modern/tests/NetworkReporterTest.cpp +466 -0
  12. package/ReactCommon/jsinspector-modern/tests/ReactInstanceIntegrationTest.cpp +15 -30
  13. package/ReactCommon/jsinspector-modern/tests/ReactInstanceIntegrationTest.h +2 -3
  14. package/ReactCommon/jsinspector-modern/tests/engines/JsiIntegrationTestGenericEngineAdapter.cpp +0 -5
  15. package/ReactCommon/jsinspector-modern/tests/engines/JsiIntegrationTestHermesEngineAdapter.cpp +0 -5
  16. package/ReactCommon/jsinspector-modern/tests/utils/InspectorFlagOverridesGuard.cpp +12 -0
  17. package/ReactCommon/jsinspector-modern/tests/utils/InspectorFlagOverridesGuard.h +1 -0
  18. package/ReactCommon/react/renderer/components/progressbar/android/react/renderer/components/progressbar/AndroidProgressBarShadowNode.cpp +1 -0
  19. package/ReactCommon/react/renderer/components/view/platform/android/react/renderer/components/view/HostPlatformViewProps.cpp +4 -0
  20. package/ReactCommon/react/renderer/graphics/BackgroundImage.h +11 -0
  21. package/ReactCommon/react/renderer/graphics/ColorStop.h +9 -0
  22. package/ReactCommon/react/renderer/graphics/LinearGradient.h +56 -0
  23. package/ReactCommon/react/renderer/graphics/RadialGradient.h +84 -0
  24. package/ReactCommon/react/renderer/graphics/ValueUnit.h +17 -0
  25. package/ReactCommon/react/runtime/hermes/HermesInstance.cpp +0 -89
  26. package/package.json +8 -8
  27. package/scripts/cocoapods/rncore.rb +229 -27
  28. package/scripts/cocoapods/rndependencies.rb +6 -9
  29. package/sdks/hermes-engine/hermes-engine.podspec +0 -14
  30. package/sdks/hermes-engine/utils/build-apple-framework.sh +0 -12
  31. package/sdks/hermesc/osx-bin/hermes +0 -0
  32. package/sdks/hermesc/osx-bin/hermesc +0 -0
  33. package/sdks/hermesc/win64-bin/hermesc.exe +0 -0
  34. package/ReactCommon/hermes/inspector-modern/chrome/ConnectionDemux.cpp +0 -142
  35. package/ReactCommon/hermes/inspector-modern/chrome/ConnectionDemux.h +0 -62
  36. package/ReactCommon/hermes/inspector-modern/chrome/Registration.cpp +0 -37
  37. package/ReactCommon/hermes/inspector-modern/chrome/Registration.h +0 -41
@@ -29,7 +29,7 @@ export default class ReactNativeVersion {
29
29
  static major: number = 0;
30
30
  static minor: number = 83;
31
31
  static patch: number = 0;
32
- static prerelease: string | null = 'nightly-20251003-aab0d3397';
32
+ static prerelease: string | null = 'nightly-20251006-07f40ec6b';
33
33
 
34
34
  static getVersionString(): string {
35
35
  return `${this.major}.${this.minor}.${this.patch}${this.prerelease != null ? `-${this.prerelease}` : ''}`;
@@ -24,7 +24,7 @@ NSDictionary* RCTGetReactNativeVersion(void)
24
24
  RCTVersionMajor: @(0),
25
25
  RCTVersionMinor: @(83),
26
26
  RCTVersionPatch: @(0),
27
- RCTVersionPrerelease: @"nightly-20251003-aab0d3397",
27
+ RCTVersionPrerelease: @"nightly-20251006-07f40ec6b",
28
28
  };
29
29
  });
30
30
  return __rnVersion;
@@ -1,4 +1,4 @@
1
- VERSION_NAME=0.83.0-nightly-20251003-aab0d3397
1
+ VERSION_NAME=0.83.0-nightly-20251006-07f40ec6b
2
2
  react.internal.publishingGroup=com.facebook.react
3
3
  react.internal.hermesPublishingGroup=com.facebook.hermes
4
4
 
@@ -15,6 +15,6 @@ public object ReactNativeVersion {
15
15
  "major" to 0,
16
16
  "minor" to 83,
17
17
  "patch" to 0,
18
- "prerelease" to "nightly-20251003-aab0d3397"
18
+ "prerelease" to "nightly-20251006-07f40ec6b"
19
19
  )
20
20
  }
@@ -528,11 +528,24 @@ public class ReactScrollView extends ScrollView
528
528
  }
529
529
 
530
530
  private void scrollToChild(View child) {
531
+ // Only scroll the nearest ReactScrollView ancestor into view, rather than the focused child.
532
+ // Nested ScrollView instances will handle scrolling the child into their respective viewports.
533
+ View parent = child;
534
+ View scrollViewAncestor = null;
535
+ while (parent != null && parent != this) {
536
+ if (parent instanceof ReactScrollView) {
537
+ scrollViewAncestor = parent;
538
+ }
539
+ parent = (View) parent.getParent();
540
+ }
541
+
542
+ View scrollIntoViewTarget = scrollViewAncestor != null ? scrollViewAncestor : child;
543
+
531
544
  Rect tempRect = new Rect();
532
- child.getDrawingRect(tempRect);
545
+ scrollIntoViewTarget.getDrawingRect(tempRect);
533
546
 
534
547
  /* Offset from child's local coordinates to ScrollView coordinates */
535
- offsetDescendantRectToMyCoords(child, tempRect);
548
+ offsetDescendantRectToMyCoords(scrollIntoViewTarget, tempRect);
536
549
 
537
550
  int scrollDelta = computeScrollDeltaToGetChildRectOnScreen(tempRect);
538
551
 
@@ -22,7 +22,7 @@ constexpr struct {
22
22
  int32_t Major = 0;
23
23
  int32_t Minor = 83;
24
24
  int32_t Patch = 0;
25
- std::string_view Prerelease = "nightly-20251003-aab0d3397";
25
+ std::string_view Prerelease = "nightly-20251006-07f40ec6b";
26
26
  } ReactNativeVersion;
27
27
 
28
28
  } // namespace facebook::react
@@ -15,11 +15,6 @@
15
15
 
16
16
  #include <hermes/inspector-modern/chrome/HermesRuntimeTargetDelegate.h>
17
17
 
18
- #if defined(HERMES_ENABLE_DEBUGGER) && !defined(HERMES_V1_ENABLED)
19
- #include <hermes/inspector-modern/chrome/Registration.h>
20
- #include <hermes/inspector/RuntimeAdapter.h>
21
- #endif
22
-
23
18
  using namespace facebook::hermes;
24
19
  using namespace facebook::jsi;
25
20
 
@@ -27,43 +22,6 @@ namespace facebook::react {
27
22
 
28
23
  namespace {
29
24
 
30
- #if defined(HERMES_ENABLE_DEBUGGER) && !defined(HERMES_V1_ENABLED)
31
-
32
- class HermesExecutorRuntimeAdapter
33
- : public facebook::hermes::inspector_modern::RuntimeAdapter {
34
- public:
35
- HermesExecutorRuntimeAdapter(
36
- std::shared_ptr<HermesRuntime> runtime,
37
- std::shared_ptr<MessageQueueThread> thread)
38
- : runtime_(runtime), thread_(std::move(thread)) {}
39
-
40
- virtual ~HermesExecutorRuntimeAdapter() = default;
41
-
42
- HermesRuntime& getRuntime() override {
43
- return *runtime_;
44
- }
45
-
46
- void tickleJs() override {
47
- thread_->runOnQueue(
48
- [weakRuntime = std::weak_ptr<HermesRuntime>(runtime_)]() {
49
- auto runtime = weakRuntime.lock();
50
- if (!runtime) {
51
- return;
52
- }
53
- jsi::Function func =
54
- runtime->global().getPropertyAsFunction(*runtime, "__tickleJs");
55
- func.call(*runtime);
56
- });
57
- }
58
-
59
- private:
60
- std::shared_ptr<HermesRuntime> runtime_;
61
-
62
- std::shared_ptr<MessageQueueThread> thread_;
63
- };
64
-
65
- #endif // defined(HERMES_ENABLE_DEBUGGER) && !defined(HERMES_V1_ENABLED)
66
-
67
25
  struct ReentrancyCheck {
68
26
  // This is effectively a very subtle and complex assert, so only
69
27
  // include it in builds which would include asserts.
@@ -147,42 +105,17 @@ class DecoratedRuntime : public jsi::WithRuntimeDecorator<ReentrancyCheck> {
147
105
  const std::string& debuggerName)
148
106
  : jsi::WithRuntimeDecorator<ReentrancyCheck>(*runtime, reentrancyCheck_),
149
107
  runtime_(std::move(runtime)) {
150
- #if defined(HERMES_ENABLE_DEBUGGER) && !defined(HERMES_V1_ENABLED)
151
- enableDebugger_ = enableDebugger;
152
- if (enableDebugger_) {
153
- std::shared_ptr<HermesRuntime> rt(runtime_, &hermesRuntime);
154
- auto adapter =
155
- std::make_unique<HermesExecutorRuntimeAdapter>(rt, jsQueue);
156
- debugToken_ = facebook::hermes::inspector_modern::chrome::enableDebugging(
157
- std::move(adapter), debuggerName);
158
- }
159
- #else
160
108
  (void)jsQueue;
161
- #endif // HERMES_ENABLE_DEBUGGER
162
109
  }
163
110
 
164
- ~DecoratedRuntime() {
165
- #if defined(HERMES_ENABLE_DEBUGGER) && !defined(HERMES_V1_ENABLED)
166
- if (enableDebugger_) {
167
- facebook::hermes::inspector_modern::chrome::disableDebugging(debugToken_);
168
- }
169
- #endif // HERMES_ENABLE_DEBUGGER
170
- }
111
+ ~DecoratedRuntime() {}
171
112
 
172
113
  private:
173
114
  // runtime_ is a potentially decorated Runtime.
174
115
  // hermesRuntime is a reference to a HermesRuntime managed by runtime_.
175
- //
176
- // HermesExecutorRuntimeAdapter requirements are kept, because the
177
- // dtor will disable debugging on the HermesRuntime before the
178
- // member managing it is destroyed.
179
116
 
180
117
  std::shared_ptr<Runtime> runtime_;
181
118
  ReentrancyCheck reentrancyCheck_;
182
- #if defined(HERMES_ENABLE_DEBUGGER) && !defined(HERMES_V1_ENABLED)
183
- bool enableDebugger_;
184
- facebook::hermes::inspector_modern::chrome::DebugSessionToken debugToken_;
185
- #endif // HERMES_ENABLE_DEBUGGER
186
119
  };
187
120
 
188
121
  } // namespace
@@ -97,6 +97,7 @@ class MockInspectorPackagerConnectionDelegate
97
97
  executor_.add(callback);
98
98
  }
99
99
  }));
100
+ EXPECT_CALL(*this, scheduleCallback(_, _)).Times(AnyNumber());
100
101
  }
101
102
 
102
103
  // InspectorPackagerConnectionDelegate methods
@@ -168,6 +169,15 @@ class MockRuntimeTargetDelegate : public RuntimeTargetDelegate {
168
169
  collectSamplingProfile,
169
170
  (),
170
171
  (override));
172
+
173
+ inline MockRuntimeTargetDelegate() {
174
+ using namespace testing;
175
+
176
+ // Silence "uninteresting mock function call" warnings for methods that
177
+ // don't have side effects.
178
+
179
+ EXPECT_CALL(*this, supportsConsole()).Times(AnyNumber());
180
+ }
171
181
  };
172
182
 
173
183
  class MockRuntimeAgentDelegate : public RuntimeAgentDelegate {
@@ -49,6 +49,8 @@ class InspectorPackagerConnectionTestBase : public testing::Test {
49
49
  socket->getDelegate().didOpen();
50
50
  return std::move(socket);
51
51
  });
52
+ EXPECT_CALL(*packagerConnectionDelegate(), connectWebSocket(_, _))
53
+ .Times(AnyNumber());
52
54
  }
53
55
 
54
56
  void TearDown() override {
@@ -47,9 +47,8 @@ class JsiIntegrationPortableTestBase : public ::testing::Test,
47
47
  protected:
48
48
  Executor executor_;
49
49
 
50
- JsiIntegrationPortableTestBase()
51
- : inspectorFlagsGuard_{EngineAdapter::getInspectorFlagOverrides()},
52
- engineAdapter_{executor_} {}
50
+ JsiIntegrationPortableTestBase(InspectorFlagOverrides overrides = {})
51
+ : inspectorFlagsGuard_(overrides), engineAdapter_{executor_} {}
53
52
 
54
53
  void SetUp() override {
55
54
  // NOTE: Using SetUp() so we can call virtual methods like