@sentry/react-native 8.0.0-alpha.0 → 8.0.0
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.
- package/RNSentry.podspec +3 -2
- package/android/build.gradle +1 -1
- package/android/libs/replay-stubs.jar +0 -0
- package/android/replay-stubs/build.gradle +1 -1
- package/android/src/main/java/io/sentry/react/RNSentryStart.java +19 -23
- package/android/src/main/java/io/sentry/react/RNSentryVersion.java +1 -1
- package/dist/js/client.d.ts.map +1 -1
- package/dist/js/client.js +2 -2
- package/dist/js/client.js.map +1 -1
- package/dist/js/feedback/FeedbackWidget.d.ts.map +1 -1
- package/dist/js/feedback/FeedbackWidget.js +11 -4
- package/dist/js/feedback/FeedbackWidget.js.map +1 -1
- package/dist/js/feedback/FeedbackWidget.types.d.ts +12 -0
- package/dist/js/feedback/FeedbackWidget.types.d.ts.map +1 -1
- package/dist/js/feedback/FeedbackWidget.types.js.map +1 -1
- package/dist/js/index.d.ts +2 -2
- package/dist/js/index.d.ts.map +1 -1
- package/dist/js/index.js +1 -1
- package/dist/js/index.js.map +1 -1
- package/dist/js/options.d.ts +18 -10
- package/dist/js/options.d.ts.map +1 -1
- package/dist/js/options.js.map +1 -1
- package/dist/js/scopeSync.d.ts.map +1 -1
- package/dist/js/scopeSync.js +19 -13
- package/dist/js/scopeSync.js.map +1 -1
- package/dist/js/tracing/expoRouter.d.ts +25 -0
- package/dist/js/tracing/expoRouter.d.ts.map +1 -0
- package/dist/js/tracing/expoRouter.js +73 -0
- package/dist/js/tracing/expoRouter.js.map +1 -0
- package/dist/js/tracing/index.d.ts +2 -0
- package/dist/js/tracing/index.d.ts.map +1 -1
- package/dist/js/tracing/index.js +1 -0
- package/dist/js/tracing/index.js.map +1 -1
- package/dist/js/tracing/origin.d.ts +1 -0
- package/dist/js/tracing/origin.d.ts.map +1 -1
- package/dist/js/tracing/origin.js +1 -0
- package/dist/js/tracing/origin.js.map +1 -1
- package/dist/js/tracing/reactnavigation.d.ts +9 -1
- package/dist/js/tracing/reactnavigation.d.ts.map +1 -1
- package/dist/js/tracing/reactnavigation.js +30 -1
- package/dist/js/tracing/reactnavigation.js.map +1 -1
- package/dist/js/version.d.ts +1 -1
- package/dist/js/version.d.ts.map +1 -1
- package/dist/js/version.js +1 -1
- package/dist/js/version.js.map +1 -1
- package/dist/js/wrapper.d.ts +4 -2
- package/dist/js/wrapper.d.ts.map +1 -1
- package/dist/js/wrapper.js +6 -4
- package/dist/js/wrapper.js.map +1 -1
- package/ios/RNSentry+fetchNativeStack.m +1 -0
- package/ios/RNSentry.mm +0 -1
- package/ios/RNSentryExperimentalOptions.h +8 -0
- package/ios/RNSentryExperimentalOptions.m +42 -0
- package/ios/RNSentryRNSScreen.m +1 -1
- package/ios/RNSentrySDK.m +2 -2
- package/ios/RNSentryStart.m +2 -2
- package/ios/RNSentryVersion.m +1 -1
- package/ios/SentrySDKWrapper.m +9 -2
- package/package.json +10 -10
- package/scripts/expo-upload-sourcemaps.js +24 -5
- package/scripts/sentry-xcode-debug-files.sh +9 -3
- package/scripts/sentry-xcode.sh +8 -3
- package/ts3.8/dist/js/feedback/FeedbackWidget.types.d.ts +12 -0
- package/ts3.8/dist/js/index.d.ts +2 -2
- package/ts3.8/dist/js/options.d.ts +18 -10
- package/ts3.8/dist/js/tracing/expoRouter.d.ts +25 -0
- package/ts3.8/dist/js/tracing/index.d.ts +2 -0
- package/ts3.8/dist/js/tracing/origin.d.ts +1 -0
- package/ts3.8/dist/js/tracing/reactnavigation.d.ts +9 -1
- package/ts3.8/dist/js/version.d.ts +1 -1
- package/ts3.8/dist/js/wrapper.d.ts +4 -2
package/ios/SentrySDKWrapper.m
CHANGED
|
@@ -35,8 +35,8 @@
|
|
|
35
35
|
error:(NSError *__autoreleasing *)errorPointer
|
|
36
36
|
{
|
|
37
37
|
NSString *dsn = [self getURLFromDSN:[options valueForKey:@"dsn"]];
|
|
38
|
-
SentryOptions *sentryOptions = [
|
|
39
|
-
|
|
38
|
+
SentryOptions *sentryOptions = [PrivateSentrySDKOnly optionsWithDictionary:options
|
|
39
|
+
didFailWithError:errorPointer];
|
|
40
40
|
if (*errorPointer != nil) {
|
|
41
41
|
return nil;
|
|
42
42
|
}
|
|
@@ -106,6 +106,13 @@
|
|
|
106
106
|
[experiments[@"enableUnhandledCPPExceptionsV2"] boolValue];
|
|
107
107
|
[RNSentryExperimentalOptions setEnableUnhandledCPPExceptionsV2:enableUnhandledCPPExceptions
|
|
108
108
|
sentryOptions:sentryOptions];
|
|
109
|
+
|
|
110
|
+
// Configure iOS UI Profiling
|
|
111
|
+
NSDictionary *profilingOptions = experiments[@"profilingOptions"];
|
|
112
|
+
if (profilingOptions != nil && [profilingOptions isKindOfClass:[NSDictionary class]]) {
|
|
113
|
+
[RNSentryExperimentalOptions configureProfilingWithOptions:profilingOptions
|
|
114
|
+
sentryOptions:sentryOptions];
|
|
115
|
+
}
|
|
109
116
|
}
|
|
110
117
|
|
|
111
118
|
if (isSessionReplayEnabled) {
|
package/package.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"name": "@sentry/react-native",
|
|
3
3
|
"homepage": "https://github.com/getsentry/sentry-react-native",
|
|
4
4
|
"repository": "https://github.com/getsentry/sentry-react-native",
|
|
5
|
-
"version": "8.0.0
|
|
5
|
+
"version": "8.0.0",
|
|
6
6
|
"description": "Official Sentry SDK for react-native",
|
|
7
7
|
"typings": "dist/js/index.d.ts",
|
|
8
8
|
"types": "dist/js/index.d.ts",
|
|
@@ -68,21 +68,21 @@
|
|
|
68
68
|
"react-native": ">=0.65.0"
|
|
69
69
|
},
|
|
70
70
|
"dependencies": {
|
|
71
|
-
"@sentry/babel-plugin-component-annotate": "4.
|
|
72
|
-
"@sentry/browser": "10.
|
|
73
|
-
"@sentry/cli": "3.
|
|
74
|
-
"@sentry/core": "10.
|
|
75
|
-
"@sentry/react": "10.
|
|
76
|
-
"@sentry/types": "10.
|
|
71
|
+
"@sentry/babel-plugin-component-annotate": "4.9.1",
|
|
72
|
+
"@sentry/browser": "10.38.0",
|
|
73
|
+
"@sentry/cli": "3.2.0",
|
|
74
|
+
"@sentry/core": "10.38.0",
|
|
75
|
+
"@sentry/react": "10.38.0",
|
|
76
|
+
"@sentry/types": "10.38.0"
|
|
77
77
|
},
|
|
78
78
|
"devDependencies": {
|
|
79
79
|
"@babel/core": "^7.26.7",
|
|
80
80
|
"@expo/metro-config": "~0.20.0",
|
|
81
81
|
"@mswjs/interceptors": "^0.25.15",
|
|
82
82
|
"@react-native/babel-preset": "0.80.0",
|
|
83
|
-
"@sentry-internal/eslint-config-sdk": "10.
|
|
84
|
-
"@sentry-internal/eslint-plugin-sdk": "10.
|
|
85
|
-
"@sentry-internal/typescript": "10.
|
|
83
|
+
"@sentry-internal/eslint-config-sdk": "10.38.0",
|
|
84
|
+
"@sentry-internal/eslint-plugin-sdk": "10.38.0",
|
|
85
|
+
"@sentry-internal/typescript": "10.38.0",
|
|
86
86
|
"@sentry/wizard": "6.11.0",
|
|
87
87
|
"@testing-library/react-native": "^13.2.2",
|
|
88
88
|
"@types/jest": "^29.5.13",
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
const {
|
|
2
|
+
const { spawnSync } = require('child_process');
|
|
3
3
|
const fs = require('fs');
|
|
4
4
|
const path = require('path');
|
|
5
5
|
const process = require('process');
|
|
@@ -16,8 +16,11 @@ function getEnvVar(varname) {
|
|
|
16
16
|
|
|
17
17
|
function getSentryPluginPropertiesFromExpoConfig() {
|
|
18
18
|
try {
|
|
19
|
-
const
|
|
20
|
-
|
|
19
|
+
const result = spawnSync('npx', ['expo', 'config', '--json'], { encoding: 'utf8' });
|
|
20
|
+
if (result.error || result.status !== 0) {
|
|
21
|
+
throw result.error || new Error(`expo config exited with status ${result.status}`);
|
|
22
|
+
}
|
|
23
|
+
const config = JSON.parse(result.stdout);
|
|
21
24
|
const plugins = config.plugins;
|
|
22
25
|
if (!plugins) {
|
|
23
26
|
return null;
|
|
@@ -217,8 +220,15 @@ for (const [assetGroupName, assets] of Object.entries(groupedAssets)) {
|
|
|
217
220
|
}
|
|
218
221
|
|
|
219
222
|
const isHermes = assets.find(asset => asset.endsWith('.hbc'));
|
|
220
|
-
|
|
221
|
-
|
|
223
|
+
|
|
224
|
+
// Build arguments array for spawnSync (no shell interpretation needed)
|
|
225
|
+
const args = ['sourcemaps', 'upload'];
|
|
226
|
+
if (isHermes) {
|
|
227
|
+
args.push('--debug-id-reference');
|
|
228
|
+
}
|
|
229
|
+
args.push(...assets);
|
|
230
|
+
|
|
231
|
+
const result = spawnSync(sentryCliBin, args, {
|
|
222
232
|
env: {
|
|
223
233
|
...process.env,
|
|
224
234
|
[SENTRY_PROJECT]: sentryProject,
|
|
@@ -227,6 +237,15 @@ for (const [assetGroupName, assets] of Object.entries(groupedAssets)) {
|
|
|
227
237
|
},
|
|
228
238
|
stdio: 'inherit',
|
|
229
239
|
});
|
|
240
|
+
|
|
241
|
+
if (result.error) {
|
|
242
|
+
console.error('Failed to upload sourcemaps:', result.error);
|
|
243
|
+
process.exit(1);
|
|
244
|
+
}
|
|
245
|
+
if (result.status !== 0) {
|
|
246
|
+
console.error(`sentry-cli exited with status ${result.status}`);
|
|
247
|
+
process.exit(result.status);
|
|
248
|
+
}
|
|
230
249
|
numAssetsUploaded++;
|
|
231
250
|
}
|
|
232
251
|
|
|
@@ -70,11 +70,17 @@ else
|
|
|
70
70
|
# 'warning:' triggers a warning in Xcode, 'error:' triggers an error
|
|
71
71
|
set +x +e # disable printing commands otherwise we might print `error:` by accident and allow continuing on error
|
|
72
72
|
SENTRY_UPLOAD_COMMAND_OUTPUT=$(/bin/sh -c "\"$LOCAL_NODE_BINARY\" $UPLOAD_DEBUG_FILES" 2>&1)
|
|
73
|
-
|
|
73
|
+
UPLOAD_EXIT_CODE=$?
|
|
74
|
+
if [ $UPLOAD_EXIT_CODE -eq 0 ]; then
|
|
74
75
|
echo "$SENTRY_UPLOAD_COMMAND_OUTPUT" | awk '{print "output: sentry-cli - " $0}'
|
|
75
76
|
else
|
|
76
|
-
|
|
77
|
-
|
|
77
|
+
if [ "$SENTRY_ALLOW_FAILURE" == true ]; then
|
|
78
|
+
echo "warning: sentry-cli - Debug files upload failed, but continuing build because SENTRY_ALLOW_FAILURE=true"
|
|
79
|
+
echo "warning: sentry-cli - $SENTRY_UPLOAD_COMMAND_OUTPUT"
|
|
80
|
+
else
|
|
81
|
+
echo "error: sentry-cli - To disable native debug files auto upload, set SENTRY_DISABLE_AUTO_UPLOAD=true in your environment variables. Or to allow failing upload, set SENTRY_ALLOW_FAILURE=true"
|
|
82
|
+
echo "error: sentry-cli - $SENTRY_UPLOAD_COMMAND_OUTPUT"
|
|
83
|
+
fi
|
|
78
84
|
fi
|
|
79
85
|
set -x -e # re-enable
|
|
80
86
|
fi
|
package/scripts/sentry-xcode.sh
CHANGED
|
@@ -56,9 +56,14 @@ if [ "$SENTRY_DISABLE_AUTO_UPLOAD" != true ]; then
|
|
|
56
56
|
if [ $? -eq 0 ]; then
|
|
57
57
|
echo "$SENTRY_XCODE_COMMAND_OUTPUT" | awk '{print "output: sentry-cli - " $0}'
|
|
58
58
|
else
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
59
|
+
if [ "$SENTRY_ALLOW_FAILURE" == true ]; then
|
|
60
|
+
echo "warning: sentry-cli - Source maps upload failed, but continuing build because SENTRY_ALLOW_FAILURE=true"
|
|
61
|
+
echo "warning: sentry-cli - $SENTRY_XCODE_COMMAND_OUTPUT"
|
|
62
|
+
else
|
|
63
|
+
echo "error: sentry-cli - To disable source maps auto upload, set SENTRY_DISABLE_AUTO_UPLOAD=true in your environment variables. Or to allow failing upload, set SENTRY_ALLOW_FAILURE=true"
|
|
64
|
+
echo "error: sentry-cli - $SENTRY_XCODE_COMMAND_OUTPUT"
|
|
65
|
+
exitCode=1
|
|
66
|
+
fi
|
|
62
67
|
fi
|
|
63
68
|
set -x -e # re-enable
|
|
64
69
|
else
|
|
@@ -46,6 +46,18 @@ export interface FeedbackGeneralConfiguration {
|
|
|
46
46
|
* @default false
|
|
47
47
|
*/
|
|
48
48
|
enableTakeScreenshot?: boolean;
|
|
49
|
+
/**
|
|
50
|
+
* Enable auto-correct for text inputs.
|
|
51
|
+
*
|
|
52
|
+
* @default true
|
|
53
|
+
*/
|
|
54
|
+
autoCorrect?: boolean;
|
|
55
|
+
/**
|
|
56
|
+
* Enable spell check for text inputs.
|
|
57
|
+
*
|
|
58
|
+
* @default true
|
|
59
|
+
*/
|
|
60
|
+
spellCheck?: boolean;
|
|
49
61
|
/**
|
|
50
62
|
* Fill in email/name input fields with Sentry user context if it exists.
|
|
51
63
|
* The value of the email/name keys represent the properties of your user context.
|
package/ts3.8/dist/js/index.d.ts
CHANGED
|
@@ -9,8 +9,8 @@ export type { ReactNativeOptions } from './options';
|
|
|
9
9
|
export { ReactNativeClient } from './client';
|
|
10
10
|
export { init, wrap, nativeCrash, flush, close, withScope, crashedLastRun } from './sdk';
|
|
11
11
|
export { TouchEventBoundary, withTouchEventBoundary } from './touchevents';
|
|
12
|
-
export { reactNativeTracingIntegration, getCurrentReactNativeTracingIntegration, getReactNativeTracingIntegration, reactNavigationIntegration, reactNativeNavigationIntegration, sentryTraceGesture, TimeToInitialDisplay, TimeToFullDisplay, startTimeToInitialDisplaySpan, startTimeToFullDisplaySpan, startIdleNavigationSpan, startIdleSpan, getDefaultIdleNavigationSpanOptions, createTimeToFullDisplay, createTimeToInitialDisplay, } from './tracing';
|
|
13
|
-
export type { TimeToDisplayProps } from './tracing';
|
|
12
|
+
export { reactNativeTracingIntegration, getCurrentReactNativeTracingIntegration, getReactNativeTracingIntegration, reactNavigationIntegration, reactNativeNavigationIntegration, sentryTraceGesture, TimeToInitialDisplay, TimeToFullDisplay, startTimeToInitialDisplaySpan, startTimeToFullDisplaySpan, startIdleNavigationSpan, startIdleSpan, getDefaultIdleNavigationSpanOptions, createTimeToFullDisplay, createTimeToInitialDisplay, wrapExpoRouter, } from './tracing';
|
|
13
|
+
export type { TimeToDisplayProps, ExpoRouter } from './tracing';
|
|
14
14
|
export { Mask, Unmask } from './replay/CustomMask';
|
|
15
15
|
export { FeedbackButton } from './feedback/FeedbackButton';
|
|
16
16
|
export { FeedbackWidget } from './feedback/FeedbackWidget';
|
|
@@ -252,16 +252,25 @@ export interface BaseReactNativeOptions {
|
|
|
252
252
|
* @platform ios
|
|
253
253
|
*/
|
|
254
254
|
enableUnhandledCPPExceptionsV2?: boolean;
|
|
255
|
+
/**
|
|
256
|
+
* Configuration options for UI profiling.
|
|
257
|
+
* It supports two modes: `manual` and `trace`.
|
|
258
|
+
* - In `trace` mode, the profiler runs based on active sampled spans.
|
|
259
|
+
* - In `manual` mode, profiling is controlled via start/stop API calls.
|
|
260
|
+
*
|
|
261
|
+
* @experimental
|
|
262
|
+
*/
|
|
263
|
+
profilingOptions?: ProfilingOptions;
|
|
255
264
|
/**
|
|
256
265
|
* Configuration options for Android UI profiling.
|
|
257
|
-
*
|
|
266
|
+
* It supports two modes: `manual` and `trace`.
|
|
258
267
|
* - In `trace` mode, the profiler runs based on active sampled spans.
|
|
259
268
|
* - In `manual` mode, profiling is controlled via start/stop API calls.
|
|
260
269
|
*
|
|
261
270
|
* @experimental
|
|
262
|
-
* @
|
|
271
|
+
* @deprecated Use `profilingOptions` instead. This option will be removed in the next major version.
|
|
263
272
|
*/
|
|
264
|
-
androidProfilingOptions?:
|
|
273
|
+
androidProfilingOptions?: ProfilingOptions;
|
|
265
274
|
};
|
|
266
275
|
/**
|
|
267
276
|
* This options changes the placement of the attached stacktrace of `captureMessage` in the event.
|
|
@@ -295,18 +304,17 @@ export interface BaseReactNativeOptions {
|
|
|
295
304
|
}
|
|
296
305
|
export type SentryReplayQuality = 'low' | 'medium' | 'high';
|
|
297
306
|
/**
|
|
298
|
-
*
|
|
307
|
+
* UI profiling lifecycle modes.
|
|
299
308
|
* - `trace`: Profiler runs based on active sampled spans
|
|
300
309
|
* - `manual`: Profiler is controlled manually via start/stop API calls
|
|
301
310
|
*/
|
|
302
|
-
export type
|
|
311
|
+
export type ProfilingLifecycle = 'trace' | 'manual';
|
|
303
312
|
/**
|
|
304
|
-
* Configuration options for
|
|
313
|
+
* Configuration options for UI profiling.
|
|
305
314
|
*
|
|
306
315
|
* @experimental
|
|
307
|
-
* @platform android
|
|
308
316
|
*/
|
|
309
|
-
export interface
|
|
317
|
+
export interface ProfilingOptions {
|
|
310
318
|
/**
|
|
311
319
|
* Sample rate for profiling sessions.
|
|
312
320
|
* This is evaluated once per session and determines if profiling should be enabled for that session.
|
|
@@ -320,9 +328,9 @@ export interface AndroidProfilingOptions {
|
|
|
320
328
|
* - `trace`: Profiler runs while there is at least one active sampled span
|
|
321
329
|
* - `manual`: Profiler is controlled manually via Sentry.profiler.startProfiler/stopProfiler
|
|
322
330
|
*
|
|
323
|
-
* @default '
|
|
331
|
+
* @default 'manual'
|
|
324
332
|
*/
|
|
325
|
-
lifecycle?:
|
|
333
|
+
lifecycle?: ProfilingLifecycle;
|
|
326
334
|
/**
|
|
327
335
|
* Enable profiling on app start.
|
|
328
336
|
* - In `trace` mode: The app start profile stops automatically when the app start root span finishes
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Type definition for Expo Router's router object
|
|
3
|
+
*/
|
|
4
|
+
export interface ExpoRouter {
|
|
5
|
+
prefetch?: (href: string | {
|
|
6
|
+
pathname?: string;
|
|
7
|
+
params?: Record<string, unknown>;
|
|
8
|
+
}) => void | Promise<void>;
|
|
9
|
+
push?: (...args: unknown[]) => void;
|
|
10
|
+
replace?: (...args: unknown[]) => void;
|
|
11
|
+
back?: () => void;
|
|
12
|
+
navigate?: (...args: unknown[]) => void;
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Wraps Expo Router. It currently only does one thing: extends prefetch() method
|
|
16
|
+
* to add automated performance monitoring.
|
|
17
|
+
*
|
|
18
|
+
* This function instruments the `prefetch` method of an Expo Router instance
|
|
19
|
+
* to create performance spans that measure how long route prefetching takes.
|
|
20
|
+
*
|
|
21
|
+
* @param router - The Expo Router instance from `useRouter()` hook
|
|
22
|
+
* @returns The same router instance with an instrumented prefetch method
|
|
23
|
+
*/
|
|
24
|
+
export declare function wrapExpoRouter<T extends ExpoRouter>(router: T): T;
|
|
25
|
+
//# sourceMappingURL=expoRouter.d.ts.map
|
|
@@ -2,6 +2,8 @@ export { reactNativeTracingIntegration, INTEGRATION_NAME as REACT_NATIVE_TRACING
|
|
|
2
2
|
export type { ReactNativeTracingIntegration } from './reactnativetracing';
|
|
3
3
|
export { reactNavigationIntegration } from './reactnavigation';
|
|
4
4
|
export { reactNativeNavigationIntegration } from './reactnativenavigation';
|
|
5
|
+
export { wrapExpoRouter } from './expoRouter';
|
|
6
|
+
export type { ExpoRouter } from './expoRouter';
|
|
5
7
|
export { startIdleNavigationSpan, startIdleSpan, getDefaultIdleNavigationSpanOptions } from './span';
|
|
6
8
|
export type { ReactNavigationCurrentRoute, ReactNavigationRoute } from './types';
|
|
7
9
|
export { ReactNativeProfiler } from './reactnativeprofiler';
|
|
@@ -7,4 +7,5 @@ export declare const SPAN_ORIGIN_AUTO_NAVIGATION_REACT_NAVIGATION = "auto.naviga
|
|
|
7
7
|
export declare const SPAN_ORIGIN_AUTO_NAVIGATION_CUSTOM = "auto.navigation.custom";
|
|
8
8
|
export declare const SPAN_ORIGIN_AUTO_UI_TIME_TO_DISPLAY = "auto.ui.time_to_display";
|
|
9
9
|
export declare const SPAN_ORIGIN_MANUAL_UI_TIME_TO_DISPLAY = "manual.ui.time_to_display";
|
|
10
|
+
export declare const SPAN_ORIGIN_AUTO_EXPO_ROUTER_PREFETCH = "auto.expo_router.prefetch";
|
|
10
11
|
//# sourceMappingURL=origin.d.ts.map
|
|
@@ -41,6 +41,14 @@ interface ReactNavigationIntegrationOptions {
|
|
|
41
41
|
* @default false
|
|
42
42
|
*/
|
|
43
43
|
useFullPathsForNavigationRoutes: boolean;
|
|
44
|
+
/**
|
|
45
|
+
* Track performance of route prefetching operations.
|
|
46
|
+
* Creates separate spans for PRELOAD actions to measure prefetch performance.
|
|
47
|
+
* This is useful for Expo Router apps that use the prefetch functionality.
|
|
48
|
+
*
|
|
49
|
+
* @default false
|
|
50
|
+
*/
|
|
51
|
+
enablePrefetchTracking: boolean;
|
|
44
52
|
}
|
|
45
53
|
/**
|
|
46
54
|
* Instrumentation for React-Navigation V5 and above. See docs or sample app for usage.
|
|
@@ -50,7 +58,7 @@ interface ReactNavigationIntegrationOptions {
|
|
|
50
58
|
* - `_onStateChange` is then called AFTER the state change happens due to a dispatch and sets the route context onto the active transaction.
|
|
51
59
|
* - If `_onStateChange` isn't called within `STATE_CHANGE_TIMEOUT_DURATION` of the dispatch, then the transaction is not sampled and finished.
|
|
52
60
|
*/
|
|
53
|
-
export declare const reactNavigationIntegration: ({ routeChangeTimeoutMs, enableTimeToInitialDisplay, ignoreEmptyBackNavigationTransactions, enableTimeToInitialDisplayForPreloadedRoutes, useDispatchedActionData, useFullPathsForNavigationRoutes, }?: Partial<ReactNavigationIntegrationOptions>) => Integration & {
|
|
61
|
+
export declare const reactNavigationIntegration: ({ routeChangeTimeoutMs, enableTimeToInitialDisplay, ignoreEmptyBackNavigationTransactions, enableTimeToInitialDisplayForPreloadedRoutes, useDispatchedActionData, useFullPathsForNavigationRoutes, enablePrefetchTracking, }?: Partial<ReactNavigationIntegrationOptions>) => Integration & {
|
|
54
62
|
/**
|
|
55
63
|
* Pass the ref to the navigation container to register it to the instrumentation
|
|
56
64
|
* @param navigationContainerRef Ref to a `NavigationContainer`
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
export declare const SDK_PACKAGE_NAME = "npm:@sentry/react-native";
|
|
2
2
|
export declare const SDK_NAME = "sentry.javascript.react-native";
|
|
3
|
-
export declare const SDK_VERSION = "8.0.0
|
|
3
|
+
export declare const SDK_VERSION = "8.0.0";
|
|
4
4
|
//# sourceMappingURL=version.d.ts.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { Breadcrumb, Envelope, EnvelopeItem, Event, Package, Primitive, SeverityLevel, User } from '@sentry/core';
|
|
2
2
|
import { Platform } from 'react-native';
|
|
3
3
|
import type { NativeAppStartResponse, NativeDeviceContextsResponse, NativeFramesResponse, NativeReleaseResponse, NativeStackFrames, Spec } from './NativeRNSentry';
|
|
4
|
-
import type {
|
|
4
|
+
import type { ProfilingOptions, ReactNativeClientOptions } from './options';
|
|
5
5
|
import type * as Hermes from './profiling/hermes';
|
|
6
6
|
import type { NativeAndroidProfileEvent, NativeProfileEvent } from './profiling/nativeTypes';
|
|
7
7
|
import type { MobileReplayOptions } from './replay/mobilereplay';
|
|
@@ -21,7 +21,9 @@ export type NativeSdkOptions = Partial<ReactNativeClientOptions> & {
|
|
|
21
21
|
ignoreErrorsRegex?: string[] | undefined;
|
|
22
22
|
} & {
|
|
23
23
|
mobileReplayOptions: MobileReplayOptions | undefined;
|
|
24
|
-
|
|
24
|
+
profilingOptions?: ProfilingOptions | undefined;
|
|
25
|
+
/** @deprecated Use `profilingOptions` instead. */
|
|
26
|
+
androidProfilingOptions?: ProfilingOptions | undefined;
|
|
25
27
|
};
|
|
26
28
|
interface SentryNativeWrapper {
|
|
27
29
|
enableNative: boolean;
|