diff --git a/CHANGELOG.md b/CHANGELOG.md index 2a1eccd7ff4b..ed961797bbac 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,14 @@ # Changelog +## 3.9.0 +* NEW: `breadcrumbCallback` and `setBreadcrumbCallback` for filtering/mutating breadcrumbs. See: https://github.com/getsentry/raven-js/pull/788 +* NEW: Can enable synthetic traces globally via `stacktrace: true` config option. See: https://github.com/getsentry/raven-js/pull/763 +* CHANGE: Can set user context via `config` under `user` key. See: https://github.com/getsentry/raven-js/pull/762 +* CHANGE: Unit and integration tests now run on PhantomJS 2. See: https://github.com/getsentry/raven-js/pull/777 +* BUGFIX: Fix mouse click breadcrumbs not captured in some scenarios. See: https://github.com/getsentry/raven-js/pull/766 +* BUGFIX: React Native plugin normalizes paths in stacktraces generated via `captureMessage`. See: https://github.com/getsentry/raven-js/pull/778 +* BUGFIX: Doesn't break when window is absent (e.g. inside web workers). See: https://github.com/getsentry/raven-js/pull/785 + ## 3.8.1 * BUGFIX: Fix dangling comma affecting IE8. See: https://github.com/getsentry/raven-js/pull/769 diff --git a/bower.json b/bower.json index fc5508d1475d..cb6a1a9a5b06 100644 --- a/bower.json +++ b/bower.json @@ -1,6 +1,6 @@ { "name": "raven-js", - "version": "3.8.0", + "version": "3.9.0", "dependencies": {}, "main": "dist/raven.js", "ignore": [ diff --git a/dist/plugins/angular.js b/dist/plugins/angular.js index 59f2fa465549..cb675979fb39 100644 --- a/dist/plugins/angular.js +++ b/dist/plugins/angular.js @@ -1,4 +1,4 @@ -/*! Raven.js 3.8.0 (d78f15c) | github.com/getsentry/raven-js */ +/*! Raven.js 3.9.0 (8bbd939) | github.com/getsentry/raven-js */ /* * Includes TraceKit diff --git a/dist/plugins/angular.min.js b/dist/plugins/angular.min.js index bb0be62debcc..4e48bfec7bea 100644 --- a/dist/plugins/angular.min.js +++ b/dist/plugins/angular.min.js @@ -1,3 +1,3 @@ -/*! Raven.js 3.8.0 (d78f15c) | github.com/getsentry/raven-js */ +/*! Raven.js 3.9.0 (8bbd939) | 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 this._globalOptions.maxBreadcrumbs) { this._breadcrumbs.shift(); @@ -617,6 +634,22 @@ Raven.prototype = { return this; }, + /* + * Set the breadcrumbCallback option + * + * @param {function} callback The callback to run which allows filtering + * or mutating breadcrumbs + * @return {Raven} + */ + setBreadcrumbCallback: function(callback) { + var original = this._globalOptions.breadcrumbCallback; + this._globalOptions.breadcrumbCallback = isFunction(callback) + ? function (data) { return callback(data, original); } + : callback; + + return this; + }, + /* * Set the shouldSendCallback option * @@ -827,7 +860,6 @@ Raven.prototype = { // TODO: if somehow user switches keypress target before // debounce timeout is triggered, we will only capture // a single breadcrumb from the FIRST target (acceptable?) - return function (evt) { var target = evt.target, tagName = target && target.tagName; @@ -846,7 +878,7 @@ Raven.prototype = { } clearTimeout(timeout); self._keypressTimeout = setTimeout(function () { - self._keypressTimeout = null; + self._keypressTimeout = null; }, debounceDuration); }; }, @@ -932,13 +964,24 @@ Raven.prototype = { // More breadcrumb DOM capture ... done here and not in `_instrumentBreadcrumbs` // so that we don't have more than one wrapper function - var before; + var before, + clickHandler, + keypressHandler; + if (autoBreadcrumbs && autoBreadcrumbs.dom && (global === 'EventTarget' || global === 'Node')) { - if (evtName === 'click'){ - before = self._breadcrumbEventHandler(evtName); - } else if (evtName === 'keypress') { - before = self._keypressEventHandler(); - } + // NOTE: generating multiple handlers per addEventListener invocation, should + // revisit and verify we can just use one (almost certainly) + clickHandler = self._breadcrumbEventHandler('click'); + keypressHandler = self._keypressEventHandler(); + before = function (evt) { + // need to intercept every DOM event in `before` argument, in case that + // same wrapped method is re-used for different events (e.g. mousemove THEN click) + // see #724 + if (evt.type === 'click') + return clickHandler(evt); + else if (evt.type === 'keypress') + return keypressHandler(evt); + }; } return orig.call(this, evtName, self.wrap(fn, undefined, before), capture, secure); }; @@ -1849,7 +1892,9 @@ Raven.prototype.setReleaseContext = Raven.prototype.setRelease; module.exports = Raven; +}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) },{"1":1,"2":2,"3":3,"6":6}],5:[function(_dereq_,module,exports){ +(function (global){ /** * Enforces a single instance of the Raven client, and the * main entry point for Raven. If you are a consumer of the @@ -1860,7 +1905,12 @@ module.exports = Raven; var RavenConstructor = _dereq_(4); -var _Raven = window.Raven; +// This is to be defensive in environments where window does not exist (see https://github.com/getsentry/raven-js/pull/785) +var _window = typeof window !== 'undefined' ? window + : typeof global !== 'undefined' ? global + : typeof self !== 'undefined' ? self + : {}; +var _Raven = _window.Raven; var Raven = new RavenConstructor(); @@ -1871,7 +1921,7 @@ var Raven = new RavenConstructor(); * @return {Raven} */ Raven.noConflict = function () { - window.Raven = _Raven; + _window.Raven = _Raven; return Raven; }; @@ -1879,7 +1929,9 @@ Raven.afterLoad(); module.exports = Raven; +}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) },{"4":4}],6:[function(_dereq_,module,exports){ +(function (global){ 'use strict'; /* @@ -1892,6 +1944,12 @@ var TraceKit = { debug: false }; +// This is to be defensive in environments where window does not exist (see https://github.com/getsentry/raven-js/pull/785) +var _window = typeof window !== 'undefined' ? window + : typeof global !== 'undefined' ? global + : typeof self !== 'undefined' ? self + : {}; + // global reference to slice var _slice = [].slice; var UNKNOWN_FUNCTION = '?'; @@ -2070,8 +2128,8 @@ TraceKit.report = (function reportModuleWrapper() { if (_onErrorHandlerInstalled) { return; } - _oldOnerrorHandler = window.onerror; - window.onerror = traceKitWindowOnError; + _oldOnerrorHandler = _window.onerror; + _window.onerror = traceKitWindowOnError; _onErrorHandlerInstalled = true; } @@ -2080,7 +2138,7 @@ TraceKit.report = (function reportModuleWrapper() { if (!_onErrorHandlerInstalled) { return; } - window.onerror = _oldOnerrorHandler; + _window.onerror = _oldOnerrorHandler; _onErrorHandlerInstalled = false; _oldOnerrorHandler = undefined; } @@ -2482,5 +2540,6 @@ TraceKit.computeStackTrace = (function computeStackTraceWrapper() { module.exports = TraceKit; +}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) },{}]},{},[5])(5) }); \ No newline at end of file diff --git a/dist/raven.min.js b/dist/raven.min.js index c9d3d0ea44db..95aa8aee36e6 100644 --- a/dist/raven.min.js +++ b/dist/raven.min.js @@ -1,3 +1,3 @@ -/*! Raven.js 3.8.0 (d78f15c) | 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;g0){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=!f(D),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=C.console||{},this.n={},this.o=[],this.p=d(),this.q=[],this.r=[],this.s=null,this.t=C.location,this.u=this.t&&this.t.href;for(var a in this.m)this.n[a]=this.m[a]}function f(a){return void 0===a}function g(a){return"function"==typeof a}function h(a){return"[object String]"===E.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=E.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 ",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 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(" "),f=0;fthis.i.maxBreadcrumbs&&this.r.shift(),this},addPlugin:function(a){var b=[].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(y(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=g(a)?function(c){return a(c,b)}:a,this},setShouldSendCallback:function(a){var b=this.i.shouldSendCallback;return this.i.shouldSendCallback=g(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||(this.ravenNotConfiguredError||(this.ravenNotConfiguredError=!0,this.v("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.B;if(!c)throw new x("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 g=this.D(this.A(c)),h=D.createElement("script");h.async=!0,h.src=g+"/api/embed/error-page/"+e,(D.head||D.body).appendChild(h)}},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),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){}}},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=t(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||d.isContentEditable)){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=r(this.t.href),d=r(b),e=r(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;f2?arguments[2]:void 0;return c&&b.S(b.u,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)})}},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;l(this.o,function(b,c){var d=c[0],e=c[1];d.apply(a,[a].concat(e))})},A: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.i.allowSecretKey)throw new x("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&&(l(a.stack,function(a,b){var e=c.V(b);e&&d.push(e)}),b&&b.trimHeadFrames))for(var e=0;e0&&(a.breadcrumbs={values:[].slice.call(this.r,0)}),j(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),g(b.dataCallback)&&(a=b.dataCallback(a)||a),a&&!j(a)&&(g(b.shouldSendCallback)&&!b.shouldSendCallback(a)||this.Y(a))},Z:function(){return s()},Y:function(a,b){var c=this,d=this.i;if(this.d=a.event_id||(a.event_id=this.Z()),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.$).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)}})}},$: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+"?"+q(a.auth)),c.send(y(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){f(b)?delete this.h[a]:this.h[a]=m(this.h[a]||{},b)}};var E=Object.prototype;e.prototype.setUser=e.prototype.setUserContext,e.prototype.setReleaseContext=e.prototype.setRelease,b.exports=e},{1:1,2:2,3:3,6:6}],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(){return"undefined"==typeof document?"":document.location.href}var e={collectWindowErrors:!0,debug:!1},f=[].slice,g="?",h=/^(?:Uncaught (?:exception: )?)?((?:Eval|Internal|Range|Reference|Syntax|Type|URI)Error): ?(.*)$/;e.report=function(){function a(a){k(),q.push(a)}function b(a){for(var b=q.length-1;b>=0;--b)q[b]===a&&q.splice(b,1)}function c(){l(),q=[]}function i(a,b){var c=null;if(!b||e.collectWindowErrors){for(var d in q)if(q.hasOwnProperty(d))try{q[d].apply(null,[a].concat(f.call(arguments,2)))}catch(g){c=g}if(c)throw c}}function j(a,b,c,f,j){var k=null;if(t)e.computeStackTrace.augmentStackTraceWithInitialElement(t,b,c,a),m();else if(j)k=e.computeStackTrace(j),i(k,!0);else{var l,n={url:b,line:c,column:f},p=void 0,q=a;if("[object String]"==={}.toString.call(a)){var l=a.match(h);l&&(p=l[1],q=l[2])}n.func=g,k={name:p,message:q,url:d(),stack:[n]},i(k,!0)}return!!o&&o.apply(this,arguments)}function k(){p||(o=window.onerror,window.onerror=j,p=!0)}function l(){p&&(window.onerror=o,p=!1,o=void 0)}function m(){var a=t,b=r;r=null,t=null,s=null,i.apply(null,[a,!1].concat(b))}function n(a,b){var c=f.call(arguments,1);if(t){if(s===a)return;m()}var d=e.computeStackTrace(a);if(t=d,s=a,r=c,setTimeout(function(){s===a&&m()},d.incomplete?2e3:0),b!==!1)throw a}var o,p,q=[],r=null,s=null,t=null;return n.subscribe=a,n.unsubscribe=b,n.uninstall=c,n}(),e.computeStackTrace=function(){function a(a){if("undefined"!=typeof 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,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;k0&&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 c(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=c.caller;o&&!n;o=o.caller)if(o!==f&&o!==e.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:d(),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(e.debug)throw h}try{if(g=c(b,f+1))return g}catch(h){if(e.debug)throw h}return{name:b.name,message:b.message,url:d()}}return f.augmentStackTraceWithInitialElement=b,f.computeStackTraceFromStackProp=a,f}(),b.exports=e},{}]},{},[5])(5)}); +/*! Raven.js 3.9.0 (8bbd939) | 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;g0){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=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=C.console||{},this.n={},this.o=[],this.p=d(),this.q=[],this.r=[],this.s=null,this.t=C.location,this.u=this.t&&this.t.href;for(var a in this.m)this.n[a]=this.m[a]}function f(a){return void 0===a}function g(a){return"function"==typeof a}function h(a){return"[object String]"===E.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=E.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 ",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 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(" "),f=0;fthis.i.maxBreadcrumbs&&this.r.shift(),this},addPlugin:function(a){var b=[].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(y(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=g(a)?function(c){return a(c,b)}:a,this},setBreadcrumbCallback:function(a){var b=this.i.breadcrumbCallback;return this.i.breadcrumbCallback=g(a)?function(c){return a(c,b)}:a,this},setShouldSendCallback:function(a){var b=this.i.shouldSendCallback;return this.i.shouldSendCallback=g(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||(this.ravenNotConfiguredError||(this.ravenNotConfiguredError=!0,this.v("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.B;if(!c)throw new x("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 g=this.D(this.A(c)),h=D.createElement("script");h.async=!0,h.src=g+"/api/embed/error-page/"+e,(D.head||D.body).appendChild(h)}},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),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){}}},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=t(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||d.isContentEditable)){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=r(this.t.href),d=r(b),e=r(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;f2?arguments[2]:void 0;return c&&b.S(b.u,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)})}},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;l(this.o,function(b,c){var d=c[0],e=c[1];d.apply(a,[a].concat(e))})},A: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.i.allowSecretKey)throw new x("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&&(l(a.stack,function(a,b){var e=c.V(b);e&&d.push(e)}),b&&b.trimHeadFrames))for(var e=0;e0&&(a.breadcrumbs={values:[].slice.call(this.r,0)}),j(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),g(b.dataCallback)&&(a=b.dataCallback(a)||a),a&&!j(a)&&(g(b.shouldSendCallback)&&!b.shouldSendCallback(a)||this.Y(a))},Z:function(){return s()},Y:function(a,b){var c=this,d=this.i;if(this.d=a.event_id||(a.event_id=this.Z()),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.$).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)}})}},$: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+"?"+q(a.auth)),c.send(y(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){f(b)?delete this.h[a]:this.h[a]=m(this.h[a]||{},b)}};var E=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?"":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|).*?)(?::(\d+))?(?::(\d+))?\)?\s*$/i,f=/^\s*(.*?)(?:\((.*?)\))?(?:^|@)((?:file|https?|blob|chrome|\[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;k0&&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 \ No newline at end of file diff --git a/dist/raven.min.js.map b/dist/raven.min.js.map index a1af84626e16..c58916e1a3f3 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","isUndefined","_document","_lastCapturedException","_lastEventId","_globalServer","_globalKey","_globalProject","_globalContext","_globalOptions","ignoreErrors","ignoreUrls","whitelistUrls","includePaths","crossOrigin","collectWindowErrors","maxMessageLength","stackTraceLimit","autoBreadcrumbs","_ignoreOnError","_isRavenInstalled","_originalErrorStackTraceLimit","_originalConsole","_window","_originalConsoleMethods","_plugins","_startTime","_wrappedBuiltIns","_breadcrumbs","_lastCapturedEvent","_location","location","_lastHref","href","method","what","isFunction","isString","objectPrototype","toString","isObject","isEmptyObject","_","isError","each","j","hasKey","objectMerge","obj1","obj2","truncate","str","max","substr","object","hasOwnProperty","joinRegExp","patterns","pattern","sources","len","replace","source","RegExp","urlencode","pairs","encodeURIComponent","parseUrl","url","match","query","fragment","protocol","host","path","relative","uuid4","crypto","msCrypto","getRandomValues","arr","Uint16Array","pad","num","v","c","Math","random","htmlTreeAsString","elem","nextStr","MAX_TRAVERSE_HEIGHT","MAX_OUTPUT_LEN","out","height","separator","sepLength","htmlElementAsString","parentNode","reverse","className","classes","attr","tagName","toLowerCase","id","split","attrWhitelist","getAttribute","fill","replacement","track","orig","TraceKit","wrapConsoleMethod","dsnKeys","dsnPattern","undefined","document","VERSION","debug","config","dsn","options","_logDebug","globalOptions","setDSN","maxBreadcrumbs","min","autoBreadcrumbDefaults","xhr","dom","install","isSetup","report","subscribe","_handleOnErrorStackInfo","_instrumentTryCatch","_instrumentBreadcrumbs","_drainPlugins","uri","_parseDSN","lastSlash","lastIndexOf","_dsn","user","_globalSecret","pass","_getGlobalServer","_globalEndpoint","context","func","wrap","_before","wrapped","deep","_ignoreNextOnError","captureException","__raven__","__raven_wrapper__","property","__inner__","uninstall","_restoreBuiltIns","ex","captureMessage","trimHeadFrames","stacktrace","computeStackTrace","_handleStackInfo","ex1","test","fingerprint","frames","_prepareFrames","_send","captureBreadcrumb","crumb","timestamp","shift","addPlugin","plugin","pluginArgs","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","qs","email","globalServer","script","createElement","async","src","head","body","appendChild","F","setTimeout","O","eventType","evt","toUpperCase","createEvent","initEvent","createEventObject","dispatchEvent","fireEvent","P","evtName","_keypressTimeout","target","category","R","debounceDuration","isContentEditable","timeout","_breadcrumbEventHandler","clearTimeout","S","from","to","parsedLoc","parsedTo","parsedFrom","x","wrapTimeFn","fn","Array","originalCallback","wrapEventTarget","proto","capture","secure","handleEvent","err","before","_keypressEventHandler","wrappedBuiltIns","requestAnimationFrame","cb","eventTargets","$","jQuery","ready","y","wrapProp","prop","xhrproto","XMLHttpRequest","origOpen","__raven_xhr","status_code","origSend","onreadystatechangeHandler","readyState","status","type","props","onreadystatechange","origFetch","fetchData","then","response","addEventListener","attachEvent","chrome","isChromePackagedApp","app","runtime","hasPushState","history","pushState","oldOnPopState","onpopstate","currentHref","_captureUrlChange","origPushState","log","consoleMethodCallback","J","builtin","z","installer","concat","A","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","baseData","project","platform","_getHttpData","request","breadcrumbs","serverName","server_name","_sendProcessedPayload","Z","Y","event_id","_getUuid","_trimPacket","auth","sentry_version","sentry_client","sentry_key","sentry_secret","_makeRequest","onSuccess","onError","error","opts","handler","hasCORS","XDomainRequest","onload","open","send","N","Object","setUser","setReleaseContext","6","5","RavenConstructor","_Raven","noConflict","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","initial","unshift","partial","computeStackTraceByWalkingCallerChain","depth","item","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","isUndefined","_document","_lastCapturedException","_lastEventId","_globalServer","_globalKey","_globalProject","_globalContext","_globalOptions","ignoreErrors","ignoreUrls","whitelistUrls","includePaths","crossOrigin","collectWindowErrors","maxMessageLength","stackTraceLimit","autoBreadcrumbs","_ignoreOnError","_isRavenInstalled","_originalErrorStackTraceLimit","_originalConsole","_window","_originalConsoleMethods","_plugins","_startTime","_wrappedBuiltIns","_breadcrumbs","_lastCapturedEvent","_location","location","_lastHref","href","method","what","isFunction","isString","objectPrototype","toString","isObject","isEmptyObject","_","isError","each","j","hasKey","objectMerge","obj1","obj2","truncate","str","max","substr","object","hasOwnProperty","joinRegExp","patterns","pattern","sources","len","replace","source","RegExp","urlencode","pairs","encodeURIComponent","parseUrl","url","match","query","fragment","protocol","host","path","relative","uuid4","crypto","msCrypto","getRandomValues","arr","Uint16Array","pad","num","v","c","Math","random","htmlTreeAsString","elem","nextStr","MAX_TRAVERSE_HEIGHT","MAX_OUTPUT_LEN","out","height","separator","sepLength","htmlElementAsString","parentNode","reverse","className","classes","attr","tagName","toLowerCase","id","split","attrWhitelist","getAttribute","fill","replacement","track","orig","TraceKit","wrapConsoleMethod","dsnKeys","dsnPattern","document","VERSION","debug","config","dsn","options","_logDebug","globalOptions","setDSN","maxBreadcrumbs","min","autoBreadcrumbDefaults","xhr","dom","install","isSetup","report","subscribe","_handleOnErrorStackInfo","_instrumentTryCatch","_instrumentBreadcrumbs","_drainPlugins","uri","_parseDSN","lastSlash","lastIndexOf","_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","_send","captureBreadcrumb","crumb","timestamp","breadcrumbCallback","result","shift","addPlugin","plugin","pluginArgs","setUserContext","setExtraContext","_mergeContext","setTagsContext","tags","clearContext","getContext","parse","setEnvironment","environment","setRelease","release","setDataCallback","original","dataCallback","setBreadcrumbCallback","setShouldSendCallback","shouldSendCallback","setTransport","transport","lastException","lastEventId","ravenNotConfiguredError","afterLoad","RavenConfig","showReportDialog","eventId","encode","qs","email","globalServer","script","createElement","async","src","head","body","appendChild","F","setTimeout","O","eventType","evt","toUpperCase","createEvent","initEvent","createEventObject","dispatchEvent","fireEvent","P","evtName","_keypressTimeout","target","category","R","debounceDuration","isContentEditable","timeout","_breadcrumbEventHandler","clearTimeout","S","from","to","parsedLoc","parsedTo","parsedFrom","x","wrapTimeFn","fn","Array","originalCallback","wrapEventTarget","proto","capture","secure","handleEvent","err","before","clickHandler","keypressHandler","_keypressEventHandler","type","wrappedBuiltIns","requestAnimationFrame","cb","eventTargets","$","jQuery","ready","y","wrapProp","prop","xhrproto","XMLHttpRequest","origOpen","__raven_xhr","status_code","origSend","onreadystatechangeHandler","readyState","status","props","onreadystatechange","origFetch","fetchData","then","response","addEventListener","attachEvent","chrome","isChromePackagedApp","app","runtime","hasPushState","history","pushState","oldOnPopState","onpopstate","currentHref","_captureUrlChange","origPushState","log","consoleMethodCallback","J","builtin","z","installer","concat","A","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","baseData","project","platform","_getHttpData","request","breadcrumbs","serverName","server_name","_sendProcessedPayload","Z","Y","event_id","_getUuid","_trimPacket","auth","sentry_version","sentry_client","sentry_key","sentry_secret","_makeRequest","onSuccess","onError","error","opts","handler","hasCORS","XDomainRequest","onload","open","send","N","Object","setUser","setReleaseContext","6","5","RavenConstructor","_Raven","noConflict","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","initial","unshift","partial","computeStackTraceByWalkingCallerChain","depth","item","functionName","funcs","recursion","curr","caller","input","substring","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 2b187a409f8e..aa651626385b 100644 --- a/dist/sri.json +++ b/dist/sri.json @@ -1,20 +1,20 @@ { "@dist/raven.js": { "hashes": { - "sha256": "4miBSrBY0YRTMgqQ7tIKJ5bC1iJWSDJcg+lYca93DVI=", - "sha512": "ziKXaLU8oaGyZRk4MrdPLqejNAcAr+vvUg+OpMGrQ1tr6j2TK11OLn3RkawUOomzxCz6VgIBA7b3wLco9jmEeA==" + "sha256": "ihdEI9/hV9q/+yUm+WxgLgncmbFnuK9tr/lRnRgr60k=", + "sha512": "4WMClk7qzYHXT5/xR3X9RkpNs8dg/FIfbJ7RTythr9rXMRAVIDimD2X6NLEUdID+c7sJ3b6oOvsmf6oB0ORhwg==" }, "type": null, - "integrity": "sha256-4miBSrBY0YRTMgqQ7tIKJ5bC1iJWSDJcg+lYca93DVI= sha512-ziKXaLU8oaGyZRk4MrdPLqejNAcAr+vvUg+OpMGrQ1tr6j2TK11OLn3RkawUOomzxCz6VgIBA7b3wLco9jmEeA==", + "integrity": "sha256-ihdEI9/hV9q/+yUm+WxgLgncmbFnuK9tr/lRnRgr60k= sha512-4WMClk7qzYHXT5/xR3X9RkpNs8dg/FIfbJ7RTythr9rXMRAVIDimD2X6NLEUdID+c7sJ3b6oOvsmf6oB0ORhwg==", "path": "dist/raven.js" }, "@dist/raven.min.js": { "hashes": { - "sha256": "qP1Ly+j8g4xsul2MZaCZv6byFgLvRHuiI/bct6JluOw=", - "sha512": "EQGo6LBb2E0sCr7jfkQN7d3wzdFcWWD8b0FxP/Dahoa827Wk9KpsxSsA6IS8B+RNGkUHLaOP5G21p+EA3odqBA==" + "sha256": "Iwsp4zEtQhPhOFbMNyTevyNpy7XTm8qUPteSJyopHDM=", + "sha512": "lL3X3M9f+DKT/mcKDJWixbXdXhVlYGWxy5DuPYyV6LrD8KNWQJ6ahpvTK3IyosXEAj3x+PWQ1DnFbKyGbIGdBw==" }, "type": null, - "integrity": "sha256-qP1Ly+j8g4xsul2MZaCZv6byFgLvRHuiI/bct6JluOw= sha512-EQGo6LBb2E0sCr7jfkQN7d3wzdFcWWD8b0FxP/Dahoa827Wk9KpsxSsA6IS8B+RNGkUHLaOP5G21p+EA3odqBA==", + "integrity": "sha256-Iwsp4zEtQhPhOFbMNyTevyNpy7XTm8qUPteSJyopHDM= sha512-lL3X3M9f+DKT/mcKDJWixbXdXhVlYGWxy5DuPYyV6LrD8KNWQJ6ahpvTK3IyosXEAj3x+PWQ1DnFbKyGbIGdBw==", "path": "dist/raven.min.js" } } \ No newline at end of file diff --git a/docs/config.rst b/docs/config.rst index 25a1e63f8c20..0eda527e3801 100644 --- a/docs/config.rst +++ b/docs/config.rst @@ -289,7 +289,7 @@ Putting it all together ... - + For installation using npm or other package managers, see :doc:`install`. diff --git a/docs/install.rst b/docs/install.rst index 6c83b987e5b4..f63e4993e148 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 1763b2542036..72536f92e8f0 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 091378a972d5..f1dd346968b5 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 ce28d469fe0b..bdde08a54fe3 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 cce98831cdb2..c2ea076e504f 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 cf165111accf..c194c8915774 100644 --- a/docs/integrations/vue.rst +++ b/docs/integrations/vue.rst @@ -27,7 +27,7 @@ Example: .. sourcecode:: html - diff --git a/package.json b/package.json index f6610a62fd8b..e00644423d34 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "raven-js", - "version": "3.8.0", + "version": "3.9.0", "license": "BSD-2-Clause", "homepage": "https://github.com/getsentry/raven-js", "scripts": { diff --git a/src/raven.js b/src/raven.js index 35bda5083427..4c61f1fb7617 100644 --- a/src/raven.js +++ b/src/raven.js @@ -78,7 +78,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.8.0', + VERSION: '3.9.0', debug: false, diff --git a/test/raven.test.js b/test/raven.test.js index 9e5a9d4cb330..57af21aeee07 100644 --- a/test/raven.test.js +++ b/test/raven.test.js @@ -1004,7 +1004,7 @@ describe('globals', function() { extra: {'session:duration': 100}, }); assert.deepEqual(opts.auth, { - sentry_client: 'raven-js/3.8.0', + sentry_client: 'raven-js/3.9.0', sentry_key: 'abc', sentry_version: '7' }); @@ -1051,7 +1051,7 @@ describe('globals', function() { extra: {'session:duration': 100}, }); assert.deepEqual(opts.auth, { - sentry_client: 'raven-js/3.8.0', + sentry_client: 'raven-js/3.9.0', sentry_key: 'abc', sentry_secret: 'def', sentry_version: '7'