From 4fef33cc8b3f58605833fe708d7c350d5d9ee12b Mon Sep 17 00:00:00 2001 From: Ben Vinegar Date: Tue, 30 Aug 2016 14:41:16 -0700 Subject: [PATCH] 3.6.0 (#708) --- CHANGELOG.md | 5 ++ bower.json | 2 +- dist/plugins/angular.js | 2 +- dist/plugins/angular.min.js | 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/plugins/vue.js | 2 +- dist/plugins/vue.min.js | 2 +- dist/raven.js | 127 ++++++++++++++++++++++++--------- 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 +- docs/integrations/vue.rst | 2 +- package.json | 2 +- src/raven.js | 4 +- test/raven.test.js | 4 +- 27 files changed, 131 insertions(+), 69 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index cb12e1db1407..9abb45ef71d0 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,10 @@ # Changelog +## 3.6.1 +* NEW: `Raven.captureMessage` will generate synthetic stacktraces if passed `stacktrace: true` via options. See: https://github.com/getsentry/raven-js/pull/582 +* NEW: Added `Raven.setDSN` for changing target DSN after Raven has been configured. See: https://github.com/getsentry/raven-js/pull/706 +* CHANGE: Added missing TypeScript type declarations for Raven API methods. See: https://github.com/getsentry/raven-js/pull/698 + ## 3.5.1 * BUGFIX: Fix non-fatals crashing React Native plugin unless `shouldSendCallback` is specified. See: https://github.com/getsentry/raven-js/pull/694 diff --git a/bower.json b/bower.json index a4e9db80f79b..d594607f9f6c 100644 --- a/bower.json +++ b/bower.json @@ -1,6 +1,6 @@ { "name": "raven-js", - "version": "3.5.1", + "version": "3.6.0", "dependencies": {}, "main": "dist/raven.js", "ignore": [ diff --git a/dist/plugins/angular.js b/dist/plugins/angular.js index 535779783c3e..daf7e4aea670 100644 --- a/dist/plugins/angular.js +++ b/dist/plugins/angular.js @@ -1,4 +1,4 @@ -/*! Raven.js 3.5.1 (bef9fa7) | github.com/getsentry/raven-js */ +/*! Raven.js 3.6.0 (c474a32) | github.com/getsentry/raven-js */ /* * Includes TraceKit diff --git a/dist/plugins/angular.min.js b/dist/plugins/angular.min.js index 732806f77e39..2ef49069e2fa 100644 --- a/dist/plugins/angular.min.js +++ b/dist/plugins/angular.min.js @@ -1,3 +1,3 @@ -/*! Raven.js 3.5.1 (bef9fa7) | github.com/getsentry/raven-js */ +/*! Raven.js 3.6.0 (c474a32) | 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/console.js b/dist/plugins/console.js index 22557f9296a5..eaf52ae1050e 100644 --- a/dist/plugins/console.js +++ b/dist/plugins/console.js @@ -1,4 +1,4 @@ -/*! Raven.js 3.5.1 (bef9fa7) | github.com/getsentry/raven-js */ +/*! Raven.js 3.6.0 (c474a32) | github.com/getsentry/raven-js */ /* * Includes TraceKit diff --git a/dist/plugins/console.min.js b/dist/plugins/console.min.js index d8a731d969b1..0418b06fd45c 100644 --- a/dist/plugins/console.min.js +++ b/dist/plugins/console.min.js @@ -1,3 +1,3 @@ -/*! Raven.js 3.5.1 (bef9fa7) | github.com/getsentry/raven-js */ +/*! Raven.js 3.6.0 (c474a32) | 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 040a15f90925..400e2b5554aa 100644 --- a/dist/plugins/ember.js +++ b/dist/plugins/ember.js @@ -1,4 +1,4 @@ -/*! Raven.js 3.5.1 (bef9fa7) | github.com/getsentry/raven-js */ +/*! Raven.js 3.6.0 (c474a32) | github.com/getsentry/raven-js */ /* * Includes TraceKit diff --git a/dist/plugins/ember.min.js b/dist/plugins/ember.min.js index 96b1bc45e1b7..e51eb1ce6b88 100644 --- a/dist/plugins/ember.min.js +++ b/dist/plugins/ember.min.js @@ -1,3 +1,3 @@ -/*! Raven.js 3.5.1 (bef9fa7) | github.com/getsentry/raven-js */ +/*! Raven.js 3.6.0 (c474a32) | 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 e8bcdc805f9c..52b17da85a16 100644 --- a/dist/plugins/require.js +++ b/dist/plugins/require.js @@ -1,4 +1,4 @@ -/*! Raven.js 3.5.1 (bef9fa7) | github.com/getsentry/raven-js */ +/*! Raven.js 3.6.0 (c474a32) | github.com/getsentry/raven-js */ /* * Includes TraceKit diff --git a/dist/plugins/require.min.js b/dist/plugins/require.min.js index 5b88bcc10e69..9b43c1eed1c3 100644 --- a/dist/plugins/require.min.js +++ b/dist/plugins/require.min.js @@ -1,3 +1,3 @@ -/*! Raven.js 3.5.1 (bef9fa7) | github.com/getsentry/raven-js */ +/*! Raven.js 3.6.0 (c474a32) | 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/plugins/vue.js b/dist/plugins/vue.js index 36787a006f5a..aa526b241058 100644 --- a/dist/plugins/vue.js +++ b/dist/plugins/vue.js @@ -1,4 +1,4 @@ -/*! Raven.js 3.5.1 (bef9fa7) | github.com/getsentry/raven-js */ +/*! Raven.js 3.6.0 (c474a32) | github.com/getsentry/raven-js */ /* * Includes TraceKit diff --git a/dist/plugins/vue.min.js b/dist/plugins/vue.min.js index b46a8f0533b3..78f6bd9fa24c 100644 --- a/dist/plugins/vue.min.js +++ b/dist/plugins/vue.min.js @@ -1,3 +1,3 @@ -/*! Raven.js 3.5.1 (bef9fa7) | github.com/getsentry/raven-js */ +/*! Raven.js 3.6.0 (c474a32) | 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.Vue=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.Vue,b&&b.config){var c=b.config.errorHandler;b.config.errorHandler=function(d,e){a.captureException(d,{extra:{componentName:b.util.formatComponentName(e),propsData:e.$options.propsData}}),"function"==typeof c&&c.call(this,d,e)}}}b.exports=d},{}]},{},[1])(1)}); //# sourceMappingURL=vue.min.js.map \ No newline at end of file diff --git a/dist/raven.js b/dist/raven.js index 6ffb870c4260..47ce54649acb 100644 --- a/dist/raven.js +++ b/dist/raven.js @@ -1,4 +1,4 @@ -/*! Raven.js 3.5.1 (bef9fa7) | github.com/getsentry/raven-js */ +/*! Raven.js 3.6.0 (c474a32) | github.com/getsentry/raven-js */ /* * Includes TraceKit @@ -182,7 +182,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.5.1', + VERSION: '3.6.0', debug: false, @@ -216,11 +216,7 @@ Raven.prototype = { }); } - var uri = this._parseDSN(dsn), - lastSlash = uri.path.lastIndexOf('/'), - path = uri.path.substr(1, lastSlash); - - this._dsn = dsn; + this.setDSN(dsn); // "Script error." is hard coded into browsers for errors that it can't read. // this is the result of a script being pulled in from an external domain and CORS. @@ -249,15 +245,6 @@ Raven.prototype = { } this._globalOptions.autoBreadcrumbs = autoBreadcrumbs; - this._globalKey = uri.user; - this._globalSecret = uri.pass && uri.pass.substr(1); - this._globalProject = uri.path.substr(lastSlash + 1); - - this._globalServer = this._getGlobalServer(uri); - - this._globalEndpoint = this._globalServer + - '/' + path + 'api/' + this._globalProject + '/store/'; - TraceKit.collectWindowErrors = !!this._globalOptions.collectWindowErrors; // return for chaining @@ -292,6 +279,27 @@ Raven.prototype = { return this; }, + /* + * Set the DSN (can be called multiple time unlike config) + * + * @param {string} dsn The public Sentry DSN + */ + setDSN: function(dsn) { + var uri = this._parseDSN(dsn), + lastSlash = uri.path.lastIndexOf('/'), + path = uri.path.substr(1, lastSlash); + + this._dsn = dsn; + this._globalKey = uri.user; + this._globalSecret = uri.pass && uri.pass.substr(1); + this._globalProject = uri.path.substr(lastSlash + 1); + + this._globalServer = this._getGlobalServer(uri); + + this._globalEndpoint = this._globalServer + + '/' + path + 'api/' + this._globalProject + '/store/'; + }, + /* * Wrap code within a context so Raven can capture errors * reliably across domains that is executed immediately. @@ -418,7 +426,12 @@ Raven.prototype = { */ captureException: function(ex, options) { // If not an Error is passed through, recall as a message instead - if (!isError(ex)) return this.captureMessage(ex, options); + if (!isError(ex)) { + return this.captureMessage(ex, objectMerge({ + trimHeadFrames: 1, + stacktrace: true // if we fall back to captureMessage, default to attempting a new trace + }, options)); + } // Store the raw exception object for potential debugging and introspection this._lastCapturedException = ex; @@ -455,12 +468,41 @@ Raven.prototype = { return; } + var data = objectMerge({ + message: msg + '' // Make sure it's actually a string + }, options); + + if (options && options.stacktrace) { + var ex; + // create a stack trace from this point; just trim + // off extra frames so they don't include this function call (or + // earlier Raven.js library fn calls) + try { + throw new Error(msg); + } catch (ex1) { + ex = ex1; + } + + // null exception name so `Error` isn't prefixed to msg + ex.name = null; + + options = objectMerge({ + // fingerprint on msg, not stack trace (legacy behavior, could be + // revisited) + fingerprint: msg, + trimHeadFrames: (options.trimHeadFrames || 0) + 1 + }, options); + + var stack = TraceKit.computeStackTrace(ex); + var frames = this._prepareFrames(stack, options); + data.stacktrace = { + // Sentry expects frames oldest to newest + frames: frames.reverse() + } + } + // Fire away! - this._send( - objectMerge({ - message: msg + '' // Make sure it's actually a string - }, options) - ); + this._send(data); return this; }, @@ -474,6 +516,7 @@ Raven.prototype = { if (this._breadcrumbs.length > this._globalOptions.maxBreadcrumbs) { this._breadcrumbs.shift(); } + return this; }, addPlugin: function(plugin /*arg1, arg2, ... argN*/) { @@ -1158,17 +1201,7 @@ Raven.prototype = { }, _handleStackInfo: function(stackInfo, options) { - var self = this; - var frames = []; - - if (stackInfo.stack && stackInfo.stack.length) { - each(stackInfo.stack, function(i, stack) { - var frame = self._normalizeFrame(stack); - if (frame) { - frames.push(frame); - } - }); - } + var frames = this._prepareFrames(stackInfo, options); this._triggerEvent('handle', { stackInfo: stackInfo, @@ -1180,11 +1213,36 @@ Raven.prototype = { stackInfo.message, stackInfo.url, stackInfo.lineno, - frames.slice(0, this._globalOptions.stackTraceLimit), + frames, options ); }, + _prepareFrames: function(stackInfo, options) { + var self = this; + var frames = []; + if (stackInfo.stack && stackInfo.stack.length) { + each(stackInfo.stack, function(i, stack) { + var frame = self._normalizeFrame(stack); + if (frame) { + frames.push(frame); + } + }); + + // e.g. frames captured via captureMessage throw + if (options && options.trimHeadFrames) { + for (var j = 0; j < options.trimHeadFrames && j < frames.length; j++) { + frames[j].in_app = false; + } + // ... delete to prevent from appearing in outbound payload + delete options.trimHeadFrames; + } + } + frames = frames.slice(0, this._globalOptions.stackTraceLimit); + return frames; + }, + + _normalizeFrame: function(frame) { if (!frame.url) return; @@ -1210,7 +1268,6 @@ Raven.prototype = { _processException: function(type, message, fileurl, lineno, frames, options) { var stacktrace; - if (!!this._globalOptions.ignoreErrors.test && this._globalOptions.ignoreErrors.test(message)) return; message += ''; diff --git a/dist/raven.min.js b/dist/raven.min.js index 062a41b6fd31..726cdad1dda7 100644 --- a/dist/raven.min.js +++ b/dist/raven.min.js @@ -1,3 +1,3 @@ -/*! Raven.js 3.5.1 (bef9fa7) | 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,autoBreadcrumbs:!0},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=null,this.t=window.location,this.u=this.t&&this.t.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=h.fill,y=a(3).wrapMethod,z="source protocol user pass host port path".split(" "),A=/^(?:(\w+):)?\/\/(?:(\w+)(:\w+)?@)?([\w\.-]+)(?::(\d+))?(\/.*)/;e.prototype={VERSION:"3.5.1",debug:!1,TraceKit:f,config:function(a,b){var c=this;if(this.e)return this.v("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.w(a),e=d.path.lastIndexOf("/"),g=d.path.substr(1,e);this.x=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.i.maxBreadcrumbs=Math.max(0,Math.min(this.i.maxBreadcrumbs||100,100));var h={xhr:!0,console:!0,dom:!0,location:!0},i=this.i.autoBreadcrumbs;return"[object Object]"==={}.toString.call(i)?i=q(h,i):i!==!1&&(i=h),this.i.autoBreadcrumbs=i,this.f=d.user,this.y=d.pass&&d.pass.substr(1),this.g=d.path.substr(e+1),this.e=this.z(d),this.A=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.B.apply(a,arguments)}),this.C(),a.i.autoBreadcrumbs&&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.i.maxBreadcrumbs&&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.v("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.x;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.z(this.w(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.s!==c){b.s=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.t.href),d=v(b),e=v(a);this.u=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}})},C:function(){function a(a){return function(b,d){for(var e=new Array(arguments.length),f=0;e.length>f;++f)e[f]=arguments[f];var g=e[0];return j(g)&&(e[0]=c.wrap(g)),a.apply?a.apply(this,e):a(e[0],e[1])}}function b(a){var b=window[a]&&window[a].prototype;b&&b.hasOwnProperty&&b.hasOwnProperty("addEventListener")&&(x(b,"addEventListener",function(b){return function(d,f,g,h){try{f&&f.handleEvent&&(f.handleEvent=c.wrap(f.handleEvent))}catch(i){}var j;return e&&e.dom&&("EventTarget"===a||"Node"===a)&&("click"===d?j=c.O(d):"keypress"===d&&(j=c.Q())),b.call(this,d,c.wrap(f,void 0,j),g,h)}},d),x(b,"removeEventListener",function(a){return function(b,c,d,e){return c=c&&(c.H?c.H:c),a.call(this,b,c,d,e)}},d))}var c=this,d=c.q,e=this.i.autoBreadcrumbs;x(window,"setTimeout",a,d),x(window,"setInterval",a,d),window.requestAnimationFrame&&x(window,"requestAnimationFrame",function(a){return function(b){return a(c.wrap(b))}},d);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++)b(f[g]);var h=window.jQuery||window.$;h&&h.fn&&h.fn.ready&&x(h.fn,"ready",function(a){return function(b){return a.call(this,c.wrap(b))}},d)},D:function(){function a(a,c){a in c&&j(c[a])&&x(c,a,function(a){return b.wrap(a)})}var b=this,c=this.i.autoBreadcrumbs,d=b.q;if(c.xhr&&"XMLHttpRequest"in window){var e=XMLHttpRequest.prototype;x(e,"open",function(a){return function(c,d){return w(d)&&-1===d.indexOf(b.f)&&(this.S={method:c,url:d,status_code:null}),a.apply(this,arguments)}},d),x(e,"send",function(c){return function(d){function e(){if(f.S&&(1===f.readyState||4===f.readyState)){try{f.S.status_code=f.status}catch(a){}b.captureBreadcrumb({type:"http",category:"xhr",data:f.S})}}for(var f=this,g=["onload","onerror","onprogress"],h=0;g.length>h;h++)a(g[h],f);return"onreadystatechange"in f&&j(f.onreadystatechange)?x(f,"onreadystatechange",function(a){return b.wrap(a,void 0,e)}):f.onreadystatechange=e,c.apply(this,arguments)}},d)}c.dom&&this.b&&(document.addEventListener?(document.addEventListener("click",b.O("click"),!1),document.addEventListener("keypress",b.Q(),!1)):(document.attachEvent("onclick",b.O("click")),document.attachEvent("onkeypress",b.Q())));var f=window.chrome,g=f&&f.app&&f.app.runtime,h=!g&&window.history&&history.pushState;if(c.location&&h){var i=window.onpopstate;window.onpopstate=function(){var a=b.t.href;return b.R(b.u,a),i?i.apply(this,arguments):void 0},x(history,"pushState",function(a){return function(){var c=arguments.length>2?arguments[2]:void 0;return c&&b.R(b.u,c+""),a.apply(this,arguments)}},d)}if(c.console&&"console"in window&&console.log){var k=function(a,c){b.captureBreadcrumb({message:a,level:c.level,category:"console"})};p(["debug","info","warn","error","log"],function(a,b){y(console,b,k)})}},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))})},w:function(a){var b=A.exec(a),c={},d=7;try{for(;d--;)c[z[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},z:function(a){var b="//"+a.host+(a.port?":"+a.port:"");return a.protocol&&(b=a.protocol+":"+b),b},B: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.v("debug","Raven about to send:",a),this.isSetup()){var e={sentry_version:"7",sentry_client:"raven-js/"+this.VERSION,sentry_key:this.f};this.y&&(e.sentry_secret=this.y);var f=a.exception&&a.exception.values[0];this.captureBreadcrumb({category:"sentry",message:f?(f.type?f.type+": ":"")+f.value:a.message,event_id:a.event_id,level:a.level||"error"});var g=this.A;(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))}},v: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]"===u.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=u.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 u.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("")}function t(a,b,c,d){var e=a[b];a[b]=c(e),d&&d.push([a,b,e])}var u=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,fill:t}},{}],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.6.0 (c474a32) | 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,autoBreadcrumbs:!0},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=null,this.t=window.location,this.u=this.t&&this.t.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=h.fill,y=a(3).wrapMethod,z="source protocol user pass host port path".split(" "),A=/^(?:(\w+):)?\/\/(?:(\w+)(:\w+)?@)?([\w\.-]+)(?::(\d+))?(\/.*)/;e.prototype={VERSION:"3.6.0",debug:!1,TraceKit:f,config:function(a,b){var c=this;if(this.e)return this.v("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}),this.setDSN(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.i.maxBreadcrumbs=Math.max(0,Math.min(this.i.maxBreadcrumbs||100,100));var d={xhr:!0,console:!0,dom:!0,location:!0},e=this.i.autoBreadcrumbs;return"[object Object]"==={}.toString.call(e)?e=q(d,e):e!==!1&&(e=d),this.i.autoBreadcrumbs=e,f.collectWindowErrors=!!this.i.collectWindowErrors,this},install:function(){var a=this;return this.isSetup()&&!this.k&&(f.report.subscribe(function(){a.w.apply(a,arguments)}),this.x(),a.i.autoBreadcrumbs&&this.y(),this.z(),this.k=!0),Error.stackTraceLimit=this.i.stackTraceLimit,this},setDSN:function(a){var b=this.A(a),c=b.path.lastIndexOf("/"),d=b.path.substr(1,c);this.B=a,this.f=b.user,this.C=b.pass&&b.pass.substr(1),this.g=b.path.substr(c+1),this.e=this.D(b),this.E=this.e+"/"+d+"api/"+this.g+"/store/"},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,q({trimHeadFrames:1,stacktrace:!0},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){if(!this.i.ignoreErrors.test||!this.i.ignoreErrors.test(a)){var c=q({message:a+""},b);if(b&&b.stacktrace){var d;try{throw new Error(a)}catch(e){d=e}d.name=null,b=q({fingerprint:a,trimHeadFrames:(b.trimHeadFrames||0)+1},b);var g=f.computeStackTrace(d),h=this.L(g,b);c.stacktrace={frames:h.reverse()}}return this.M(c),this}},captureBreadcrumb:function(a){var b=q({timestamp:d()/1e3},a);return this.r.push(b),this.r.length>this.i.maxBreadcrumbs&&this.r.shift(),this},addPlugin:function(a){var b=Array.prototype.slice.call(arguments,1);return this.o.push([a,b]),this.k&&this.z(),this},setUserContext:function(a){return this.h.user=a,this},setExtraContext:function(a){return this.N("extra",a),this},setTagsContext:function(a){return this.N("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.v("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.B;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.D(this.A(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})},O: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){}}},P:function(a){var b=this;return function(c){if(b.Q=null,b.s!==c){b.s=c;var d,e=c.target;try{d=u(e)}catch(f){d=""}b.captureBreadcrumb({category:"ui."+a,message:d})}}},R: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.Q;f||a.P("input")(c),clearTimeout(f),a.Q=setTimeout(function(){a.Q=null},b)}}},S:function(a,b){var c=v(this.t.href),d=v(b),e=v(a);this.u=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}})},x:function(){function a(a){return function(b,d){for(var e=new Array(arguments.length),f=0;e.length>f;++f)e[f]=arguments[f];var g=e[0];return j(g)&&(e[0]=c.wrap(g)),a.apply?a.apply(this,e):a(e[0],e[1])}}function b(a){var b=window[a]&&window[a].prototype;b&&b.hasOwnProperty&&b.hasOwnProperty("addEventListener")&&(x(b,"addEventListener",function(b){return function(d,f,g,h){try{f&&f.handleEvent&&(f.handleEvent=c.wrap(f.handleEvent))}catch(i){}var j;return e&&e.dom&&("EventTarget"===a||"Node"===a)&&("click"===d?j=c.P(d):"keypress"===d&&(j=c.R())),b.call(this,d,c.wrap(f,void 0,j),g,h)}},d),x(b,"removeEventListener",function(a){return function(b,c,d,e){return c=c&&(c.H?c.H:c),a.call(this,b,c,d,e)}},d))}var c=this,d=c.q,e=this.i.autoBreadcrumbs;x(window,"setTimeout",a,d),x(window,"setInterval",a,d),window.requestAnimationFrame&&x(window,"requestAnimationFrame",function(a){return function(b){return a(c.wrap(b))}},d);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++)b(f[g]);var h=window.jQuery||window.$;h&&h.fn&&h.fn.ready&&x(h.fn,"ready",function(a){return function(b){return a.call(this,c.wrap(b))}},d)},y:function(){function a(a,c){a in c&&j(c[a])&&x(c,a,function(a){return b.wrap(a)})}var b=this,c=this.i.autoBreadcrumbs,d=b.q;if(c.xhr&&"XMLHttpRequest"in window){var e=XMLHttpRequest.prototype;x(e,"open",function(a){return function(c,d){return w(d)&&-1===d.indexOf(b.f)&&(this.T={method:c,url:d,status_code:null}),a.apply(this,arguments)}},d),x(e,"send",function(c){return function(d){function e(){if(f.T&&(1===f.readyState||4===f.readyState)){try{f.T.status_code=f.status}catch(a){}b.captureBreadcrumb({type:"http",category:"xhr",data:f.T})}}for(var f=this,g=["onload","onerror","onprogress"],h=0;g.length>h;h++)a(g[h],f);return"onreadystatechange"in f&&j(f.onreadystatechange)?x(f,"onreadystatechange",function(a){return b.wrap(a,void 0,e)}):f.onreadystatechange=e,c.apply(this,arguments)}},d)}c.dom&&this.b&&(document.addEventListener?(document.addEventListener("click",b.P("click"),!1),document.addEventListener("keypress",b.R(),!1)):(document.attachEvent("onclick",b.P("click")),document.attachEvent("onkeypress",b.R())));var f=window.chrome,g=f&&f.app&&f.app.runtime,h=!g&&window.history&&history.pushState;if(c.location&&h){var i=window.onpopstate;window.onpopstate=function(){var a=b.t.href;return b.S(b.u,a),i?i.apply(this,arguments):void 0},x(history,"pushState",function(a){return function(){var c=arguments.length>2?arguments[2]:void 0;return c&&b.S(b.u,c+""),a.apply(this,arguments)}},d)}if(c.console&&"console"in window&&console.log){var k=function(a,c){b.captureBreadcrumb({message:a,level:c.level,category:"console"})};p(["debug","info","warn","error","log"],function(a,b){y(console,b,k)})}},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}},z:function(){var a=this;p(this.o,function(b,c){var d=c[0],e=c[1];d.apply(a,[a].concat(e))})},A:function(a){var b=A.exec(a),c={},d=7;try{for(;d--;)c[z[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},D:function(a){var b="//"+a.host+(a.port?":"+a.port:"");return a.protocol&&(b=a.protocol+":"+b),b},w:function(){this.j||this.K.apply(this,arguments)},K:function(a,b){var c=this.L(a,b);this.O("handle",{stackInfo:a,options:b}),this.U(a.name,a.message,a.url,a.lineno,c,b)},L:function(a,b){var c=this,d=[];if(a.stack&&a.stack.length&&(p(a.stack,function(a,b){var e=c.V(b);e&&d.push(e)}),b&&b.trimHeadFrames)){for(var e=0;b.trimHeadFrames>e&&d.length>e;e++)d[e].in_app=!1;delete b.trimHeadFrames}return d=d.slice(0,this.i.stackTraceLimit)},V: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.M(h)}},W: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},X: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}},M:function(a){var b=this.i,c={project:this.g,logger:b.logger,platform:"javascript"},e=this.X();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.Y(a)},Y:function(a,b){var c=this,d=this.i;if(this.d=a.event_id||(a.event_id=t()),a=this.W(a),this.v("debug","Raven about to send:",a),this.isSetup()){var e={sentry_version:"7",sentry_client:"raven-js/"+this.VERSION,sentry_key:this.f};this.C&&(e.sentry_secret=this.C);var f=a.exception&&a.exception.values[0];this.captureBreadcrumb({category:"sentry",message:f?(f.type?f.type+": ":"")+f.value:a.message,event_id:a.event_id,level:a.level||"error"});var g=this.E;(d.transport||this.Z).call(this,{url:g,auth:e,data:a,options:d,onSuccess:function(){c.O("success",{data:a,src:g}),b&&b()},onError:function(d){c.O("failure",{data:a,src:g}),d=d||new Error("Raven send failed (no additional details provided)"),b&&b(d)}})}},Z: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))}},v:function(a){this.n[a]&&this.debug&&Function.prototype.apply.call(this.n[a],this.m,[].slice.call(arguments,1))},N: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]"===u.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=u.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 u.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("")}function t(a,b,c,d){var e=a[b];a[b]=c(e),d&&d.push([a,b,e])}var u=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,fill:t}},{}],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 1d55e02b710a..35170d5941a0 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","autoBreadcrumbs","_ignoreOnError","_isRavenInstalled","_originalErrorStackTraceLimit","_originalConsole","_originalConsoleMethods","_plugins","_startTime","_wrappedBuiltIns","_breadcrumbs","_lastCapturedEvent","_location","location","_lastHref","href","method","TraceKit","utils","isFunction","isUndefined","isError","isEmptyObject","hasKey","joinRegExp","each","objectMerge","truncate","urlencode","uuid4","htmlTreeAsString","parseUrl","isString","fill","wrapConsoleMethod","dsnKeys","split","dsnPattern","VERSION","debug","config","dsn","options","_logDebug","uri","_parseDSN","lastSlash","path","lastIndexOf","substr","_dsn","maxBreadcrumbs","Math","max","min","autoBreadcrumbDefaults","xhr","dom","toString","user","_globalSecret","pass","_getGlobalServer","_globalEndpoint","install","isSetup","report","subscribe","_handleOnErrorStackInfo","_instrumentTryCatch","_instrumentBreadcrumbs","_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","C","wrapTimeFn","orig","fn","originalCallback","wrapEventTarget","proto","hasOwnProperty","capture","secure","handleEvent","err","before","_keypressEventHandler","wrappedBuiltIns","requestAnimationFrame","cb","eventTargets","$","jQuery","ready","D","wrapProp","prop","xhrproto","XMLHttpRequest","origOpen","url","__raven_xhr","status_code","origSend","onreadystatechangeHandler","readyState","status","type","props","j","onreadystatechange","addEventListener","attachEvent","chrome","isChromePackagedApp","app","runtime","hasPushState","history","pushState","oldOnPopState","onpopstate","currentHref","_captureUrlChange","origPushState","log","consoleMethodCallback","_","J","builtin","E","installer","concat","w","str","m","exec","allowSecretKey","z","port","B","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","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","v","M","setUser","setReleaseContext","6","7",5,"RavenConstructor","_Raven","noConflict","what","objectPrototype","isObject","obj1","obj2","object","patterns","pattern","sources","len","source","RegExp","pairs","match","query","fragment","crypto","msCrypto","getRandomValues","arr","Uint16Array","pad","num","c","random","nextStr","MAX_TRAVERSE_HEIGHT","MAX_OUTPUT_LEN","out","height","separator","sepLength","htmlElementAsString","parentNode","className","classes","attr","id","attrWhitelist","getAttribute","replacement","track","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","autoBreadcrumbs","_ignoreOnError","_isRavenInstalled","_originalErrorStackTraceLimit","_originalConsole","_originalConsoleMethods","_plugins","_startTime","_wrappedBuiltIns","_breadcrumbs","_lastCapturedEvent","_location","location","_lastHref","href","method","TraceKit","utils","isFunction","isUndefined","isError","isEmptyObject","hasKey","joinRegExp","each","objectMerge","truncate","urlencode","uuid4","htmlTreeAsString","parseUrl","isString","fill","wrapConsoleMethod","dsnKeys","split","dsnPattern","VERSION","debug","config","dsn","options","_logDebug","setDSN","maxBreadcrumbs","Math","max","min","autoBreadcrumbDefaults","xhr","dom","toString","install","isSetup","report","subscribe","_handleOnErrorStackInfo","_instrumentTryCatch","_instrumentBreadcrumbs","_drainPlugins","uri","_parseDSN","lastSlash","path","lastIndexOf","substr","_dsn","user","_globalSecret","pass","_getGlobalServer","_globalEndpoint","context","func","undefined","wrap","_before","wrapped","deep","_ignoreNextOnError","captureException","__raven__","__raven_wrapper__","property","__inner__","uninstall","_restoreBuiltIns","ex","captureMessage","trimHeadFrames","stacktrace","computeStackTrace","_handleStackInfo","ex1","test","fingerprint","frames","_prepareFrames","reverse","_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","O","eventType","evt","toUpperCase","createEvent","initEvent","createEventObject","dispatchEvent","fireEvent","toLowerCase","P","evtName","_keypressTimeout","target","elem","category","R","debounceDuration","tagName","timeout","_breadcrumbEventHandler","clearTimeout","S","from","to","parsedLoc","parsedTo","parsedFrom","protocol","host","relative","x","wrapTimeFn","orig","fn","originalCallback","wrapEventTarget","proto","hasOwnProperty","capture","secure","handleEvent","err","before","_keypressEventHandler","wrappedBuiltIns","requestAnimationFrame","cb","eventTargets","$","jQuery","ready","y","wrapProp","prop","xhrproto","XMLHttpRequest","origOpen","url","__raven_xhr","status_code","origSend","onreadystatechangeHandler","readyState","status","type","props","j","onreadystatechange","addEventListener","attachEvent","chrome","isChromePackagedApp","app","runtime","hasPushState","history","pushState","oldOnPopState","onpopstate","currentHref","_captureUrlChange","origPushState","log","consoleMethodCallback","_","J","builtin","z","installer","concat","A","str","m","exec","allowSecretKey","D","port","w","K","stackInfo","_triggerEvent","_processException","lineno","L","frame","_normalizeFrame","in_app","V","normalized","filename","line","colno","column","function","U","fileurl","exception","values","culprit","W","X","httpData","headers","User-Agent","navigator","userAgent","referrer","Referer","M","globalOptions","baseData","project","platform","_getHttpData","request","breadcrumbs","serverName","server_name","_sendProcessedPayload","Y","event_id","_trimPacket","auth","sentry_version","sentry_client","sentry_key","sentry_secret","_makeRequest","onSuccess","onError","error","Z","opts","handler","hasCORS","XDomainRequest","replace","onload","open","send","v","N","setUser","setReleaseContext","6","7",5,"RavenConstructor","_Raven","noConflict","what","objectPrototype","isObject","obj1","obj2","object","patterns","pattern","sources","len","source","RegExp","pairs","match","query","fragment","crypto","msCrypto","getRandomValues","arr","Uint16Array","pad","num","c","random","nextStr","MAX_TRAVERSE_HEIGHT","MAX_OUTPUT_LEN","out","height","separator","sepLength","htmlElementAsString","parentNode","className","classes","attr","id","attrWhitelist","getAttribute","replacement","track","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 6f484a40d969..1d6387e1fdaa 100644 --- a/dist/sri.json +++ b/dist/sri.json @@ -1,20 +1,20 @@ { "@dist/raven.js": { "hashes": { - "sha256": "4T6vX55YCKEdsXm2e848GI/Rw7S0w12FN3qHHd14uYA=", - "sha512": "4zFM5q/2zfwVq/jk4+BG6WrlJK5gRMxhz4zfio9N4a6dLY+WAsgUtK8cr8oJ1RZCdehDxzNng5SYc6R9cSEDDA==" + "sha256": "Rheia/eYhjZUCvaSKwK9BYfWSBhA3i2VD9aleTwdh48=", + "sha512": "LveFv8BWO8kKj9fXm/PtKlscTLt2L/pVdXZs9mlPXs6BtpU4wPmOZaor+KYnztYCPGMV/ScdolhTSZDXx7IP0g==" }, "type": null, - "integrity": "sha256-4T6vX55YCKEdsXm2e848GI/Rw7S0w12FN3qHHd14uYA= sha512-4zFM5q/2zfwVq/jk4+BG6WrlJK5gRMxhz4zfio9N4a6dLY+WAsgUtK8cr8oJ1RZCdehDxzNng5SYc6R9cSEDDA==", + "integrity": "sha256-Rheia/eYhjZUCvaSKwK9BYfWSBhA3i2VD9aleTwdh48= sha512-LveFv8BWO8kKj9fXm/PtKlscTLt2L/pVdXZs9mlPXs6BtpU4wPmOZaor+KYnztYCPGMV/ScdolhTSZDXx7IP0g==", "path": "dist/raven.js" }, "@dist/raven.min.js": { "hashes": { - "sha256": "x2kubc5sdO++lP5Rqf1l7yFL+rSm+mTWVnsX0k6FmCU=", - "sha512": "/D4L3w7gMg1T0MtevriHRQj19bFMjnbhZ3CaPelYVyW6P2oaAZQ7J+GctzCR44ahwjQRZwa8Ujw6jSpgHJ5WPg==" + "sha256": "DcSOaOnJG0Y/B7DwqDZRjgMprGgUZJ3FnnV+kpWwIRM=", + "sha512": "Olaakub9v7be7qS5eNiIp7lq7R/LznsT4ps6UNS5oISmrcRM+x3Ns68t+/cU+OuaaQrXmC0F5T2GFFGqS+A1VQ==" }, "type": null, - "integrity": "sha256-x2kubc5sdO++lP5Rqf1l7yFL+rSm+mTWVnsX0k6FmCU= sha512-/D4L3w7gMg1T0MtevriHRQj19bFMjnbhZ3CaPelYVyW6P2oaAZQ7J+GctzCR44ahwjQRZwa8Ujw6jSpgHJ5WPg==", + "integrity": "sha256-DcSOaOnJG0Y/B7DwqDZRjgMprGgUZJ3FnnV+kpWwIRM= sha512-Olaakub9v7be7qS5eNiIp7lq7R/LznsT4ps6UNS5oISmrcRM+x3Ns68t+/cU+OuaaQrXmC0F5T2GFFGqS+A1VQ==", "path": "dist/raven.min.js" } } \ No newline at end of file diff --git a/docs/config.rst b/docs/config.rst index c4b3fd9f7a7a..ed254aaefab5 100644 --- a/docs/config.rst +++ b/docs/config.rst @@ -269,7 +269,7 @@ Putting it all together ... - + + Configuring the Client diff --git a/docs/install.rst b/docs/install.rst index e6950ac6172d..81eb8765f4e8 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 7624460050fa..4a07ad008185 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 b3e4d8d6ebd1..b141dc9bb9c8 100644 --- a/docs/integrations/backbone.rst +++ b/docs/integrations/backbone.rst @@ -8,7 +8,7 @@ Start by adding the ``raven.js`` script tag to your page. It should be loaded as .. sourcecode:: html - + Configuring the Client ---------------------- diff --git a/docs/integrations/ember.rst b/docs/integrations/ember.rst index 33882968544f..d3caaa68697e 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 060cb7e4ad67..74a57f0293e8 100644 --- a/docs/integrations/react.rst +++ b/docs/integrations/react.rst @@ -8,7 +8,7 @@ Start by adding the ``raven.js`` script tag to your page. It should be loaded as .. sourcecode:: html - + Configuring the Client ---------------------- diff --git a/docs/integrations/vue.rst b/docs/integrations/vue.rst index 1a13acea6187..13797544da44 100644 --- a/docs/integrations/vue.rst +++ b/docs/integrations/vue.rst @@ -27,7 +27,7 @@ Example: .. sourcecode:: html - + Note that this CDN build auto-initializes the Vue plugin. diff --git a/package.json b/package.json index 94dd8daf228f..b03bebff3947 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "raven-js", - "version": "3.5.1", + "version": "3.6.0", "license": "BSD-2-Clause", "homepage": "https://github.com/getsentry/raven-js", "scripts": { diff --git a/src/raven.js b/src/raven.js index 558f83af6d3e..cf8b87d2dcb2 100644 --- a/src/raven.js +++ b/src/raven.js @@ -89,7 +89,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.5.1', + VERSION: '3.6.0', debug: false, @@ -206,7 +206,7 @@ Raven.prototype = { this._globalEndpoint = this._globalServer + '/' + path + 'api/' + this._globalProject + '/store/'; }, - + /* * Wrap code within a context so Raven can capture errors * reliably across domains that is executed immediately. diff --git a/test/raven.test.js b/test/raven.test.js index d9ca66a5caa7..7c85ad561eb8 100644 --- a/test/raven.test.js +++ b/test/raven.test.js @@ -1008,7 +1008,7 @@ describe('globals', function() { extra: {'session:duration': 100}, }); assert.deepEqual(opts.auth, { - sentry_client: 'raven-js/3.5.1', + sentry_client: 'raven-js/3.6.0', sentry_key: 'abc', sentry_version: '7' }); @@ -1055,7 +1055,7 @@ describe('globals', function() { extra: {'session:duration': 100}, }); assert.deepEqual(opts.auth, { - sentry_client: 'raven-js/3.5.1', + sentry_client: 'raven-js/3.6.0', sentry_key: 'abc', sentry_secret: 'def', sentry_version: '7'