diff options
Diffstat (limited to 'app/assets/javascripts/sentry/sentry_browser_wrapper.js')
-rw-r--r-- | app/assets/javascripts/sentry/sentry_browser_wrapper.js | 16 |
1 files changed, 12 insertions, 4 deletions
diff --git a/app/assets/javascripts/sentry/sentry_browser_wrapper.js b/app/assets/javascripts/sentry/sentry_browser_wrapper.js index 03cf53fabef..99f5adf8e89 100644 --- a/app/assets/javascripts/sentry/sentry_browser_wrapper.js +++ b/app/assets/javascripts/sentry/sentry_browser_wrapper.js @@ -1,15 +1,23 @@ +/* eslint-disable no-console */ + // The _Sentry object is globally exported so it can be used here // This hack allows us to load a single version of `@sentry/browser` -// in the browser (or none). See app/views/layouts/_head.html.haml -// to find how it is imported. +// in the browser (or none). + +// See app/views/layouts/_head.html.haml to find how it is imported. -// This module wraps methods used by our production code. -// Each export is names as we cannot export the entire namespace from *. +// This module exports Sentry methods used by our production code. /** @type {import('@sentry/core').captureException} */ export const captureException = (...args) => { // eslint-disable-next-line no-underscore-dangle const Sentry = window._Sentry; + // When Sentry is not configured during development, show console error + if (process.env.NODE_ENV === 'development' && !Sentry) { + console.error('[Sentry stub]', 'captureException(...) called with:', { ...args }); + return; + } + Sentry?.captureException(...args); }; |