-
-
Save impressiver/5092952 to your computer and use it in GitHub Desktop.
<!-- 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> |
👍, I like this. Do you mind if I add these to the docs?
@acdha: Thanks for the additions, I updated the gist... should probably test it too.
@mattrobenolt: Not at all, glad someone found it useful.
Awesome, thanks for sharing
One other addition which I should have included earlier: the filename is reported as miscellaneous_bindings
, which appears to be specific to Chrome extensions: http://stackoverflow.com/questions/13140857/what-are-miscellaneous-bindings-and-why-are-they-giving-me-a-port-error
Added to docs: http://raven-js.readthedocs.org/en/latest/tips/index.html#decluttering-sentry
Feel free to submit pull requests for additions. :)
Also, FWIW, I've removed the deprecation warning for ignoreErrors
. Apparently it's a lot more useful than I thought. ;)
This is pure awesome. Thanks guys.
Guys, do you know how to ignore errors from IOS devices? Can I just add "IOS" to the ignoreErrors list?
@pckhoi you can use a custom filter to filter out all IOS devices . See shouldSendCallback
in https://docs.getsentry.com/hosted/clients/javascript/config/
// Firefox extensions
/^resource:\/\//i
Used for Firefox resources / extensions re: this. They also use chrome:// for themes but we're already tackling this for Google Chrome.
// Ignore Google flakiness
/\/(gtm|ga|analytics)\.js/i
Some third party "marketing specialists" can't write JS and are ruining our Sentry reporting. These oughta ignore any errors thrown by GTM. Also thrown in the old analytics and the new universal analytics files for good measure.
Thanx its awesome.
I'd suggest adding "Failed to fetch" to "ignoreErrors":
var ravenOptions = {
ignoreErrors: [
...
// Network errors such as going offline or being blocked by a proxy
'Failed to fetch'
],
...
Are you facing errors from XiaoMi devices? We have been investigating without success.
We are getting errors like this one:
TypeError: Cannot read property 'title' of null
Some user agents:
Mozilla/5.0 (Linux; U; Android 7.1.2; es-es; Redmi 4X Build/N2G47H) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/61.0.3163.128 Mobile Safari/537.36 XiaoMi/MiuiBrowser/10.6.3-g
Mozilla/5.0 (Linux; U; Android 8.1.0; es-es; Redmi S2 Build/OPM1.171019.011) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/61.0.3163.128 Mobile Safari/537.36 XiaoMi/MiuiBrowser/10.6.3-g
Are you facing errors from XiaoMi devices? We have been investigating without success.
We are getting errors like this one:
TypeError: Cannot read property 'title' of null
Some user agents:
Mozilla/5.0 (Linux; U; Android 7.1.2; es-es; Redmi 4X Build/N2G47H) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/61.0.3163.128 Mobile Safari/537.36 XiaoMi/MiuiBrowser/10.6.3-g Mozilla/5.0 (Linux; U; Android 8.1.0; es-es; Redmi S2 Build/OPM1.171019.011) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/61.0.3163.128 Mobile Safari/537.36 XiaoMi/MiuiBrowser/10.6.3-g
Yep, it's from Readability.js for Mi Browser. To fix this just add an invisible div to your SPA's index.html tag: <div class="hidden">Loading...</div>
and css in a separate stylesheet file .hidden {display: none;}
(note that <div style="display: none;">Loading...</div>
won't fix). So that stupid Mi Browser will think that there is something to read on your website (instead of single empty <div>
) and it won't throw this error anymore.
Isn't it better to use whitelistUrls
to specify what scripts should be monitored or am I missing something?
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
.
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
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",
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.
@impressiver Any interest in pulling in @Chocksy 's fork? Your version is currently failing typescript checking due to ignoreUrls
being renamed to denyUrls
This is fantastic, thank you! 👍
add this to ignore safari webkit to ignoreErrors
:
/.*@webkit-masked-url.*/
Thanks for the collection. Here are a couple of other ones I've noticed:
ISP "optimizing" proxy - Cache-Control: no-transform seems to reduce this.
Some random toolbar: http://toolbar.conduit.com/Developer/HtmlAndGadget/Methods/JSInjection.aspx
It probably also makes sense to block
^chrome://
in ignoreUrls