react-native 0.83.3 → 0.83.5

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 (107) hide show
  1. package/Libraries/Core/ReactNativeVersion.js +1 -1
  2. package/Libraries/Utilities/Appearance.js +6 -1
  3. package/React/Base/RCTVersion.m +1 -1
  4. package/React/DevSupport/RCTFrameTimingsObserver.h +24 -0
  5. package/React/DevSupport/RCTFrameTimingsObserver.mm +298 -0
  6. package/React/FBReactNativeSpec/FBReactNativeSpecJSI.h +16 -0
  7. package/ReactAndroid/api/ReactAndroid.api +0 -9
  8. package/ReactAndroid/gradle.properties +1 -1
  9. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/BridgelessDevSupportManager.kt +2 -2
  10. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevSupportManagerBase.kt +7 -7
  11. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/InspectorFlags.kt +4 -0
  12. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/inspector/FrameTimingSequence.kt +16 -0
  13. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/inspector/FrameTimingsObserver.kt +275 -0
  14. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/inspector/TracingState.kt +17 -0
  15. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/inspector/TracingStateListener.kt +15 -0
  16. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/{interfaces → inspector}/TracingStateProvider.kt +1 -1
  17. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/perfmonitor/PerfMonitorInspectorTargetBinding.kt +1 -1
  18. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/perfmonitor/PerfMonitorOverlayManager.kt +4 -4
  19. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/perfmonitor/PerfMonitorOverlayView.kt +3 -3
  20. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/perfmonitor/PerfMonitorUpdateListener.kt +1 -1
  21. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlags.kt +13 -1
  22. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsCxxAccessor.kt +21 -1
  23. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsCxxInterop.kt +5 -1
  24. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsDefaults.kt +5 -1
  25. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsLocalAccessor.kt +23 -1
  26. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsProvider.kt +5 -1
  27. package/ReactAndroid/src/main/java/com/facebook/react/internal/tracing/PerformanceTracer.kt +39 -0
  28. package/ReactAndroid/src/main/java/com/facebook/react/modules/blob/BlobModule.kt +1 -1
  29. package/ReactAndroid/src/main/java/com/facebook/react/modules/network/NetworkEventUtil.kt +20 -19
  30. package/ReactAndroid/src/main/java/com/facebook/react/modules/network/NetworkingModule.kt +6 -12
  31. package/ReactAndroid/src/main/java/com/facebook/react/modules/systeminfo/ReactNativeVersion.kt +1 -1
  32. package/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactHostImpl.kt +86 -4
  33. package/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactHostImplDevHelper.kt +3 -3
  34. package/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactHostInspectorTarget.kt +10 -6
  35. package/ReactAndroid/src/main/jni/react/devsupport/JInspectorFlags.cpp +22 -0
  36. package/ReactAndroid/src/main/jni/react/devsupport/JInspectorFlags.h +2 -0
  37. package/ReactAndroid/src/main/jni/react/featureflags/JReactNativeFeatureFlagsCxxInterop.cpp +29 -1
  38. package/ReactAndroid/src/main/jni/react/featureflags/JReactNativeFeatureFlagsCxxInterop.h +7 -1
  39. package/ReactAndroid/src/main/jni/react/runtime/jni/JReactHostInspectorTarget.cpp +196 -17
  40. package/ReactAndroid/src/main/jni/react/runtime/jni/JReactHostInspectorTarget.h +168 -18
  41. package/ReactAndroid/src/main/jni/third-party/folly/CMakeLists.txt +1 -0
  42. package/ReactCommon/cxxreact/ReactNativeVersion.h +2 -2
  43. package/ReactCommon/jsinspector-modern/HostAgent.cpp +45 -10
  44. package/ReactCommon/jsinspector-modern/HostAgent.h +2 -2
  45. package/ReactCommon/jsinspector-modern/HostTarget.cpp +14 -7
  46. package/ReactCommon/jsinspector-modern/HostTarget.h +101 -14
  47. package/ReactCommon/jsinspector-modern/HostTargetTraceRecording.cpp +39 -8
  48. package/ReactCommon/jsinspector-modern/HostTargetTraceRecording.h +42 -5
  49. package/ReactCommon/jsinspector-modern/HostTargetTracing.cpp +54 -21
  50. package/ReactCommon/jsinspector-modern/HostTargetTracing.h +89 -0
  51. package/ReactCommon/jsinspector-modern/InspectorFlags.cpp +12 -0
  52. package/ReactCommon/jsinspector-modern/InspectorFlags.h +12 -0
  53. package/ReactCommon/jsinspector-modern/InspectorInterfaces.cpp +3 -7
  54. package/ReactCommon/jsinspector-modern/InstanceAgent.cpp +2 -11
  55. package/ReactCommon/jsinspector-modern/NetworkIOAgent.cpp +1 -1
  56. package/ReactCommon/jsinspector-modern/TracingAgent.cpp +29 -13
  57. package/ReactCommon/jsinspector-modern/TracingAgent.h +5 -4
  58. package/ReactCommon/jsinspector-modern/tests/HostTargetTest.cpp +65 -0
  59. package/ReactCommon/jsinspector-modern/tests/InspectorMocks.h +23 -2
  60. package/ReactCommon/jsinspector-modern/tests/JsiIntegrationTest.cpp +1 -0
  61. package/ReactCommon/jsinspector-modern/tests/NetworkReporterTest.cpp +1 -0
  62. package/ReactCommon/jsinspector-modern/tests/TracingTest.cpp +335 -0
  63. package/ReactCommon/jsinspector-modern/tests/TracingTest.h +95 -0
  64. package/ReactCommon/jsinspector-modern/tests/utils/InspectorFlagOverridesGuard.cpp +10 -0
  65. package/ReactCommon/jsinspector-modern/tests/utils/InspectorFlagOverridesGuard.h +3 -1
  66. package/ReactCommon/jsinspector-modern/tracing/CMakeLists.txt +1 -0
  67. package/ReactCommon/jsinspector-modern/tracing/FrameTimingSequence.h +61 -0
  68. package/ReactCommon/jsinspector-modern/tracing/HostTracingProfile.h +43 -0
  69. package/ReactCommon/jsinspector-modern/tracing/HostTracingProfileSerializer.cpp +165 -0
  70. package/ReactCommon/jsinspector-modern/tracing/HostTracingProfileSerializer.h +50 -0
  71. package/ReactCommon/jsinspector-modern/tracing/PerformanceTracer.cpp +16 -14
  72. package/ReactCommon/jsinspector-modern/tracing/PerformanceTracerSection.h +113 -0
  73. package/ReactCommon/jsinspector-modern/tracing/React-jsinspectortracing.podspec +1 -0
  74. package/ReactCommon/jsinspector-modern/tracing/TimeWindowedBuffer.h +158 -0
  75. package/ReactCommon/jsinspector-modern/tracing/TraceEvent.h +2 -1
  76. package/ReactCommon/jsinspector-modern/tracing/TraceEventGenerator.cpp +100 -0
  77. package/ReactCommon/jsinspector-modern/tracing/TraceEventGenerator.h +60 -0
  78. package/ReactCommon/jsinspector-modern/tracing/TraceEventSerializer.cpp +44 -1
  79. package/ReactCommon/jsinspector-modern/tracing/TraceEventSerializer.h +7 -0
  80. package/ReactCommon/jsinspector-modern/tracing/TraceRecordingState.h +18 -7
  81. package/ReactCommon/jsinspector-modern/tracing/TracingCategory.h +136 -0
  82. package/ReactCommon/jsinspector-modern/tracing/tests/TimeWindowedBufferTest.cpp +352 -0
  83. package/ReactCommon/react/featureflags/ReactNativeFeatureFlags.cpp +9 -1
  84. package/ReactCommon/react/featureflags/ReactNativeFeatureFlags.h +11 -1
  85. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsAccessor.cpp +65 -29
  86. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsAccessor.h +6 -2
  87. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsDefaults.h +9 -1
  88. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsDynamicProvider.h +19 -1
  89. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsProvider.h +3 -1
  90. package/ReactCommon/react/nativemodule/core/platform/ios/ReactCommon/RCTTurboModule.mm +3 -1
  91. package/ReactCommon/react/nativemodule/featureflags/NativeReactNativeFeatureFlags.cpp +11 -1
  92. package/ReactCommon/react/nativemodule/featureflags/NativeReactNativeFeatureFlags.h +5 -1
  93. package/ReactCommon/react/performance/timeline/PerformanceObserver.cpp +18 -6
  94. package/ReactCommon/react/performance/timeline/PerformanceObserver.h +2 -0
  95. package/ReactCommon/react/runtime/platform/ios/ReactCommon/RCTHost.mm +115 -0
  96. package/ReactCommon/{jsinspector-modern → react/utils}/Base64.h +2 -2
  97. package/gradle/libs.versions.toml +1 -1
  98. package/package.json +8 -8
  99. package/scripts/cocoapods/utils.rb +1 -0
  100. package/src/private/featureflags/ReactNativeFeatureFlags.js +11 -1
  101. package/src/private/featureflags/specs/NativeReactNativeFeatureFlags.js +3 -1
  102. package/third-party-podspecs/RCT-Folly.podspec +1 -1
  103. package/third-party-podspecs/fmt.podspec +2 -2
  104. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/interfaces/TracingState.kt +0 -19
  105. package/ReactCommon/jsinspector-modern/tracing/TraceRecordingStateSerializer.cpp +0 -68
  106. package/ReactCommon/jsinspector-modern/tracing/TraceRecordingStateSerializer.h +0 -42
  107. package/ReactCommon/jsinspector-modern/tracing/TracingState.h +0 -24
@@ -13,6 +13,7 @@
13
13
  #import <React/RCTConvert.h>
14
14
  #import <React/RCTDevMenu.h>
15
15
  #import <React/RCTFabricSurface.h>
16
+ #import <React/RCTFrameTimingsObserver.h>
16
17
  #import <React/RCTInspectorDevServerHelper.h>
17
18
  #import <React/RCTInspectorNetworkHelper.h>
18
19
  #import <React/RCTInspectorUtils.h>
@@ -37,12 +38,52 @@ using namespace facebook::react;
37
38
  @property (nonatomic, readonly) jsinspector_modern::HostTarget *inspectorTarget;
38
39
  @end
39
40
 
41
+ #if TARGET_OS_IPHONE && defined(REACT_NATIVE_DEBUGGER_ENABLED)
42
+ class RCTHostTracingDelegate : public jsinspector_modern::HostTargetTracingDelegate {
43
+ public:
44
+ explicit RCTHostTracingDelegate(RCTHost *host) : host_(host) {}
45
+
46
+ void onTracingStarted(jsinspector_modern::tracing::Mode /*tracingMode*/, bool screenshotsCategoryEnabled) override
47
+ {
48
+ RCTHost *host = host_;
49
+ if (host == nil || host.inspectorTarget == nullptr) {
50
+ return;
51
+ }
52
+ __weak RCTHost *weakHost = host;
53
+
54
+ observer_ = [[RCTFrameTimingsObserver alloc]
55
+ initWithScreenshotsEnabled:screenshotsCategoryEnabled
56
+ callback:^(jsinspector_modern::tracing::FrameTimingSequence sequence) {
57
+ RCTHost *strongHost = weakHost;
58
+ if (strongHost != nil && strongHost.inspectorTarget != nullptr) {
59
+ strongHost.inspectorTarget->recordFrameTimings(std::move(sequence));
60
+ }
61
+ }];
62
+ [observer_ start];
63
+ }
64
+
65
+ void onTracingStopped() override
66
+ {
67
+ [observer_ stop];
68
+ observer_ = nil;
69
+ }
70
+
71
+ private:
72
+ __weak RCTHost *host_;
73
+ RCTFrameTimingsObserver *observer_{nil};
74
+ };
75
+ #endif
76
+
40
77
  class RCTHostHostTargetDelegate : public facebook::react::jsinspector_modern::HostTargetDelegate {
41
78
  public:
42
79
  RCTHostHostTargetDelegate(RCTHost *host)
43
80
  : host_(host),
44
81
  pauseOverlayController_([[RCTPausedInDebuggerOverlayController alloc] init]),
45
82
  networkHelper_([[RCTInspectorNetworkHelper alloc] init])
83
+ #if TARGET_OS_IPHONE && defined(REACT_NATIVE_DEBUGGER_ENABLED)
84
+ ,
85
+ tracingDelegate_(host)
86
+ #endif
46
87
  {
47
88
  }
48
89
 
@@ -100,10 +141,84 @@ class RCTHostHostTargetDelegate : public facebook::react::jsinspector_modern::Ho
100
141
  [networkHelper_ loadNetworkResourceWithParams:params executor:executor];
101
142
  }
102
143
 
144
+ #if TARGET_OS_IPHONE && defined(REACT_NATIVE_DEBUGGER_ENABLED)
145
+ std::optional<std::string> captureScreenshot(const PageCaptureScreenshotRequest &request) override
146
+ {
147
+ UIWindow *keyWindow = nil;
148
+ for (UIScene *scene in UIApplication.sharedApplication.connectedScenes) {
149
+ if (scene.activationState == UISceneActivationStateForegroundActive &&
150
+ [scene isKindOfClass:[UIWindowScene class]]) {
151
+ auto *windowScene = (UIWindowScene *)scene;
152
+ for (UIWindow *win in windowScene.windows) {
153
+ if (win.isKeyWindow) {
154
+ keyWindow = win;
155
+ break;
156
+ }
157
+ }
158
+ }
159
+ if (keyWindow != nil) {
160
+ break;
161
+ }
162
+ }
163
+
164
+ if (keyWindow == nil) {
165
+ return std::nullopt;
166
+ }
167
+
168
+ UIView *rootView = keyWindow.rootViewController.view != nil ? keyWindow.rootViewController.view : keyWindow;
169
+ CGSize viewSize = rootView.bounds.size;
170
+
171
+ UIGraphicsImageRendererFormat *format = [UIGraphicsImageRendererFormat defaultFormat];
172
+ format.scale = 1.0;
173
+ UIGraphicsImageRenderer *renderer = [[UIGraphicsImageRenderer alloc] initWithSize:viewSize format:format];
174
+
175
+ UIImage *image = [renderer imageWithActions:^(UIGraphicsImageRendererContext *context) {
176
+ [rootView drawViewHierarchyInRect:CGRectMake(0, 0, viewSize.width, viewSize.height) afterScreenUpdates:NO];
177
+ }];
178
+
179
+ if (image == nil) {
180
+ return std::nullopt;
181
+ }
182
+
183
+ NSData *encodedData = nil;
184
+ std::string formatStr = request.format.value_or("png");
185
+
186
+ if (formatStr == "jpeg") {
187
+ CGFloat quality = request.quality.has_value() ? (*request.quality / 100.0) : 0.8;
188
+ encodedData = UIImageJPEGRepresentation(image, quality);
189
+ } else {
190
+ // Default to PNG for "png" and "webp" (WebP encoding not available via UIKit)
191
+ encodedData = UIImagePNGRepresentation(image);
192
+ }
193
+
194
+ if (encodedData == nil) {
195
+ return std::nullopt;
196
+ }
197
+
198
+ NSString *base64String = [encodedData base64EncodedStringWithOptions:0];
199
+ return std::string([base64String UTF8String]);
200
+ }
201
+ #endif
202
+
203
+ #if TARGET_OS_IPHONE && defined(REACT_NATIVE_DEBUGGER_ENABLED)
204
+ jsinspector_modern::HostTargetTracingDelegate *getTracingDelegate() override
205
+ {
206
+ auto &inspectorFlags = jsinspector_modern::InspectorFlags::getInstance();
207
+ if (!inspectorFlags.getFrameRecordingEnabled()) {
208
+ return nullptr;
209
+ }
210
+
211
+ return &tracingDelegate_;
212
+ }
213
+ #endif
214
+
103
215
  private:
104
216
  __weak RCTHost *host_;
105
217
  RCTPausedInDebuggerOverlayController *pauseOverlayController_;
106
218
  RCTInspectorNetworkHelper *networkHelper_;
219
+ #if TARGET_OS_IPHONE && defined(REACT_NATIVE_DEBUGGER_ENABLED)
220
+ RCTHostTracingDelegate tracingDelegate_;
221
+ #endif
107
222
  };
108
223
 
109
224
  @implementation RCTHost {
@@ -10,7 +10,7 @@
10
10
  #include <string>
11
11
  #include <string_view>
12
12
 
13
- namespace facebook::react::jsinspector_modern {
13
+ namespace facebook::react {
14
14
 
15
15
  namespace {
16
16
  // Vendored from Folly
@@ -96,4 +96,4 @@ inline std::string base64Encode(const std::string_view s)
96
96
  return res;
97
97
  }
98
98
 
99
- } // namespace facebook::react::jsinspector_modern
99
+ } // namespace facebook::react
@@ -44,7 +44,7 @@ yoga-proguard-annotations = "1.19.0"
44
44
  boost="1_83_0"
45
45
  doubleconversion="1.1.6"
46
46
  fastFloat="8.0.0"
47
- fmt="11.0.2"
47
+ fmt="12.1.0"
48
48
  folly="2024.11.18.00"
49
49
  glog="0.3.5"
50
50
  gflags="2.2.0"
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-native",
3
- "version": "0.83.3",
3
+ "version": "0.83.5",
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.83.3",
164
- "@react-native/codegen": "0.83.3",
165
- "@react-native/community-cli-plugin": "0.83.3",
166
- "@react-native/gradle-plugin": "0.83.3",
167
- "@react-native/js-polyfills": "0.83.3",
168
- "@react-native/normalize-colors": "0.83.3",
169
- "@react-native/virtualized-lists": "0.83.3",
163
+ "@react-native/assets-registry": "0.83.5",
164
+ "@react-native/codegen": "0.83.5",
165
+ "@react-native/community-cli-plugin": "0.83.5",
166
+ "@react-native/gradle-plugin": "0.83.5",
167
+ "@react-native/js-polyfills": "0.83.5",
168
+ "@react-native/normalize-colors": "0.83.5",
169
+ "@react-native/virtualized-lists": "0.83.5",
170
170
  "abort-controller": "^3.0.0",
171
171
  "anser": "^1.4.9",
172
172
  "ansi-regex": "^5.0.0",
@@ -61,6 +61,7 @@ class ReactNativePodsUtils
61
61
  self.add_build_settings_to_pod(installer, "GCC_PREPROCESSOR_DEFINITIONS", "REACT_NATIVE_DEBUGGER_ENABLED=1", "React-jsinspectornetwork", :debug)
62
62
  self.add_build_settings_to_pod(installer, "GCC_PREPROCESSOR_DEFINITIONS", "REACT_NATIVE_DEBUGGER_ENABLED=1", "React-RCTNetwork", :debug)
63
63
  self.add_build_settings_to_pod(installer, "GCC_PREPROCESSOR_DEFINITIONS", "REACT_NATIVE_DEBUGGER_ENABLED=1", "React-networking", :debug)
64
+ self.add_build_settings_to_pod(installer, "GCC_PREPROCESSOR_DEFINITIONS", "REACT_NATIVE_DEBUGGER_ENABLED=1", "React-RuntimeApple", :debug)
64
65
  self.add_build_settings_to_pod(installer, "GCC_PREPROCESSOR_DEFINITIONS", "REACT_NATIVE_DEBUGGER_ENABLED_DEVONLY=1", "React-jsinspector", :debug)
65
66
  self.add_build_settings_to_pod(installer, "GCC_PREPROCESSOR_DEFINITIONS", "REACT_NATIVE_DEBUGGER_ENABLED_DEVONLY=1", "React-jsinspectornetwork", :debug)
66
67
  self.add_build_settings_to_pod(installer, "GCC_PREPROCESSOR_DEFINITIONS", "REACT_NATIVE_DEBUGGER_ENABLED_DEVONLY=1", "React-RCTNetwork", :debug)
@@ -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<<474b28e49cdb8a46a361a32df3c92eed>>
7
+ * @generated SignedSource<<075c9fd7af1eab0ffdde75a05daa8cac>>
8
8
  * @flow strict
9
9
  * @noformat
10
10
  */
@@ -107,7 +107,9 @@ export type ReactNativeFeatureFlags = $ReadOnly<{
107
107
  fixMappingOfEventPrioritiesBetweenFabricAndReact: Getter<boolean>,
108
108
  fuseboxAssertSingleHostState: Getter<boolean>,
109
109
  fuseboxEnabledRelease: Getter<boolean>,
110
+ fuseboxFrameRecordingEnabled: Getter<boolean>,
110
111
  fuseboxNetworkInspectionEnabled: Getter<boolean>,
112
+ fuseboxScreenshotCaptureEnabled: Getter<boolean>,
111
113
  hideOffscreenVirtualViewsOnIOS: Getter<boolean>,
112
114
  overrideBySynchronousMountPropsAtMountingAndroid: Getter<boolean>,
113
115
  perfIssuesEnabled: Getter<boolean>,
@@ -444,10 +446,18 @@ export const fuseboxAssertSingleHostState: Getter<boolean> = createNativeFlagGet
444
446
  * Flag determining if the React Native DevTools (Fusebox) CDP backend should be enabled in release builds. This flag is global and should not be changed across React Host lifetimes.
445
447
  */
446
448
  export const fuseboxEnabledRelease: Getter<boolean> = createNativeFlagGetter('fuseboxEnabledRelease', false);
449
+ /**
450
+ * Enable frame timings and screenshots support in the React Native DevTools CDP backend. This flag is global and should not be changed across React Host lifetimes.
451
+ */
452
+ export const fuseboxFrameRecordingEnabled: Getter<boolean> = createNativeFlagGetter('fuseboxFrameRecordingEnabled', false);
447
453
  /**
448
454
  * Enable network inspection support in the React Native DevTools CDP backend. Requires `enableBridgelessArchitecture`. This flag is global and should not be changed across React Host lifetimes.
449
455
  */
450
456
  export const fuseboxNetworkInspectionEnabled: Getter<boolean> = createNativeFlagGetter('fuseboxNetworkInspectionEnabled', true);
457
+ /**
458
+ * Enable Page.captureScreenshot CDP method support in the React Native DevTools CDP backend. This flag is global and should not be changed across React Host lifetimes.
459
+ */
460
+ export const fuseboxScreenshotCaptureEnabled: Getter<boolean> = createNativeFlagGetter('fuseboxScreenshotCaptureEnabled', false);
451
461
  /**
452
462
  * Hides offscreen VirtualViews on iOS by setting hidden = YES to avoid extra cost of views
453
463
  */
@@ -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<<fecd2198c65b74c22fa1a6ce96343228>>
7
+ * @generated SignedSource<<aa35c6393540204037785af5833bb442>>
8
8
  * @flow strict
9
9
  * @noformat
10
10
  */
@@ -82,7 +82,9 @@ export interface Spec extends TurboModule {
82
82
  +fixMappingOfEventPrioritiesBetweenFabricAndReact?: () => boolean;
83
83
  +fuseboxAssertSingleHostState?: () => boolean;
84
84
  +fuseboxEnabledRelease?: () => boolean;
85
+ +fuseboxFrameRecordingEnabled?: () => boolean;
85
86
  +fuseboxNetworkInspectionEnabled?: () => boolean;
87
+ +fuseboxScreenshotCaptureEnabled?: () => boolean;
86
88
  +hideOffscreenVirtualViewsOnIOS?: () => boolean;
87
89
  +overrideBySynchronousMountPropsAtMountingAndroid?: () => boolean;
88
90
  +perfIssuesEnabled?: () => boolean;
@@ -25,7 +25,7 @@ Pod::Spec.new do |spec|
25
25
  spec.dependency "DoubleConversion"
26
26
  spec.dependency "glog"
27
27
  spec.dependency "fast_float", "8.0.0"
28
- spec.dependency "fmt", "11.0.2"
28
+ spec.dependency "fmt", "12.1.0"
29
29
  spec.compiler_flags = '-Wno-documentation -faligned-new'
30
30
  spec.source_files = 'folly/String.cpp',
31
31
  'folly/Conv.cpp',
@@ -8,14 +8,14 @@ fmt_git_url = fmt_config[:git]
8
8
 
9
9
  Pod::Spec.new do |spec|
10
10
  spec.name = "fmt"
11
- spec.version = "11.0.2"
11
+ spec.version = "12.1.0"
12
12
  spec.license = { :type => "MIT" }
13
13
  spec.homepage = "https://github.com/fmtlib/fmt"
14
14
  spec.summary = "{fmt} is an open-source formatting library for C++. It can be used as a safe and fast alternative to (s)printf and iostreams."
15
15
  spec.authors = "The fmt contributors"
16
16
  spec.source = {
17
17
  :git => fmt_git_url,
18
- :tag => "11.0.2"
18
+ :tag => "12.1.0"
19
19
  }
20
20
  spec.pod_target_xcconfig = {
21
21
  "CLANG_CXX_LANGUAGE_STANDARD" => rct_cxx_language_standard(),
@@ -1,19 +0,0 @@
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
- package com.facebook.react.devsupport.interfaces
9
-
10
- import com.facebook.proguard.annotations.DoNotStripAny
11
-
12
- // Keep in sync with `TracingState.h`
13
- // JNI wrapper for `jsinspector_modern::Tracing::TracingState`.
14
- @DoNotStripAny
15
- public enum class TracingState {
16
- DISABLED, // There is no active trace
17
- ENABLEDINBACKGROUNDMODE, // Trace is currently running in background mode
18
- ENABLEDINCDPMODE, // Trace is currently running in CDP mode
19
- }
@@ -1,68 +0,0 @@
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 "TraceRecordingStateSerializer.h"
9
- #include "RuntimeSamplingProfileTraceEventSerializer.h"
10
- #include "TraceEventSerializer.h"
11
-
12
- namespace facebook::react::jsinspector_modern::tracing {
13
-
14
- namespace {
15
-
16
- folly::dynamic generateNewChunk(uint16_t chunkSize) {
17
- folly::dynamic chunk = folly::dynamic::array();
18
- chunk.reserve(chunkSize);
19
-
20
- return chunk;
21
- }
22
-
23
- } // namespace
24
-
25
- /* static */ void TraceRecordingStateSerializer::emitAsDataCollectedChunks(
26
- TraceRecordingState&& recording,
27
- const std::function<void(folly::dynamic&&)>& chunkCallback,
28
- uint16_t performanceTraceEventsChunkSize,
29
- uint16_t profileTraceEventsChunkSize) {
30
- auto instancesProfiles = std::move(recording.instanceTracingProfiles);
31
- IdGenerator profileIdGenerator;
32
-
33
- for (auto& instanceProfile : instancesProfiles) {
34
- emitPerformanceTraceEvents(
35
- std::move(instanceProfile.performanceTraceEvents),
36
- chunkCallback,
37
- performanceTraceEventsChunkSize);
38
- }
39
-
40
- RuntimeSamplingProfileTraceEventSerializer::serializeAndDispatch(
41
- std::move(recording.runtimeSamplingProfiles),
42
- profileIdGenerator,
43
- recording.startTime,
44
- chunkCallback,
45
- profileTraceEventsChunkSize);
46
- }
47
-
48
- /* static */ void TraceRecordingStateSerializer::emitPerformanceTraceEvents(
49
- std::vector<TraceEvent>&& events,
50
- const std::function<void(folly::dynamic&&)>& chunkCallback,
51
- uint16_t chunkSize) {
52
- folly::dynamic chunk = generateNewChunk(chunkSize);
53
-
54
- for (auto& event : events) {
55
- if (chunk.size() == chunkSize) {
56
- chunkCallback(std::move(chunk));
57
- chunk = generateNewChunk(chunkSize);
58
- }
59
-
60
- chunk.push_back(TraceEventSerializer::serialize(std::move(event)));
61
- }
62
-
63
- if (!chunk.empty()) {
64
- chunkCallback(std::move(chunk));
65
- }
66
- }
67
-
68
- } // namespace facebook::react::jsinspector_modern::tracing
@@ -1,42 +0,0 @@
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 "TraceEvent.h"
11
- #include "TraceRecordingState.h"
12
-
13
- #include <folly/dynamic.h>
14
- #include <vector>
15
-
16
- namespace facebook::react::jsinspector_modern::tracing {
17
-
18
- /**
19
- * A serializer for TraceRecordingState that can be used for tranforming the
20
- * recording into sequence of serialized Trace Events.
21
- */
22
- class TraceRecordingStateSerializer {
23
- public:
24
- /**
25
- * Transforms the recording into a sequence of serialized Trace Events, which
26
- * is split in chunks of sizes \p performanceTraceEventsChunkSize or
27
- * \p profileTraceEventsChunkSize, depending on type, and sent with \p
28
- * chunkCallback.
29
- */
30
- static void emitAsDataCollectedChunks(
31
- TraceRecordingState &&recording,
32
- const std::function<void(folly::dynamic &&chunk)> &chunkCallback,
33
- uint16_t performanceTraceEventsChunkSize,
34
- uint16_t profileTraceEventsChunkSize);
35
-
36
- static void emitPerformanceTraceEvents(
37
- std::vector<TraceEvent> &&events,
38
- const std::function<void(folly::dynamic &&chunk)> &chunkCallback,
39
- uint16_t chunkSize);
40
- };
41
-
42
- } // namespace facebook::react::jsinspector_modern::tracing
@@ -1,24 +0,0 @@
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 <cstdint>
11
-
12
- namespace facebook::react::jsinspector_modern::tracing {
13
-
14
- // Keep in sync with `TracingState.kt`
15
- enum class TracingState : int32_t {
16
- // There is no active trace
17
- Disabled = 0,
18
- // Trace is currently running in background mode
19
- EnabledInBackgroundMode = 1,
20
- // Trace is currently running in CDP mode
21
- EnabledInCDPMode = 2,
22
- };
23
-
24
- } // namespace facebook::react::jsinspector_modern::tracing