Comparing version 3.11.0 to 3.12.0
{ | ||
"name": "raven-js", | ||
"version": "3.11.0", | ||
"version": "3.12.0", | ||
"dependencies": {}, | ||
@@ -5,0 +5,0 @@ "main": "dist/raven.js", |
# Changelog | ||
## 3.12.0 | ||
* NEW: Raven.js now attempts to suppress back-to-back duplicate errors by default. See: https://github.com/getsentry/raven-js/pull/861 | ||
* BUGFIX: Fix case where breadcrumb instrumention could sometimes throw errors on custom DOM events. See: https://github.com/getsentry/raven-js/pull/857 | ||
* BUGFIX: Fix Raven.js incorrectly interpreting Retry-After header in ms; should be seconds. See: https://github.com/getsentry/raven-js/pull/862 | ||
## 3.11.0 | ||
@@ -4,0 +9,0 @@ * CHANGE: Raven.js no longer auto-wraps jQuery.ready (if present); fixes jQuery deprecation warnings. See: https://github.com/getsentry/raven-js/pull/849 |
@@ -1,2 +0,2 @@ | ||
/*! Raven.js 3.11.0 (c2f43d7) | github.com/getsentry/raven-js */ | ||
/*! Raven.js 3.11.0 (cb87941) | github.com/getsentry/raven-js */ | ||
@@ -3,0 +3,0 @@ /* |
@@ -1,3 +0,3 @@ | ||
/*! Raven.js 3.11.0 (c2f43d7) | github.com/getsentry/raven-js */ | ||
/*! Raven.js 3.11.0 (cb87941) | 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;g<d.length;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 |
@@ -1,2 +0,2 @@ | ||
/*! Raven.js 3.11.0 (c2f43d7) | github.com/getsentry/raven-js */ | ||
/*! Raven.js 3.11.0 (cb87941) | github.com/getsentry/raven-js */ | ||
@@ -3,0 +3,0 @@ /* |
@@ -1,3 +0,3 @@ | ||
/*! Raven.js 3.11.0 (c2f43d7) | github.com/getsentry/raven-js */ | ||
/*! Raven.js 3.11.0 (cb87941) | 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;g<d.length;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 |
@@ -1,2 +0,2 @@ | ||
/*! Raven.js 3.11.0 (c2f43d7) | github.com/getsentry/raven-js */ | ||
/*! Raven.js 3.11.0 (cb87941) | github.com/getsentry/raven-js */ | ||
@@ -3,0 +3,0 @@ /* |
@@ -1,3 +0,3 @@ | ||
/*! Raven.js 3.11.0 (c2f43d7) | github.com/getsentry/raven-js */ | ||
/*! Raven.js 3.11.0 (cb87941) | 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;g<d.length;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 |
@@ -1,2 +0,2 @@ | ||
/*! Raven.js 3.11.0 (c2f43d7) | github.com/getsentry/raven-js */ | ||
/*! Raven.js 3.11.0 (cb87941) | github.com/getsentry/raven-js */ | ||
@@ -3,0 +3,0 @@ /* |
@@ -1,3 +0,3 @@ | ||
/*! Raven.js 3.11.0 (c2f43d7) | github.com/getsentry/raven-js */ | ||
/*! Raven.js 3.11.0 (cb87941) | 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;g<d.length;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 |
@@ -1,2 +0,2 @@ | ||
/*! Raven.js 3.11.0 (c2f43d7) | github.com/getsentry/raven-js */ | ||
/*! Raven.js 3.11.0 (cb87941) | github.com/getsentry/raven-js */ | ||
@@ -3,0 +3,0 @@ /* |
@@ -1,3 +0,3 @@ | ||
/*! Raven.js 3.11.0 (c2f43d7) | github.com/getsentry/raven-js */ | ||
/*! Raven.js 3.11.0 (cb87941) | 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;g<d.length;g++)e(d[g]);return e}({1:[function(a,b,c){"use strict";function d(a){if(a.$root===a)return"root instance";var b=a._isVue?a.$options.name||a.$options._componentTag:a.name;return(b?"component <"+b+">":"anonymous component")+(a._isVue&&a.$options.__file?" at "+a.$options.__file:"")}function e(a,b){if(b=b||window.Vue,b&&b.config){var c=b.config.errorHandler;b.config.errorHandler=function(b,e){a.captureException(b,{extra:{componentName:d(e),propsData:e.$options.propsData}}),"function"==typeof c&&c.call(this,b,e)}}}b.exports=e},{}]},{},[1])(1)}); | ||
//# sourceMappingURL=vue.min.js.map |
@@ -1,3 +0,3 @@ | ||
/*! Raven.js 3.11.0 (c2f43d7) | 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;g<d.length;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){(function(c){"use strict";function d(){return+new Date}function e(){this.a=!("object"!=typeof JSON||!JSON.stringify),this.b=!f(D),this.c=!f(E),this.d=null,this.e=null,this.f=null,this.g=null,this.h=null,this.i={},this.j={logger:"javascript",ignoreErrors:[],ignoreUrls:[],whitelistUrls:[],includePaths:[],crossOrigin:"anonymous",collectWindowErrors:!0,maxMessageLength:0,stackTraceLimit:50,autoBreadcrumbs:!0},this.k=0,this.l=!1,this.m=Error.stackTraceLimit,this.n=C.console||{},this.o={},this.p=[],this.q=d(),this.r=[],this.s=[],this.t=null,this.u=C.location,this.v=this.u&&this.u.href,this.w();for(var a in this.n)this.o[a]=this.n[a]}function f(a){return void 0===a}function g(a){return"function"==typeof a}function h(a){return"[object String]"===F.toString.call(a)}function i(a){return"object"==typeof a&&null!==a}function j(a){for(var b in a)return!1;return!0}function k(a){var b=F.toString.call(a);return i(a)&&"[object Error]"===b||"[object Exception]"===b||a instanceof Error}function l(a,b){var c,d;if(f(a.length))for(c in a)o(a,c)&&b.call(null,c,a[c]);else if(d=a.length)for(c=0;c<d;c++)b.call(null,c,a[c])}function m(a,b){return b?(l(b,function(b,c){a[b]=c}),a):a}function n(a,b){return!b||a.length<=b?a:a.substr(0,b)+"…"}function o(a,b){return F.hasOwnProperty.call(a,b)}function p(a){for(var b,c=[],d=0,e=a.length;d<e;d++)b=a[d],h(b)?c.push(b.replace(/([.*+?^=!:${}()|\[\]\/\\])/g,"\\$1")):b&&b.source&&c.push(b.source);return new RegExp(c.join("|"),"i")}function q(a){var b=[];return l(a,function(a,c){b.push(encodeURIComponent(a)+"="+encodeURIComponent(c))}),b.join("&")}function r(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 s(){var a=C.crypto||C.msCrypto;if(!f(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);b.length<4;)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 t(a){for(var b,c=5,d=80,e=[],f=0,g=0,h=" > ",i=h.length;a&&f++<c&&(b=u(a),!("html"===b||f>1&&g+e.length*i+b.length>=d));)e.push(b),g+=b.length,a=a.parentNode;return e.reverse().join(h)}function u(a){var b,c,d,e,f,g=[];if(!a||!a.tagName)return"";if(g.push(a.tagName.toLowerCase()),a.id&&g.push("#"+a.id),b=a.className,b&&h(b))for(c=b.split(/\s+/),f=0;f<c.length;f++)g.push("."+c[f]);var i=["type","name","title","alt"];for(f=0;f<i.length;f++)d=i[f],e=a.getAttribute(d),e&&g.push("["+d+'="'+e+'"]');return g.join("")}function v(a,b,c,d){var e=a[b];a[b]=c(e),d&&d.push([a,b,e])}var w=a(6),x=a(2),y=a(1),z=a(3).wrapMethod,A="source protocol user pass host port path".split(" "),B=/^(?:(\w+):)?\/\/(?:(\w+)(:\w+)?@)?([\w\.-]+)(?::(\d+))?(\/.*)/,C="undefined"!=typeof window?window:"undefined"!=typeof c?c:"undefined"!=typeof self?self:{},D=C.document,E=C.navigator;e.prototype={VERSION:"3.11.0",debug:!1,TraceKit:w,config:function(a,b){var c=this;if(c.f)return this.x("error","Error: Raven has already been configured"),c;if(!a)return c;var d=c.j;b&&l(b,function(a,b){"tags"===a||"extra"===a||"user"===a?c.i[a]=b:d[a]=b}),c.setDSN(a),d.ignoreErrors.push(/^Script error\.?$/),d.ignoreErrors.push(/^Javascript error: Script error\.? on line 0$/),d.ignoreErrors=p(d.ignoreErrors),d.ignoreUrls=!!d.ignoreUrls.length&&p(d.ignoreUrls),d.whitelistUrls=!!d.whitelistUrls.length&&p(d.whitelistUrls),d.includePaths=p(d.includePaths),d.maxBreadcrumbs=Math.max(0,Math.min(d.maxBreadcrumbs||100,100));var e={xhr:!0,console:!0,dom:!0,location:!0},f=d.autoBreadcrumbs;return"[object Object]"==={}.toString.call(f)?f=m(e,f):f!==!1&&(f=e),d.autoBreadcrumbs=f,w.collectWindowErrors=!!d.collectWindowErrors,c},install:function(){var a=this;return a.isSetup()&&!a.l&&(w.report.subscribe(function(){a.y.apply(a,arguments)}),a.z(),a.j.autoBreadcrumbs&&a.A(),a.B(),a.l=!0),Error.stackTraceLimit=a.j.stackTraceLimit,this},setDSN:function(a){var b=this,c=b.C(a),d=c.path.lastIndexOf("/"),e=c.path.substr(1,d);b.D=a,b.g=c.user,b.E=c.pass&&c.pass.substr(1),b.h=c.path.substr(d+1),b.f=b.F(c),b.G=b.f+"/"+e+"api/"+b.h+"/store/",this.w()},context:function(a,b,c){return g(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,h=!a||a&&a.deep!==!1;for(c&&g(c)&&c.apply(this,arguments);f--;)d[f]=h?e.wrap(a,arguments[f]):arguments[f];try{return b.apply(this,d)}catch(i){throw e.H(),e.captureException(i,a),i}}var e=this;if(f(b)&&!g(a))return a;if(g(a)&&(b=a,a=void 0),!g(b))return b;try{if(b.I)return b;if(b.J)return b.J}catch(h){return b}for(var i in b)o(b,i)&&(d[i]=b[i]);return d.prototype=b.prototype,b.J=d,d.I=!0,d.K=b,d},uninstall:function(){return w.report.uninstall(),this.L(),Error.stackTraceLimit=this.m,this.l=!1,this},captureException:function(a,b){if(!k(a))return this.captureMessage(a,m({trimHeadFrames:1,stacktrace:!0},b));this.d=a;try{var c=w.computeStackTrace(a);this.M(c,b)}catch(d){if(a!==d)throw d}return this},captureMessage:function(a,b){if(!this.j.ignoreErrors.test||!this.j.ignoreErrors.test(a)){b=b||{};var c=m({message:a+""},b);if(this.j.stacktrace||b&&b.stacktrace){var d;try{throw new Error(a)}catch(e){d=e}d.name=null,b=m({fingerprint:a,trimHeadFrames:(b.trimHeadFrames||0)+1},b);var f=w.computeStackTrace(d),g=this.N(f,b);c.stacktrace={frames:g.reverse()}}return this.O(c),this}},captureBreadcrumb:function(a){var b=m({timestamp:d()/1e3},a);if(g(this.j.breadcrumbCallback)){var c=this.j.breadcrumbCallback(b);if(i(c)&&!j(c))b=c;else if(c===!1)return this}return this.s.push(b),this.s.length>this.j.maxBreadcrumbs&&this.s.shift(),this},addPlugin:function(a){var b=[].slice.call(arguments,1);return this.p.push([a,b]),this.l&&this.B(),this},setUserContext:function(a){return this.i.user=a,this},setExtraContext:function(a){return this.P("extra",a),this},setTagsContext:function(a){return this.P("tags",a),this},clearContext:function(){return this.i={},this},getContext:function(){return JSON.parse(y(this.i))},setEnvironment:function(a){return this.j.environment=a,this},setRelease:function(a){return this.j.release=a,this},setDataCallback:function(a){var b=this.j.dataCallback;return this.j.dataCallback=g(a)?function(c){return a(c,b)}:a,this},setBreadcrumbCallback:function(a){var b=this.j.breadcrumbCallback;return this.j.breadcrumbCallback=g(a)?function(c){return a(c,b)}:a,this},setShouldSendCallback:function(a){var b=this.j.shouldSendCallback;return this.j.shouldSendCallback=g(a)?function(c){return a(c,b)}:a,this},setTransport:function(a){return this.j.transport=a,this},lastException:function(){return this.d},lastEventId:function(){return this.e},isSetup:function(){return!!this.a&&(!!this.f||(this.ravenNotConfiguredError||(this.ravenNotConfiguredError=!0,this.x("error","Error: Raven has not been configured.")),!1))},afterLoad:function(){var a=C.RavenConfig;a&&this.config(a.dsn,a.config).install()},showReportDialog:function(a){if(D){a=a||{};var b=a.eventId||this.lastEventId();if(!b)throw new x("Missing eventId");var c=a.dsn||this.D;if(!c)throw new x("Missing DSN");var d=encodeURIComponent,e="";e+="?eventId="+d(b),e+="&dsn="+d(c);var f=a.user||this.i.user;f&&(f.name&&(e+="&name="+d(f.name)),f.email&&(e+="&email="+d(f.email)));var g=this.F(this.C(c)),h=D.createElement("script");h.async=!0,h.src=g+"/api/embed/error-page/"+e,(D.head||D.body).appendChild(h)}},H:function(){var a=this;this.k+=1,setTimeout(function(){a.k-=1})},Q:function(a,b){var c,d;if(this.b){b=b||{},a="raven"+a.substr(0,1).toUpperCase()+a.substr(1),D.createEvent?(c=D.createEvent("HTMLEvents"),c.initEvent(a,!0,!0)):(c=D.createEventObject(),c.eventType=a);for(d in b)o(b,d)&&(c[d]=b[d]);if(D.createEvent)D.dispatchEvent(c);else try{D.fireEvent("on"+c.eventType.toLowerCase(),c)}catch(e){}}},R:function(a){var b=this;return function(c){if(b.S=null,b.t!==c){b.t=c;var d,e=c.target;try{d=t(e)}catch(f){d="<unknown>"}b.captureBreadcrumb({category:"ui."+a,message:d})}}},T:function(){var a=this,b=1e3;return function(c){var d=c.target,e=d&&d.tagName;if(e&&("INPUT"===e||"TEXTAREA"===e||d.isContentEditable)){var f=a.S;f||a.R("input")(c),clearTimeout(f),a.S=setTimeout(function(){a.S=null},b)}}},U:function(a,b){var c=r(this.u.href),d=r(b),e=r(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}})},z:function(){function a(a){return function(b,d){for(var e=new Array(arguments.length),f=0;f<e.length;++f)e[f]=arguments[f];var h=e[0];return g(h)&&(e[0]=c.wrap(h)),a.apply?a.apply(this,e):a(e[0],e[1])}}function b(a){var b=C[a]&&C[a].prototype;b&&b.hasOwnProperty&&b.hasOwnProperty("addEventListener")&&(v(b,"addEventListener",function(b){return function(d,f,g,h){try{f&&f.handleEvent&&(f.handleEvent=c.wrap(f.handleEvent))}catch(i){}var j,k,l;return e&&e.dom&&("EventTarget"===a||"Node"===a)&&(k=c.R("click"),l=c.T(),j=function(a){if(a)return"click"===a.type?k(a):"keypress"===a.type?l(a):void 0}),b.call(this,d,c.wrap(f,void 0,j),g,h)}},d),v(b,"removeEventListener",function(a){return function(b,c,d,e){try{c=c&&(c.J?c.J:c)}catch(f){}return a.call(this,b,c,d,e)}},d))}var c=this,d=c.r,e=this.j.autoBreadcrumbs;v(C,"setTimeout",a,d),v(C,"setInterval",a,d),C.requestAnimationFrame&&v(C,"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"],h=0;h<f.length;h++)b(f[h])},A:function(){function a(a,c){a in c&&g(c[a])&&v(c,a,function(a){return b.wrap(a)})}var b=this,c=this.j.autoBreadcrumbs,d=b.r;if(c.xhr&&"XMLHttpRequest"in C){var e=XMLHttpRequest.prototype;v(e,"open",function(a){return function(c,d){return h(d)&&d.indexOf(b.g)===-1&&(this.V={method:c,url:d,status_code:null}),a.apply(this,arguments)}},d),v(e,"send",function(c){return function(d){function e(){if(f.V&&(1===f.readyState||4===f.readyState)){try{f.V.status_code=f.status}catch(a){}b.captureBreadcrumb({type:"http",category:"xhr",data:f.V})}}for(var f=this,h=["onload","onerror","onprogress"],i=0;i<h.length;i++)a(h[i],f);return"onreadystatechange"in f&&g(f.onreadystatechange)?v(f,"onreadystatechange",function(a){return b.wrap(a,void 0,e)}):f.onreadystatechange=e,c.apply(this,arguments)}},d)}c.xhr&&"fetch"in C&&v(C,"fetch",function(a){return function(c,d){for(var e=new Array(arguments.length),f=0;f<e.length;++f)e[f]=arguments[f];var g="GET";e[1]&&e[1].method&&(g=e[1].method);var h={method:g,url:e[0],status_code:null};return b.captureBreadcrumb({type:"http",category:"fetch",data:h}),a.apply(this,e).then(function(a){return h.status_code=a.status,a})}},d),c.dom&&this.b&&(D.addEventListener?(D.addEventListener("click",b.R("click"),!1),D.addEventListener("keypress",b.T(),!1)):(D.attachEvent("onclick",b.R("click")),D.attachEvent("onkeypress",b.T())));var f=C.chrome,i=f&&f.app&&f.app.runtime,j=!i&&C.history&&history.pushState;if(c.location&&j){var k=C.onpopstate;C.onpopstate=function(){var a=b.u.href;if(b.U(b.v,a),k)return k.apply(this,arguments)},v(history,"pushState",function(a){return function(){var c=arguments.length>2?arguments[2]:void 0;return c&&b.U(b.v,c+""),a.apply(this,arguments)}},d)}if(c.console&&"console"in C&&console.log){var m=function(a,c){b.captureBreadcrumb({message:a,level:c.level,category:"console"})};l(["debug","info","warn","error","log"],function(a,b){z(console,b,m)})}},L:function(){for(var a;this.r.length;){a=this.r.shift();var b=a[0],c=a[1],d=a[2];b[c]=d}},B:function(){var a=this;l(this.p,function(b,c){var d=c[0],e=c[1];d.apply(a,[a].concat(e))})},C:function(a){var b=B.exec(a),c={},d=7;try{for(;d--;)c[A[d]]=b[d]||""}catch(e){throw new x("Invalid DSN: "+a)}if(c.pass&&!this.j.allowSecretKey)throw new x("Do not specify your secret key in the DSN. See: http://bit.ly/raven-secret-key");return c},F:function(a){var b="//"+a.host+(a.port?":"+a.port:"");return a.protocol&&(b=a.protocol+":"+b),b},y:function(){this.k||this.M.apply(this,arguments)},M:function(a,b){var c=this.N(a,b);this.Q("handle",{stackInfo:a,options:b}),this.W(a.name,a.message,a.url,a.lineno,c,b)},N:function(a,b){var c=this,d=[];if(a.stack&&a.stack.length&&(l(a.stack,function(a,b){var e=c.X(b);e&&d.push(e)}),b&&b.trimHeadFrames))for(var e=0;e<b.trimHeadFrames&&e<d.length;e++)d[e].in_app=!1;return d=d.slice(0,this.j.stackTraceLimit)},X:function(a){if(a.url){var b={filename:a.url,lineno:a.line,colno:a.column,"function":a.func||"?"};return b.in_app=!(this.j.includePaths.test&&!this.j.includePaths.test(b.filename)||/(Raven|TraceKit)\./.test(b["function"])||/raven\.(min\.)?js$/.test(b.filename)),b}},W:function(a,b,c,d,e,f){var g;if((!this.j.ignoreErrors.test||!this.j.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.j.ignoreUrls.test||!this.j.ignoreUrls.test(c))&&(!this.j.whitelistUrls.test||this.j.whitelistUrls.test(c)))){var h=m({exception:{values:[{type:a,value:b,stacktrace:g}]},culprit:c},f);this.O(h)}},Y:function(a){var b=this.j.maxMessageLength;if(a.message&&(a.message=n(a.message,b)),a.exception){var c=a.exception.values[0];c.value=n(c.value,b)}return a},Z:function(){if(this.c||this.b){var a={};return this.c&&E.userAgent&&(a.headers={"User-Agent":navigator.userAgent}),this.b&&(D.location&&D.location.href&&(a.url=D.location.href),D.referrer&&(a.headers||(a.headers={}),a.headers.Referer=D.referrer)),a}},w:function(){this.$=0,this._=null},aa:function(){return this.$&&d()-this._<this.$},ba:function(a){if(!this.aa()){var b=a.status;if(400===b||401===b||429===b){var c;try{c=a.getResponseHeader("Retry-After"),c=parseInt(c,10)}catch(e){}this.$=c?c:2*this.$||1e3,this._=d()}}},O:function(a){var b=this.j,c={project:this.h,logger:b.logger,platform:"javascript"},e=this.Z();if(e&&(c.request=e),a.trimHeadFrames&&delete a.trimHeadFrames,a=m(c,a),a.tags=m(m({},this.i.tags),a.tags),a.extra=m(m({},this.i.extra),a.extra),a.extra["session:duration"]=d()-this.q,this.s&&this.s.length>0&&(a.breadcrumbs={values:[].slice.call(this.s,0)}),j(a.tags)&&delete a.tags,this.i.user&&(a.user=this.i.user),b.environment&&(a.environment=b.environment),b.release&&(a.release=b.release),b.serverName&&(a.server_name=b.serverName),g(b.dataCallback)&&(a=b.dataCallback(a)||a),a&&!j(a)&&(!g(b.shouldSendCallback)||b.shouldSendCallback(a)))return this.aa()?void this.x("warn","Raven dropped error due to backoff: ",a):void this.ca(a)},da:function(){return s()},ca:function(a,b){var c=this,d=this.j;if(this.isSetup()){this.e=a.event_id||(a.event_id=this.da()),a=this.Y(a),this.x("debug","Raven about to send:",a);var e={sentry_version:"7",sentry_client:"raven-js/"+this.VERSION,sentry_key:this.g};this.E&&(e.sentry_secret=this.E);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.G;(d.transport||this.ea).call(this,{url:g,auth:e,data:a,options:d,onSuccess:function(){c.w(),c.Q("success",{data:a,src:g}),b&&b()},onError:function(d){c.x("error","Raven transport failed to send: ",d),d.request&&c.ba(d.request),c.Q("failure",{data:a,src:g}),d=d||new Error("Raven send failed (no additional details provided)"),b&&b(d)}})}},ea:function(a){function b(){if(200===c.status)a.onSuccess&&a.onSuccess();else if(a.onError){var b=new Error("Sentry error code: "+c.status);b.request=c,a.onError(b)}}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+"?"+q(a.auth)),c.send(y(a.data))}},x:function(a){this.o[a]&&this.debug&&Function.prototype.apply.call(this.o[a],this.n,[].slice.call(arguments,1))},P:function(a,b){f(b)?delete this.i[a]:this.i[a]=m(this.i[a]||{},b)}};var F=Object.prototype;e.prototype.setUser=e.prototype.setUserContext,e.prototype.setReleaseContext=e.prototype.setRelease,b.exports=e}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{1:1,2:2,3:3,6:6}],5:[function(a,b,c){(function(c){"use strict";var d=a(4),e="undefined"!=typeof window?window:"undefined"!=typeof c?c:"undefined"!=typeof self?self:{},f=e.Raven,g=new d;g.noConflict=function(){return e.Raven=f,g},g.afterLoad(),b.exports=g}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{4:4}],6:[function(a,b,c){(function(a){"use strict";function c(){return"undefined"==typeof document||"undefined"==typeof document.location?"":document.location.href}var d={collectWindowErrors:!0,debug:!1},e="undefined"!=typeof window?window:"undefined"!=typeof a?a:"undefined"!=typeof self?self:{},f=[].slice,g="?",h=/^(?:Uncaught (?:exception: )?)?((?:Eval|Internal|Range|Reference|Syntax|Type|URI)Error): ?(.*)$/;d.report=function(){function a(a){l(),r.push(a)}function b(a){for(var b=r.length-1;b>=0;--b)r[b]===a&&r.splice(b,1)}function i(){m(),r=[]}function j(a,b){var c=null;if(!b||d.collectWindowErrors){for(var e in r)if(r.hasOwnProperty(e))try{r[e].apply(null,[a].concat(f.call(arguments,2)))}catch(g){c=g}if(c)throw c}}function k(a,b,e,f,i){var k=null;if(u)d.computeStackTrace.augmentStackTraceWithInitialElement(u,b,e,a),n();else if(i)k=d.computeStackTrace(i),j(k,!0);else{var l,m={url:b,line:e,column:f},o=void 0,q=a;if("[object String]"==={}.toString.call(a)){var l=a.match(h);l&&(o=l[1],q=l[2])}m.func=g,k={name:o,message:q,url:c(),stack:[m]},j(k,!0)}return!!p&&p.apply(this,arguments)}function l(){q||(p=e.onerror,e.onerror=k,q=!0)}function m(){q&&(e.onerror=p,q=!1,p=void 0)}function n(){var a=u,b=s;s=null,u=null,t=null,j.apply(null,[a,!1].concat(b))}function o(a,b){var c=f.call(arguments,1);if(u){if(t===a)return;n()}var e=d.computeStackTrace(a);if(u=e,t=a,s=c,setTimeout(function(){t===a&&n()},e.incomplete?2e3:0),b!==!1)throw a}var p,q,r=[],s=null,t=null,u=null;return o.subscribe=a,o.unsubscribe=b,o.uninstall=i,o}(),d.computeStackTrace=function(){function a(a){if("undefined"!=typeof a.stack&&a.stack){for(var b,d,e=/^\s*at (.*?) ?\(((?:file|https?|blob|chrome-extension|native|eval|<anonymous>).*?)(?::(\d+))?(?::(\d+))?\)?\s*$/i,f=/^\s*(.*?)(?:\((.*?)\))?(?:^|@)((?:file|https?|blob|chrome|resource|\[native).*?)(?::(\d+))?(?::(\d+))?\s*$/i,h=/^\s*at (?:((?:\[object object\])?.+) )?\(?((?:file|ms-appx|https?|blob):.*?):(\d+)(?::(\d+))?\)?\s*$/i,i=a.stack.split("\n"),j=[],k=(/^(.*) is undefined$/.exec(a.message),0),l=i.length;k<l;++k){if(b=e.exec(i[k])){var m=b[2]&&b[2].indexOf("native")!==-1;d={url:m?null:b[2],func:b[1]||g,args:m?[b[2]]:[],line:b[3]?+b[3]:null,column:b[4]?+b[4]:null}}else if(b=h.exec(i[k]))d={url:b[2],func:b[1]||g,args:[],line:+b[3],column:b[4]?+b[4]:null};else{if(!(b=f.exec(i[k])))continue;d={url:b[3],func:b[1]||g,args:b[2]?b[2].split(","):[],line:b[4]?+b[4]:null,column:b[5]?+b[5]:null}}!d.func&&d.line&&(d.func=g),j.push(d)}return j.length?(j[0].column||"undefined"==typeof a.columnNumber||(j[0].column=a.columnNumber+1),{name:a.name,message:a.message,url:c(),stack:j}):null}}function b(a,b,c,d){var e={url:b,line:c};if(e.url&&e.line){if(a.incomplete=!1,e.func||(e.func=g),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 e(a,h){for(var i,j,k=/function\s+([_$a-zA-Z\xA0-\uFFFF][_$a-zA-Z0-9\xA0-\uFFFF]*)?\s*\(/i,l=[],m={},n=!1,o=e.caller;o&&!n;o=o.caller)if(o!==f&&o!==d.report){if(j={url:null,func:g,line:null,column:null},o.name?j.func=o.name:(i=k.exec(o.toString()))&&(j.func=i[1]),"undefined"==typeof j.func)try{j.func=i.input.substring(0,i.input.indexOf("{"))}catch(p){}m[""+o]?n=!0:m[""+o]=!0,l.push(j)}h&&l.splice(0,h);var q={name:a.name,message:a.message,url:c(),stack:l};return b(q,a.sourceURL||a.fileName,a.line||a.lineNumber,a.message||a.description),q}function f(b,f){var g=null;f=null==f?0:+f;try{if(g=a(b))return g}catch(h){if(d.debug)throw h}try{if(g=e(b,f+1))return g}catch(h){if(d.debug)throw h}return{name:b.name,message:b.message,url:c()}}return f.augmentStackTraceWithInitialElement=b,f.computeStackTraceFromStackProp=a,f}(),b.exports=d}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}]},{},[5])(5)}); | ||
/*! Raven.js 3.11.0 (cb87941) | 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;g<d.length;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){(function(c){"use strict";function d(){return+new Date}function e(){this.a=!("object"!=typeof JSON||!JSON.stringify),this.b=!f(G),this.c=!f(H),this.d=null,this.e=null,this.f=null,this.g=null,this.h=null,this.i=null,this.j={},this.k={logger:"javascript",ignoreErrors:[],ignoreUrls:[],whitelistUrls:[],includePaths:[],crossOrigin:"anonymous",collectWindowErrors:!0,maxMessageLength:0,stackTraceLimit:50,autoBreadcrumbs:!0},this.l=0,this.m=!1,this.n=Error.stackTraceLimit,this.o=F.console||{},this.p={},this.q=[],this.r=d(),this.s=[],this.t=[],this.u=null,this.v=F.location,this.w=this.v&&this.v.href,this.x();for(var a in this.o)this.p[a]=this.o[a]}function f(a){return void 0===a}function g(a){return"function"==typeof a}function h(a){return"[object String]"===I.toString.call(a)}function i(a){return"object"==typeof a&&null!==a}function j(a){for(var b in a)return!1;return!0}function k(a){var b=I.toString.call(a);return i(a)&&"[object Error]"===b||"[object Exception]"===b||a instanceof Error}function l(a,b){var c,d;if(f(a.length))for(c in a)o(a,c)&&b.call(null,c,a[c]);else if(d=a.length)for(c=0;c<d;c++)b.call(null,c,a[c])}function m(a,b){return b?(l(b,function(b,c){a[b]=c}),a):a}function n(a,b){return!b||a.length<=b?a:a.substr(0,b)+"…"}function o(a,b){return I.hasOwnProperty.call(a,b)}function p(a){for(var b,c=[],d=0,e=a.length;d<e;d++)b=a[d],h(b)?c.push(b.replace(/([.*+?^=!:${}()|\[\]\/\\])/g,"\\$1")):b&&b.source&&c.push(b.source);return new RegExp(c.join("|"),"i")}function q(a){var b=[];return l(a,function(a,c){b.push(encodeURIComponent(a)+"="+encodeURIComponent(c))}),b.join("&")}function r(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 s(){var a=F.crypto||F.msCrypto;if(!f(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);b.length<4;)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 t(a){for(var b,c=5,d=80,e=[],f=0,g=0,h=" > ",i=h.length;a&&f++<c&&(b=u(a),!("html"===b||f>1&&g+e.length*i+b.length>=d));)e.push(b),g+=b.length,a=a.parentNode;return e.reverse().join(h)}function u(a){var b,c,d,e,f,g=[];if(!a||!a.tagName)return"";if(g.push(a.tagName.toLowerCase()),a.id&&g.push("#"+a.id),b=a.className,b&&h(b))for(c=b.split(/\s+/),f=0;f<c.length;f++)g.push("."+c[f]);var i=["type","name","title","alt"];for(f=0;f<i.length;f++)d=i[f],e=a.getAttribute(d),e&&g.push("["+d+'="'+e+'"]');return g.join("")}function v(a,b){return!!(!!a^!!b)}function w(a,b){return!v(a,b)&&(a=a.values[0],b=b.values[0],a.type===b.type&&a.value===b.value&&x(a.stacktrace,b.stacktrace))}function x(a,b){if(v(a,b))return!1;var c=a.frames,d=b.frames;if(c.length!==d.length)return!1;for(var e,f,g=0;g<c.length;g++)if(e=c[g],f=d[g],e.filename!==f.filename||e.lineno!==f.lineno||e.colno!==f.colno||e["function"]!==f["function"])return!1;return!0}function y(a,b,c,d){var e=a[b];a[b]=c(e),d&&d.push([a,b,e])}var z=a(6),A=a(2),B=a(1),C=a(3).wrapMethod,D="source protocol user pass host port path".split(" "),E=/^(?:(\w+):)?\/\/(?:(\w+)(:\w+)?@)?([\w\.-]+)(?::(\d+))?(\/.*)/,F="undefined"!=typeof window?window:"undefined"!=typeof c?c:"undefined"!=typeof self?self:{},G=F.document,H=F.navigator;e.prototype={VERSION:"3.11.0",debug:!1,TraceKit:z,config:function(a,b){var c=this;if(c.g)return this.y("error","Error: Raven has already been configured"),c;if(!a)return c;var d=c.k;b&&l(b,function(a,b){"tags"===a||"extra"===a||"user"===a?c.j[a]=b:d[a]=b}),c.setDSN(a),d.ignoreErrors.push(/^Script error\.?$/),d.ignoreErrors.push(/^Javascript error: Script error\.? on line 0$/),d.ignoreErrors=p(d.ignoreErrors),d.ignoreUrls=!!d.ignoreUrls.length&&p(d.ignoreUrls),d.whitelistUrls=!!d.whitelistUrls.length&&p(d.whitelistUrls),d.includePaths=p(d.includePaths),d.maxBreadcrumbs=Math.max(0,Math.min(d.maxBreadcrumbs||100,100));var e={xhr:!0,console:!0,dom:!0,location:!0},f=d.autoBreadcrumbs;return"[object Object]"==={}.toString.call(f)?f=m(e,f):f!==!1&&(f=e),d.autoBreadcrumbs=f,z.collectWindowErrors=!!d.collectWindowErrors,c},install:function(){var a=this;return a.isSetup()&&!a.m&&(z.report.subscribe(function(){a.z.apply(a,arguments)}),a.A(),a.k.autoBreadcrumbs&&a.B(),a.C(),a.m=!0),Error.stackTraceLimit=a.k.stackTraceLimit,this},setDSN:function(a){var b=this,c=b.D(a),d=c.path.lastIndexOf("/"),e=c.path.substr(1,d);b.E=a,b.h=c.user,b.F=c.pass&&c.pass.substr(1),b.i=c.path.substr(d+1),b.g=b.G(c),b.H=b.g+"/"+e+"api/"+b.i+"/store/",this.x()},context:function(a,b,c){return g(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,h=!a||a&&a.deep!==!1;for(c&&g(c)&&c.apply(this,arguments);f--;)d[f]=h?e.wrap(a,arguments[f]):arguments[f];try{return b.apply(this,d)}catch(i){throw e.I(),e.captureException(i,a),i}}var e=this;if(f(b)&&!g(a))return a;if(g(a)&&(b=a,a=void 0),!g(b))return b;try{if(b.J)return b;if(b.K)return b.K}catch(h){return b}for(var i in b)o(b,i)&&(d[i]=b[i]);return d.prototype=b.prototype,b.K=d,d.J=!0,d.L=b,d},uninstall:function(){return z.report.uninstall(),this.M(),Error.stackTraceLimit=this.n,this.m=!1,this},captureException:function(a,b){if(!k(a))return this.captureMessage(a,m({trimHeadFrames:1,stacktrace:!0},b));this.d=a;try{var c=z.computeStackTrace(a);this.N(c,b)}catch(d){if(a!==d)throw d}return this},captureMessage:function(a,b){if(!this.k.ignoreErrors.test||!this.k.ignoreErrors.test(a)){b=b||{};var c=m({message:a+""},b);if(this.k.stacktrace||b&&b.stacktrace){var d;try{throw new Error(a)}catch(e){d=e}d.name=null,b=m({fingerprint:a,trimHeadFrames:(b.trimHeadFrames||0)+1},b);var f=z.computeStackTrace(d),g=this.O(f,b);c.stacktrace={frames:g.reverse()}}return this.P(c),this}},captureBreadcrumb:function(a){var b=m({timestamp:d()/1e3},a);if(g(this.k.breadcrumbCallback)){var c=this.k.breadcrumbCallback(b);if(i(c)&&!j(c))b=c;else if(c===!1)return this}return this.t.push(b),this.t.length>this.k.maxBreadcrumbs&&this.t.shift(),this},addPlugin:function(a){var b=[].slice.call(arguments,1);return this.q.push([a,b]),this.m&&this.C(),this},setUserContext:function(a){return this.j.user=a,this},setExtraContext:function(a){return this.Q("extra",a),this},setTagsContext:function(a){return this.Q("tags",a),this},clearContext:function(){return this.j={},this},getContext:function(){return JSON.parse(B(this.j))},setEnvironment:function(a){return this.k.environment=a,this},setRelease:function(a){return this.k.release=a,this},setDataCallback:function(a){var b=this.k.dataCallback;return this.k.dataCallback=g(a)?function(c){return a(c,b)}:a,this},setBreadcrumbCallback:function(a){var b=this.k.breadcrumbCallback;return this.k.breadcrumbCallback=g(a)?function(c){return a(c,b)}:a,this},setShouldSendCallback:function(a){var b=this.k.shouldSendCallback;return this.k.shouldSendCallback=g(a)?function(c){return a(c,b)}:a,this},setTransport:function(a){return this.k.transport=a,this},lastException:function(){return this.d},lastEventId:function(){return this.f},isSetup:function(){return!!this.a&&(!!this.g||(this.ravenNotConfiguredError||(this.ravenNotConfiguredError=!0,this.y("error","Error: Raven has not been configured.")),!1))},afterLoad:function(){var a=F.RavenConfig;a&&this.config(a.dsn,a.config).install()},showReportDialog:function(a){if(G){a=a||{};var b=a.eventId||this.lastEventId();if(!b)throw new A("Missing eventId");var c=a.dsn||this.E;if(!c)throw new A("Missing DSN");var d=encodeURIComponent,e="";e+="?eventId="+d(b),e+="&dsn="+d(c);var f=a.user||this.j.user;f&&(f.name&&(e+="&name="+d(f.name)),f.email&&(e+="&email="+d(f.email)));var g=this.G(this.D(c)),h=G.createElement("script");h.async=!0,h.src=g+"/api/embed/error-page/"+e,(G.head||G.body).appendChild(h)}},I:function(){var a=this;this.l+=1,setTimeout(function(){a.l-=1})},R:function(a,b){var c,d;if(this.b){b=b||{},a="raven"+a.substr(0,1).toUpperCase()+a.substr(1),G.createEvent?(c=G.createEvent("HTMLEvents"),c.initEvent(a,!0,!0)):(c=G.createEventObject(),c.eventType=a);for(d in b)o(b,d)&&(c[d]=b[d]);if(G.createEvent)G.dispatchEvent(c);else try{G.fireEvent("on"+c.eventType.toLowerCase(),c)}catch(e){}}},S:function(a){var b=this;return function(c){if(b.T=null,b.u!==c){b.u=c;var d;try{d=t(c.target)}catch(e){d="<unknown>"}b.captureBreadcrumb({category:"ui."+a,message:d})}}},U:function(){var a=this,b=1e3;return function(c){var d;try{d=c.target}catch(e){return}var f=d&&d.tagName;if(f&&("INPUT"===f||"TEXTAREA"===f||d.isContentEditable)){var g=a.T;g||a.S("input")(c),clearTimeout(g),a.T=setTimeout(function(){a.T=null},b)}}},V:function(a,b){var c=r(this.v.href),d=r(b),e=r(a);this.w=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}})},A:function(){function a(a){return function(b,d){for(var e=new Array(arguments.length),f=0;f<e.length;++f)e[f]=arguments[f];var h=e[0];return g(h)&&(e[0]=c.wrap(h)),a.apply?a.apply(this,e):a(e[0],e[1])}}function b(a){var b=F[a]&&F[a].prototype;b&&b.hasOwnProperty&&b.hasOwnProperty("addEventListener")&&(y(b,"addEventListener",function(b){return function(d,f,g,h){try{f&&f.handleEvent&&(f.handleEvent=c.wrap(f.handleEvent))}catch(i){}var j,k,l;return e&&e.dom&&("EventTarget"===a||"Node"===a)&&(k=c.S("click"),l=c.U(),j=function(a){if(a){var b;try{b=a.type}catch(c){return}return"click"===b?k(a):"keypress"===b?l(a):void 0}}),b.call(this,d,c.wrap(f,void 0,j),g,h)}},d),y(b,"removeEventListener",function(a){return function(b,c,d,e){try{c=c&&(c.K?c.K:c)}catch(f){}return a.call(this,b,c,d,e)}},d))}var c=this,d=c.s,e=this.k.autoBreadcrumbs;y(F,"setTimeout",a,d),y(F,"setInterval",a,d),F.requestAnimationFrame&&y(F,"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"],h=0;h<f.length;h++)b(f[h])},B:function(){function a(a,c){a in c&&g(c[a])&&y(c,a,function(a){return b.wrap(a)})}var b=this,c=this.k.autoBreadcrumbs,d=b.s;if(c.xhr&&"XMLHttpRequest"in F){var e=XMLHttpRequest.prototype;y(e,"open",function(a){return function(c,d){return h(d)&&d.indexOf(b.h)===-1&&(this.W={method:c,url:d,status_code:null}),a.apply(this,arguments)}},d),y(e,"send",function(c){return function(d){function e(){if(f.W&&(1===f.readyState||4===f.readyState)){try{f.W.status_code=f.status}catch(a){}b.captureBreadcrumb({type:"http",category:"xhr",data:f.W})}}for(var f=this,h=["onload","onerror","onprogress"],i=0;i<h.length;i++)a(h[i],f);return"onreadystatechange"in f&&g(f.onreadystatechange)?y(f,"onreadystatechange",function(a){return b.wrap(a,void 0,e)}):f.onreadystatechange=e,c.apply(this,arguments)}},d)}c.xhr&&"fetch"in F&&y(F,"fetch",function(a){return function(c,d){for(var e=new Array(arguments.length),f=0;f<e.length;++f)e[f]=arguments[f];var g="GET";e[1]&&e[1].method&&(g=e[1].method);var h={method:g,url:e[0],status_code:null};return b.captureBreadcrumb({type:"http",category:"fetch",data:h}),a.apply(this,e).then(function(a){return h.status_code=a.status,a})}},d),c.dom&&this.b&&(G.addEventListener?(G.addEventListener("click",b.S("click"),!1),G.addEventListener("keypress",b.U(),!1)):(G.attachEvent("onclick",b.S("click")),G.attachEvent("onkeypress",b.U())));var f=F.chrome,i=f&&f.app&&f.app.runtime,j=!i&&F.history&&history.pushState;if(c.location&&j){var k=F.onpopstate;F.onpopstate=function(){var a=b.v.href;if(b.V(b.w,a),k)return k.apply(this,arguments)},y(history,"pushState",function(a){return function(){var c=arguments.length>2?arguments[2]:void 0;return c&&b.V(b.w,c+""),a.apply(this,arguments)}},d)}if(c.console&&"console"in F&&console.log){var m=function(a,c){b.captureBreadcrumb({message:a,level:c.level,category:"console"})};l(["debug","info","warn","error","log"],function(a,b){C(console,b,m)})}},M:function(){for(var a;this.s.length;){a=this.s.shift();var b=a[0],c=a[1],d=a[2];b[c]=d}},C:function(){var a=this;l(this.q,function(b,c){var d=c[0],e=c[1];d.apply(a,[a].concat(e))})},D:function(a){var b=E.exec(a),c={},d=7;try{for(;d--;)c[D[d]]=b[d]||""}catch(e){throw new A("Invalid DSN: "+a)}if(c.pass&&!this.k.allowSecretKey)throw new A("Do not specify your secret key in the DSN. See: http://bit.ly/raven-secret-key");return c},G:function(a){var b="//"+a.host+(a.port?":"+a.port:"");return a.protocol&&(b=a.protocol+":"+b),b},z:function(){this.l||this.N.apply(this,arguments)},N:function(a,b){var c=this.O(a,b);this.R("handle",{stackInfo:a,options:b}),this.X(a.name,a.message,a.url,a.lineno,c,b)},O:function(a,b){var c=this,d=[];if(a.stack&&a.stack.length&&(l(a.stack,function(a,b){var e=c.Y(b);e&&d.push(e)}),b&&b.trimHeadFrames))for(var e=0;e<b.trimHeadFrames&&e<d.length;e++)d[e].in_app=!1;return d=d.slice(0,this.k.stackTraceLimit)},Y:function(a){if(a.url){var b={filename:a.url,lineno:a.line,colno:a.column,"function":a.func||"?"};return b.in_app=!(this.k.includePaths.test&&!this.k.includePaths.test(b.filename)||/(Raven|TraceKit)\./.test(b["function"])||/raven\.(min\.)?js$/.test(b.filename)),b}},X:function(a,b,c,d,e,f){var g;if((!this.k.ignoreErrors.test||!this.k.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.k.ignoreUrls.test||!this.k.ignoreUrls.test(c))&&(!this.k.whitelistUrls.test||this.k.whitelistUrls.test(c)))){var h=m({exception:{values:[{type:a,value:b,stacktrace:g}]},culprit:c},f);this.P(h)}},Z:function(a){var b=this.k.maxMessageLength;if(a.message&&(a.message=n(a.message,b)),a.exception){var c=a.exception.values[0];c.value=n(c.value,b)}return a},$:function(){if(this.c||this.b){var a={};return this.c&&H.userAgent&&(a.headers={"User-Agent":navigator.userAgent}),this.b&&(G.location&&G.location.href&&(a.url=G.location.href),G.referrer&&(a.headers||(a.headers={}),a.headers.Referer=G.referrer)),a}},x:function(){this._=0,this.aa=null},ba:function(){return this._&&d()-this.aa<this._},ca:function(a){var b=this.e;return!(!b||a.message!==b.message||a.culprit!==b.culprit)&&(a.stacktrace||b.stacktrace?x(a.stacktrace,b.stacktrace):!a.exception&&!b.exception||w(a.exception,b.exception))},da:function(a){if(!this.ba()){var b=a.status;if(400===b||401===b||429===b){var c;try{c=a.getResponseHeader("Retry-After"),c=1e3*parseInt(c,10)}catch(e){}this._=c?c:2*this._||1e3,this.aa=d()}}},P:function(a){var b=this.k,c={project:this.i,logger:b.logger,platform:"javascript"},e=this.$();if(e&&(c.request=e),a.trimHeadFrames&&delete a.trimHeadFrames,a=m(c,a),a.tags=m(m({},this.j.tags),a.tags),a.extra=m(m({},this.j.extra),a.extra),a.extra["session:duration"]=d()-this.r,this.t&&this.t.length>0&&(a.breadcrumbs={values:[].slice.call(this.t,0)}),j(a.tags)&&delete a.tags,this.j.user&&(a.user=this.j.user),b.environment&&(a.environment=b.environment),b.release&&(a.release=b.release),b.serverName&&(a.server_name=b.serverName),g(b.dataCallback)&&(a=b.dataCallback(a)||a),a&&!j(a)&&(!g(b.shouldSendCallback)||b.shouldSendCallback(a)))return this.ba()?void this.y("warn","Raven dropped error due to backoff: ",a):void this.ea(a)},fa:function(){return s()},ea:function(a,b){var c=this,d=this.k;if(this.isSetup()){if(this.f=a.event_id||(a.event_id=this.fa()),a=this.Z(a),!this.k.allowDuplicates&&this.ca(a))return void this.y("warn","Raven dropped repeat event: ",a);this.e=a,this.y("debug","Raven about to send:",a);var e={sentry_version:"7",sentry_client:"raven-js/"+this.VERSION,sentry_key:this.h};this.F&&(e.sentry_secret=this.F);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.H;(d.transport||this.ga).call(this,{url:g,auth:e,data:a,options:d,onSuccess:function(){c.x(),c.R("success",{data:a,src:g}),b&&b()},onError:function(d){c.y("error","Raven transport failed to send: ",d),d.request&&c.da(d.request),c.R("failure",{data:a,src:g}),d=d||new Error("Raven send failed (no additional details provided)"),b&&b(d)}})}},ga:function(a){function b(){if(200===c.status)a.onSuccess&&a.onSuccess();else if(a.onError){var b=new Error("Sentry error code: "+c.status);b.request=c,a.onError(b)}}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+"?"+q(a.auth)),c.send(B(a.data))}},y:function(a){this.p[a]&&this.debug&&Function.prototype.apply.call(this.p[a],this.o,[].slice.call(arguments,1))},Q:function(a,b){f(b)?delete this.j[a]:this.j[a]=m(this.j[a]||{},b)}};var I=Object.prototype;e.prototype.setUser=e.prototype.setUserContext,e.prototype.setReleaseContext=e.prototype.setRelease,b.exports=e}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{1:1,2:2,3:3,6:6}],5:[function(a,b,c){(function(c){"use strict";var d=a(4),e="undefined"!=typeof window?window:"undefined"!=typeof c?c:"undefined"!=typeof self?self:{},f=e.Raven,g=new d;g.noConflict=function(){return e.Raven=f,g},g.afterLoad(),b.exports=g}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{4:4}],6:[function(a,b,c){(function(a){"use strict";function c(){return"undefined"==typeof document||"undefined"==typeof document.location?"":document.location.href}var d={collectWindowErrors:!0,debug:!1},e="undefined"!=typeof window?window:"undefined"!=typeof a?a:"undefined"!=typeof self?self:{},f=[].slice,g="?",h=/^(?:Uncaught (?:exception: )?)?((?:Eval|Internal|Range|Reference|Syntax|Type|URI)Error): ?(.*)$/;d.report=function(){function a(a){l(),r.push(a)}function b(a){for(var b=r.length-1;b>=0;--b)r[b]===a&&r.splice(b,1)}function i(){m(),r=[]}function j(a,b){var c=null;if(!b||d.collectWindowErrors){for(var e in r)if(r.hasOwnProperty(e))try{r[e].apply(null,[a].concat(f.call(arguments,2)))}catch(g){c=g}if(c)throw c}}function k(a,b,e,f,i){var k=null;if(u)d.computeStackTrace.augmentStackTraceWithInitialElement(u,b,e,a),n();else if(i)k=d.computeStackTrace(i),j(k,!0);else{var l,m={url:b,line:e,column:f},o=void 0,q=a;if("[object String]"==={}.toString.call(a)){var l=a.match(h);l&&(o=l[1],q=l[2])}m.func=g,k={name:o,message:q,url:c(),stack:[m]},j(k,!0)}return!!p&&p.apply(this,arguments)}function l(){q||(p=e.onerror,e.onerror=k,q=!0)}function m(){q&&(e.onerror=p,q=!1,p=void 0)}function n(){var a=u,b=s;s=null,u=null,t=null,j.apply(null,[a,!1].concat(b))}function o(a,b){var c=f.call(arguments,1);if(u){if(t===a)return;n()}var e=d.computeStackTrace(a);if(u=e,t=a,s=c,setTimeout(function(){t===a&&n()},e.incomplete?2e3:0),b!==!1)throw a}var p,q,r=[],s=null,t=null,u=null;return o.subscribe=a,o.unsubscribe=b,o.uninstall=i,o}(),d.computeStackTrace=function(){function a(a){if("undefined"!=typeof a.stack&&a.stack){for(var b,d,e=/^\s*at (.*?) ?\(((?:file|https?|blob|chrome-extension|native|eval|<anonymous>).*?)(?::(\d+))?(?::(\d+))?\)?\s*$/i,f=/^\s*(.*?)(?:\((.*?)\))?(?:^|@)((?:file|https?|blob|chrome|resource|\[native).*?)(?::(\d+))?(?::(\d+))?\s*$/i,h=/^\s*at (?:((?:\[object object\])?.+) )?\(?((?:file|ms-appx|https?|blob):.*?):(\d+)(?::(\d+))?\)?\s*$/i,i=a.stack.split("\n"),j=[],k=(/^(.*) is undefined$/.exec(a.message),0),l=i.length;k<l;++k){if(b=e.exec(i[k])){var m=b[2]&&b[2].indexOf("native")!==-1;d={url:m?null:b[2],func:b[1]||g,args:m?[b[2]]:[],line:b[3]?+b[3]:null,column:b[4]?+b[4]:null}}else if(b=h.exec(i[k]))d={url:b[2],func:b[1]||g,args:[],line:+b[3],column:b[4]?+b[4]:null};else{if(!(b=f.exec(i[k])))continue;d={url:b[3],func:b[1]||g,args:b[2]?b[2].split(","):[],line:b[4]?+b[4]:null,column:b[5]?+b[5]:null}}!d.func&&d.line&&(d.func=g),j.push(d)}return j.length?(j[0].column||"undefined"==typeof a.columnNumber||(j[0].column=a.columnNumber+1),{name:a.name,message:a.message,url:c(),stack:j}):null}}function b(a,b,c,d){var e={url:b,line:c};if(e.url&&e.line){if(a.incomplete=!1,e.func||(e.func=g),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 e(a,h){for(var i,j,k=/function\s+([_$a-zA-Z\xA0-\uFFFF][_$a-zA-Z0-9\xA0-\uFFFF]*)?\s*\(/i,l=[],m={},n=!1,o=e.caller;o&&!n;o=o.caller)if(o!==f&&o!==d.report){if(j={url:null,func:g,line:null,column:null},o.name?j.func=o.name:(i=k.exec(o.toString()))&&(j.func=i[1]),"undefined"==typeof j.func)try{j.func=i.input.substring(0,i.input.indexOf("{"))}catch(p){}m[""+o]?n=!0:m[""+o]=!0,l.push(j)}h&&l.splice(0,h);var q={name:a.name,message:a.message,url:c(),stack:l};return b(q,a.sourceURL||a.fileName,a.line||a.lineNumber,a.message||a.description),q}function f(b,f){var g=null;f=null==f?0:+f;try{if(g=a(b))return g}catch(h){if(d.debug)throw h}try{if(g=e(b,f+1))return g}catch(h){if(d.debug)throw h}return{name:b.name,message:b.message,url:c()}}return f.augmentStackTraceWithInitialElement=b,f.computeStackTraceFromStackProp=a,f}(),b.exports=d}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}]},{},[5])(5)}); | ||
//# sourceMappingURL=raven.min.js.map |
{ | ||
"@dist/raven.js": { | ||
"hashes": { | ||
"sha256": "Dwnqh7Kf/MtddZEib7nlf8EgV02obB2QNJwJrgmleCw=", | ||
"sha512": "rFBEzM66OQgGkmJ1HjHmAH3SyX8Li7U1DHeFHKFytJEdgFBOp+A+JTiWTzR02DSOQbx3rGOZLSBO0LaFskiXQA==" | ||
"sha256": "lo47JDw5iui9P+8BVkoYgcXash9DqsapFwWuBx47xg4=", | ||
"sha512": "4VSTdDWObyBxQUbuBYSOd2MZlXM9F1CsRsC1LTyArrGbWiqHVIEEv8vuprjLF+5t3rGI9qJf4mMeBFyircjiIw==" | ||
}, | ||
"type": null, | ||
"integrity": "sha256-Dwnqh7Kf/MtddZEib7nlf8EgV02obB2QNJwJrgmleCw= sha512-rFBEzM66OQgGkmJ1HjHmAH3SyX8Li7U1DHeFHKFytJEdgFBOp+A+JTiWTzR02DSOQbx3rGOZLSBO0LaFskiXQA==", | ||
"integrity": "sha256-lo47JDw5iui9P+8BVkoYgcXash9DqsapFwWuBx47xg4= sha512-4VSTdDWObyBxQUbuBYSOd2MZlXM9F1CsRsC1LTyArrGbWiqHVIEEv8vuprjLF+5t3rGI9qJf4mMeBFyircjiIw==", | ||
"path": "dist/raven.js" | ||
@@ -13,9 +13,9 @@ }, | ||
"hashes": { | ||
"sha256": "bNou8nfAvackB8vWBJLCEarwQsiyHAZ6doKQz+lH+G8=", | ||
"sha512": "VyEfGJStPnFTCFYIGp0EdsWnKEUGgk2xjkI5dW2EzFFKwngACxlCSNvSiOelovr1CqjOeJGKkU99988ZZoNNYw==" | ||
"sha256": "8uqNKvEWACUnXXdaGWrX2mEz3TEE2h+m5dcC8DJVyCI=", | ||
"sha512": "LobR1Ghrmpm2vODObzjVZuWLajD0wEl58MWvfBzfeSQA4K0VrZSNBpwlEOpKhNPD/qwdSPAoKdXWilbAzryNNA==" | ||
}, | ||
"type": null, | ||
"integrity": "sha256-bNou8nfAvackB8vWBJLCEarwQsiyHAZ6doKQz+lH+G8= sha512-VyEfGJStPnFTCFYIGp0EdsWnKEUGgk2xjkI5dW2EzFFKwngACxlCSNvSiOelovr1CqjOeJGKkU99988ZZoNNYw==", | ||
"integrity": "sha256-8uqNKvEWACUnXXdaGWrX2mEz3TEE2h+m5dcC8DJVyCI= sha512-LobR1Ghrmpm2vODObzjVZuWLajD0wEl58MWvfBzfeSQA4K0VrZSNBpwlEOpKhNPD/qwdSPAoKdXWilbAzryNNA==", | ||
"path": "dist/raven.min.js" | ||
} | ||
} |
@@ -69,4 +69,4 @@ { | ||
"vars": { | ||
"RAVEN_VERSION": "3.11.0" | ||
"RAVEN_VERSION": "3.12.0" | ||
} | ||
} |
{ | ||
"name": "raven-js", | ||
"version": "3.11.0", | ||
"version": "3.12.0", | ||
"license": "BSD-2-Clause", | ||
@@ -37,3 +37,3 @@ "homepage": "https://github.com/getsentry/raven-js", | ||
"grunt-gitinfo": "^0.1.7", | ||
"grunt-mocha": "1.0.2", | ||
"grunt-mocha": "1.0.4", | ||
"grunt-release": "^0.13.0", | ||
@@ -44,3 +44,3 @@ "grunt-s3": "0.2.0-alpha.3", | ||
"lodash": "^3.10.1", | ||
"mocha": "^1.21.5", | ||
"mocha": "2.5.3", | ||
"proxyquireify": "^3.0.2", | ||
@@ -47,0 +47,0 @@ "sinon": "1.7.3", |
@@ -88,3 +88,2 @@ /*global assert*/ | ||
Raven.captureException({foo:'bar'}); | ||
@@ -124,2 +123,120 @@ }, | ||
}); | ||
it('should reject duplicate, back-to-back errors from captureError', function (done) { | ||
var iframe = this.iframe; | ||
iframeExecute(iframe, done, | ||
function () { | ||
Raven._breadcrumbs = []; | ||
var count = 5; | ||
setTimeout(function invoke() { | ||
// use setTimeout to capture new error objects that have | ||
// identical stack traces (can't call sequentially or callsite | ||
// line number will change) | ||
// | ||
// order: | ||
// Error: foo | ||
// Error: foo (suppressed) | ||
// Error: foo (suppressed) | ||
// Error: bar | ||
// Error: foo | ||
if (count === 2) { | ||
Raven.captureException(new Error('bar')); | ||
} | ||
else { | ||
Raven.captureException(new Error('foo')); | ||
} | ||
if (count-- === 0) return void done(); | ||
else setTimeout(invoke); | ||
}); | ||
}, | ||
function () { | ||
var breadcrumbs = iframe.contentWindow.Raven._breadcrumbs; | ||
// use breadcrumbs to evaluate which errors were sent | ||
// NOTE: can't use ravenData because duplicate error suppression occurs | ||
// AFTER dataCallback/shouldSendCallback (dataCallback will record | ||
// duplicates but they ultimately won't be sent) | ||
assert.equal(breadcrumbs.length, 3); | ||
assert.equal(breadcrumbs[0].message, 'Error: foo'); | ||
assert.equal(breadcrumbs[1].message, 'Error: bar'); | ||
assert.equal(breadcrumbs[2].message, 'Error: foo'); | ||
} | ||
); | ||
}); | ||
it('should not reject back-to-back errors with different stack traces', function (done) { | ||
var iframe = this.iframe; | ||
iframeExecute(iframe, done, | ||
function () { | ||
setTimeout(done); | ||
Raven._breadcrumbs = []; | ||
// same error message, but different stacks means that these are considered | ||
// different errors | ||
// NOTE: PhantomJS can't derive function/lineno/colno from evaled frames, must | ||
// use frames declared in frame.html (foo(), bar()) | ||
// stack: | ||
// bar | ||
try { | ||
bar(); // declared in frame.html | ||
} catch (e) { | ||
Raven.captureException(e); | ||
} | ||
// stack (different # frames): | ||
// bar | ||
// foo | ||
try { | ||
foo(); // declared in frame.html | ||
} catch (e) { | ||
Raven.captureException(e); | ||
} | ||
// stack (same # frames, different frames): | ||
// bar | ||
// foo2 | ||
try { | ||
foo2(); // declared in frame.html | ||
} catch (e) { | ||
Raven.captureException(e); | ||
} | ||
}, | ||
function () { | ||
var breadcrumbs = iframe.contentWindow.Raven._breadcrumbs; | ||
assert.equal(breadcrumbs.length, 3); | ||
// NOTE: regex because exact error message differs per-browser | ||
assert.match(breadcrumbs[0].message, /^ReferenceError.*baz/); | ||
assert.match(breadcrumbs[1].message, /^ReferenceError.*baz/); | ||
assert.match(breadcrumbs[2].message, /^ReferenceError.*baz/); | ||
} | ||
); | ||
}); | ||
it('should reject duplicate, back-to-back messages from captureMessage', function (done) { | ||
var iframe = this.iframe; | ||
iframeExecute(iframe, done, | ||
function () { | ||
setTimeout(done); | ||
Raven._breadcrumbs = []; | ||
Raven.captureMessage('this is fine'); | ||
Raven.captureMessage('this is fine'); // suppressed | ||
Raven.captureMessage('this is fine', { stacktrace: true }); | ||
Raven.captureMessage('i\'m okay with the events that are unfolding currently'); | ||
Raven.captureMessage('that\'s okay, things are going to be okay'); | ||
}, | ||
function () { | ||
var breadcrumbs = iframe.contentWindow.Raven._breadcrumbs; | ||
assert.equal(breadcrumbs.length, 4); | ||
assert.equal(breadcrumbs[0].message, 'this is fine'); | ||
assert.equal(breadcrumbs[1].message, 'this is fine'); // with stacktrace | ||
assert.equal(breadcrumbs[2].message, 'i\'m okay with the events that are unfolding currently'); | ||
assert.equal(breadcrumbs[3].message, 'that\'s okay, things are going to be okay'); | ||
} | ||
); | ||
}); | ||
}); | ||
@@ -595,2 +712,48 @@ | ||
// doesn't work in PhantomJS | ||
if (!/PhantomJS/.test(window.navigator.userAgent)) { | ||
it('should bail out if accessing the `type` and `target` properties of an event throw an exception', function (done) { | ||
// see: https://github.com/getsentry/raven-js/issues/768 | ||
var iframe = this.iframe; | ||
iframeExecute(iframe, done, | ||
function () { | ||
setTimeout(done); | ||
// some browsers trigger onpopstate for load / reset breadcrumb state | ||
Raven._breadcrumbs = []; | ||
// click <input/> | ||
var evt = document.createEvent('MouseEvent'); | ||
evt.initMouseEvent(evt, | ||
"click", | ||
true /* bubble */, | ||
true /* cancelable */, | ||
window, | ||
null, | ||
0, 0, 0, 0, /* coordinates */ | ||
false, false, false, false, /* modifier keys */ | ||
0 /*left*/, | ||
null | ||
); | ||
function kaboom() { throw new Error('lol'); }; | ||
Object.defineProperty(evt, 'type', { get: kaboom }); | ||
Object.defineProperty(evt, 'target', { get: kaboom }); | ||
var input = document.querySelector('.a'); // leaf node | ||
input.dispatchEvent(evt); | ||
}, | ||
function () { | ||
var Raven = iframe.contentWindow.Raven, | ||
breadcrumbs = Raven._breadcrumbs; | ||
assert.equal(breadcrumbs.length, 1); | ||
assert.equal(breadcrumbs[0].category, 'ui.click'); | ||
assert.equal(breadcrumbs[0].message, '<unknown>'); | ||
} | ||
); | ||
}); | ||
} // if PhantomJS | ||
it('should record consecutive keypress events into a single "input" breadcrumb', function (done) { | ||
@@ -597,0 +760,0 @@ var iframe = this.iframe; |
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is too big to display
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
685616
10876