react-native 0.84.0-nightly-20251216-c16eb23a1 → 0.84.0-nightly-20251218-c7f433a41

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 (38) hide show
  1. package/Libraries/Animated/nodes/AnimatedObject.js +9 -4
  2. package/Libraries/Core/ReactNativeVersion.js +1 -1
  3. package/Libraries/Settings/RCTSettingsManager.mm +1 -1
  4. package/Libraries/TypeSafety/RCTTypedModuleConstants.h +36 -1
  5. package/React/Base/RCTVersion.m +1 -1
  6. package/React/CoreModules/PlatformStubs/RCTStatusBarManager.mm +1 -1
  7. package/React/CoreModules/RCTAppState.mm +1 -1
  8. package/React/CoreModules/RCTStatusBarManager.mm +1 -1
  9. package/React/FBReactNativeSpec/FBReactNativeSpec/FBReactNativeSpec.h +52 -16
  10. package/ReactAndroid/gradle.properties +1 -1
  11. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsDefaults.kt +2 -2
  12. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsOverrides_RNOSS_Stable_Android.kt +0 -2
  13. package/ReactAndroid/src/main/java/com/facebook/react/modules/network/NetworkEventUtil.kt +11 -2
  14. package/ReactAndroid/src/main/java/com/facebook/react/modules/network/ProgressRequestBody.kt +2 -17
  15. package/ReactAndroid/src/main/java/com/facebook/react/modules/systeminfo/ReactNativeVersion.kt +1 -1
  16. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/BackgroundStyleApplicator.kt +11 -4
  17. package/ReactAndroid/src/main/res/views/uimanager/values-ne/strings.xml +1 -0
  18. package/ReactCommon/cxxreact/ReactNativeVersion.h +1 -1
  19. package/ReactCommon/jsinspector-modern/tests/NetworkReporterTest.cpp +22 -0
  20. package/ReactCommon/jsinspector-modern/tracing/PerformanceTracer.cpp +38 -0
  21. package/ReactCommon/jsinspector-modern/tracing/PerformanceTracer.h +15 -0
  22. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsDefaults.h +2 -2
  23. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsOverridesOSSStable.h +0 -4
  24. package/ReactCommon/react/nativemodule/samples/ReactCommon-Samples.podspec +1 -0
  25. package/ReactCommon/react/nativemodule/samples/platform/android/NativeSampleTurboModuleSpec.java +24 -3
  26. package/ReactCommon/react/nativemodule/samples/platform/ios/ReactCommon/RCTNativeSampleTurboModuleSpec.h +76 -13
  27. package/ReactCommon/react/nativemodule/samples/platform/ios/ReactCommon/RCTNativeSampleTurboModuleSpec.mm +74 -64
  28. package/ReactCommon/react/nativemodule/samples/platform/ios/ReactCommon/RCTSampleTurboModule.mm +17 -13
  29. package/ReactCommon/react/networking/NetworkReporter.cpp +7 -0
  30. package/ReactCommon/react/renderer/animationbackend/AnimatedPropSerializer.cpp +113 -0
  31. package/ReactCommon/react/renderer/animationbackend/AnimatedProps.h +64 -1
  32. package/ReactCommon/react/renderer/animationbackend/AnimatedPropsBuilder.h +29 -0
  33. package/ReactCommon/react/renderer/animationbackend/AnimatedPropsRegistry.h +35 -0
  34. package/ReactCommon/react/renderer/animationbackend/AnimationBackend.cpp +2 -1
  35. package/package.json +8 -8
  36. package/scripts/cocoapods/new_architecture.rb +5 -1
  37. package/scripts/react_native_pods.rb +8 -0
  38. package/src/private/featureflags/ReactNativeFeatureFlags.js +2 -2
@@ -17,6 +17,8 @@ enum PropName {
17
17
  WIDTH,
18
18
  HEIGHT,
19
19
  BORDER_RADII,
20
+ BORDER_WIDTH,
21
+ BORDER_COLOR,
20
22
  MARGIN,
21
23
  PADDING,
22
24
  POSITION,
@@ -26,7 +28,12 @@ enum PropName {
26
28
  SHADOW_COLOR,
27
29
  SHADOW_OFFSET,
28
30
  SHADOW_OPACITY,
29
- SHADOW_RADIUS
31
+ SHADOW_RADIUS,
32
+ FILTER,
33
+ OUTLINE_COLOR,
34
+ OUTLINE_OFFSET,
35
+ OUTLINE_STYLE,
36
+ OUTLINE_WIDTH
30
37
  };
31
38
 
32
39
  struct AnimatedPropBase {
@@ -78,6 +85,42 @@ inline void cloneProp(BaseViewProps &viewProps, const AnimatedPropBase &animated
78
85
  viewProps.borderRadii = get<CascadedBorderRadii>(animatedProp);
79
86
  break;
80
87
 
88
+ case BORDER_WIDTH: {
89
+ const auto &borderWidths = get<CascadedRectangleEdges<yoga::StyleLength>>(animatedProp);
90
+ if (borderWidths.left.has_value()) {
91
+ viewProps.yogaStyle.setBorder(yoga::Edge::Left, borderWidths.left.value());
92
+ }
93
+ if (borderWidths.top.has_value()) {
94
+ viewProps.yogaStyle.setBorder(yoga::Edge::Top, borderWidths.top.value());
95
+ }
96
+ if (borderWidths.right.has_value()) {
97
+ viewProps.yogaStyle.setBorder(yoga::Edge::Right, borderWidths.right.value());
98
+ }
99
+ if (borderWidths.bottom.has_value()) {
100
+ viewProps.yogaStyle.setBorder(yoga::Edge::Bottom, borderWidths.bottom.value());
101
+ }
102
+ if (borderWidths.start.has_value()) {
103
+ viewProps.yogaStyle.setBorder(yoga::Edge::Start, borderWidths.start.value());
104
+ }
105
+ if (borderWidths.end.has_value()) {
106
+ viewProps.yogaStyle.setBorder(yoga::Edge::End, borderWidths.end.value());
107
+ }
108
+ if (borderWidths.horizontal.has_value()) {
109
+ viewProps.yogaStyle.setBorder(yoga::Edge::Horizontal, borderWidths.horizontal.value());
110
+ }
111
+ if (borderWidths.vertical.has_value()) {
112
+ viewProps.yogaStyle.setBorder(yoga::Edge::Vertical, borderWidths.vertical.value());
113
+ }
114
+ if (borderWidths.all.has_value()) {
115
+ viewProps.yogaStyle.setBorder(yoga::Edge::All, borderWidths.all.value());
116
+ }
117
+ break;
118
+ }
119
+
120
+ case BORDER_COLOR:
121
+ viewProps.borderColors = get<CascadedBorderColors>(animatedProp);
122
+ break;
123
+
81
124
  case MARGIN: {
82
125
  const auto &margins = get<CascadedRectangleEdges<yoga::StyleLength>>(animatedProp);
83
126
  if (margins.left.has_value()) {
@@ -202,6 +245,26 @@ inline void cloneProp(BaseViewProps &viewProps, const AnimatedPropBase &animated
202
245
  viewProps.shadowRadius = get<Float>(animatedProp);
203
246
  break;
204
247
 
248
+ case FILTER:
249
+ viewProps.filter = get<std::vector<FilterFunction>>(animatedProp);
250
+ break;
251
+
252
+ case OUTLINE_COLOR:
253
+ viewProps.outlineColor = get<SharedColor>(animatedProp);
254
+ break;
255
+
256
+ case OUTLINE_OFFSET:
257
+ viewProps.outlineOffset = get<Float>(animatedProp);
258
+ break;
259
+
260
+ case OUTLINE_STYLE:
261
+ viewProps.outlineStyle = get<OutlineStyle>(animatedProp);
262
+ break;
263
+
264
+ case OUTLINE_WIDTH:
265
+ viewProps.outlineWidth = get<Float>(animatedProp);
266
+ break;
267
+
205
268
  default:
206
269
  break;
207
270
  }
@@ -7,6 +7,7 @@
7
7
 
8
8
  #pragma once
9
9
  #include <react/renderer/components/view/BaseViewProps.h>
10
+ #include <react/renderer/graphics/Filter.h>
10
11
  #include "AnimatedProps.h"
11
12
 
12
13
  namespace facebook::react {
@@ -31,6 +32,14 @@ struct AnimatedPropsBuilder {
31
32
  {
32
33
  props.push_back(std::make_unique<AnimatedProp<CascadedBorderRadii>>(BORDER_RADII, value));
33
34
  }
35
+ void setBorderWidth(CascadedRectangleEdges<yoga::StyleLength> &value)
36
+ {
37
+ props.push_back(std::make_unique<AnimatedProp<CascadedRectangleEdges<yoga::StyleLength>>>(BORDER_WIDTH, value));
38
+ }
39
+ void setBorderColor(CascadedBorderColors &value)
40
+ {
41
+ props.push_back(std::make_unique<AnimatedProp<CascadedBorderColors>>(BORDER_COLOR, value));
42
+ }
34
43
  void setMargin(CascadedRectangleEdges<yoga::StyleLength> &value)
35
44
  {
36
45
  props.push_back(std::make_unique<AnimatedProp<CascadedRectangleEdges<yoga::StyleLength>>>(MARGIN, value));
@@ -67,6 +76,26 @@ struct AnimatedPropsBuilder {
67
76
  {
68
77
  props.push_back(std::make_unique<AnimatedProp<Size>>(SHADOW_OFFSET, value));
69
78
  }
79
+ void setFilter(const std::vector<FilterFunction> &value)
80
+ {
81
+ props.push_back(std::make_unique<AnimatedProp<std::vector<FilterFunction>>>(FILTER, std::move(value)));
82
+ }
83
+ void setOutlineColor(SharedColor value)
84
+ {
85
+ props.push_back(std::make_unique<AnimatedProp<SharedColor>>(OUTLINE_COLOR, value));
86
+ }
87
+ void setOutlineOffset(Float value)
88
+ {
89
+ props.push_back(std::make_unique<AnimatedProp<Float>>(OUTLINE_OFFSET, value));
90
+ }
91
+ void setOutlineStyle(OutlineStyle value)
92
+ {
93
+ props.push_back(std::make_unique<AnimatedProp<OutlineStyle>>(OUTLINE_STYLE, value));
94
+ }
95
+ void setOutlineWidth(Float value)
96
+ {
97
+ props.push_back(std::make_unique<AnimatedProp<Float>>(OUTLINE_WIDTH, value));
98
+ }
70
99
  void storeDynamic(folly::dynamic &d)
71
100
  {
72
101
  rawProps = std::make_unique<RawProps>(std::move(d));
@@ -127,6 +127,41 @@ inline void updateProp(const PropName propName, BaseViewProps &viewProps, const
127
127
  yoga::Edge::Horizontal, snapshot.props.yogaStyle.position(yoga::Edge::Horizontal));
128
128
  viewProps.yogaStyle.setPosition(yoga::Edge::Vertical, snapshot.props.yogaStyle.position(yoga::Edge::Vertical));
129
129
  break;
130
+
131
+ case BORDER_WIDTH:
132
+ viewProps.yogaStyle.setBorder(yoga::Edge::Left, snapshot.props.yogaStyle.border(yoga::Edge::Left));
133
+ viewProps.yogaStyle.setBorder(yoga::Edge::Right, snapshot.props.yogaStyle.border(yoga::Edge::Right));
134
+ viewProps.yogaStyle.setBorder(yoga::Edge::Top, snapshot.props.yogaStyle.border(yoga::Edge::Top));
135
+ viewProps.yogaStyle.setBorder(yoga::Edge::Bottom, snapshot.props.yogaStyle.border(yoga::Edge::Bottom));
136
+ viewProps.yogaStyle.setBorder(yoga::Edge::Start, snapshot.props.yogaStyle.border(yoga::Edge::Start));
137
+ viewProps.yogaStyle.setBorder(yoga::Edge::End, snapshot.props.yogaStyle.border(yoga::Edge::End));
138
+ viewProps.yogaStyle.setBorder(yoga::Edge::Horizontal, snapshot.props.yogaStyle.border(yoga::Edge::Horizontal));
139
+ viewProps.yogaStyle.setBorder(yoga::Edge::Vertical, snapshot.props.yogaStyle.border(yoga::Edge::Vertical));
140
+ break;
141
+
142
+ case BORDER_COLOR:
143
+ viewProps.borderColors = snapshot.props.borderColors;
144
+ break;
145
+
146
+ case FILTER:
147
+ viewProps.filter = snapshot.props.filter;
148
+ break;
149
+
150
+ case OUTLINE_COLOR:
151
+ viewProps.outlineColor = snapshot.props.outlineColor;
152
+ break;
153
+
154
+ case OUTLINE_OFFSET:
155
+ viewProps.outlineOffset = snapshot.props.outlineOffset;
156
+ break;
157
+
158
+ case OUTLINE_STYLE:
159
+ viewProps.outlineStyle = snapshot.props.outlineStyle;
160
+ break;
161
+
162
+ case OUTLINE_WIDTH:
163
+ viewProps.outlineWidth = snapshot.props.outlineWidth;
164
+ break;
130
165
  }
131
166
  }
132
167
 
@@ -56,7 +56,8 @@ static inline bool mutationHasLayoutUpdates(
56
56
  if (animatedProp->propName == WIDTH || animatedProp->propName == HEIGHT ||
57
57
  animatedProp->propName == FLEX || animatedProp->propName == MARGIN ||
58
58
  animatedProp->propName == PADDING ||
59
- animatedProp->propName == POSITION) {
59
+ animatedProp->propName == POSITION ||
60
+ animatedProp->propName == BORDER_WIDTH) {
60
61
  return true;
61
62
  }
62
63
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-native",
3
- "version": "0.84.0-nightly-20251216-c16eb23a1",
3
+ "version": "0.84.0-nightly-20251218-c7f433a41",
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-20251216-c16eb23a1",
164
- "@react-native/codegen": "0.84.0-nightly-20251216-c16eb23a1",
165
- "@react-native/community-cli-plugin": "0.84.0-nightly-20251216-c16eb23a1",
166
- "@react-native/gradle-plugin": "0.84.0-nightly-20251216-c16eb23a1",
167
- "@react-native/js-polyfills": "0.84.0-nightly-20251216-c16eb23a1",
168
- "@react-native/normalize-colors": "0.84.0-nightly-20251216-c16eb23a1",
169
- "@react-native/virtualized-lists": "0.84.0-nightly-20251216-c16eb23a1",
163
+ "@react-native/assets-registry": "0.84.0-nightly-20251218-c7f433a41",
164
+ "@react-native/codegen": "0.84.0-nightly-20251218-c7f433a41",
165
+ "@react-native/community-cli-plugin": "0.84.0-nightly-20251218-c7f433a41",
166
+ "@react-native/gradle-plugin": "0.84.0-nightly-20251218-c7f433a41",
167
+ "@react-native/js-polyfills": "0.84.0-nightly-20251218-c7f433a41",
168
+ "@react-native/normalize-colors": "0.84.0-nightly-20251218-c7f433a41",
169
+ "@react-native/virtualized-lists": "0.84.0-nightly-20251218-c7f433a41",
170
170
  "abort-controller": "^3.0.0",
171
171
  "anser": "^1.4.9",
172
172
  "ansi-regex": "^5.0.0",
@@ -135,9 +135,13 @@ class NewArchitectureHelper
135
135
 
136
136
  depend_on_js_engine(spec)
137
137
  add_rn_third_party_dependencies(spec)
138
- add_rncore_dependency(spec)
139
138
 
140
139
  spec.pod_target_xcconfig = current_config
140
+
141
+ # add_rncore_dependency must be called after setting pod_target_xcconfig
142
+ # because it reads and modifies the xcconfig. If called before, its changes
143
+ # would be overwritten by the assignment above.
144
+ add_rncore_dependency(spec)
141
145
  end
142
146
 
143
147
  def self.extract_react_native_version(react_native_path, file_manager: File, json_parser: JSON)
@@ -84,6 +84,14 @@ def use_react_native! (
84
84
  # This is needed as part of our migration away from cocoapods
85
85
  ENV['RCT_SKIP_CODEGEN'] = ENV['RCT_SKIP_CODEGEN'] == '1' || ENV['RCT_IGNORE_PODS_DEPRECATION'] == '1' ? '1' : '0'
86
86
 
87
+ # Use the React Native precompiled binaries by default.
88
+ # Users can still turn them off and build from source by setting the environment variable to 0.
89
+ ENV['RCT_USE_RN_DEP'] = ENV['RCT_USE_RN_DEP'] == '0' ? '0' : '1'
90
+ ENV['RCT_USE_PREBUILT_RNCORE'] = ENV['RCT_USE_PREBUILT_RNCORE'] == '0' ? '0' : '1'
91
+ # Make `REMOVE_LEGACY_ARCH` enabled by default. This will build React Native
92
+ # excluding the legacy arch unless the user turns this flag off explicitly.
93
+ ENV['RCT_REMOVE_LEGACY_ARCH'] = ENV['RCT_REMOVE_LEGACY_ARCH'] == '0' ? '0' : '1'
94
+
87
95
  ReactNativePodsUtils.check_minimum_required_xcode()
88
96
 
89
97
  # Current target definition is provided by Cocoapods and it refers to the target
@@ -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<<b16ca6ca4e47b347e4f5cb8555d3308f>>
7
+ * @generated SignedSource<<6b37c02e334fb00f22ce27bb787104cc>>
8
8
  * @flow strict
9
9
  * @noformat
10
10
  */
@@ -558,7 +558,7 @@ export const useRawPropsJsiValue: Getter<boolean> = createNativeFlagGetter('useR
558
558
  /**
559
559
  * Use the state stored on the source shadow node when cloning it instead of reading in the most recent state on the shadow node family.
560
560
  */
561
- export const useShadowNodeStateOnClone: Getter<boolean> = createNativeFlagGetter('useShadowNodeStateOnClone', false);
561
+ export const useShadowNodeStateOnClone: Getter<boolean> = createNativeFlagGetter('useShadowNodeStateOnClone', true);
562
562
  /**
563
563
  * Use shared animation backend in C++ Animated
564
564
  */