From 8c7db8fd35c342304596ad6bba8756117f984907 Mon Sep 17 00:00:00 2001 From: Ben Vinegar Date: Tue, 9 Aug 2016 11:24:51 -0700 Subject: [PATCH] 3.4.0 (#677) --- CHANGELOG.md | 5 ++++ bower.json | 2 +- dist/plugins/angular.js | 41 +++++++++++++++++++-------------- dist/plugins/angular.min.js | 4 ++-- dist/plugins/angular.min.js.map | 2 +- dist/plugins/console.js | 2 +- dist/plugins/console.min.js | 2 +- dist/plugins/ember.js | 2 +- dist/plugins/ember.min.js | 2 +- dist/plugins/require.js | 2 +- dist/plugins/require.min.js | 2 +- dist/raven.js | 20 +++++++++++----- dist/raven.min.js | 4 ++-- dist/raven.min.js.map | 2 +- dist/sri.json | 12 +++++----- docs/config.rst | 2 +- docs/index.rst | 2 +- docs/install.rst | 4 ++-- docs/integrations/angular.rst | 2 +- docs/integrations/backbone.rst | 2 +- docs/integrations/ember.rst | 2 +- docs/integrations/react.rst | 2 +- package.json | 2 +- src/raven.js | 2 +- test/raven.test.js | 4 ++-- 25 files changed, 74 insertions(+), 54 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 4c4f6eda0d6f..d9045049bc1b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,10 @@ # Changelog +## 3.4.0 +* CHANGE: React Native plugin now stores errors in AsyncStorage and sends error data on app init. See: https://github.com/getsentry/raven-js/pull/626 +* BUGFIX: React Native path normalization regex has been updated. See: https://github.com/getsentry/raven-js/pull/666 +* BUGFIX: Angular 1 plugin now extracts errors from minified exception strings. See: https://github.com/getsentry/raven-js/pull/667 + ## 3.3.0 * NEW: Can now specify `environment` configuration option. See: https://github.com/getsentry/raven-js/pull/661 * CHANGE: Raven.js now serializes data payload w/ json-stringify-safe to avoid circular references. See: https://github.com/getsentry/raven-js/pull/652 diff --git a/bower.json b/bower.json index a77c23dbbcb9..3637dd74362e 100644 --- a/bower.json +++ b/bower.json @@ -1,6 +1,6 @@ { "name": "raven-js", - "version": "3.3.0", + "version": "3.4.0", "dependencies": {}, "main": "dist/raven.js", "ignore": [ diff --git a/dist/plugins/angular.js b/dist/plugins/angular.js index 55370268cd91..a1d88319cf78 100644 --- a/dist/plugins/angular.js +++ b/dist/plugins/angular.js @@ -1,4 +1,4 @@ -/*! Raven.js 3.3.0 (74c6c03) | github.com/getsentry/raven-js */ +/*! Raven.js 3.4.0 (4dba6fe) | github.com/getsentry/raven-js */ /* * Includes TraceKit @@ -19,7 +19,8 @@ 'use strict'; // See https://github.com/angular/angular.js/blob/v1.4.7/src/minErr.js -var angularPattern = /^\[((?:[$a-zA-Z0-9]+:)?(?:[$a-zA-Z0-9]+))\] (.+?)\n(\S+)$/; +var angularPattern = /^\[((?:[$a-zA-Z0-9]+:)?(?:[$a-zA-Z0-9]+))\] (.*?)\n?(\S+)$/; + function angularPlugin(Raven, angular) { angular = angular || window.angular; @@ -51,25 +52,31 @@ function angularPlugin(Raven, angular) { .config(['$provide', ExceptionHandlerProvider]); Raven.setDataCallback(function(data, original) { - // We only care about mutating an exception - var exception = data.exception; - if (exception) { - exception = exception.values[0]; - var matches = angularPattern.exec(exception.value); - - if (matches) { - // This type now becomes something like: $rootScope:inprog - exception.type = matches[1]; - exception.value = matches[2]; - data.message = exception.type + ': ' + exception.value; - // auto set a new tag specifically for the angular error url - data.extra.angularDocs = matches[3].substr(0, 250); - } - } + angularPlugin._normalizeData(data); + original && original(data); }); } +angularPlugin._normalizeData = function (data) { + // We only care about mutating an exception + var exception = data.exception; + if (exception) { + exception = exception.values[0]; + var matches = angularPattern.exec(exception.value); + + if (matches) { + // This type now becomes something like: $rootScope:inprog + exception.type = matches[1]; + exception.value = matches[2]; + + data.message = exception.type + ': ' + exception.value; + // auto set a new tag specifically for the angular error url + data.extra.angularDocs = matches[3].substr(0, 250); + } + } +}; + module.exports = angularPlugin; },{}]},{},[1])(1) diff --git a/dist/plugins/angular.min.js b/dist/plugins/angular.min.js index ed7a885f2c78..4122c11e146a 100644 --- a/dist/plugins/angular.min.js +++ b/dist/plugins/angular.min.js @@ -1,3 +1,3 @@ -/*! Raven.js 3.3.0 (74c6c03) | github.com/getsentry/raven-js */ -!function(a){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=a();else if("function"==typeof define&&define.amd)define([],a);else{var b;b="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:this,b=b.Raven||(b.Raven={}),b=b.Plugins||(b.Plugins={}),b.Angular=a()}}(function(){return function a(b,c,d){function e(g,h){if(!c[g]){if(!b[g]){var i="function"==typeof require&&require;if(!h&&i)return i(g,!0);if(f)return f(g,!0);var j=new Error("Cannot find module '"+g+"'");throw j.code="MODULE_NOT_FOUND",j}var k=c[g]={exports:{}};b[g][0].call(k.exports,function(a){var c=b[g][1][a];return e(c?c:a)},k,k.exports,a,b,c,d)}return c[g].exports}for(var f="function"==typeof require&&require,g=0;d.length>g;g++)e(d[g]);return e}({1:[function(a,b,c){"use strict";function d(a,b){function c(){this.$get=["$window",function(b){return a}]}function d(a){a.decorator("$exceptionHandler",["Raven","$delegate",f])}function f(a,b){return function(c,d){a.captureException(c,{extra:{cause:d}}),b(c,d)}}b=b||window.angular,b&&(b.module("ngRaven",[]).provider("Raven",c).config(["$provide",d]),a.setDataCallback(function(a,b){var c=a.exception;if(c){c=c.values[0];var d=e.exec(c.value);d&&(c.type=d[1],c.value=d[2],a.message=c.type+": "+c.value,a.extra.angularDocs=d[3].substr(0,250))}b&&b(a)}))}var e=/^\[((?:[$a-zA-Z0-9]+:)?(?:[$a-zA-Z0-9]+))\] (.+?)\n(\S+)$/;b.exports=d},{}]},{},[1])(1)}); +/*! Raven.js 3.4.0 (4dba6fe) | github.com/getsentry/raven-js */ +!function(a){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=a();else if("function"==typeof define&&define.amd)define([],a);else{var b;b="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:this,b=b.Raven||(b.Raven={}),b=b.Plugins||(b.Plugins={}),b.Angular=a()}}(function(){return function a(b,c,d){function e(g,h){if(!c[g]){if(!b[g]){var i="function"==typeof require&&require;if(!h&&i)return i(g,!0);if(f)return f(g,!0);var j=new Error("Cannot find module '"+g+"'");throw j.code="MODULE_NOT_FOUND",j}var k=c[g]={exports:{}};b[g][0].call(k.exports,function(a){var c=b[g][1][a];return e(c?c:a)},k,k.exports,a,b,c,d)}return c[g].exports}for(var f="function"==typeof require&&require,g=0;d.length>g;g++)e(d[g]);return e}({1:[function(a,b,c){"use strict";function d(a,b){function c(){this.$get=["$window",function(b){return a}]}function e(a){a.decorator("$exceptionHandler",["Raven","$delegate",f])}function f(a,b){return function(c,d){a.captureException(c,{extra:{cause:d}}),b(c,d)}}b=b||window.angular,b&&(b.module("ngRaven",[]).provider("Raven",c).config(["$provide",e]),a.setDataCallback(function(a,b){d.a(a),b&&b(a)}))}var e=/^\[((?:[$a-zA-Z0-9]+:)?(?:[$a-zA-Z0-9]+))\] (.*?)\n?(\S+)$/;d.a=function(a){var b=a.exception;if(b){b=b.values[0];var c=e.exec(b.value);c&&(b.type=c[1],b.value=c[2],a.message=b.type+": "+b.value,a.extra.angularDocs=c[3].substr(0,250))}},b.exports=d},{}]},{},[1])(1)}); //# sourceMappingURL=angular.min.js.map \ No newline at end of file diff --git a/dist/plugins/angular.min.js.map b/dist/plugins/angular.min.js.map index 5f42639468f0..14563f472f7f 100644 --- a/dist/plugins/angular.min.js.map +++ b/dist/plugins/angular.min.js.map @@ -1 +1 @@ -{"version":3,"sources":["angular.js"],"names":["f","exports","module","define","amd","g","window","global","self","this","Raven","Plugins","Angular","e","t","n","r","s","o","u","a","require","i","Error","code","l","call","length",1,"_dereq_","angularPlugin","angular","RavenProvider","$get","$window","ExceptionHandlerProvider","$provide","decorator","exceptionHandler","R","$delegate","ex","cause","captureException","extra","provider","config","setDataCallback","data","original","exception","values","matches","angularPattern","exec","value","type","message","angularDocs","substr"],"mappings":";CAYA,SAAUA,GAAG,GAAoB,gBAAVC,UAAoC,mBAATC,QAAsBA,OAAOD,QAAQD,QAAS,IAAmB,kBAATG,SAAqBA,OAAOC,IAAKD,UAAUH,OAAO,CAAC,GAAIK,EAAkCA,GAAb,mBAATC,QAAwBA,OAA+B,mBAATC,QAAwBA,OAA6B,mBAAPC,MAAsBA,KAAYC,KAAKJ,EAAGA,EAAEK,QAAQL,EAAEK,UAAaL,EAAGA,EAAEM,UAAUN,EAAEM,YAAeN,EAAEO,QAAUZ,MAAO,WAAqC,MAAO,SAAUa,GAAEC,EAAEC,EAAEC,GAAG,QAASC,GAAEC,EAAEC,GAAG,IAAIJ,EAAEG,GAAG,CAAC,IAAIJ,EAAEI,GAAG,CAAC,GAAIE,GAAkB,kBAATC,UAAqBA,OAAQ,KAAIF,GAAGC,EAAE,MAAOA,GAAEF,GAAE,EAAI,IAAGI,EAAE,MAAOA,GAAEJ,GAAE,EAAI,IAAIlB,GAAE,GAAIuB,OAAM,uBAAuBL,EAAE,IAAK,MAAMlB,GAAEwB,KAAK,mBAAmBxB,EAAE,GAAIyB,GAAEV,EAAEG,IAAIjB,WAAYa,GAAEI,GAAG,GAAGQ,KAAKD,EAAExB,QAAQ,SAASY,GAAG,GAAIE,GAAED,EAAEI,GAAG,GAAGL,EAAG,OAAOI,GAAEF,EAAEA,EAAEF,IAAIY,EAAEA,EAAExB,QAAQY,EAAEC,EAAEC,EAAEC,GAAG,MAAOD,GAAEG,GAAGjB,QAAkD,IAAI,GAA1CqB,GAAkB,kBAATD,UAAqBA,QAAgBH,EAAE,EAAIF,EAAEW,OAAJT,EAAWA,IAAID,EAAED,EAAEE,GAAI,OAAOD,KAAKW,GAAG,SAASC,EAAQ3B,EAAOD,GAMl4B,YAKA,SAAS6B,GAAcpB,EAAOqB,GAK1B,QAASC,KACLvB,KAAKwB,MAAQ,UAAW,SAASC,GAC7B,MAAOxB,KAIf,QAASyB,GAAyBC,GAC9BA,EAASC,UAAU,qBACd,QAAS,YAAaC,IAG/B,QAASA,GAAiBC,EAAGC,GACzB,MAAO,UAAUC,EAAIC,GACjBH,EAAEI,iBAAiBF,GACfG,OAASF,MAAOA,KAEpBF,EAAUC,EAAIC,IApBtBX,EAAUA,GAAWzB,OAAOyB,QAEvBA,IAsBLA,EAAQ7B,OAAO,cACV2C,SAAS,QAAUb,GACnBc,QAAQ,WAAYX,IAEzBzB,EAAMqC,gBAAgB,SAASC,EAAMC,GAEjC,GAAIC,GAAYF,EAAKE,SACrB,IAAIA,EAAW,CACXA,EAAYA,EAAUC,OAAO,EAC7B,IAAIC,GAAUC,EAAeC,KAAKJ,EAAUK,MAExCH,KAEAF,EAAUM,KAAOJ,EAAQ,GACzBF,EAAUK,MAAQH,EAAQ,GAC1BJ,EAAKS,QAAUP,EAAUM,KAAO,KAAON,EAAUK,MAEjDP,EAAKJ,MAAMc,YAAcN,EAAQ,GAAGO,OAAO,EAAG,MAGtDV,GAAYA,EAASD,MA/C7B,GAAIK,GAAiB,2DAmDrBnD,GAAOD,QAAU6B,YAEN,IAAI","file":"angular.min.js"} \ No newline at end of file +{"version":3,"sources":["angular.js"],"names":["f","exports","module","define","amd","g","window","global","self","this","Raven","Plugins","Angular","e","t","n","r","s","o","u","a","require","i","Error","code","l","call","length",1,"_dereq_","angularPlugin","angular","RavenProvider","$get","$window","ExceptionHandlerProvider","$provide","decorator","exceptionHandler","R","$delegate","ex","cause","captureException","extra","provider","config","setDataCallback","data","original","_normalizeData","angularPattern","exception","values","matches","exec","value","type","message","angularDocs","substr"],"mappings":";CAYA,SAAUA,GAAG,GAAoB,gBAAVC,UAAoC,mBAATC,QAAsBA,OAAOD,QAAQD,QAAS,IAAmB,kBAATG,SAAqBA,OAAOC,IAAKD,UAAUH,OAAO,CAAC,GAAIK,EAAkCA,GAAb,mBAATC,QAAwBA,OAA+B,mBAATC,QAAwBA,OAA6B,mBAAPC,MAAsBA,KAAYC,KAAKJ,EAAGA,EAAEK,QAAQL,EAAEK,UAAaL,EAAGA,EAAEM,UAAUN,EAAEM,YAAeN,EAAEO,QAAUZ,MAAO,WAAqC,MAAO,SAAUa,GAAEC,EAAEC,EAAEC,GAAG,QAASC,GAAEC,EAAEC,GAAG,IAAIJ,EAAEG,GAAG,CAAC,IAAIJ,EAAEI,GAAG,CAAC,GAAIE,GAAkB,kBAATC,UAAqBA,OAAQ,KAAIF,GAAGC,EAAE,MAAOA,GAAEF,GAAE,EAAI,IAAGI,EAAE,MAAOA,GAAEJ,GAAE,EAAI,IAAIlB,GAAE,GAAIuB,OAAM,uBAAuBL,EAAE,IAAK,MAAMlB,GAAEwB,KAAK,mBAAmBxB,EAAE,GAAIyB,GAAEV,EAAEG,IAAIjB,WAAYa,GAAEI,GAAG,GAAGQ,KAAKD,EAAExB,QAAQ,SAASY,GAAG,GAAIE,GAAED,EAAEI,GAAG,GAAGL,EAAG,OAAOI,GAAEF,EAAEA,EAAEF,IAAIY,EAAEA,EAAExB,QAAQY,EAAEC,EAAEC,EAAEC,GAAG,MAAOD,GAAEG,GAAGjB,QAAkD,IAAI,GAA1CqB,GAAkB,kBAATD,UAAqBA,QAAgBH,EAAE,EAAIF,EAAEW,OAAJT,EAAWA,IAAID,EAAED,EAAEE,GAAI,OAAOD,KAAKW,GAAG,SAASC,EAAQ3B,EAAOD,GAMl4B,YAMA,SAAS6B,GAAcpB,EAAOqB,GAK1B,QAASC,KACLvB,KAAKwB,MAAQ,UAAW,SAASC,GAC7B,MAAOxB,KAIf,QAASyB,GAAyBC,GAC9BA,EAASC,UAAU,qBACd,QAAS,YAAaC,IAG/B,QAASA,GAAiBC,EAAGC,GACzB,MAAO,UAAUC,EAAIC,GACjBH,EAAEI,iBAAiBF,GACfG,OAASF,MAAOA,KAEpBF,EAAUC,EAAIC,IApBtBX,EAAUA,GAAWzB,OAAOyB,QAEvBA,IAsBLA,EAAQ7B,OAAO,cACV2C,SAAS,QAAUb,GACnBc,QAAQ,WAAYX,IAEzBzB,EAAMqC,gBAAgB,SAASC,EAAMC,GACjCnB,EAAcoB,EAAeF,GAE7BC,GAAYA,EAASD,MAnC7B,GAAIG,GAAiB,4DAuCrBrB,GAAcoB,EAAiB,SAAUF,GAErC,GAAII,GAAYJ,EAAKI,SACrB,IAAIA,EAAW,CACXA,EAAYA,EAAUC,OAAO,EAC7B,IAAIC,GAAUH,EAAeI,KAAKH,EAAUI,MAExCF,KAEAF,EAAUK,KAAOH,EAAQ,GACzBF,EAAUI,MAAQF,EAAQ,GAE1BN,EAAKU,QAAUN,EAAUK,KAAO,KAAOL,EAAUI,MAEjDR,EAAKJ,MAAMe,YAAcL,EAAQ,GAAGM,OAAO,EAAG,QAK1D1D,EAAOD,QAAU6B,YAEN,IAAI","file":"angular.min.js"} \ No newline at end of file diff --git a/dist/plugins/console.js b/dist/plugins/console.js index 7c38d2efd27e..7e8a258ae790 100644 --- a/dist/plugins/console.js +++ b/dist/plugins/console.js @@ -1,4 +1,4 @@ -/*! Raven.js 3.3.0 (74c6c03) | github.com/getsentry/raven-js */ +/*! Raven.js 3.4.0 (4dba6fe) | github.com/getsentry/raven-js */ /* * Includes TraceKit diff --git a/dist/plugins/console.min.js b/dist/plugins/console.min.js index 0d2eea6e8c63..bdb5567ac37c 100644 --- a/dist/plugins/console.min.js +++ b/dist/plugins/console.min.js @@ -1,3 +1,3 @@ -/*! Raven.js 3.3.0 (74c6c03) | github.com/getsentry/raven-js */ +/*! Raven.js 3.4.0 (4dba6fe) | github.com/getsentry/raven-js */ !function(a){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=a();else if("function"==typeof define&&define.amd)define([],a);else{var b;b="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:this,b=b.Raven||(b.Raven={}),b=b.Plugins||(b.Plugins={}),b.Console=a()}}(function(){return function a(b,c,d){function e(g,h){if(!c[g]){if(!b[g]){var i="function"==typeof require&&require;if(!h&&i)return i(g,!0);if(f)return f(g,!0);var j=new Error("Cannot find module '"+g+"'");throw j.code="MODULE_NOT_FOUND",j}var k=c[g]={exports:{}};b[g][0].call(k.exports,function(a){var c=b[g][1][a];return e(c?c:a)},k,k.exports,a,b,c,d)}return c[g].exports}for(var f="function"==typeof require&&require,g=0;d.length>g;g++)e(d[g]);return e}({1:[function(a,b,c){"use strict";function d(a,b,c){b=b||window.console||{},c=c||{};for(var d=c.levels||["debug","info","warn","error"],f=d.pop(),g=function(b,c){a.captureMessage(b,c)};f;)e(b,f,g),f=d.pop()}var e=a(2).wrapMethod;b.exports=d},{2:2}],2:[function(a,b,c){"use strict";var d=function(a,b,c){var d=a[b],e=a;if(b in a){var f="warn"===b?"warning":b;a[b]=function(){var a=[].slice.call(arguments),b=""+a.join(" "),g={level:f,logger:"console",extra:{arguments:a}};c&&c(b,g),d&&Function.prototype.apply.call(d,e,a)}}};b.exports={wrapMethod:d}},{}]},{},[1])(1)}); //# sourceMappingURL=console.min.js.map \ No newline at end of file diff --git a/dist/plugins/ember.js b/dist/plugins/ember.js index 9e4bea85a55a..ff46b2cd8b1d 100644 --- a/dist/plugins/ember.js +++ b/dist/plugins/ember.js @@ -1,4 +1,4 @@ -/*! Raven.js 3.3.0 (74c6c03) | github.com/getsentry/raven-js */ +/*! Raven.js 3.4.0 (4dba6fe) | github.com/getsentry/raven-js */ /* * Includes TraceKit diff --git a/dist/plugins/ember.min.js b/dist/plugins/ember.min.js index 92724c8ebc7f..be449e32d30d 100644 --- a/dist/plugins/ember.min.js +++ b/dist/plugins/ember.min.js @@ -1,3 +1,3 @@ -/*! Raven.js 3.3.0 (74c6c03) | github.com/getsentry/raven-js */ +/*! Raven.js 3.4.0 (4dba6fe) | github.com/getsentry/raven-js */ !function(a){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=a();else if("function"==typeof define&&define.amd)define([],a);else{var b;b="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:this,b=b.Raven||(b.Raven={}),b=b.Plugins||(b.Plugins={}),b.Ember=a()}}(function(){return function a(b,c,d){function e(g,h){if(!c[g]){if(!b[g]){var i="function"==typeof require&&require;if(!h&&i)return i(g,!0);if(f)return f(g,!0);var j=new Error("Cannot find module '"+g+"'");throw j.code="MODULE_NOT_FOUND",j}var k=c[g]={exports:{}};b[g][0].call(k.exports,function(a){var c=b[g][1][a];return e(c?c:a)},k,k.exports,a,b,c,d)}return c[g].exports}for(var f="function"==typeof require&&require,g=0;d.length>g;g++)e(d[g]);return e}({1:[function(a,b,c){"use strict";function d(a,b){if(b=b||window.Ember){var c=b.onerror;b.onerror=function(b){a.captureException(b),"function"==typeof c&&c.call(this,b)},b.RSVP.on("error",function(b){b instanceof Error?a.captureException(b,{extra:{context:"Unhandled Promise error detected"}}):a.captureMessage("Unhandled Promise error detected",{extra:{reason:b}})})}}b.exports=d},{}]},{},[1])(1)}); //# sourceMappingURL=ember.min.js.map \ No newline at end of file diff --git a/dist/plugins/require.js b/dist/plugins/require.js index ddf0f5bd3ab1..a33fbeffcab9 100644 --- a/dist/plugins/require.js +++ b/dist/plugins/require.js @@ -1,4 +1,4 @@ -/*! Raven.js 3.3.0 (74c6c03) | github.com/getsentry/raven-js */ +/*! Raven.js 3.4.0 (4dba6fe) | github.com/getsentry/raven-js */ /* * Includes TraceKit diff --git a/dist/plugins/require.min.js b/dist/plugins/require.min.js index 5d993e87742f..1d1bfcae4b5b 100644 --- a/dist/plugins/require.min.js +++ b/dist/plugins/require.min.js @@ -1,3 +1,3 @@ -/*! Raven.js 3.3.0 (74c6c03) | github.com/getsentry/raven-js */ +/*! Raven.js 3.4.0 (4dba6fe) | github.com/getsentry/raven-js */ !function(a){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=a();else if("function"==typeof define&&define.amd)define([],a);else{var b;b="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:this,b=b.Raven||(b.Raven={}),b=b.Plugins||(b.Plugins={}),b.Require=a()}}(function(){var a;return function b(a,c,d){function e(g,h){if(!c[g]){if(!a[g]){var i="function"==typeof require&&require;if(!h&&i)return i(g,!0);if(f)return f(g,!0);var j=new Error("Cannot find module '"+g+"'");throw j.code="MODULE_NOT_FOUND",j}var k=c[g]={exports:{}};a[g][0].call(k.exports,function(b){var c=a[g][1][b];return e(c?c:b)},k,k.exports,b,a,c,d)}return c[g].exports}for(var f="function"==typeof require&&require,g=0;d.length>g;g++)e(d[g]);return e}({1:[function(b,c,d){"use strict";function e(c){"function"==typeof a&&a.amd&&(window.define=c.wrap({deep:!1},a),window.require=c.wrap({deep:!1},b))}c.exports=e},{}]},{},[1])(1)}); //# sourceMappingURL=require.min.js.map \ No newline at end of file diff --git a/dist/raven.js b/dist/raven.js index 71bcad571c25..5fe30c17e5fd 100644 --- a/dist/raven.js +++ b/dist/raven.js @@ -1,4 +1,4 @@ -/*! Raven.js 3.3.0 (74c6c03) | github.com/getsentry/raven-js */ +/*! Raven.js 3.4.0 (4dba6fe) | github.com/getsentry/raven-js */ /* * Includes TraceKit @@ -180,7 +180,7 @@ Raven.prototype = { // webpack (using a build step causes webpack #1617). Grunt verifies that // this value matches package.json during build. // See: https://github.com/getsentry/raven-js/issues/465 - VERSION: '3.3.0', + VERSION: '3.4.0', debug: false, @@ -1253,8 +1253,6 @@ Raven.prototype = { _send: function(data) { - var self = this; - var globalOptions = this._globalOptions; var baseData = { @@ -1315,6 +1313,13 @@ Raven.prototype = { return; } + this._sendProcessedPayload(data); + }, + + _sendProcessedPayload: function(data, callback) { + var self = this; + var globalOptions = this._globalOptions; + // Send along an event_id if not explicitly passed. // This event_id can be used to reference the error within Sentry itself. // Set lastEventId after we know the error should actually be sent @@ -1357,12 +1362,15 @@ Raven.prototype = { data: data, src: url }); + callback && callback(); }, - onError: function failure() { + onError: function failure(error) { self._triggerEvent('failure', { data: data, src: url }); + error = error || new Error('Raven send failed (no additional details provided)'); + callback && callback(error); } }); }, @@ -1384,7 +1392,7 @@ Raven.prototype = { opts.onSuccess(); } } else if (opts.onError) { - opts.onError(); + opts.onError(new Error('Sentry error code: ' + request.status)); } } diff --git a/dist/raven.min.js b/dist/raven.min.js index a4265ccd0c4d..ece35ee2a746 100644 --- a/dist/raven.min.js +++ b/dist/raven.min.js @@ -1,3 +1,3 @@ -/*! Raven.js 3.3.0 (74c6c03) | github.com/getsentry/raven-js */ -!function(a){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=a();else if("function"==typeof define&&define.amd)define([],a);else{var b;b="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:this,b.Raven=a()}}(function(){return function a(b,c,d){function e(g,h){if(!c[g]){if(!b[g]){var i="function"==typeof require&&require;if(!h&&i)return i(g,!0);if(f)return f(g,!0);var j=new Error("Cannot find module '"+g+"'");throw j.code="MODULE_NOT_FOUND",j}var k=c[g]={exports:{}};b[g][0].call(k.exports,function(a){var c=b[g][1][a];return e(c?c:a)},k,k.exports,a,b,c,d)}return c[g].exports}for(var f="function"==typeof require&&require,g=0;d.length>g;g++)e(d[g]);return e}({1:[function(a,b,c){function d(a,b,c,d){return JSON.stringify(a,e(b,d),c)}function e(a,b){var c=[],d=[];return null==b&&(b=function(a,b){return c[0]===b?"[Circular ~]":"[Circular ~."+d.slice(0,c.indexOf(b)).join(".")+"]"}),function(e,f){if(c.length>0){var g=c.indexOf(this);~g?c.splice(g+1):c.push(this),~g?d.splice(g,1/0,e):d.push(e),~c.indexOf(f)&&(f=b.call(this,e,f))}else c.push(f);return null==a?f:a.call(this,e,f)}}c=b.exports=d,c.getSerialize=e},{}],2:[function(a,b,c){"use strict";function d(a){this.name="RavenConfigError",this.message=a}d.prototype=new Error,d.prototype.constructor=d,b.exports=d},{}],3:[function(a,b,c){"use strict";var d=function(a,b,c){var d=a[b],e=a;if(b in a){var f="warn"===b?"warning":b;a[b]=function(){var a=[].slice.call(arguments),b=""+a.join(" "),g={level:f,logger:"console",extra:{arguments:a}};c&&c(b,g),d&&Function.prototype.apply.call(d,e,a)}}};b.exports={wrapMethod:d}},{}],4:[function(a,b,c){"use strict";function d(){return+new Date}function e(){this.a=!("object"!=typeof JSON||!JSON.stringify),this.b="undefined"!=typeof document,this.c=null,this.d=null,this.e=null,this.f=null,this.g=null,this.h={},this.i={logger:"javascript",ignoreErrors:[],ignoreUrls:[],whitelistUrls:[],includePaths:[],crossOrigin:"anonymous",collectWindowErrors:!0,maxMessageLength:0,stackTraceLimit:50},this.j=0,this.k=!1,this.l=Error.stackTraceLimit,this.m=window.console||{},this.n={},this.o=[],this.p=d(),this.q=[],this.r=[],this.s=20,this.t=null,this.u=window.location,this.v=this.u&&this.u.href;for(var a in this.m)this.n[a]=this.m[a]}var f=a(7),g=a(2),h=a(6),i=a(1),j=h.isFunction,k=h.isUndefined,l=h.isError,m=h.isEmptyObject,n=h.hasKey,o=h.joinRegExp,p=h.each,q=h.objectMerge,r=h.truncate,s=h.urlencode,t=h.uuid4,u=h.htmlTreeAsString,v=h.parseUrl,w=h.isString,x=a(3).wrapMethod,y="source protocol user pass host port path".split(" "),z=/^(?:(\w+):)?\/\/(?:(\w+)(:\w+)?@)?([\w\.-]+)(?::(\d+))?(\/.*)/;e.prototype={VERSION:"3.3.0",debug:!1,TraceKit:f,config:function(a,b){var c=this;if(this.e)return this.w("error","Error: Raven has already been configured"),this;if(!a)return this;b&&p(b,function(a,b){"tags"===a||"extra"===a?c.h[a]=b:c.i[a]=b});var d=this.x(a),e=d.path.lastIndexOf("/"),g=d.path.substr(1,e);return this.y=a,this.i.ignoreErrors.push(/^Script error\.?$/),this.i.ignoreErrors.push(/^Javascript error: Script error\.? on line 0$/),this.i.ignoreErrors=o(this.i.ignoreErrors),this.i.ignoreUrls=this.i.ignoreUrls.length?o(this.i.ignoreUrls):!1,this.i.whitelistUrls=this.i.whitelistUrls.length?o(this.i.whitelistUrls):!1,this.i.includePaths=o(this.i.includePaths),this.f=d.user,this.z=d.pass&&d.pass.substr(1),this.g=d.path.substr(e+1),this.e=this.A(d),this.B=this.e+"/"+g+"api/"+this.g+"/store/",f.collectWindowErrors=!!this.i.collectWindowErrors,this},install:function(){var a=this;return this.isSetup()&&!this.k&&(f.report.subscribe(function(){a.C.apply(a,arguments)}),this.D(),this.E(),this.k=!0),Error.stackTraceLimit=this.i.stackTraceLimit,this},context:function(a,b,c){return j(a)&&(c=b||[],b=a,a=void 0),this.wrap(a,b).apply(this,c)},wrap:function(a,b,c){function d(){var d=[],f=arguments.length,g=!a||a&&a.deep!==!1;for(c&&j(c)&&c.apply(this,arguments);f--;)d[f]=g?e.wrap(a,arguments[f]):arguments[f];try{return b.apply(this,d)}catch(h){throw e.F(),e.captureException(h,a),h}}var e=this;if(k(b)&&!j(a))return a;if(j(a)&&(b=a,a=void 0),!j(b))return b;try{if(b.G)return b}catch(f){return b}if(b.H)return b.H;for(var g in b)n(b,g)&&(d[g]=b[g]);return d.prototype=b.prototype,b.H=d,d.G=!0,d.I=b,d},uninstall:function(){return f.report.uninstall(),this.J(),Error.stackTraceLimit=this.l,this.k=!1,this},captureException:function(a,b){if(!l(a))return this.captureMessage(a,b);this.c=a;try{var c=f.computeStackTrace(a);this.K(c,b)}catch(d){if(a!==d)throw d}return this},captureMessage:function(a,b){return this.i.ignoreErrors.test&&this.i.ignoreErrors.test(a)?void 0:(this.L(q({message:a+""},b)),this)},captureBreadcrumb:function(a){var b=q({timestamp:d()/1e3},a);this.r.push(b),this.r.length>this.s&&this.r.shift()},addPlugin:function(a){var b=Array.prototype.slice.call(arguments,1);return this.o.push([a,b]),this.k&&this.E(),this},setUserContext:function(a){return this.h.user=a,this},setExtraContext:function(a){return this.M("extra",a),this},setTagsContext:function(a){return this.M("tags",a),this},clearContext:function(){return this.h={},this},getContext:function(){return JSON.parse(i(this.h))},setEnvironment:function(a){return this.i.environment=a,this},setRelease:function(a){return this.i.release=a,this},setDataCallback:function(a){var b=this.i.dataCallback;return this.i.dataCallback=j(a)?function(c){return a(c,b)}:a,this},setShouldSendCallback:function(a){var b=this.i.shouldSendCallback;return this.i.shouldSendCallback=j(a)?function(c){return a(c,b)}:a,this},setTransport:function(a){return this.i.transport=a,this},lastException:function(){return this.c},lastEventId:function(){return this.d},isSetup:function(){return this.a?this.e?!0:(this.ravenNotConfiguredError||(this.ravenNotConfiguredError=!0,this.w("error","Error: Raven has not been configured.")),!1):!1},afterLoad:function(){var a=window.RavenConfig;a&&this.config(a.dsn,a.config).install()},showReportDialog:function(a){if(window.document){a=a||{};var b=a.eventId||this.lastEventId();if(!b)throw new g("Missing eventId");var c=a.dsn||this.y;if(!c)throw new g("Missing DSN");var d=encodeURIComponent,e="";e+="?eventId="+d(b),e+="&dsn="+d(c);var f=a.user||this.h.user;f&&(f.name&&(e+="&name="+d(f.name)),f.email&&(e+="&email="+d(f.email)));var h=this.A(this.x(c)),i=document.createElement("script");i.async=!0,i.src=h+"/api/embed/error-page/"+e,(document.head||document.body).appendChild(i)}},F:function(){var a=this;this.j+=1,setTimeout(function(){a.j-=1})},N:function(a,b){var c,d;if(this.b){b=b||{},a="raven"+a.substr(0,1).toUpperCase()+a.substr(1),document.createEvent?(c=document.createEvent("HTMLEvents"),c.initEvent(a,!0,!0)):(c=document.createEventObject(),c.eventType=a);for(d in b)n(b,d)&&(c[d]=b[d]);if(document.createEvent)document.dispatchEvent(c);else try{document.fireEvent("on"+c.eventType.toLowerCase(),c)}catch(e){}}},O:function(a){var b=this;return function(c){if(b.P=null,b.t!==c){b.t=c;var d,e=c.target;try{d=u(e)}catch(f){d=""}b.captureBreadcrumb({category:"ui."+a,message:d})}}},Q:function(){var a=this,b=1e3;return function(c){var d=c.target,e=d&&d.tagName;if(e&&("INPUT"===e||"TEXTAREA"===e)){var f=a.P;f||a.O("input")(c),clearTimeout(f),a.P=setTimeout(function(){a.P=null},b)}}},R:function(a,b){var c=v(this.u.href),d=v(b),e=v(a);this.v=b,c.protocol===d.protocol&&c.host===d.host&&(b=d.relative),c.protocol===e.protocol&&c.host===e.host&&(a=e.relative),this.captureBreadcrumb({category:"navigation",data:{to:b,from:a}})},D:function(){function a(a,b,c,d){var f=a[b];a[b]=c(f),d||e.q.push([a,b,f])}function b(a){return function(b,c){for(var d=new Array(arguments.length),f=0;d.length>f;++f)d[f]=arguments[f];var g=d[0];return j(g)&&(d[0]=e.wrap(g)),a.apply?a.apply(this,d):a(d[0],d[1])}}function c(b){var c=window[b]&&window[b].prototype;c&&c.hasOwnProperty&&c.hasOwnProperty("addEventListener")&&(a(c,"addEventListener",function(a){return function(c,d,f,g){try{d&&d.handleEvent&&(d.handleEvent=e.wrap(d.handleEvent))}catch(h){}var i;return("EventTarget"===b||"Node"===b)&&("click"===c?i=e.O(c):"keypress"===c&&(i=e.Q())),a.call(this,c,e.wrap(d,void 0,i),f,g)}}),a(c,"removeEventListener",function(a){return function(b,c,d,e){return c=c&&(c.H?c.H:c),a.call(this,b,c,d,e)}}))}function d(b,c){b in c&&j(c[b])&&a(c,b,function(a){return e.wrap(a)},!0)}var e=this;a(window,"setTimeout",b),a(window,"setInterval",b),window.requestAnimationFrame&&a(window,"requestAnimationFrame",function(a){return function(b){return a(e.wrap(b))}}),this.b&&(document.addEventListener?(document.addEventListener("click",e.O("click"),!1),document.addEventListener("keypress",e.Q(),!1)):(document.attachEvent("onclick",e.O("click")),document.attachEvent("onkeypress",e.Q())));for(var f=["EventTarget","Window","Node","ApplicationCache","AudioTrackList","ChannelMergerNode","CryptoOperation","EventSource","FileReader","HTMLUnknownElement","IDBDatabase","IDBRequest","IDBTransaction","KeyOperation","MediaController","MessagePort","ModalWindow","Notification","SVGElementInstance","Screen","TextTrack","TextTrackCue","TextTrackList","WebSocket","WebSocketWorker","Worker","XMLHttpRequest","XMLHttpRequestEventTarget","XMLHttpRequestUpload"],g=0;f.length>g;g++)c(f[g]);if("XMLHttpRequest"in window){var h=XMLHttpRequest.prototype;a(h,"open",function(a){return function(b,c){return w(c)&&-1===c.indexOf(e.f)&&(this.S={method:b,url:c,status_code:null}),a.apply(this,arguments)}}),a(h,"send",function(b){return function(c){function f(){if(g.S&&(1===g.readyState||4===g.readyState)){try{g.S.status_code=g.status}catch(a){}e.captureBreadcrumb({type:"http",category:"xhr",data:g.S})}}for(var g=this,h=["onload","onerror","onprogress"],i=0;h.length>i;i++)d(h[i],g);return"onreadystatechange"in g&&j(g.onreadystatechange)?a(g,"onreadystatechange",function(a){return e.wrap(a,void 0,f)},!0):g.onreadystatechange=f,b.apply(this,arguments)}})}var i=window.chrome,k=i&&i.app&&i.app.runtime,l=!k&&window.history&&history.pushState;if(l){var m=window.onpopstate;window.onpopstate=function(){var a=e.u.href;return e.R(e.v,a),m?m.apply(this,arguments):void 0},a(history,"pushState",function(a){return function(){var b=arguments.length>2?arguments[2]:void 0;return b&&e.R(e.v,b+""),a.apply(this,arguments)}})}var n=function(a,b){e.captureBreadcrumb({message:a,level:b.level,category:"console"})};"console"in window&&console.log&&p(["debug","info","warn","error","log"],function(a,b){x(console,b,n)});var o=window.jQuery||window.$;o&&o.fn&&o.fn.ready&&a(o.fn,"ready",function(a){return function(b){return a.call(this,e.wrap(b))}})},J:function(){for(var a;this.q.length;){a=this.q.shift();var b=a[0],c=a[1],d=a[2];b[c]=d}},E:function(){var a=this;p(this.o,function(b,c){var d=c[0],e=c[1];d.apply(a,[a].concat(e))})},x:function(a){var b=z.exec(a),c={},d=7;try{for(;d--;)c[y[d]]=b[d]||""}catch(e){throw new g("Invalid DSN: "+a)}if(c.pass&&!this.i.allowSecretKey)throw new g("Do not specify your secret key in the DSN. See: http://bit.ly/raven-secret-key");return c},A:function(a){var b="//"+a.host+(a.port?":"+a.port:"");return a.protocol&&(b=a.protocol+":"+b),b},C:function(){this.j||this.K.apply(this,arguments)},K:function(a,b){var c=this,d=[];a.stack&&a.stack.length&&p(a.stack,function(a,b){var e=c.T(b);e&&d.push(e)}),this.N("handle",{stackInfo:a,options:b}),this.U(a.name,a.message,a.url,a.lineno,d.slice(0,this.i.stackTraceLimit),b)},T:function(a){if(a.url){var b={filename:a.url,lineno:a.line,colno:a.column,"function":a.func||"?"};return b.in_app=!(this.i.includePaths.test&&!this.i.includePaths.test(b.filename)||/(Raven|TraceKit)\./.test(b["function"])||/raven\.(min\.)?js$/.test(b.filename)),b}},U:function(a,b,c,d,e,f){var g;if((!this.i.ignoreErrors.test||!this.i.ignoreErrors.test(b))&&(b+="",e&&e.length?(c=e[0].filename||c,e.reverse(),g={frames:e}):c&&(g={frames:[{filename:c,lineno:d,in_app:!0}]}),(!this.i.ignoreUrls.test||!this.i.ignoreUrls.test(c))&&(!this.i.whitelistUrls.test||this.i.whitelistUrls.test(c)))){var h=q({exception:{values:[{type:a,value:b,stacktrace:g}]},culprit:c},f);this.L(h)}},V:function(a){var b=this.i.maxMessageLength;if(a.message&&(a.message=r(a.message,b)),a.exception){var c=a.exception.values[0];c.value=r(c.value,b)}return a},W:function(){if(this.b&&document.location&&document.location.href){var a={headers:{"User-Agent":navigator.userAgent}};return a.url=document.location.href,document.referrer&&(a.headers.Referer=document.referrer),a}},L:function(a){var b=this,c=this.i,e={project:this.g,logger:c.logger,platform:"javascript"},f=this.W();if(f&&(e.request=f),a=q(e,a),a.tags=q(q({},this.h.tags),a.tags),a.extra=q(q({},this.h.extra),a.extra),a.extra["session:duration"]=d()-this.p,this.r&&this.r.length>0&&(a.breadcrumbs={values:[].slice.call(this.r,0)}),m(a.tags)&&delete a.tags,this.h.user&&(a.user=this.h.user),c.environment&&(a.environment=c.environment),c.release&&(a.release=c.release),c.serverName&&(a.server_name=c.serverName),j(c.dataCallback)&&(a=c.dataCallback(a)||a),a&&!m(a)&&(!j(c.shouldSendCallback)||c.shouldSendCallback(a))&&(this.d=a.event_id||(a.event_id=t()),a=this.V(a),this.w("debug","Raven about to send:",a),this.isSetup())){var g={sentry_version:"7",sentry_client:"raven-js/"+this.VERSION,sentry_key:this.f};this.z&&(g.sentry_secret=this.z);var h=a.exception&&a.exception.values[0];this.captureBreadcrumb({category:"sentry",message:h?(h.type?h.type+": ":"")+h.message:a.message,event_id:a.event_id,level:a.level||"error"});var i=this.B;(c.transport||this.X).call(this,{url:i,auth:g,data:a,options:c,onSuccess:function(){b.N("success",{data:a,src:i})},onError:function(){b.N("failure",{data:a,src:i})}})}},X:function(a){function b(){200===c.status?a.onSuccess&&a.onSuccess():a.onError&&a.onError()}var c=new XMLHttpRequest,d="withCredentials"in c||"undefined"!=typeof XDomainRequest;if(d){var e=a.url;"withCredentials"in c?c.onreadystatechange=function(){4===c.readyState&&b()}:(c=new XDomainRequest,e=e.replace(/^https?:/,""),c.onload=b),c.open("POST",e+"?"+s(a.auth)),c.send(i(a.data))}},w:function(a){this.n[a]&&this.debug&&Function.prototype.apply.call(this.n[a],this.m,[].slice.call(arguments,1))},M:function(a,b){k(b)?delete this.h[a]:this.h[a]=q(this.h[a]||{},b)}},e.prototype.setUser=e.prototype.setUserContext,e.prototype.setReleaseContext=e.prototype.setRelease,b.exports=e},{1:1,2:2,3:3,6:6,7:7}],5:[function(a,b,c){"use strict";var d=a(4),e=window.Raven,f=new d;f.noConflict=function(){return window.Raven=e,f},f.afterLoad(),b.exports=f},{4:4}],6:[function(a,b,c){"use strict";function d(a){return void 0===a}function e(a){return"function"==typeof a}function f(a){return"[object String]"===t.toString.call(a)}function g(a){return"object"==typeof a&&null!==a}function h(a){for(var b in a)return!1;return!0}function i(a){var b=t.toString.call(a);return g(a)&&"[object Error]"===b||"[object Exception]"===b||a instanceof Error}function j(a,b){var c,e;if(d(a.length))for(c in a)m(a,c)&&b.call(null,c,a[c]);else if(e=a.length)for(c=0;e>c;c++)b.call(null,c,a[c])}function k(a,b){return b?(j(b,function(b,c){a[b]=c}),a):a}function l(a,b){return!b||b>=a.length?a:a.substr(0,b)+"…"}function m(a,b){return t.hasOwnProperty.call(a,b)}function n(a){for(var b,c=[],d=0,e=a.length;e>d;d++)b=a[d],f(b)?c.push(b.replace(/([.*+?^=!:${}()|\[\]\/\\])/g,"\\$1")):b&&b.source&&c.push(b.source);return new RegExp(c.join("|"),"i")}function o(a){var b=[];return j(a,function(a,c){b.push(encodeURIComponent(a)+"="+encodeURIComponent(c))}),b.join("&")}function p(a){var b=a.match(/^(([^:\/?#]+):)?(\/\/([^\/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?$/);if(!b)return{};var c=b[6]||"",d=b[8]||"";return{protocol:b[2],host:b[4],path:b[5],relative:b[5]+c+d}}function q(){var a=window.crypto||window.msCrypto;if(!d(a)&&a.getRandomValues){var b=new Uint16Array(8);a.getRandomValues(b),b[3]=4095&b[3]|16384,b[4]=16383&b[4]|32768;var c=function(a){for(var b=a.toString(16);4>b.length;)b="0"+b;return b};return c(b[0])+c(b[1])+c(b[2])+c(b[3])+c(b[4])+c(b[5])+c(b[6])+c(b[7])}return"xxxxxxxxxxxx4xxxyxxxxxxxxxxxxxxx".replace(/[xy]/g,function(a){var b=16*Math.random()|0,c="x"===a?b:3&b|8;return c.toString(16)})}function r(a){for(var b,c=5,d=80,e=[],f=0,g=0,h=" > ",i=h.length;a&&f++1&&g+e.length*i+b.length>=d));)e.push(b),g+=b.length,a=a.parentNode;return e.reverse().join(h)}function s(a){var b,c,d,e,g,h=[];if(!a||!a.tagName)return"";if(h.push(a.tagName.toLowerCase()),a.id&&h.push("#"+a.id),b=a.className,b&&f(b))for(c=b.split(" "),g=0;c.length>g;g++)h.push("."+c[g]);var i=["type","name","title","alt"];for(g=0;i.length>g;g++)d=i[g],e=a.getAttribute(d),e&&h.push("["+d+'="'+e+'"]');return h.join("")}var t=Object.prototype;b.exports={isUndefined:d,isFunction:e,isString:f,isObject:g,isEmptyObject:h,isError:i,each:j,objectMerge:k,truncate:l,hasKey:m,joinRegExp:n,urlencode:o,uuid4:q,htmlTreeAsString:r,htmlElementAsString:s,parseUrl:p}},{}],7:[function(a,b,c){"use strict";function d(){return"undefined"==typeof document?"":document.location.href}var e=a(6),f=e.hasKey,g=e.isString,h=e.isUndefined,i={collectWindowErrors:!0,debug:!1},j=[].slice,k="?",l=/^(?:Uncaught (?:exception: )?)?((?:Eval|Internal|Range|Reference|Syntax|Type|URI)Error): ?(.*)$/;i.report=function(){function a(a){m(),s.push(a)}function b(a){for(var b=s.length-1;b>=0;--b)s[b]===a&&s.splice(b,1)}function c(){n(),s=[]}function e(a,b){var c=null;if(!b||i.collectWindowErrors){for(var d in s)if(f(s,d))try{s[d].apply(null,[a].concat(j.call(arguments,2)))}catch(e){c=e}if(c)throw c}}function h(a,b,c,f,h){var j=null;if(v)i.computeStackTrace.augmentStackTraceWithInitialElement(v,b,c,a),o();else if(h)j=i.computeStackTrace(h),e(j,!0);else{var m,n={url:b,line:c,column:f},p=void 0,r=a;if(g(a)){var m=a.match(l);m&&(p=m[1],r=m[2])}n.func=k,j={name:p,message:r,url:d(),stack:[n]},e(j,!0)}return q?q.apply(this,arguments):!1}function m(){r||(q=window.onerror,window.onerror=h,r=!0)}function n(){r&&(window.onerror=q,r=!1,q=void 0)}function o(){var a=v,b=t;t=null,v=null,u=null,e.apply(null,[a,!1].concat(b))}function p(a,b){var c=j.call(arguments,1);if(v){if(u===a)return;o()}var d=i.computeStackTrace(a);if(v=d,u=a,t=c,window.setTimeout(function(){u===a&&o()},d.incomplete?2e3:0),b!==!1)throw a}var q,r,s=[],t=null,u=null,v=null;return p.subscribe=a,p.unsubscribe=b,p.uninstall=c,p}(),i.computeStackTrace=function(){function a(a){if(!h(a.stack)&&a.stack){for(var b,c,e=/^\s*at (.*?) ?\(((?:file|https?|blob|chrome-extension|native|eval|).*?)(?::(\d+))?(?::(\d+))?\)?\s*$/i,f=/^\s*(.*?)(?:\((.*?)\))?(?:^|@)((?:file|https?|blob|chrome|\[native).*?)(?::(\d+))?(?::(\d+))?\s*$/i,g=/^\s*at (?:((?:\[object object\])?.+) )?\(?((?:file|ms-appx|https?|blob):.*?):(\d+)(?::(\d+))?\)?\s*$/i,i=a.stack.split("\n"),j=[],l=(/^(.*) is undefined$/.exec(a.message),0),m=i.length;m>l;++l){if(b=e.exec(i[l])){var n=b[2]&&-1!==b[2].indexOf("native");c={url:n?null:b[2],func:b[1]||k,args:n?[b[2]]:[],line:b[3]?+b[3]:null,column:b[4]?+b[4]:null}}else if(b=g.exec(i[l]))c={url:b[2],func:b[1]||k,args:[],line:+b[3],column:b[4]?+b[4]:null};else{if(!(b=f.exec(i[l])))continue;c={url:b[3],func:b[1]||k,args:b[2]?b[2].split(","):[],line:b[4]?+b[4]:null,column:b[5]?+b[5]:null}}!c.func&&c.line&&(c.func=k),j.push(c)}return j.length?(j[0].column||h(a.columnNumber)||(j[0].column=a.columnNumber+1),{name:a.name,message:a.message,url:d(),stack:j}):null}}function b(a){var b=a.stacktrace;if(!h(a.stacktrace)&&a.stacktrace){for(var c,e=/ line (\d+).*script (?:in )?(\S+)(?:: in function (\S+))?$/i,f=/ line (\d+), column (\d+)\s*(?:in (?:]+)>|([^\)]+))\((.*)\))? in (.*):\s*$/i,g=b.split("\n"),i=[],j=0;g.length>j;j+=2){var l=null;(c=e.exec(g[j]))?l={url:c[2],line:+c[1],column:null,func:c[3],args:[]}:(c=f.exec(g[j]))&&(l={url:c[6],line:+c[1],column:+c[2],func:c[3]||c[4],args:c[5]?c[5].split(","):[]}),l&&(!l.func&&l.line&&(l.func=k),i.push(l))}return i.length?{name:a.name,message:a.message,url:d(),stack:i}:null}}function c(a){var b=a.message.split("\n");if(4>b.length)return null;for(var c,e=/^\s*Line (\d+) of linked script ((?:file|https?|blob)\S+)(?:: in function (\S+))?\s*$/i,f=/^\s*Line (\d+) of inline#(\d+) script in ((?:file|https?|blob)\S+)(?:: in function (\S+))?\s*$/i,g=/^\s*Line (\d+) of function script\s*$/i,h=[],i=(document.getElementsByTagName("script"),2);b.length>i;i+=2){var j=null;if(c=e.exec(b[i]))j={url:c[2],func:c[3],args:[],line:+c[1],column:null};else if(c=f.exec(b[i])){j={url:c[3],func:c[4],args:[],line:+c[1],column:null}}else if(c=g.exec(b[i])){var l=window.location.href.replace(/#.*$/,"");j={url:l,func:"",args:[],line:c[1],column:null}}j&&(j.func||(j.func=k),h.push(j))}return h.length?{name:a.name,message:b[0],url:d(),stack:h}:null}function e(a,b,c,d){var e={url:b,line:c};if(e.url&&e.line){if(a.incomplete=!1,e.func||(e.func=k),a.stack.length>0&&a.stack[0].url===e.url){if(a.stack[0].line===e.line)return!1;if(!a.stack[0].line&&a.stack[0].func===e.func)return a.stack[0].line=e.line,!1}return a.stack.unshift(e),a.partial=!0,!0}return a.incomplete=!0,!1}function f(a,b){for(var c,h,j=/function\s+([_$a-zA-Z\xA0-\uFFFF][_$a-zA-Z0-9\xA0-\uFFFF]*)?\s*\(/i,l=[],m={},n=!1,o=f.caller;o&&!n;o=o.caller)if(o!==g&&o!==i.report){if(h={url:null,func:k,line:null,column:null},o.name?h.func=o.name:(c=j.exec(o.toString()))&&(h.func=c[1]),"undefined"==typeof h.func)try{h.func=c.input.substring(0,c.input.indexOf("{"))}catch(p){}m[""+o]?n=!0:m[""+o]=!0,l.push(h)}b&&l.splice(0,b);var q={name:a.name,message:a.message,url:d(),stack:l};return e(q,a.sourceURL||a.fileName,a.line||a.lineNumber,a.message||a.description),q}function g(e,g){var h=null;g=null==g?0:+g;try{if(h=b(e))return h}catch(j){if(i.debug)throw j}try{if(h=a(e))return h}catch(j){if(i.debug)throw j}try{if(h=c(e))return h}catch(j){if(i.debug)throw j}try{if(h=f(e,g+1))return h}catch(j){if(i.debug)throw j}return{name:e.name,message:e.message,url:d()}}return g.augmentStackTraceWithInitialElement=e,g.computeStackTraceFromStackProp=a,g}(),b.exports=i},{6:6}]},{},[5])(5)}); +/*! Raven.js 3.4.0 (4dba6fe) | github.com/getsentry/raven-js */ +!function(a){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=a();else if("function"==typeof define&&define.amd)define([],a);else{var b;b="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:this,b.Raven=a()}}(function(){return function a(b,c,d){function e(g,h){if(!c[g]){if(!b[g]){var i="function"==typeof require&&require;if(!h&&i)return i(g,!0);if(f)return f(g,!0);var j=new Error("Cannot find module '"+g+"'");throw j.code="MODULE_NOT_FOUND",j}var k=c[g]={exports:{}};b[g][0].call(k.exports,function(a){var c=b[g][1][a];return e(c?c:a)},k,k.exports,a,b,c,d)}return c[g].exports}for(var f="function"==typeof require&&require,g=0;d.length>g;g++)e(d[g]);return e}({1:[function(a,b,c){function d(a,b,c,d){return JSON.stringify(a,e(b,d),c)}function e(a,b){var c=[],d=[];return null==b&&(b=function(a,b){return c[0]===b?"[Circular ~]":"[Circular ~."+d.slice(0,c.indexOf(b)).join(".")+"]"}),function(e,f){if(c.length>0){var g=c.indexOf(this);~g?c.splice(g+1):c.push(this),~g?d.splice(g,1/0,e):d.push(e),~c.indexOf(f)&&(f=b.call(this,e,f))}else c.push(f);return null==a?f:a.call(this,e,f)}}c=b.exports=d,c.getSerialize=e},{}],2:[function(a,b,c){"use strict";function d(a){this.name="RavenConfigError",this.message=a}d.prototype=new Error,d.prototype.constructor=d,b.exports=d},{}],3:[function(a,b,c){"use strict";var d=function(a,b,c){var d=a[b],e=a;if(b in a){var f="warn"===b?"warning":b;a[b]=function(){var a=[].slice.call(arguments),b=""+a.join(" "),g={level:f,logger:"console",extra:{arguments:a}};c&&c(b,g),d&&Function.prototype.apply.call(d,e,a)}}};b.exports={wrapMethod:d}},{}],4:[function(a,b,c){"use strict";function d(){return+new Date}function e(){this.a=!("object"!=typeof JSON||!JSON.stringify),this.b="undefined"!=typeof document,this.c=null,this.d=null,this.e=null,this.f=null,this.g=null,this.h={},this.i={logger:"javascript",ignoreErrors:[],ignoreUrls:[],whitelistUrls:[],includePaths:[],crossOrigin:"anonymous",collectWindowErrors:!0,maxMessageLength:0,stackTraceLimit:50},this.j=0,this.k=!1,this.l=Error.stackTraceLimit,this.m=window.console||{},this.n={},this.o=[],this.p=d(),this.q=[],this.r=[],this.s=20,this.t=null,this.u=window.location,this.v=this.u&&this.u.href;for(var a in this.m)this.n[a]=this.m[a]}var f=a(7),g=a(2),h=a(6),i=a(1),j=h.isFunction,k=h.isUndefined,l=h.isError,m=h.isEmptyObject,n=h.hasKey,o=h.joinRegExp,p=h.each,q=h.objectMerge,r=h.truncate,s=h.urlencode,t=h.uuid4,u=h.htmlTreeAsString,v=h.parseUrl,w=h.isString,x=a(3).wrapMethod,y="source protocol user pass host port path".split(" "),z=/^(?:(\w+):)?\/\/(?:(\w+)(:\w+)?@)?([\w\.-]+)(?::(\d+))?(\/.*)/;e.prototype={VERSION:"3.4.0",debug:!1,TraceKit:f,config:function(a,b){var c=this;if(this.e)return this.w("error","Error: Raven has already been configured"),this;if(!a)return this;b&&p(b,function(a,b){"tags"===a||"extra"===a?c.h[a]=b:c.i[a]=b});var d=this.x(a),e=d.path.lastIndexOf("/"),g=d.path.substr(1,e);return this.y=a,this.i.ignoreErrors.push(/^Script error\.?$/),this.i.ignoreErrors.push(/^Javascript error: Script error\.? on line 0$/),this.i.ignoreErrors=o(this.i.ignoreErrors),this.i.ignoreUrls=this.i.ignoreUrls.length?o(this.i.ignoreUrls):!1,this.i.whitelistUrls=this.i.whitelistUrls.length?o(this.i.whitelistUrls):!1,this.i.includePaths=o(this.i.includePaths),this.f=d.user,this.z=d.pass&&d.pass.substr(1),this.g=d.path.substr(e+1),this.e=this.A(d),this.B=this.e+"/"+g+"api/"+this.g+"/store/",f.collectWindowErrors=!!this.i.collectWindowErrors,this},install:function(){var a=this;return this.isSetup()&&!this.k&&(f.report.subscribe(function(){a.C.apply(a,arguments)}),this.D(),this.E(),this.k=!0),Error.stackTraceLimit=this.i.stackTraceLimit,this},context:function(a,b,c){return j(a)&&(c=b||[],b=a,a=void 0),this.wrap(a,b).apply(this,c)},wrap:function(a,b,c){function d(){var d=[],f=arguments.length,g=!a||a&&a.deep!==!1;for(c&&j(c)&&c.apply(this,arguments);f--;)d[f]=g?e.wrap(a,arguments[f]):arguments[f];try{return b.apply(this,d)}catch(h){throw e.F(),e.captureException(h,a),h}}var e=this;if(k(b)&&!j(a))return a;if(j(a)&&(b=a,a=void 0),!j(b))return b;try{if(b.G)return b}catch(f){return b}if(b.H)return b.H;for(var g in b)n(b,g)&&(d[g]=b[g]);return d.prototype=b.prototype,b.H=d,d.G=!0,d.I=b,d},uninstall:function(){return f.report.uninstall(),this.J(),Error.stackTraceLimit=this.l,this.k=!1,this},captureException:function(a,b){if(!l(a))return this.captureMessage(a,b);this.c=a;try{var c=f.computeStackTrace(a);this.K(c,b)}catch(d){if(a!==d)throw d}return this},captureMessage:function(a,b){return this.i.ignoreErrors.test&&this.i.ignoreErrors.test(a)?void 0:(this.L(q({message:a+""},b)),this)},captureBreadcrumb:function(a){var b=q({timestamp:d()/1e3},a);this.r.push(b),this.r.length>this.s&&this.r.shift()},addPlugin:function(a){var b=Array.prototype.slice.call(arguments,1);return this.o.push([a,b]),this.k&&this.E(),this},setUserContext:function(a){return this.h.user=a,this},setExtraContext:function(a){return this.M("extra",a),this},setTagsContext:function(a){return this.M("tags",a),this},clearContext:function(){return this.h={},this},getContext:function(){return JSON.parse(i(this.h))},setEnvironment:function(a){return this.i.environment=a,this},setRelease:function(a){return this.i.release=a,this},setDataCallback:function(a){var b=this.i.dataCallback;return this.i.dataCallback=j(a)?function(c){return a(c,b)}:a,this},setShouldSendCallback:function(a){var b=this.i.shouldSendCallback;return this.i.shouldSendCallback=j(a)?function(c){return a(c,b)}:a,this},setTransport:function(a){return this.i.transport=a,this},lastException:function(){return this.c},lastEventId:function(){return this.d},isSetup:function(){return this.a?this.e?!0:(this.ravenNotConfiguredError||(this.ravenNotConfiguredError=!0,this.w("error","Error: Raven has not been configured.")),!1):!1},afterLoad:function(){var a=window.RavenConfig;a&&this.config(a.dsn,a.config).install()},showReportDialog:function(a){if(window.document){a=a||{};var b=a.eventId||this.lastEventId();if(!b)throw new g("Missing eventId");var c=a.dsn||this.y;if(!c)throw new g("Missing DSN");var d=encodeURIComponent,e="";e+="?eventId="+d(b),e+="&dsn="+d(c);var f=a.user||this.h.user;f&&(f.name&&(e+="&name="+d(f.name)),f.email&&(e+="&email="+d(f.email)));var h=this.A(this.x(c)),i=document.createElement("script");i.async=!0,i.src=h+"/api/embed/error-page/"+e,(document.head||document.body).appendChild(i)}},F:function(){var a=this;this.j+=1,setTimeout(function(){a.j-=1})},N:function(a,b){var c,d;if(this.b){b=b||{},a="raven"+a.substr(0,1).toUpperCase()+a.substr(1),document.createEvent?(c=document.createEvent("HTMLEvents"),c.initEvent(a,!0,!0)):(c=document.createEventObject(),c.eventType=a);for(d in b)n(b,d)&&(c[d]=b[d]);if(document.createEvent)document.dispatchEvent(c);else try{document.fireEvent("on"+c.eventType.toLowerCase(),c)}catch(e){}}},O:function(a){var b=this;return function(c){if(b.P=null,b.t!==c){b.t=c;var d,e=c.target;try{d=u(e)}catch(f){d=""}b.captureBreadcrumb({category:"ui."+a,message:d})}}},Q:function(){var a=this,b=1e3;return function(c){var d=c.target,e=d&&d.tagName;if(e&&("INPUT"===e||"TEXTAREA"===e)){var f=a.P;f||a.O("input")(c),clearTimeout(f),a.P=setTimeout(function(){a.P=null},b)}}},R:function(a,b){var c=v(this.u.href),d=v(b),e=v(a);this.v=b,c.protocol===d.protocol&&c.host===d.host&&(b=d.relative),c.protocol===e.protocol&&c.host===e.host&&(a=e.relative),this.captureBreadcrumb({category:"navigation",data:{to:b,from:a}})},D:function(){function a(a,b,c,d){var f=a[b];a[b]=c(f),d||e.q.push([a,b,f])}function b(a){return function(b,c){for(var d=new Array(arguments.length),f=0;d.length>f;++f)d[f]=arguments[f];var g=d[0];return j(g)&&(d[0]=e.wrap(g)),a.apply?a.apply(this,d):a(d[0],d[1])}}function c(b){var c=window[b]&&window[b].prototype;c&&c.hasOwnProperty&&c.hasOwnProperty("addEventListener")&&(a(c,"addEventListener",function(a){return function(c,d,f,g){try{d&&d.handleEvent&&(d.handleEvent=e.wrap(d.handleEvent))}catch(h){}var i;return("EventTarget"===b||"Node"===b)&&("click"===c?i=e.O(c):"keypress"===c&&(i=e.Q())),a.call(this,c,e.wrap(d,void 0,i),f,g)}}),a(c,"removeEventListener",function(a){return function(b,c,d,e){return c=c&&(c.H?c.H:c),a.call(this,b,c,d,e)}}))}function d(b,c){b in c&&j(c[b])&&a(c,b,function(a){return e.wrap(a)},!0)}var e=this;a(window,"setTimeout",b),a(window,"setInterval",b),window.requestAnimationFrame&&a(window,"requestAnimationFrame",function(a){return function(b){return a(e.wrap(b))}}),this.b&&(document.addEventListener?(document.addEventListener("click",e.O("click"),!1),document.addEventListener("keypress",e.Q(),!1)):(document.attachEvent("onclick",e.O("click")),document.attachEvent("onkeypress",e.Q())));for(var f=["EventTarget","Window","Node","ApplicationCache","AudioTrackList","ChannelMergerNode","CryptoOperation","EventSource","FileReader","HTMLUnknownElement","IDBDatabase","IDBRequest","IDBTransaction","KeyOperation","MediaController","MessagePort","ModalWindow","Notification","SVGElementInstance","Screen","TextTrack","TextTrackCue","TextTrackList","WebSocket","WebSocketWorker","Worker","XMLHttpRequest","XMLHttpRequestEventTarget","XMLHttpRequestUpload"],g=0;f.length>g;g++)c(f[g]);if("XMLHttpRequest"in window){var h=XMLHttpRequest.prototype;a(h,"open",function(a){return function(b,c){return w(c)&&-1===c.indexOf(e.f)&&(this.S={method:b,url:c,status_code:null}),a.apply(this,arguments)}}),a(h,"send",function(b){return function(c){function f(){if(g.S&&(1===g.readyState||4===g.readyState)){try{g.S.status_code=g.status}catch(a){}e.captureBreadcrumb({type:"http",category:"xhr",data:g.S})}}for(var g=this,h=["onload","onerror","onprogress"],i=0;h.length>i;i++)d(h[i],g);return"onreadystatechange"in g&&j(g.onreadystatechange)?a(g,"onreadystatechange",function(a){return e.wrap(a,void 0,f)},!0):g.onreadystatechange=f,b.apply(this,arguments)}})}var i=window.chrome,k=i&&i.app&&i.app.runtime,l=!k&&window.history&&history.pushState;if(l){var m=window.onpopstate;window.onpopstate=function(){var a=e.u.href;return e.R(e.v,a),m?m.apply(this,arguments):void 0},a(history,"pushState",function(a){return function(){var b=arguments.length>2?arguments[2]:void 0;return b&&e.R(e.v,b+""),a.apply(this,arguments)}})}var n=function(a,b){e.captureBreadcrumb({message:a,level:b.level,category:"console"})};"console"in window&&console.log&&p(["debug","info","warn","error","log"],function(a,b){x(console,b,n)});var o=window.jQuery||window.$;o&&o.fn&&o.fn.ready&&a(o.fn,"ready",function(a){return function(b){return a.call(this,e.wrap(b))}})},J:function(){for(var a;this.q.length;){a=this.q.shift();var b=a[0],c=a[1],d=a[2];b[c]=d}},E:function(){var a=this;p(this.o,function(b,c){var d=c[0],e=c[1];d.apply(a,[a].concat(e))})},x:function(a){var b=z.exec(a),c={},d=7;try{for(;d--;)c[y[d]]=b[d]||""}catch(e){throw new g("Invalid DSN: "+a)}if(c.pass&&!this.i.allowSecretKey)throw new g("Do not specify your secret key in the DSN. See: http://bit.ly/raven-secret-key");return c},A:function(a){var b="//"+a.host+(a.port?":"+a.port:"");return a.protocol&&(b=a.protocol+":"+b),b},C:function(){this.j||this.K.apply(this,arguments)},K:function(a,b){var c=this,d=[];a.stack&&a.stack.length&&p(a.stack,function(a,b){var e=c.T(b);e&&d.push(e)}),this.N("handle",{stackInfo:a,options:b}),this.U(a.name,a.message,a.url,a.lineno,d.slice(0,this.i.stackTraceLimit),b)},T:function(a){if(a.url){var b={filename:a.url,lineno:a.line,colno:a.column,"function":a.func||"?"};return b.in_app=!(this.i.includePaths.test&&!this.i.includePaths.test(b.filename)||/(Raven|TraceKit)\./.test(b["function"])||/raven\.(min\.)?js$/.test(b.filename)),b}},U:function(a,b,c,d,e,f){var g;if((!this.i.ignoreErrors.test||!this.i.ignoreErrors.test(b))&&(b+="",e&&e.length?(c=e[0].filename||c,e.reverse(),g={frames:e}):c&&(g={frames:[{filename:c,lineno:d,in_app:!0}]}),(!this.i.ignoreUrls.test||!this.i.ignoreUrls.test(c))&&(!this.i.whitelistUrls.test||this.i.whitelistUrls.test(c)))){var h=q({exception:{values:[{type:a,value:b,stacktrace:g}]},culprit:c},f);this.L(h)}},V:function(a){var b=this.i.maxMessageLength;if(a.message&&(a.message=r(a.message,b)),a.exception){var c=a.exception.values[0];c.value=r(c.value,b)}return a},W:function(){if(this.b&&document.location&&document.location.href){var a={headers:{"User-Agent":navigator.userAgent}};return a.url=document.location.href,document.referrer&&(a.headers.Referer=document.referrer),a}},L:function(a){var b=this.i,c={project:this.g,logger:b.logger,platform:"javascript"},e=this.W();e&&(c.request=e),a=q(c,a),a.tags=q(q({},this.h.tags),a.tags),a.extra=q(q({},this.h.extra),a.extra),a.extra["session:duration"]=d()-this.p,this.r&&this.r.length>0&&(a.breadcrumbs={values:[].slice.call(this.r,0)}),m(a.tags)&&delete a.tags,this.h.user&&(a.user=this.h.user),b.environment&&(a.environment=b.environment),b.release&&(a.release=b.release),b.serverName&&(a.server_name=b.serverName),j(b.dataCallback)&&(a=b.dataCallback(a)||a),a&&!m(a)&&(!j(b.shouldSendCallback)||b.shouldSendCallback(a))&&this.X(a)},X:function(a,b){var c=this,d=this.i;if(this.d=a.event_id||(a.event_id=t()),a=this.V(a),this.w("debug","Raven about to send:",a),this.isSetup()){var e={sentry_version:"7",sentry_client:"raven-js/"+this.VERSION,sentry_key:this.f};this.z&&(e.sentry_secret=this.z);var f=a.exception&&a.exception.values[0];this.captureBreadcrumb({category:"sentry",message:f?(f.type?f.type+": ":"")+f.message:a.message,event_id:a.event_id,level:a.level||"error"});var g=this.B;(d.transport||this.Y).call(this,{url:g,auth:e,data:a,options:d,onSuccess:function(){c.N("success",{data:a,src:g}),b&&b()},onError:function(d){c.N("failure",{data:a,src:g}),d=d||new Error("Raven send failed (no additional details provided)"),b&&b(d)}})}},Y:function(a){function b(){200===c.status?a.onSuccess&&a.onSuccess():a.onError&&a.onError(new Error("Sentry error code: "+c.status))}var c=new XMLHttpRequest,d="withCredentials"in c||"undefined"!=typeof XDomainRequest;if(d){var e=a.url;"withCredentials"in c?c.onreadystatechange=function(){4===c.readyState&&b()}:(c=new XDomainRequest,e=e.replace(/^https?:/,""),c.onload=b),c.open("POST",e+"?"+s(a.auth)),c.send(i(a.data))}},w:function(a){this.n[a]&&this.debug&&Function.prototype.apply.call(this.n[a],this.m,[].slice.call(arguments,1))},M:function(a,b){k(b)?delete this.h[a]:this.h[a]=q(this.h[a]||{},b)}},e.prototype.setUser=e.prototype.setUserContext,e.prototype.setReleaseContext=e.prototype.setRelease,b.exports=e},{1:1,2:2,3:3,6:6,7:7}],5:[function(a,b,c){"use strict";var d=a(4),e=window.Raven,f=new d;f.noConflict=function(){return window.Raven=e,f},f.afterLoad(),b.exports=f},{4:4}],6:[function(a,b,c){"use strict";function d(a){return void 0===a}function e(a){return"function"==typeof a}function f(a){return"[object String]"===t.toString.call(a)}function g(a){return"object"==typeof a&&null!==a}function h(a){for(var b in a)return!1;return!0}function i(a){var b=t.toString.call(a);return g(a)&&"[object Error]"===b||"[object Exception]"===b||a instanceof Error}function j(a,b){var c,e;if(d(a.length))for(c in a)m(a,c)&&b.call(null,c,a[c]);else if(e=a.length)for(c=0;e>c;c++)b.call(null,c,a[c])}function k(a,b){return b?(j(b,function(b,c){a[b]=c}),a):a}function l(a,b){return!b||b>=a.length?a:a.substr(0,b)+"…"}function m(a,b){return t.hasOwnProperty.call(a,b)}function n(a){for(var b,c=[],d=0,e=a.length;e>d;d++)b=a[d],f(b)?c.push(b.replace(/([.*+?^=!:${}()|\[\]\/\\])/g,"\\$1")):b&&b.source&&c.push(b.source);return new RegExp(c.join("|"),"i")}function o(a){var b=[];return j(a,function(a,c){b.push(encodeURIComponent(a)+"="+encodeURIComponent(c))}),b.join("&")}function p(a){var b=a.match(/^(([^:\/?#]+):)?(\/\/([^\/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?$/);if(!b)return{};var c=b[6]||"",d=b[8]||"";return{protocol:b[2],host:b[4],path:b[5],relative:b[5]+c+d}}function q(){var a=window.crypto||window.msCrypto;if(!d(a)&&a.getRandomValues){var b=new Uint16Array(8);a.getRandomValues(b),b[3]=4095&b[3]|16384,b[4]=16383&b[4]|32768;var c=function(a){for(var b=a.toString(16);4>b.length;)b="0"+b;return b};return c(b[0])+c(b[1])+c(b[2])+c(b[3])+c(b[4])+c(b[5])+c(b[6])+c(b[7])}return"xxxxxxxxxxxx4xxxyxxxxxxxxxxxxxxx".replace(/[xy]/g,function(a){var b=16*Math.random()|0,c="x"===a?b:3&b|8;return c.toString(16)})}function r(a){for(var b,c=5,d=80,e=[],f=0,g=0,h=" > ",i=h.length;a&&f++1&&g+e.length*i+b.length>=d));)e.push(b),g+=b.length,a=a.parentNode;return e.reverse().join(h)}function s(a){var b,c,d,e,g,h=[];if(!a||!a.tagName)return"";if(h.push(a.tagName.toLowerCase()),a.id&&h.push("#"+a.id),b=a.className,b&&f(b))for(c=b.split(" "),g=0;c.length>g;g++)h.push("."+c[g]);var i=["type","name","title","alt"];for(g=0;i.length>g;g++)d=i[g],e=a.getAttribute(d),e&&h.push("["+d+'="'+e+'"]');return h.join("")}var t=Object.prototype;b.exports={isUndefined:d,isFunction:e,isString:f,isObject:g,isEmptyObject:h,isError:i,each:j,objectMerge:k,truncate:l,hasKey:m,joinRegExp:n,urlencode:o,uuid4:q,htmlTreeAsString:r,htmlElementAsString:s,parseUrl:p}},{}],7:[function(a,b,c){"use strict";function d(){return"undefined"==typeof document?"":document.location.href}var e=a(6),f=e.hasKey,g=e.isString,h=e.isUndefined,i={collectWindowErrors:!0,debug:!1},j=[].slice,k="?",l=/^(?:Uncaught (?:exception: )?)?((?:Eval|Internal|Range|Reference|Syntax|Type|URI)Error): ?(.*)$/;i.report=function(){function a(a){m(),s.push(a)}function b(a){for(var b=s.length-1;b>=0;--b)s[b]===a&&s.splice(b,1)}function c(){n(),s=[]}function e(a,b){var c=null;if(!b||i.collectWindowErrors){for(var d in s)if(f(s,d))try{s[d].apply(null,[a].concat(j.call(arguments,2)))}catch(e){c=e}if(c)throw c}}function h(a,b,c,f,h){var j=null;if(v)i.computeStackTrace.augmentStackTraceWithInitialElement(v,b,c,a),o();else if(h)j=i.computeStackTrace(h),e(j,!0);else{var m,n={url:b,line:c,column:f},p=void 0,r=a;if(g(a)){var m=a.match(l);m&&(p=m[1],r=m[2])}n.func=k,j={name:p,message:r,url:d(),stack:[n]},e(j,!0)}return q?q.apply(this,arguments):!1}function m(){r||(q=window.onerror,window.onerror=h,r=!0)}function n(){r&&(window.onerror=q,r=!1,q=void 0)}function o(){var a=v,b=t;t=null,v=null,u=null,e.apply(null,[a,!1].concat(b))}function p(a,b){var c=j.call(arguments,1);if(v){if(u===a)return;o()}var d=i.computeStackTrace(a);if(v=d,u=a,t=c,window.setTimeout(function(){u===a&&o()},d.incomplete?2e3:0),b!==!1)throw a}var q,r,s=[],t=null,u=null,v=null;return p.subscribe=a,p.unsubscribe=b,p.uninstall=c,p}(),i.computeStackTrace=function(){function a(a){if(!h(a.stack)&&a.stack){for(var b,c,e=/^\s*at (.*?) ?\(((?:file|https?|blob|chrome-extension|native|eval|).*?)(?::(\d+))?(?::(\d+))?\)?\s*$/i,f=/^\s*(.*?)(?:\((.*?)\))?(?:^|@)((?:file|https?|blob|chrome|\[native).*?)(?::(\d+))?(?::(\d+))?\s*$/i,g=/^\s*at (?:((?:\[object object\])?.+) )?\(?((?:file|ms-appx|https?|blob):.*?):(\d+)(?::(\d+))?\)?\s*$/i,i=a.stack.split("\n"),j=[],l=(/^(.*) is undefined$/.exec(a.message),0),m=i.length;m>l;++l){if(b=e.exec(i[l])){var n=b[2]&&-1!==b[2].indexOf("native");c={url:n?null:b[2],func:b[1]||k,args:n?[b[2]]:[],line:b[3]?+b[3]:null,column:b[4]?+b[4]:null}}else if(b=g.exec(i[l]))c={url:b[2],func:b[1]||k,args:[],line:+b[3],column:b[4]?+b[4]:null};else{if(!(b=f.exec(i[l])))continue;c={url:b[3],func:b[1]||k,args:b[2]?b[2].split(","):[],line:b[4]?+b[4]:null,column:b[5]?+b[5]:null}}!c.func&&c.line&&(c.func=k),j.push(c)}return j.length?(j[0].column||h(a.columnNumber)||(j[0].column=a.columnNumber+1),{name:a.name,message:a.message,url:d(),stack:j}):null}}function b(a){var b=a.stacktrace;if(!h(a.stacktrace)&&a.stacktrace){for(var c,e=/ line (\d+).*script (?:in )?(\S+)(?:: in function (\S+))?$/i,f=/ line (\d+), column (\d+)\s*(?:in (?:]+)>|([^\)]+))\((.*)\))? in (.*):\s*$/i,g=b.split("\n"),i=[],j=0;g.length>j;j+=2){var l=null;(c=e.exec(g[j]))?l={url:c[2],line:+c[1],column:null,func:c[3],args:[]}:(c=f.exec(g[j]))&&(l={url:c[6],line:+c[1],column:+c[2],func:c[3]||c[4],args:c[5]?c[5].split(","):[]}),l&&(!l.func&&l.line&&(l.func=k),i.push(l))}return i.length?{name:a.name,message:a.message,url:d(),stack:i}:null}}function c(a){var b=a.message.split("\n");if(4>b.length)return null;for(var c,e=/^\s*Line (\d+) of linked script ((?:file|https?|blob)\S+)(?:: in function (\S+))?\s*$/i,f=/^\s*Line (\d+) of inline#(\d+) script in ((?:file|https?|blob)\S+)(?:: in function (\S+))?\s*$/i,g=/^\s*Line (\d+) of function script\s*$/i,h=[],i=(document.getElementsByTagName("script"),2);b.length>i;i+=2){var j=null;if(c=e.exec(b[i]))j={url:c[2],func:c[3],args:[],line:+c[1],column:null};else if(c=f.exec(b[i])){j={url:c[3],func:c[4],args:[],line:+c[1],column:null}}else if(c=g.exec(b[i])){var l=window.location.href.replace(/#.*$/,"");j={url:l,func:"",args:[],line:c[1],column:null}}j&&(j.func||(j.func=k),h.push(j))}return h.length?{name:a.name,message:b[0],url:d(),stack:h}:null}function e(a,b,c,d){var e={url:b,line:c};if(e.url&&e.line){if(a.incomplete=!1,e.func||(e.func=k),a.stack.length>0&&a.stack[0].url===e.url){if(a.stack[0].line===e.line)return!1;if(!a.stack[0].line&&a.stack[0].func===e.func)return a.stack[0].line=e.line,!1}return a.stack.unshift(e),a.partial=!0,!0}return a.incomplete=!0,!1}function f(a,b){for(var c,h,j=/function\s+([_$a-zA-Z\xA0-\uFFFF][_$a-zA-Z0-9\xA0-\uFFFF]*)?\s*\(/i,l=[],m={},n=!1,o=f.caller;o&&!n;o=o.caller)if(o!==g&&o!==i.report){if(h={url:null,func:k,line:null,column:null},o.name?h.func=o.name:(c=j.exec(o.toString()))&&(h.func=c[1]),"undefined"==typeof h.func)try{h.func=c.input.substring(0,c.input.indexOf("{"))}catch(p){}m[""+o]?n=!0:m[""+o]=!0,l.push(h)}b&&l.splice(0,b);var q={name:a.name,message:a.message,url:d(),stack:l};return e(q,a.sourceURL||a.fileName,a.line||a.lineNumber,a.message||a.description),q}function g(e,g){var h=null;g=null==g?0:+g;try{if(h=b(e))return h}catch(j){if(i.debug)throw j}try{if(h=a(e))return h}catch(j){if(i.debug)throw j}try{if(h=c(e))return h}catch(j){if(i.debug)throw j}try{if(h=f(e,g+1))return h}catch(j){if(i.debug)throw j}return{name:e.name,message:e.message,url:d()}}return g.augmentStackTraceWithInitialElement=e,g.computeStackTraceFromStackProp=a,g}(),b.exports=i},{6:6}]},{},[5])(5)}); //# sourceMappingURL=raven.min.js.map \ No newline at end of file diff --git a/dist/raven.min.js.map b/dist/raven.min.js.map index 200acece08a3..1633972576b5 100644 --- a/dist/raven.min.js.map +++ b/dist/raven.min.js.map @@ -1 +1 @@ -{"version":3,"sources":["raven.js"],"names":["f","exports","module","define","amd","g","window","global","self","this","Raven","e","t","n","r","s","o","u","a","require","i","Error","code","l","call","length",1,"_dereq_","stringify","obj","replacer","spaces","cycleReplacer","JSON","serializer","stack","keys","key","value","slice","indexOf","join","thisPos","splice","push","Infinity","getSerialize",2,"RavenConfigError","message","name","prototype","constructor",3,"wrapMethod","console","level","callback","originalConsoleLevel","originalConsole","sentryLevel","args","arguments","msg","data","logger","extra","Function","apply",4,"now","Date","_hasJSON","_hasDocument","document","_lastCapturedException","_lastEventId","_globalServer","_globalKey","_globalProject","_globalContext","_globalOptions","ignoreErrors","ignoreUrls","whitelistUrls","includePaths","crossOrigin","collectWindowErrors","maxMessageLength","stackTraceLimit","_ignoreOnError","_isRavenInstalled","_originalErrorStackTraceLimit","_originalConsole","_originalConsoleMethods","_plugins","_startTime","_wrappedBuiltIns","_breadcrumbs","_breadcrumbLimit","_lastCapturedEvent","_location","location","_lastHref","href","method","TraceKit","utils","isFunction","isUndefined","isError","isEmptyObject","hasKey","joinRegExp","each","objectMerge","truncate","urlencode","uuid4","htmlTreeAsString","parseUrl","isString","wrapConsoleMethod","dsnKeys","split","dsnPattern","VERSION","debug","config","dsn","options","_logDebug","uri","_parseDSN","lastSlash","path","lastIndexOf","substr","_dsn","user","_globalSecret","pass","_getGlobalServer","_globalEndpoint","install","isSetup","report","subscribe","_handleOnErrorStackInfo","_wrapBuiltIns","_drainPlugins","context","func","undefined","wrap","_before","wrapped","deep","_ignoreNextOnError","captureException","__raven__","__raven_wrapper__","property","__inner__","uninstall","_restoreBuiltIns","ex","captureMessage","computeStackTrace","_handleStackInfo","ex1","test","_send","captureBreadcrumb","crumb","timestamp","shift","addPlugin","plugin","pluginArgs","Array","setUserContext","setExtraContext","_mergeContext","setTagsContext","tags","clearContext","getContext","parse","setEnvironment","environment","setRelease","release","setDataCallback","original","dataCallback","setShouldSendCallback","shouldSendCallback","setTransport","transport","lastException","lastEventId","ravenNotConfiguredError","afterLoad","RavenConfig","showReportDialog","eventId","encode","encodeURIComponent","qs","email","globalServer","script","createElement","async","src","head","body","appendChild","F","setTimeout","N","eventType","evt","toUpperCase","createEvent","initEvent","createEventObject","dispatchEvent","fireEvent","toLowerCase","O","evtName","_keypressTimeout","target","elem","category","Q","debounceDuration","tagName","timeout","_breadcrumbEventHandler","clearTimeout","R","from","to","parsedLoc","parsedTo","parsedFrom","protocol","host","relative","D","fill","replacement","noUndo","orig","wrapTimeFn","fn","originalCallback","wrapEventTarget","proto","hasOwnProperty","capture","secure","handleEvent","err","before","_keypressEventHandler","wrapProp","prop","xhr","requestAnimationFrame","cb","addEventListener","attachEvent","eventTargets","xhrproto","XMLHttpRequest","origOpen","url","__raven_xhr","status_code","origSend","onreadystatechangeHandler","readyState","status","type","props","j","onreadystatechange","chrome","isChromePackagedApp","app","runtime","hasPushState","history","pushState","oldOnPopState","onpopstate","currentHref","_captureUrlChange","origPushState","consoleMethodCallback","log","_","$","jQuery","ready","J","builtin","E","installer","concat","x","str","m","exec","allowSecretKey","A","port","C","K","stackInfo","frames","frame","_normalizeFrame","_triggerEvent","_processException","lineno","T","normalized","filename","line","colno","column","function","in_app","U","fileurl","stacktrace","reverse","exception","values","culprit","V","max","W","httpData","headers","User-Agent","navigator","userAgent","referrer","Referer","L","globalOptions","baseData","project","platform","_getHttpData","request","breadcrumbs","serverName","server_name","event_id","_trimPacket","auth","sentry_version","sentry_client","sentry_key","sentry_secret","_makeRequest","onSuccess","onError","X","opts","handler","hasCORS","XDomainRequest","replace","onload","open","send","w","M","setUser","setReleaseContext","6","7",5,"RavenConstructor","_Raven","noConflict","what","objectPrototype","toString","isObject","obj1","obj2","object","patterns","pattern","sources","len","source","RegExp","pairs","match","query","fragment","crypto","msCrypto","getRandomValues","arr","Uint16Array","pad","num","v","c","Math","random","nextStr","MAX_TRAVERSE_HEIGHT","MAX_OUTPUT_LEN","out","height","separator","sepLength","htmlElementAsString","parentNode","className","classes","attr","id","attrWhitelist","getAttribute","Object","getLocationHref","_slice","UNKNOWN_FUNCTION","ERROR_TYPES_RE","installGlobalHandler","handlers","unsubscribe","unsubscribeAll","uninstallGlobalHandler","notifyHandlers","isWindowError","inner","traceKitWindowOnError","lineNo","colNo","lastExceptionStack","augmentStackTraceWithInitialElement","processLastException","groups","_oldOnerrorHandler","_onErrorHandlerInstalled","onerror","_lastExceptionStack","_lastArgs","lastArgs","rethrow","incomplete","computeStackTraceFromStackProp","parts","element","gecko","winjs","lines","isNative","columnNumber","computeStackTraceFromStacktraceProp","opera10Regex","opera11Regex","computeStackTraceFromOperaMultiLineMessage","lineRE1","lineRE2","lineRE3","getElementsByTagName","item","initial","unshift","partial","computeStackTraceByWalkingCallerChain","depth","functionName","funcs","recursion","curr","caller","input","substring","result","sourceURL","fileName","lineNumber","description"],"mappings":"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","file":"raven.min.js"} \ No newline at end of file +{"version":3,"sources":["raven.js"],"names":["f","exports","module","define","amd","g","window","global","self","this","Raven","e","t","n","r","s","o","u","a","require","i","Error","code","l","call","length",1,"_dereq_","stringify","obj","replacer","spaces","cycleReplacer","JSON","serializer","stack","keys","key","value","slice","indexOf","join","thisPos","splice","push","Infinity","getSerialize",2,"RavenConfigError","message","name","prototype","constructor",3,"wrapMethod","console","level","callback","originalConsoleLevel","originalConsole","sentryLevel","args","arguments","msg","data","logger","extra","Function","apply",4,"now","Date","_hasJSON","_hasDocument","document","_lastCapturedException","_lastEventId","_globalServer","_globalKey","_globalProject","_globalContext","_globalOptions","ignoreErrors","ignoreUrls","whitelistUrls","includePaths","crossOrigin","collectWindowErrors","maxMessageLength","stackTraceLimit","_ignoreOnError","_isRavenInstalled","_originalErrorStackTraceLimit","_originalConsole","_originalConsoleMethods","_plugins","_startTime","_wrappedBuiltIns","_breadcrumbs","_breadcrumbLimit","_lastCapturedEvent","_location","location","_lastHref","href","method","TraceKit","utils","isFunction","isUndefined","isError","isEmptyObject","hasKey","joinRegExp","each","objectMerge","truncate","urlencode","uuid4","htmlTreeAsString","parseUrl","isString","wrapConsoleMethod","dsnKeys","split","dsnPattern","VERSION","debug","config","dsn","options","_logDebug","uri","_parseDSN","lastSlash","path","lastIndexOf","substr","_dsn","user","_globalSecret","pass","_getGlobalServer","_globalEndpoint","install","isSetup","report","subscribe","_handleOnErrorStackInfo","_wrapBuiltIns","_drainPlugins","context","func","undefined","wrap","_before","wrapped","deep","_ignoreNextOnError","captureException","__raven__","__raven_wrapper__","property","__inner__","uninstall","_restoreBuiltIns","ex","captureMessage","computeStackTrace","_handleStackInfo","ex1","test","_send","captureBreadcrumb","crumb","timestamp","shift","addPlugin","plugin","pluginArgs","Array","setUserContext","setExtraContext","_mergeContext","setTagsContext","tags","clearContext","getContext","parse","setEnvironment","environment","setRelease","release","setDataCallback","original","dataCallback","setShouldSendCallback","shouldSendCallback","setTransport","transport","lastException","lastEventId","ravenNotConfiguredError","afterLoad","RavenConfig","showReportDialog","eventId","encode","encodeURIComponent","qs","email","globalServer","script","createElement","async","src","head","body","appendChild","F","setTimeout","N","eventType","evt","toUpperCase","createEvent","initEvent","createEventObject","dispatchEvent","fireEvent","toLowerCase","O","evtName","_keypressTimeout","target","elem","category","Q","debounceDuration","tagName","timeout","_breadcrumbEventHandler","clearTimeout","R","from","to","parsedLoc","parsedTo","parsedFrom","protocol","host","relative","D","fill","replacement","noUndo","orig","wrapTimeFn","fn","originalCallback","wrapEventTarget","proto","hasOwnProperty","capture","secure","handleEvent","err","before","_keypressEventHandler","wrapProp","prop","xhr","requestAnimationFrame","cb","addEventListener","attachEvent","eventTargets","xhrproto","XMLHttpRequest","origOpen","url","__raven_xhr","status_code","origSend","onreadystatechangeHandler","readyState","status","type","props","j","onreadystatechange","chrome","isChromePackagedApp","app","runtime","hasPushState","history","pushState","oldOnPopState","onpopstate","currentHref","_captureUrlChange","origPushState","consoleMethodCallback","log","_","$","jQuery","ready","J","builtin","E","installer","concat","x","str","m","exec","allowSecretKey","A","port","C","K","stackInfo","frames","frame","_normalizeFrame","_triggerEvent","_processException","lineno","T","normalized","filename","line","colno","column","function","in_app","U","fileurl","stacktrace","reverse","exception","values","culprit","V","max","W","httpData","headers","User-Agent","navigator","userAgent","referrer","Referer","L","globalOptions","baseData","project","platform","_getHttpData","request","breadcrumbs","serverName","server_name","_sendProcessedPayload","X","event_id","_trimPacket","auth","sentry_version","sentry_client","sentry_key","sentry_secret","_makeRequest","onSuccess","onError","error","Y","opts","handler","hasCORS","XDomainRequest","replace","onload","open","send","w","M","setUser","setReleaseContext","6","7",5,"RavenConstructor","_Raven","noConflict","what","objectPrototype","toString","isObject","obj1","obj2","object","patterns","pattern","sources","len","source","RegExp","pairs","match","query","fragment","crypto","msCrypto","getRandomValues","arr","Uint16Array","pad","num","v","c","Math","random","nextStr","MAX_TRAVERSE_HEIGHT","MAX_OUTPUT_LEN","out","height","separator","sepLength","htmlElementAsString","parentNode","className","classes","attr","id","attrWhitelist","getAttribute","Object","getLocationHref","_slice","UNKNOWN_FUNCTION","ERROR_TYPES_RE","installGlobalHandler","handlers","unsubscribe","unsubscribeAll","uninstallGlobalHandler","notifyHandlers","isWindowError","inner","traceKitWindowOnError","lineNo","colNo","lastExceptionStack","augmentStackTraceWithInitialElement","processLastException","groups","_oldOnerrorHandler","_onErrorHandlerInstalled","onerror","_lastExceptionStack","_lastArgs","lastArgs","rethrow","incomplete","computeStackTraceFromStackProp","parts","element","gecko","winjs","lines","isNative","columnNumber","computeStackTraceFromStacktraceProp","opera10Regex","opera11Regex","computeStackTraceFromOperaMultiLineMessage","lineRE1","lineRE2","lineRE3","getElementsByTagName","item","initial","unshift","partial","computeStackTraceByWalkingCallerChain","depth","functionName","funcs","recursion","curr","caller","input","substring","result","sourceURL","fileName","lineNumber","description"],"mappings":"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","file":"raven.min.js"} \ No newline at end of file diff --git a/dist/sri.json b/dist/sri.json index 138ce16d1a48..a531dd3ede07 100644 --- a/dist/sri.json +++ b/dist/sri.json @@ -1,20 +1,20 @@ { "@dist/raven.js": { "hashes": { - "sha256": "65Zh4g59PU/X0HvnUXUewj45H6YRX6cfF/Zu9lCWLtw=", - "sha512": "LtwVrDsuhD9jH/i4Xwk/L5Z9LymEqRZqEaMSUwqePd592xKU7EfqveEwbH1BTox/hMfKH9rTX5TFiWfUVNgu5g==" + "sha256": "bTEPripl705InCCs3lTOFnM/vPJj0Qh4pYfAE8ZZ3pg=", + "sha512": "6lb2h4LW8tLdntlWW03/2NdKkBrlpQCJTizla34QzD7XyrcSy0gdp565VvjOpWMIQIxi7PaD6kL7+Ob9yr43Hw==" }, "type": null, - "integrity": "sha256-65Zh4g59PU/X0HvnUXUewj45H6YRX6cfF/Zu9lCWLtw= sha512-LtwVrDsuhD9jH/i4Xwk/L5Z9LymEqRZqEaMSUwqePd592xKU7EfqveEwbH1BTox/hMfKH9rTX5TFiWfUVNgu5g==", + "integrity": "sha256-bTEPripl705InCCs3lTOFnM/vPJj0Qh4pYfAE8ZZ3pg= sha512-6lb2h4LW8tLdntlWW03/2NdKkBrlpQCJTizla34QzD7XyrcSy0gdp565VvjOpWMIQIxi7PaD6kL7+Ob9yr43Hw==", "path": "dist/raven.js" }, "@dist/raven.min.js": { "hashes": { - "sha256": "t6dbTUe18VdvAAAA1jpqWEpn/ckStKILH1xmZycBr6s=", - "sha512": "ZzvI6tyrNUfMct6N5TM1hwDkc9A6l0OqeQ5kJrW6bb8H/RuKpuUvZJ5M6KZNFrNb6qkMGaVKHnCHoFE7jHB0fg==" + "sha256": "8gpwv4k7ehC3fCGeaTGjCjiP8v1ttVfzDxanZtKZVOY=", + "sha512": "hkWLjB58gDHaCyYwq6sV6AU9HjG1+1Xybyf4u/SHyjzTuQWfRu85t9zdSTvbDtNaKCS39Rb0SZNEpwNH2ebZYg==" }, "type": null, - "integrity": "sha256-t6dbTUe18VdvAAAA1jpqWEpn/ckStKILH1xmZycBr6s= sha512-ZzvI6tyrNUfMct6N5TM1hwDkc9A6l0OqeQ5kJrW6bb8H/RuKpuUvZJ5M6KZNFrNb6qkMGaVKHnCHoFE7jHB0fg==", + "integrity": "sha256-8gpwv4k7ehC3fCGeaTGjCjiP8v1ttVfzDxanZtKZVOY= sha512-hkWLjB58gDHaCyYwq6sV6AU9HjG1+1Xybyf4u/SHyjzTuQWfRu85t9zdSTvbDtNaKCS39Rb0SZNEpwNH2ebZYg==", "path": "dist/raven.min.js" } } \ No newline at end of file diff --git a/docs/config.rst b/docs/config.rst index 2c315320bd50..2a2b6ca5a15c 100644 --- a/docs/config.rst +++ b/docs/config.rst @@ -237,7 +237,7 @@ Putting it all together ... - + + Configuring the Client diff --git a/docs/install.rst b/docs/install.rst index 9eaa3a5285e3..d3d0fda8af48 100644 --- a/docs/install.rst +++ b/docs/install.rst @@ -9,7 +9,7 @@ So for example: .. sourcecode:: html - + @@ -28,7 +28,7 @@ Our CDN distributes builds with and without :doc:`integrations + This version does not include any plugins. See `ravenjs.com `_ for more information about plugins and getting diff --git a/docs/integrations/angular.rst b/docs/integrations/angular.rst index da37f7ae7e1b..f45e95d2def4 100644 --- a/docs/integrations/angular.rst +++ b/docs/integrations/angular.rst @@ -24,7 +24,7 @@ Example: .. sourcecode:: html - + Note that this CDN build auto-initializes the Angular plugin. diff --git a/docs/integrations/backbone.rst b/docs/integrations/backbone.rst index 0974989bb2c4..a7719291219d 100644 --- a/docs/integrations/backbone.rst +++ b/docs/integrations/backbone.rst @@ -9,7 +9,7 @@ after you load all other external libraries (like jQuery), but before your code. .. sourcecode:: html - + Configuring the Client ---------------------- diff --git a/docs/integrations/ember.rst b/docs/integrations/ember.rst index 9cfc79becbab..b24bda72324b 100644 --- a/docs/integrations/ember.rst +++ b/docs/integrations/ember.rst @@ -23,7 +23,7 @@ Example: .. sourcecode:: html - + Note that this CDN build auto-initializes the Ember plugin. diff --git a/docs/integrations/react.rst b/docs/integrations/react.rst index 47ad1d1732ce..52d97a7111d5 100644 --- a/docs/integrations/react.rst +++ b/docs/integrations/react.rst @@ -9,7 +9,7 @@ after you load all other external libraries (like jQuery), but before your code. .. sourcecode:: html - + Configuring the Client ---------------------- diff --git a/package.json b/package.json index 697ee7b071e3..3eec912e9274 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "raven-js", - "version": "3.3.0", + "version": "3.4.0", "license": "BSD-2-Clause", "homepage": "https://github.com/getsentry/raven-js", "scripts": { diff --git a/src/raven.js b/src/raven.js index 343e35f392cd..3000419bd019 100644 --- a/src/raven.js +++ b/src/raven.js @@ -87,7 +87,7 @@ Raven.prototype = { // webpack (using a build step causes webpack #1617). Grunt verifies that // this value matches package.json during build. // See: https://github.com/getsentry/raven-js/issues/465 - VERSION: '3.3.0', + VERSION: '3.4.0', debug: false, diff --git a/test/raven.test.js b/test/raven.test.js index 2790b6dca7c9..4e50472fd1dc 100644 --- a/test/raven.test.js +++ b/test/raven.test.js @@ -992,7 +992,7 @@ describe('globals', function() { extra: {'session:duration': 100}, }); assert.deepEqual(opts.auth, { - sentry_client: 'raven-js/3.3.0', + sentry_client: 'raven-js/3.4.0', sentry_key: 'abc', sentry_version: '7' }); @@ -1039,7 +1039,7 @@ describe('globals', function() { extra: {'session:duration': 100}, }); assert.deepEqual(opts.auth, { - sentry_client: 'raven-js/3.3.0', + sentry_client: 'raven-js/3.4.0', sentry_key: 'abc', sentry_secret: 'def', sentry_version: '7'