demarches-normaliennes/app/javascript/shared/track/sentry.js
2021-09-07 16:45:52 -05:00

28 lines
932 B
JavaScript

import * as Sentry from '@sentry/browser';
const { key, enabled, user, environment, browser } = gon.sentry || {};
// We need to check for key presence here as we do not have a dsn for browser yet
if (enabled && key) {
Sentry.init({
dsn: key,
environment,
ignoreErrors: [
// Ignore errors generated by a Microsoft crawler.
// See https://forum.sentry.io/t/unhandledrejection-non-error-promise-rejection-captured-with-value/14062
'Non-error promise rejection captured with keys',
'Non-Error promise rejection captured with value'
]
});
Sentry.configureScope((scope) => {
scope.setUser(user);
scope.setExtra('browser', browser.modern ? 'modern' : 'legacy');
});
// Register a way to explicitely capture messages from a different bundle.
addEventListener('sentry:capture-exception', (event) => {
const error = event.detail;
Sentry.captureException(error);
});
}