Closed matiasfacio closed 11 months ago
This issue is stale because it has been open for 60 days with no activity. If there is no activity in the next 7 days, the issue will be closed.
This issue was closed because it has been inactive for 7 days since being marked as stale. Please open a new issue if you believe you are encountering a related problem.
Summary
Basically, I want to run beforeSend to stop reporting handled errors to Sentry.
This is my sentry config file:
`export const sentryConfig: Sentry.SentryExpoNativeOptions = { dsn: 'https://4, tracesSampleRate: 1.0, environment, ignoreErrors: [ 'No current user', 'No current user available', 'NotAuthorizedException', 'User does not exist.', 'NO_SPOTS_EDIT', ], enableInExpoDevelopment: true, // set to true when working tracking error on development release: Constants?.expoConfig?.version, enabled: true, debug: true, beforeSend(event, hint) { console.log({ event, hint }); if (event.exception?.values[0].mechanism.handled === 'true') { console.log('Handled:true, will not send'); return null; } if ( event.message?.match(/No current user/i) || event.message?.match(/No current user available/i) ) { return null; } if ( event.exception?.values?.[0].value?.match(/No current user/i) || event.exception?.values?.[0].value?.match(/No current user available/i) ) { return null; } const error = hint.originalException || hint.syntheticException; if ( error && error instanceof Error && error.message && (error.message.match(/No current user/i) || error.message.match(/No current user available/i)) ) { return null; } const scrubbedEvent = (event.breadcrumbs ?? []).map((c) => { if (c.category !== 'console') { return c; } return {}; });
}, };`
Here you can see that I tried to ignore errors and what not. I tried to console.log inside beforeSend to see if it calls the function, but nothing happens. It only logs if I throw an error and don't caught it in a try/catch.
Expected behaviour:
handled errors won't be reported
Current behaviour:
handled errors get reported to Sentry servers.
Managed or bare workflow? If you have
ios/
orandroid/
directories in your project, the answer is bare!managed
What platform(s) does this occur on?
Web
SDK Version (managed workflow only)
No response
Environment
expo-env-info 1.0.5 environment info: System: OS: macOS 13.4 Shell: 5.9 - /bin/zsh Binaries: Node: 19.2.0 - ~/.nvm/versions/node/v19.2.0/bin/node Yarn: 1.22.19 - ~/.nvm/versions/node/v19.2.0/bin/yarn npm: 8.19.3 - ~/.nvm/versions/node/v19.2.0/bin/npm SDKs: iOS SDK: Platforms: DriverKit 22.4, iOS 16.4, macOS 13.3, tvOS 16.4, watchOS 9.4 IDEs: Xcode: 14.3.1/14E300c - /usr/bin/xcodebuild npmPackages: @expo/webpack-config: ^18.0.1 => 18.0.4 expo: ^48.0.0 => 48.0.17 react: 18.2.0 => 18.2.0 react-dom: 18.2.0 => 18.2.0 react-native: 0.71.8 => 0.71.8 react-native-web: ~0.18.7 => 0.18.12 npmGlobalPackages: eas-cli: 3.13.3 Expo Workflow: managed
Reproducible demo or steps to reproduce from a blank project
Steps to reproduce:
On your expo app
Expected:
event and hint objects are being logged.
Outcome:
nothing gets logged.