-
Notifications
You must be signed in to change notification settings - Fork 77
/
Copy pathsentry.client.config.ts
56 lines (50 loc) · 1.92 KB
/
sentry.client.config.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
// This file configures the initialization of Sentry on the client.
// The config you add here will be used whenever a users loads a page in their browser.
// https://docs.sentry.io/platforms/javascript/guides/nextjs/
import * as Sentry from "@sentry/nextjs"
Sentry.init({
enabled: ["Staging", "Sepolia", "Mainnet"].includes(process.env.NEXT_PUBLIC_SCROLL_ENVIRONMENT),
environment: process.env.NEXT_PUBLIC_SCROLL_ENVIRONMENT,
dsn: process.env.NEXT_PUBLIC_SENTRY_DSN,
release: process.env.NEXT_PUBLIC_VERSION,
autoSessionTracking: false,
allowUrls: [/scroll\.io/, /localhost/, /vercel\.app/],
// Define how likely traces are sampled. Adjust this value in production, or use tracesSampler for greater control.
tracesSampleRate: 1,
// Setting this option to true will print useful information to the console while you're setting up Sentry.
debug: false,
// Ignore specific error messages
ignoreErrors: [
// MetaMask and other wallet plugin common errors
"MetaMask",
"Non-Error promise rejection captured",
"User rejected the request",
"User denied transaction signature",
// Extension injected errors
"Extension context invalidated",
"The message port closed before a response was received",
"Failed to fetch",
// RPC related errors
"Internal JSON-RPC error",
"JsonRpcEngine",
// Common Web3 errors
"User denied message signature",
"Transaction was rejected",
],
// Ignore errors from specific sources
denyUrls: [
// Common wallet extension sources
/extensions\//i,
/^chrome:\/\//i,
/^chrome-extension:\/\//i,
/^moz-extension:\/\//i,
],
// Only capture errors we really care about
beforeSend(event) {
// Return null if error comes from extension to prevent sending to Sentry
if (event.exception?.values?.[0]?.stacktrace?.frames?.some(frame => frame.filename?.includes("extension://"))) {
return null
}
return event
},
})