Skip to content

Instantly share code, notes, and snippets.

@impressiver
Last active October 26, 2024 15:03
Show Gist options
  • Select an option

  • Save impressiver/5092952 to your computer and use it in GitHub Desktop.

Select an option

Save impressiver/5092952 to your computer and use it in GitHub Desktop.
Raven.js configuration for logging JavaScript exceptions to Sentry (https://getsentry.com/). Without the added ignore options, you'll quickly find yourself swamped with unactionable exceptions due to shoddy browser plugins and 3rd party script errors.
<!-- Raven.js Config -->
<script src="{{ JS_PATH }}/lib/raven.js" type="text/javascript"></script>
<script type="text/javascript">
// Ignore list based off: https://gist.github.com/1878283
var ravenOptions = {
// Will cause a deprecation warning, but the demise of `ignoreErrors` is still under discussion.
// See: https://github.com/getsentry/raven-js/issues/73
ignoreErrors: [
// Random plugins/extensions
'top.GLOBALS',
// See: http://blog.errorception.com/2012/03/tale-of-unfindable-js-error.html
'originalCreateNotification',
'canvas.contentDocument',
'MyApp_RemoveAllHighlights',
'http://tt.epicplay.com',
'Can\'t find variable: ZiteReader',
'jigsaw is not defined',
'ComboSearch is not defined',
'http://loading.retry.widdit.com/',
'atomicFindClose',
// Facebook borked
'fb_xd_fragment',
// ISP "optimizing" proxy - `Cache-Control: no-transform` seems to reduce this. (thanks @acdha)
// See http://stackoverflow.com/questions/4113268/how-to-stop-javascript-injection-from-vodafone-proxy
'bmi_SafeAddOnload',
'EBCallBackMessageReceived',
// See http://toolbar.conduit.com/Developer/HtmlAndGadget/Methods/JSInjection.aspx
'conduitPage',
// Generic error code from errors outside the security sandbox
// You can delete this if using raven.js > 1.0, which ignores these automatically.
'Script error.'
],
ignoreUrls: [
// Facebook flakiness
/graph\.facebook\.com/i,
// Facebook blocked
/connect\.facebook\.net\/en_US\/all\.js/i,
// Woopra flakiness
/eatdifferent\.com\.woopra-ns\.com/i,
/static\.woopra\.com\/js\/woopra\.js/i,
// Chrome extensions
/extensions\//i,
/^chrome:\/\//i,
// Other plugins
/127\.0\.0\.1:4001\/isrunning/i, // Cacaoweb
/webappstoolbarba\.texthelp\.com\//i,
/metrics\.itunes\.apple\.com\.edgesuite\.net\//i
]
};
// Configure Raven and install default handler to capture uncaught exceptions
Raven.config('{{ SENTRY_DSN }}', ravenOptions).install();
</script>
@kiruh

kiruh commented May 13, 2020

Copy link
Copy Markdown

Isn't it better to use whitelistUrls to specify what scripts should be monitored or am I missing something?

@mholtzhausen

mholtzhausen commented May 22, 2020

Copy link
Copy Markdown

Isn't it better to use whitelistUrls to specify what scripts should be monitored or am I missing something?

Depends on what you want -- if you only have a few urls you want to monitor, then easiest to use whitelistUrls.

@kiruh

kiruh commented May 22, 2020

Copy link
Copy Markdown

Isn't it better to use whitelistUrls to specify what scripts should be monitored or am I missing something?

Depends on what you want -- if you only have a few urls you want to monitor, then easiest to use whitelistUrls.

Got it πŸ‘ Thanks

@AeonFr

AeonFr commented Dec 28, 2020

Copy link
Copy Markdown

Some errors I collected while working with video (players such as Plyr or native HTML5 video element)

    // HTML5 video
    "The play() request was interrupted by",
    "play() failed because the user",
    "The fetching process for the media resource was aborted by the user agent at the user's request",
    "not allowed by the user agent or the platform in the current context, possibly because the user denied permission",

@Chocksy

Chocksy commented May 27, 2021

Copy link
Copy Markdown

I made an update to the configuration to use the new sdk here: https://gist.github.com/Chocksy/e9b2cdd4afc2aadc7989762c4b8b495a I also added a couple of my own errors.

@cvoege

cvoege commented Feb 2, 2022

Copy link
Copy Markdown

@impressiver Any interest in pulling in @Chocksy 's fork? Your version is currently failing typescript checking due to ignoreUrls being renamed to denyUrls

@sunnylum

sunnylum commented Dec 9, 2022

Copy link
Copy Markdown

This is fantastic, thank you! πŸ‘

@m-nathani

Copy link
Copy Markdown

add this to ignore safari webkit to ignoreErrors:

      /.*@webkit-masked-url.*/

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment