react-native 0.83.0-nightly-20250916-15daa2787 → 0.83.0-nightly-20250918-4d2e38edd

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 (26) hide show
  1. package/Libraries/Components/ScrollView/ScrollViewStickyHeader.js +6 -6
  2. package/Libraries/Components/Touchable/TouchableBounce.js +7 -7
  3. package/Libraries/Core/ReactNativeVersion.js +1 -1
  4. package/Libraries/Debugging/DebuggingOverlay.js +14 -14
  5. package/React/Base/RCTVersion.m +1 -1
  6. package/ReactAndroid/gradle.properties +1 -1
  7. package/ReactAndroid/src/main/java/com/facebook/react/ReactInstanceManager.java +10 -0
  8. package/ReactAndroid/src/main/java/com/facebook/react/defaults/DefaultNewArchitectureEntryPoint.kt +14 -8
  9. package/ReactAndroid/src/main/java/com/facebook/react/modules/systeminfo/ReactNativeVersion.kt +1 -1
  10. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactBaseTextShadowNode.kt +2 -2
  11. package/ReactAndroid/src/main/java/com/facebook/react/views/text/frescosupport/FrescoBasedReactTextInlineImageShadowNode.kt +2 -0
  12. package/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/ReactTextInlineImageShadowNode.kt +7 -0
  13. package/ReactCommon/cxxreact/ReactNativeVersion.h +1 -1
  14. package/ReactCommon/jsinspector-modern/cdp/CdpJson.cpp +2 -2
  15. package/ReactCommon/jsinspector-modern/cdp/CdpJson.h +2 -2
  16. package/ReactCommon/jsinspector-modern/network/NetworkHandler.cpp +23 -17
  17. package/ReactCommon/jsinspector-modern/network/NetworkHandler.h +3 -2
  18. package/ReactCommon/jsinspector-modern/tracing/PerformanceTracer.cpp +6 -6
  19. package/ReactCommon/jsinspector-modern/tracing/PerformanceTracer.h +3 -3
  20. package/ReactCommon/jsinspector-modern/tracing/RuntimeSamplingProfile.h +6 -0
  21. package/jest/mockComponent.js +2 -1
  22. package/package.json +9 -9
  23. package/sdks/hermesc/osx-bin/hermes +0 -0
  24. package/sdks/hermesc/osx-bin/hermesc +0 -0
  25. package/sdks/hermesc/win64-bin/hermesc.exe +0 -0
  26. package/types_generated/Libraries/Components/ScrollView/ScrollViewStickyHeader.d.ts +3 -3
@@ -44,7 +44,7 @@ interface Instance extends React.ElementRef<typeof Animated.View> {
44
44
  }
45
45
 
46
46
  const ScrollViewStickyHeader: component(
47
- ref: React.RefSetter<Instance>,
47
+ ref?: React.RefSetter<Instance>,
48
48
  ...props: ScrollViewStickyHeaderProps
49
49
  ) = function ScrollViewStickyHeader({
50
50
  ref: forwardedRef,
@@ -282,7 +282,7 @@ const ScrollViewStickyHeader: component(
282
282
  const passthroughAnimatedPropExplicitValues =
283
283
  isFabric && translateY != null
284
284
  ? {
285
- style: {transform: [{translateY: translateY}]},
285
+ style: {transform: [{translateY}]},
286
286
  }
287
287
  : null;
288
288
 
@@ -303,20 +303,20 @@ const ScrollViewStickyHeader: component(
303
303
  passthroughAnimatedPropExplicitValues
304
304
  }>
305
305
  {cloneElement(child, {
306
- style: styles.fill, // We transfer the child style to the wrapper.
307
306
  onLayout: undefined, // we call this manually through our this._onLayout
307
+ style: styles.fill, // We transfer the child style to the wrapper.
308
308
  })}
309
309
  </Animated.View>
310
310
  );
311
311
  };
312
312
 
313
313
  const styles = StyleSheet.create({
314
- header: {
315
- zIndex: 10,
316
- },
317
314
  fill: {
318
315
  flex: 1,
319
316
  },
317
+ header: {
318
+ zIndex: 10,
319
+ },
320
320
  });
321
321
 
322
322
  export default ScrollViewStickyHeader;
@@ -47,15 +47,14 @@ class TouchableBounce extends React.Component<
47
47
 
48
48
  _createPressabilityConfig(): PressabilityConfig {
49
49
  return {
50
+ android_disableSound: this.props.touchSoundDisabled,
50
51
  cancelable: !this.props.rejectResponderTermination,
51
- disabled: this.props.disabled,
52
- hitSlop: this.props.hitSlop,
53
52
  delayLongPress: this.props.delayLongPress,
54
53
  delayPressIn: this.props.delayPressIn,
55
54
  delayPressOut: this.props.delayPressOut,
55
+ disabled: this.props.disabled,
56
+ hitSlop: this.props.hitSlop,
56
57
  minPressDuration: 0,
57
- pressRectOffset: this.props.pressRetentionOffset,
58
- android_disableSound: this.props.touchSoundDisabled,
59
58
  onBlur: event => {
60
59
  if (Platform.isTV) {
61
60
  this._bounceTo(1, 0.4, 0);
@@ -113,6 +112,7 @@ class TouchableBounce extends React.Component<
113
112
  this.props.onPressOut(event);
114
113
  }
115
114
  },
115
+ pressRectOffset: this.props.pressRetentionOffset,
116
116
  };
117
117
  }
118
118
 
@@ -123,10 +123,10 @@ class TouchableBounce extends React.Component<
123
123
  callback?: ?() => void,
124
124
  ) {
125
125
  Animated.spring(this.state.scale, {
126
- toValue,
127
- velocity,
128
126
  bounciness,
127
+ toValue,
129
128
  useNativeDriver: true,
129
+ velocity,
130
130
  }).start(callback);
131
131
  }
132
132
 
@@ -230,6 +230,6 @@ export default (function TouchableBounceWrapper({
230
230
  }) {
231
231
  return <TouchableBounce {...props} hostRef={hostRef} />;
232
232
  } as component(
233
- ref: React.RefSetter<mixed>,
233
+ ref?: React.RefSetter<mixed>,
234
234
  ...props: $ReadOnly<Omit<TouchableBounceProps, 'hostRef'>>
235
235
  ));
@@ -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-20250916-15daa2787';
32
+ static prerelease: string | null = 'nightly-20250918-4d2e38edd';
33
33
 
34
34
  static getVersionString(): string {
35
35
  return `${this.major}.${this.minor}.${this.patch}${this.prerelease != null ? `-${this.prerelease}` : ''}`;
@@ -39,20 +39,13 @@ function DebuggingOverlay({
39
39
  useImperativeHandle(
40
40
  ref,
41
41
  () => ({
42
- highlightTraceUpdates(updates) {
42
+ clearElementsHighlight() {
43
43
  if (!isNativeComponentReady) {
44
44
  return;
45
45
  }
46
46
 
47
- const nonEmptyRectangles = updates.filter(
48
- ({rectangle, color}) => rectangle.width >= 0 && rectangle.height >= 0,
49
- );
50
-
51
47
  if (nativeComponentRef.current != null) {
52
- Commands.highlightTraceUpdates(
53
- nativeComponentRef.current,
54
- nonEmptyRectangles,
55
- );
48
+ Commands.clearElementsHighlights(nativeComponentRef.current);
56
49
  }
57
50
  },
58
51
  highlightElements(elements) {
@@ -64,13 +57,20 @@ function DebuggingOverlay({
64
57
  Commands.highlightElements(nativeComponentRef.current, elements);
65
58
  }
66
59
  },
67
- clearElementsHighlight() {
60
+ highlightTraceUpdates(updates) {
68
61
  if (!isNativeComponentReady) {
69
62
  return;
70
63
  }
71
64
 
65
+ const nonEmptyRectangles = updates.filter(
66
+ ({rectangle, color}) => rectangle.width >= 0 && rectangle.height >= 0,
67
+ );
68
+
72
69
  if (nativeComponentRef.current != null) {
73
- Commands.clearElementsHighlights(nativeComponentRef.current);
70
+ Commands.highlightTraceUpdates(
71
+ nativeComponentRef.current,
72
+ nonEmptyRectangles,
73
+ );
74
74
  }
75
75
  },
76
76
  }),
@@ -95,14 +95,14 @@ function DebuggingOverlay({
95
95
 
96
96
  const styles = StyleSheet.create({
97
97
  overlay: {
98
- position: 'absolute',
99
- top: 0,
100
98
  bottom: 0,
101
99
  left: 0,
100
+ position: 'absolute',
102
101
  right: 0,
102
+ top: 0,
103
103
  },
104
104
  });
105
105
 
106
106
  export default DebuggingOverlay as component(
107
- ref: React.RefSetter<DebuggingOverlayHandle>,
107
+ ref?: React.RefSetter<DebuggingOverlayHandle>,
108
108
  );
@@ -24,7 +24,7 @@ NSDictionary* RCTGetReactNativeVersion(void)
24
24
  RCTVersionMajor: @(0),
25
25
  RCTVersionMinor: @(83),
26
26
  RCTVersionPatch: @(0),
27
- RCTVersionPrerelease: @"nightly-20250916-15daa2787",
27
+ RCTVersionPrerelease: @"nightly-20250918-4d2e38edd",
28
28
  };
29
29
  });
30
30
  return __rnVersion;
@@ -1,4 +1,4 @@
1
- VERSION_NAME=0.83.0-nightly-20250916-15daa2787
1
+ VERSION_NAME=0.83.0-nightly-20250918-4d2e38edd
2
2
  react.internal.publishingGroup=com.facebook.react
3
3
  react.internal.hermesPublishingGroup=com.facebook.hermes
4
4
 
@@ -328,6 +328,15 @@ public class ReactInstanceManager {
328
328
  }
329
329
 
330
330
  registerCxxErrorHandlerFunc();
331
+
332
+ // Using `if (true)` just to prevent tests / lint errors.
333
+ if (true) {
334
+ // Legacy architecture of React Native is deprecated and can't be initialized anymore.
335
+ // More details on:
336
+ // https://github.com/react-native-community/discussions-and-proposals/blob/nc/legacy-arch-removal/proposals/0929-legacy-architecture-removal.md
337
+ throw new UnsupportedOperationException(
338
+ "ReactInstanceManager.createReactContext is unsupported.");
339
+ }
331
340
  }
332
341
 
333
342
  private ReactInstanceDevHelper createDevHelperInterface() {
@@ -1446,6 +1455,7 @@ public class ReactInstanceManager {
1446
1455
  */
1447
1456
  private ReactApplicationContext createReactContext(
1448
1457
  JavaScriptExecutor jsExecutor, JSBundleLoader jsBundleLoader) {
1458
+
1449
1459
  FLog.d(ReactConstants.TAG, "ReactInstanceManager.createReactContext()");
1450
1460
  ReactMarker.logMarker(CREATE_REACT_CONTEXT_START, jsExecutor.getName());
1451
1461
 
@@ -125,6 +125,12 @@ public object DefaultNewArchitectureEntryPoint {
125
125
  privateConcurrentReactEnabled = featureFlags.enableFabricRenderer()
126
126
  privateBridgelessEnabled = featureFlags.enableBridgelessArchitecture()
127
127
 
128
+ val (isValid, errorMessage) =
129
+ isConfigurationValid(turboModulesEnabled, fabricEnabled, bridgelessEnabled)
130
+ if (!isValid) {
131
+ error(errorMessage)
132
+ }
133
+
128
134
  DefaultSoLoader.maybeLoadSoLibrary()
129
135
  }
130
136
 
@@ -158,13 +164,13 @@ public object DefaultNewArchitectureEntryPoint {
158
164
  fabricEnabled: Boolean,
159
165
  bridgelessEnabled: Boolean,
160
166
  ): Pair<Boolean, String> =
161
- when {
162
- fabricEnabled && !turboModulesEnabled ->
163
- false to
164
- "fabricEnabled=true requires turboModulesEnabled=true (is now false) - Please update your DefaultNewArchitectureEntryPoint.load() parameters."
165
- bridgelessEnabled && (!turboModulesEnabled || !fabricEnabled) ->
166
- false to
167
- "bridgelessEnabled=true requires (turboModulesEnabled=true AND fabricEnabled=true) - Please update your DefaultNewArchitectureEntryPoint.load() parameters."
168
- else -> true to ""
167
+ if (!turboModulesEnabled || !fabricEnabled || !bridgelessEnabled) {
168
+ false to
169
+ "You cannot load React Native with the New Architecture disabled. " +
170
+ "Please use DefaultNewArchitectureEntryPoint.load() instead of " +
171
+ "DefaultNewArchitectureEntryPoint.load(turboModulesEnabled=$turboModulesEnabled, " +
172
+ "fabricEnabled=$fabricEnabled, bridgelessEnabled=$bridgelessEnabled)"
173
+ } else {
174
+ true to ""
169
175
  }
170
176
  }
@@ -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-20250916-15daa2787"
18
+ "prerelease" to "nightly-20250918-4d2e38edd"
19
19
  )
20
20
  }
@@ -34,7 +34,6 @@ import com.facebook.react.views.text.ReactTypefaceUtils.parseFontStyle
34
34
  import com.facebook.react.views.text.ReactTypefaceUtils.parseFontVariant
35
35
  import com.facebook.react.views.text.ReactTypefaceUtils.parseFontWeight
36
36
  import com.facebook.react.views.text.TextTransform.Companion.apply
37
- import com.facebook.react.views.text.internal.ReactTextInlineImageShadowNode
38
37
  import com.facebook.react.views.text.internal.span.CustomLetterSpacingSpan
39
38
  import com.facebook.react.views.text.internal.span.CustomLineHeightSpan
40
39
  import com.facebook.react.views.text.internal.span.CustomStyleSpan
@@ -523,6 +522,7 @@ public constructor(
523
522
  while (i < length) {
524
523
  val child: ReactShadowNode<*> = textShadowNode.getChildAt(i)
525
524
 
525
+ @Suppress("DEPRECATION")
526
526
  if (child is ReactRawTextShadowNode) {
527
527
  child.text?.let { sb.append(apply(it, textAttributes.textTransform)) }
528
528
  } else if (child is ReactBaseTextShadowNode) {
@@ -535,7 +535,7 @@ public constructor(
535
535
  inlineViews,
536
536
  sb.length,
537
537
  )
538
- } else if (child is ReactTextInlineImageShadowNode) {
538
+ } else if (child is com.facebook.react.views.text.internal.ReactTextInlineImageShadowNode) {
539
539
  // We make the image take up 1 character in the span and put a corresponding character
540
540
  // into the text so that the image doesn't run over any following text.
541
541
  sb.append(INLINE_VIEW_PLACEHOLDER)
@@ -5,6 +5,8 @@
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  */
7
7
 
8
+ @file:Suppress("DEPRECATION")
9
+
8
10
  package com.facebook.react.views.text.frescosupport
9
11
 
10
12
  import android.content.Context
@@ -9,11 +9,18 @@
9
9
 
10
10
  package com.facebook.react.views.text.internal
11
11
 
12
+ import com.facebook.react.common.annotations.internal.LegacyArchitecture
13
+ import com.facebook.react.common.annotations.internal.LegacyArchitectureLogLevel
12
14
  import com.facebook.react.uimanager.LayoutShadowNode
13
15
  import com.facebook.react.views.text.internal.span.TextInlineImageSpan
14
16
  import com.facebook.yoga.YogaNode
15
17
 
16
18
  /** Base class for [YogaNode]s that represent inline images. */
19
+ @LegacyArchitecture(logLevel = LegacyArchitectureLogLevel.ERROR)
20
+ @Deprecated(
21
+ message = "This class is part of Legacy Architecture and will be removed in a future release",
22
+ level = DeprecationLevel.WARNING,
23
+ )
17
24
  internal abstract class ReactTextInlineImageShadowNode : LayoutShadowNode() {
18
25
  /**
19
26
  * Build a [TextInlineImageSpan] from this node. This will be added to the TextView in place of
@@ -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-20250916-15daa2787";
25
+ std::string_view Prerelease = "nightly-20250918-4d2e38edd";
26
26
  } ReactNativeVersion;
27
27
 
28
28
  } // namespace facebook::react
@@ -49,7 +49,7 @@ std::string jsonResult(RequestId id, const folly::dynamic& result) {
49
49
  }
50
50
 
51
51
  std::string jsonNotification(
52
- std::string_view method,
52
+ const std::string& method,
53
53
  std::optional<folly::dynamic> params) {
54
54
  auto dynamicNotification = folly::dynamic::object("method", method);
55
55
  if (params) {
@@ -60,7 +60,7 @@ std::string jsonNotification(
60
60
 
61
61
  std::string jsonRequest(
62
62
  RequestId id,
63
- std::string_view method,
63
+ const std::string& method,
64
64
  std::optional<folly::dynamic> params) {
65
65
  auto dynamicRequest = folly::dynamic::object("id", id)("method", method);
66
66
  if (params) {
@@ -118,7 +118,7 @@ std::string jsonResult(
118
118
  * \param params Optional payload object.
119
119
  */
120
120
  std::string jsonNotification(
121
- std::string_view method,
121
+ const std::string& method,
122
122
  std::optional<folly::dynamic> params = std::nullopt);
123
123
 
124
124
  /**
@@ -132,7 +132,7 @@ std::string jsonNotification(
132
132
  */
133
133
  std::string jsonRequest(
134
134
  RequestId id,
135
- std::string_view method,
135
+ const std::string& method,
136
136
  std::optional<folly::dynamic> params = std::nullopt);
137
137
 
138
138
  } // namespace facebook::react::jsinspector_modern::cdp
@@ -56,7 +56,7 @@ bool NetworkHandler::disable() {
56
56
  }
57
57
 
58
58
  enabled_.store(false, std::memory_order_release);
59
- requestBodyBuffer_.clear();
59
+ responseBodyBuffer_.clear();
60
60
  return true;
61
61
  }
62
62
 
@@ -113,7 +113,10 @@ void NetworkHandler::onResponseReceived(
113
113
  }
114
114
 
115
115
  auto resourceType = cdp::network::resourceTypeFromMimeType(response.mimeType);
116
- resourceTypeMap_.emplace(requestId, resourceType);
116
+ {
117
+ std::lock_guard<std::mutex> lock(resourceTypeMapMutex_);
118
+ resourceTypeMap_.emplace(requestId, resourceType);
119
+ }
117
120
 
118
121
  auto params = cdp::network::ResponseReceivedParams{
119
122
  .requestId = requestId,
@@ -166,23 +169,26 @@ void NetworkHandler::onLoadingFinished(
166
169
 
167
170
  void NetworkHandler::onLoadingFailed(
168
171
  const std::string& requestId,
169
- bool cancelled) const {
172
+ bool cancelled) {
170
173
  if (!isEnabledNoSync()) {
171
174
  return;
172
175
  }
173
176
 
174
- auto params = cdp::network::LoadingFailedParams{
175
- .requestId = requestId,
176
- .timestamp = getCurrentUnixTimestampSeconds(),
177
- .type = resourceTypeMap_.find(requestId) != resourceTypeMap_.end()
178
- ? resourceTypeMap_.at(requestId)
179
- : "Other",
180
- .errorText = cancelled ? "net::ERR_ABORTED" : "net::ERR_FAILED",
181
- .canceled = cancelled,
182
- };
183
-
184
- frontendChannel_(
185
- cdp::jsonNotification("Network.loadingFailed", params.toDynamic()));
177
+ {
178
+ std::lock_guard<std::mutex> lock(resourceTypeMapMutex_);
179
+ auto params = cdp::network::LoadingFailedParams{
180
+ .requestId = requestId,
181
+ .timestamp = getCurrentUnixTimestampSeconds(),
182
+ .type = resourceTypeMap_.find(requestId) != resourceTypeMap_.end()
183
+ ? resourceTypeMap_.at(requestId)
184
+ : "Other",
185
+ .errorText = cancelled ? "net::ERR_ABORTED" : "net::ERR_FAILED",
186
+ .canceled = cancelled,
187
+ };
188
+
189
+ frontendChannel_(
190
+ cdp::jsonNotification("Network.loadingFailed", params.toDynamic()));
191
+ }
186
192
  }
187
193
 
188
194
  void NetworkHandler::storeResponseBody(
@@ -190,13 +196,13 @@ void NetworkHandler::storeResponseBody(
190
196
  std::string_view body,
191
197
  bool base64Encoded) {
192
198
  std::lock_guard<std::mutex> lock(requestBodyMutex_);
193
- requestBodyBuffer_.put(requestId, body, base64Encoded);
199
+ responseBodyBuffer_.put(requestId, body, base64Encoded);
194
200
  }
195
201
 
196
202
  std::optional<std::tuple<std::string, bool>> NetworkHandler::getResponseBody(
197
203
  const std::string& requestId) {
198
204
  std::lock_guard<std::mutex> lock(requestBodyMutex_);
199
- auto responseBody = requestBodyBuffer_.get(requestId);
205
+ auto responseBody = responseBodyBuffer_.get(requestId);
200
206
 
201
207
  if (responseBody == nullptr) {
202
208
  return std::nullopt;
@@ -100,7 +100,7 @@ class NetworkHandler {
100
100
  /**
101
101
  * @cdp Network.loadingFailed
102
102
  */
103
- void onLoadingFailed(const std::string& requestId, bool cancelled) const;
103
+ void onLoadingFailed(const std::string& requestId, bool cancelled);
104
104
 
105
105
  /**
106
106
  * Store the fetched response body for a text or image network response.
@@ -139,8 +139,9 @@ class NetworkHandler {
139
139
  FrontendChannel frontendChannel_;
140
140
 
141
141
  std::map<std::string, std::string> resourceTypeMap_{};
142
+ std::mutex resourceTypeMapMutex_{};
142
143
 
143
- BoundedRequestBuffer requestBodyBuffer_{};
144
+ BoundedRequestBuffer responseBodyBuffer_{};
144
145
  std::mutex requestBodyMutex_;
145
146
  };
146
147
 
@@ -124,7 +124,7 @@ std::optional<std::vector<TraceEvent>> PerformanceTracer::stopTracing() {
124
124
  }
125
125
 
126
126
  void PerformanceTracer::reportMark(
127
- const std::string_view& name,
127
+ const std::string& name,
128
128
  HighResTimeStamp start,
129
129
  folly::dynamic&& detail) {
130
130
  if (!tracingAtomic_) {
@@ -137,7 +137,7 @@ void PerformanceTracer::reportMark(
137
137
  }
138
138
 
139
139
  enqueueEvent(PerformanceTracerEventMark{
140
- .name = std::string(name),
140
+ .name = name,
141
141
  .start = start,
142
142
  .detail = std::move(detail),
143
143
  .threadId = getCurrentThreadId(),
@@ -145,7 +145,7 @@ void PerformanceTracer::reportMark(
145
145
  }
146
146
 
147
147
  void PerformanceTracer::reportMeasure(
148
- const std::string_view& name,
148
+ const std::string& name,
149
149
  HighResTimeStamp start,
150
150
  HighResDuration duration,
151
151
  folly::dynamic&& detail) {
@@ -159,7 +159,7 @@ void PerformanceTracer::reportMeasure(
159
159
  }
160
160
 
161
161
  enqueueEvent(PerformanceTracerEventMeasure{
162
- .name = std::string(name),
162
+ .name = name,
163
163
  .start = start,
164
164
  .duration = duration,
165
165
  .detail = std::move(detail),
@@ -168,7 +168,7 @@ void PerformanceTracer::reportMeasure(
168
168
  }
169
169
 
170
170
  void PerformanceTracer::reportTimeStamp(
171
- std::string name,
171
+ const std::string& name,
172
172
  std::optional<ConsoleTimeStampEntry> start,
173
173
  std::optional<ConsoleTimeStampEntry> end,
174
174
  std::optional<std::string> trackName,
@@ -184,7 +184,7 @@ void PerformanceTracer::reportTimeStamp(
184
184
  }
185
185
 
186
186
  enqueueEvent(PerformanceTracerEventTimeStamp{
187
- .name = std::move(name),
187
+ .name = name,
188
188
  .start = std::move(start),
189
189
  .end = std::move(end),
190
190
  .trackName = std::move(trackName),
@@ -65,7 +65,7 @@ class PerformanceTracer {
65
65
  * See https://w3c.github.io/user-timing/#mark-method.
66
66
  */
67
67
  void reportMark(
68
- const std::string_view& name,
68
+ const std::string& name,
69
69
  HighResTimeStamp start,
70
70
  folly::dynamic&& detail = nullptr);
71
71
 
@@ -76,7 +76,7 @@ class PerformanceTracer {
76
76
  * See https://w3c.github.io/user-timing/#measure-method.
77
77
  */
78
78
  void reportMeasure(
79
- const std::string_view& name,
79
+ const std::string& name,
80
80
  HighResTimeStamp start,
81
81
  HighResDuration duration,
82
82
  folly::dynamic&& detail = nullptr);
@@ -89,7 +89,7 @@ class PerformanceTracer {
89
89
  https://developer.chrome.com/docs/devtools/performance/extension#inject_your_data_with_consoletimestamp
90
90
  */
91
91
  void reportTimeStamp(
92
- std::string name,
92
+ const std::string& name,
93
93
  std::optional<ConsoleTimeStampEntry> start = std::nullopt,
94
94
  std::optional<ConsoleTimeStampEntry> end = std::nullopt,
95
95
  std::optional<std::string> trackName = std::nullopt,
@@ -49,8 +49,14 @@ struct RuntimeSamplingProfile {
49
49
  /// id of the corresponding script in the VM.
50
50
  uint32_t scriptId;
51
51
  /// name of the function that represents call frame.
52
+ /// Storing a std::string_view should be considered safe here, beacause
53
+ /// the lifetime of the string contents are guaranteed as long as the raw
54
+ // Sampling Profiler object from Hermes is allocated.
52
55
  std::string_view functionName;
53
56
  /// source url of the corresponding script in the VM.
57
+ /// Storing a std::string_view should be considered safe here, beacause
58
+ /// the lifetime of the string contents are guaranteed as long as the raw
59
+ // Sampling Profiler object from Hermes is allocated.
54
60
  std::optional<std::string_view> scriptURL = std::nullopt;
55
61
  /// 0-based line number of the corresponding call frame.
56
62
  std::optional<uint32_t> lineNumber = std::nullopt;
@@ -28,7 +28,8 @@ export default function mockComponent<
28
28
  instanceMethods: ?interface {},
29
29
  isESModule: TIsESModule,
30
30
  ): TIsESModule extends true
31
- ? ModuleDefault<TComponentModule & typeof instanceMethods>
31
+ ? // $FlowFixMe[incompatible-use]
32
+ ModuleDefault<TComponentModule & typeof instanceMethods>
32
33
  : TComponentModule & typeof instanceMethods {
33
34
  const RealComponent: TComponentType = isESModule
34
35
  ? // $FlowFixMe[prop-missing]
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-native",
3
- "version": "0.83.0-nightly-20250916-15daa2787",
3
+ "version": "0.83.0-nightly-20250918-4d2e38edd",
4
4
  "description": "A framework for building native apps using React",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -159,13 +159,13 @@
159
159
  },
160
160
  "dependencies": {
161
161
  "@jest/create-cache-key-function": "^29.7.0",
162
- "@react-native/assets-registry": "0.83.0-nightly-20250916-15daa2787",
163
- "@react-native/codegen": "0.83.0-nightly-20250916-15daa2787",
164
- "@react-native/community-cli-plugin": "0.83.0-nightly-20250916-15daa2787",
165
- "@react-native/gradle-plugin": "0.83.0-nightly-20250916-15daa2787",
166
- "@react-native/js-polyfills": "0.83.0-nightly-20250916-15daa2787",
167
- "@react-native/normalize-colors": "0.83.0-nightly-20250916-15daa2787",
168
- "@react-native/virtualized-lists": "0.83.0-nightly-20250916-15daa2787",
162
+ "@react-native/assets-registry": "0.83.0-nightly-20250918-4d2e38edd",
163
+ "@react-native/codegen": "0.83.0-nightly-20250918-4d2e38edd",
164
+ "@react-native/community-cli-plugin": "0.83.0-nightly-20250918-4d2e38edd",
165
+ "@react-native/gradle-plugin": "0.83.0-nightly-20250918-4d2e38edd",
166
+ "@react-native/js-polyfills": "0.83.0-nightly-20250918-4d2e38edd",
167
+ "@react-native/normalize-colors": "0.83.0-nightly-20250918-4d2e38edd",
168
+ "@react-native/virtualized-lists": "0.83.0-nightly-20250918-4d2e38edd",
169
169
  "abort-controller": "^3.0.0",
170
170
  "anser": "^1.4.9",
171
171
  "ansi-regex": "^5.0.0",
@@ -191,7 +191,7 @@
191
191
  "semver": "^7.1.3",
192
192
  "stacktrace-parser": "^0.1.10",
193
193
  "whatwg-fetch": "^3.0.0",
194
- "ws": "^6.2.3",
194
+ "ws": "^7.5.10",
195
195
  "yargs": "^17.6.2"
196
196
  },
197
197
  "codegenConfig": {
Binary file
Binary file
Binary file
@@ -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<<6fe67ec75054fae0e1631d8b63244e7b>>
7
+ * @generated SignedSource<<f8dd9c647cf100daf63bfef26d661794>>
8
8
  *
9
9
  * This file was translated from Flow by scripts/js-api/build-types/index.js.
10
10
  * Original file: packages/react-native/Libraries/Components/ScrollView/ScrollViewStickyHeader.js
@@ -27,9 +27,9 @@ interface Instance extends React.ElementRef<typeof Animated.View> {
27
27
  readonly setNextHeaderY: ($$PARAM_0$$: number) => void;
28
28
  }
29
29
  declare const ScrollViewStickyHeader: (props: Omit<ScrollViewStickyHeaderProps, keyof {
30
- ref: React.Ref<Instance>;
30
+ ref?: React.Ref<Instance>;
31
31
  }> & {
32
- ref: React.Ref<Instance>;
32
+ ref?: React.Ref<Instance>;
33
33
  }) => React.ReactNode;
34
34
  declare const $$ScrollViewStickyHeader: typeof ScrollViewStickyHeader;
35
35
  declare type $$ScrollViewStickyHeader = typeof $$ScrollViewStickyHeader;