| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788 |
- - if (typeof(sentryPublicDSN) != "undefined")
- script(type="text/javascript").
- require.config({
- paths: {
- 'raven': 'libs/raven-3.27.0.min'
- }
- });
- require(["raven"], function(Raven) {
- if (typeof(Raven) != "undefined" && Raven.config) {
- Raven.config("#{sentryPublicDSN}", {
- tags: { 'commit': '@@COMMIT@@', 'build': '@@RELEASE@@' },
- release: '@@RELEASE@@',
- // Ignore list based off: https://gist.github.com/1878283
- ignoreErrors: [
- 'DealPly',
- // 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',
- '/NS_ERROR_NOT_CONNECTED/i',
- "/Cannot read property 'row' of undefined/i",
- 'TypeError: start is undefined'
- ],
- 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,
- /a\.disquscdn\.com/i,
- /platform\.twitter\.com/i,
- /pstatic\.datafastguru\.info/i
- ],
- shouldSendCallback: function(data) {
- // only send a fraction of errors
- var sampleRate = 0.01;
- return (Math.random() <= sampleRate);
- },
- dataCallback: function(data) {
- // remove circular references from object
- var cache = [];
- var s = JSON.stringify(data, function(k, v) { if (typeof v === 'object' && v !== null) { if (cache.indexOf(v) !== -1) return "[circular]"; cache.push(v); }; return v; });
- return JSON.parse(s);
- }
- // we highly recommend restricting exceptions to a domain in order to filter out clutter
- // whitelistUrls: ['example.com/scripts/']
- }).install();
- //- We conditionally depend on Raven (based on whether the sentry
- //- config is set or not). This does not play well with require.js when
- //- minifying as it is expecting all dependencies to be defined at
- //- compile time. Previously Raven added itself as a global, so we just
- //- mimic that old behaviour
- window.Raven = Raven
- }
- }, function(err) {
- console.log(">> error loading raven", err);
- })
- - if (user && typeof(user) != "undefined" && typeof (user.email) != "undefined")
- script(type="text/javascript").
- if (typeof(Raven) != "undefined" && Raven.setUserContext) {
- Raven.setUserContext({email: '#{user.email}'});
- }
|