diff --git a/bower.json b/bower.json index 69a722f31d73..b0ac2abf26db 100644 --- a/bower.json +++ b/bower.json @@ -1,6 +1,6 @@ { "name": "raven-js", - "version": "1.1.15", + "version": "1.1.16", "dependencies": {}, "main": "dist/raven.js" } diff --git a/dist/raven.js b/dist/raven.js index c0718475df3e..37896c4018a2 100644 --- a/dist/raven.js +++ b/dist/raven.js @@ -1,4 +1,4 @@ -/*! Raven.js 1.1.15 (bc060ae) | github.com/getsentry/raven-js */ +/*! Raven.js 1.1.16 (463f68f) | github.com/getsentry/raven-js */ /* * Includes TraceKit @@ -645,8 +645,8 @@ TraceKit.computeStackTrace = (function computeStackTraceWrapper() { return null; } - var chrome = /^\s*at (?:((?:\[object object\])?\S+(?: \[as \S+\])?) )?\(?((?:file|https?):.*?):(\d+)(?::(\d+))?\)?\s*$/i, - gecko = /^\s*(\S*)(?:\((.*?)\))?@((?:file|https?).*?):(\d+)(?::(\d+))?\s*$/i, + var chrome = /^\s*at (?:((?:\[object object\])?\S+(?: \[as \S+\])?) )?\(?((?:file|https?|chrome-extension):.*?):(\d+)(?::(\d+))?\)?\s*$/i, + gecko = /^\s*(\S*)(?:\((.*?)\))?@((?:file|https?|chrome).*?):(\d+)(?::(\d+))?\s*$/i, lines = ex.stack.split('\n'), stack = [], parts, @@ -1108,7 +1108,8 @@ var _Raven = window.Raven, tags: {}, extra: {} }, - authQueryString; + authQueryString, + isRavenInstalled = false; /* * The core Raven singleton @@ -1116,7 +1117,9 @@ var _Raven = window.Raven, * @this {Raven} */ var Raven = { - VERSION: '1.1.15', + VERSION: '1.1.16', + + debug: true, /* * Allow multiple versions of Raven to be installed. @@ -1137,6 +1140,10 @@ var Raven = { * @return {Raven} */ config: function(dsn, options) { + if (globalServer) { + logDebug('error', 'Error: Raven has already been configured'); + return Raven; + } if (!dsn) return Raven; var uri = parseDSN(dsn), @@ -1155,6 +1162,10 @@ var Raven = { globalOptions.ignoreErrors.push('Script error.'); globalOptions.ignoreErrors.push('Script error'); + // Other variants of external script errors: + globalOptions.ignoreErrors.push('Javascript error: Script error on line 0'); + globalOptions.ignoreErrors.push('Javascript error: Script error. on line 0'); + // join regexp rules into one big rule globalOptions.ignoreErrors = joinRegExp(globalOptions.ignoreErrors); globalOptions.ignoreUrls = globalOptions.ignoreUrls.length ? joinRegExp(globalOptions.ignoreUrls) : false; @@ -1198,8 +1209,9 @@ var Raven = { * @return {Raven} */ install: function() { - if (isSetup()) { + if (isSetup() && !isRavenInstalled) { TraceKit.report.subscribe(handleStackInfo); + isRavenInstalled = true; } return Raven; @@ -1273,7 +1285,7 @@ var Raven = { // copy over properties of the old function for (var property in func) { - if (func.hasOwnProperty(property)) { + if (hasKey(func, property)) { wrapped[property] = func[property]; } } @@ -1293,6 +1305,7 @@ var Raven = { */ uninstall: function() { TraceKit.report.uninstall(); + isRavenInstalled = false; return Raven; }, @@ -1351,12 +1364,36 @@ var Raven = { * @param {object} user An object representing user data [optional] * @return {Raven} */ - setUser: function(user) { + setUserContext: function(user) { globalUser = user; return Raven; }, + /* + * Set extra attributes to be sent along with the payload. + * + * @param {object} extra An object representing extra data [optional] + * @return {Raven} + */ + setExtraContext: function(extra) { + globalOptions.extra = extra || {}; + + return Raven; + }, + + /* + * Set tags to be sent along with the payload. + * + * @param {object} tags An object representing tags [optional] + * @return {Raven} + */ + setTagsContext: function(tags) { + globalOptions.tags = tags || {}; + + return Raven; + }, + /* * Get the latest raw exception that was captured by Raven. * @@ -1376,6 +1413,8 @@ var Raven = { } }; +Raven.setUser = Raven.setUserContext; // To be deprecated + function triggerEvent(eventType, options) { var event, key; @@ -1391,7 +1430,7 @@ function triggerEvent(eventType, options) { event.eventType = eventType; } - for (key in options) if (options.hasOwnProperty(key)) { + for (key in options) if (hasKey(options, key)) { event[key] = options[key]; } @@ -1468,7 +1507,7 @@ function each(obj, callback) { if (isUndefined(obj.length)) { for (i in obj) { - if (obj.hasOwnProperty(i)) { + if (hasKey(obj, i)) { callback.call(null, i, obj[i]); } } @@ -1541,7 +1580,7 @@ function normalizeFrame(frame) { // Now we check for fun, if the function name is Raven or TraceKit /(Raven|TraceKit)\./.test(normalized['function']) || // finally, we do a last ditch effort and check for raven.min.js - /raven\.(min\.)js$/.test(normalized.filename) + /raven\.(min\.)?js$/.test(normalized.filename) ); return normalized; @@ -1736,9 +1775,7 @@ function makeRequest(data) { function isSetup() { if (!hasJSON) return false; // needs JSON support if (!globalServer) { - if (window.console && console.error) { - console.error("Error: Raven has not been configured."); - } + logDebug('error', 'Error: Raven has not been configured.'); return false; } return true; @@ -1775,6 +1812,12 @@ function uuid4() { }); } +function logDebug(level, message) { + if (window.console && console[level] && Raven.debug) { + console[level](message); + } +} + function afterLoad() { // Attempt to initialize Raven on load var RavenConfig = window.RavenConfig; diff --git a/dist/raven.min.js b/dist/raven.min.js index 3bd37f3be249..ae6c0d0b7ca0 100644 --- a/dist/raven.min.js +++ b/dist/raven.min.js @@ -1,3 +1,3 @@ -/*! Raven.js 1.1.15 (bc060ae) | github.com/getsentry/raven-js */ -!function(a,b){"use strict";function c(a,b){var c,d;b=b||{},a="raven"+a.substr(0,1).toUpperCase()+a.substr(1),document.createEvent?(c=document.createEvent("HTMLEvents"),c.initEvent(a,!0,!0)):(c=document.createEventObject(),c.eventType=a);for(d in b)b.hasOwnProperty(d)&&(c[d]=b[d]);if(document.createEvent)document.dispatchEvent(c);else try{document.fireEvent("on"+c.eventType.toLowerCase(),c)}catch(e){}}function d(a){this.name="RavenConfigError",this.message=a}function e(a){var b=O.exec(a),c={},e=7;try{for(;e--;)c[N[e]]=b[e]||""}catch(f){throw new d("Invalid DSN: "+a)}if(c.pass)throw new d("Do not specify your private key in the DSN!");return c}function f(a){return"undefined"==typeof a}function g(a){return"function"==typeof a}function h(a){return"string"==typeof a}function i(a){for(var b in a)return!1;return!0}function j(a,b){return Object.prototype.hasOwnProperty.call(a,b)}function k(a,b){var c,d;if(f(a.length))for(c in a)a.hasOwnProperty(c)&&b.call(null,c,a[c]);else if(d=a.length)for(c=0;d>c;c++)b.call(null,c,a[c])}function l(){I="?sentry_version=4&sentry_client=raven-js/"+M.VERSION+"&sentry_key="+G}function m(a,b){var d=[];a.stack&&a.stack.length&&k(a.stack,function(a,b){var c=n(b);c&&d.push(c)}),c("handle",{stackInfo:a,options:b}),p(a.name,a.message,a.url,a.lineno,d,b)}function n(a){if(a.url){var b,c={filename:a.url,lineno:a.line,colno:a.column,"function":a.func||"?"},d=o(a);if(d){var e=["pre_context","context_line","post_context"];for(b=3;b--;)c[e[b]]=d[b]}return c.in_app=!(!L.includePaths.test(c.filename)||/(Raven|TraceKit)\./.test(c["function"])||/raven\.(min\.)js$/.test(c.filename)),c}}function o(a){if(a.context&&L.fetchContext){for(var b=a.context,c=~~(b.length/2),d=b.length,e=!1;d--;)if(b[d].length>300){e=!0;break}if(e){if(f(a.column))return;return[[],b[c].substr(a.column,50),[]]}return[b.slice(0,c),b[c],b.slice(c+1)]}}function p(a,b,c,d,e,f){var g,h;b+="",("Error"!==a||b)&&(L.ignoreErrors.test(b)||(e&&e.length?(c=e[0].filename||c,e.reverse(),g={frames:e}):c&&(g={frames:[{filename:c,lineno:d,in_app:!0}]}),b=r(b,100),L.ignoreUrls&&L.ignoreUrls.test(c)||(!L.whitelistUrls||L.whitelistUrls.test(c))&&(h=d?b+" at "+d:b,t(q({exception:{type:a,value:b},stacktrace:g,culprit:c,message:h},f)))))}function q(a,b){return b?(k(b,function(b,c){a[b]=c}),a):a}function r(a,b){return a.length<=b?a:a.substr(0,b)+"…"}function s(){var a={url:document.location.href,headers:{"User-Agent":navigator.userAgent}};return document.referrer&&(a.headers.Referer=document.referrer),a}function t(a){v()&&(a=q({project:H,logger:L.logger,site:L.site,platform:"javascript",request:s()},a),a.tags=q(L.tags,a.tags),a.extra=q(L.extra,a.extra),i(a.tags)&&delete a.tags,i(a.extra)&&delete a.extra,F&&(a.user=F),g(L.dataCallback)&&(a=L.dataCallback(a)),(!g(L.shouldSendCallback)||L.shouldSendCallback(a))&&(D=a.event_id||(a.event_id=x()),u(a)))}function u(a){var b=new Image,d=E+I+"&sentry_data="+encodeURIComponent(JSON.stringify(a));b.onload=function(){c("success",{data:a,src:d})},b.onerror=b.onabort=function(){c("failure",{data:a,src:d})},b.src=d}function v(){return K?E?!0:(a.console&&console.error&&console.error("Error: Raven has not been configured."),!1):!1}function w(a){for(var b,c=[],d=0,e=a.length;e>d;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 x(){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 y(){var b=a.RavenConfig;b&&M.config(b.dsn,b.config).install()}var z={remoteFetching:!1,collectWindowErrors:!0,linesOfContext:7},A=[].slice,B="?";z.wrap=function(a){function b(){try{return a.apply(this,arguments)}catch(b){throw z.report(b),b}}return b},z.report=function(){function c(a){h(),o.push(a)}function d(a){for(var b=o.length-1;b>=0;--b)o[b]===a&&o.splice(b,1)}function e(){i(),o=[]}function f(a,b){var c=null;if(!b||z.collectWindowErrors){for(var d in o)if(j(o,d))try{o[d].apply(null,[a].concat(A.call(arguments,2)))}catch(e){c=e}if(c)throw c}}function g(a,b,c,d,e){var g=null;if(r)z.computeStackTrace.augmentStackTraceWithInitialElement(r,b,c,a),k();else if(e)g=z.computeStackTrace(e),f(g,!0);else{var h={url:b,line:c,column:d};h.func=z.computeStackTrace.guessFunctionName(h.url,h.line),h.context=z.computeStackTrace.gatherContext(h.url,h.line),g={message:a,url:document.location.href,stack:[h]},f(g,!0)}return m?m.apply(this,arguments):!1}function h(){n||(m=a.onerror,a.onerror=g,n=!0)}function i(){n&&(a.onerror=m,n=!1,m=b)}function k(){var a=r,b=p;p=null,r=null,q=null,f.apply(null,[a,!1].concat(b))}function l(b,c){var d=A.call(arguments,1);if(r){if(q===b)return;k()}var e=z.computeStackTrace(b);if(r=e,q=b,p=d,a.setTimeout(function(){q===b&&k()},e.incomplete?2e3:0),c!==!1)throw b}var m,n,o=[],p=null,q=null,r=null;return l.subscribe=c,l.unsubscribe=d,l.uninstall=e,l}(),z.computeStackTrace=function(){function b(b){if(!z.remoteFetching)return"";try{var c=function(){try{return new a.XMLHttpRequest}catch(b){return new a.ActiveXObject("Microsoft.XMLHTTP")}},d=c();return d.open("GET",b,!1),d.send(""),d.responseText}catch(e){return""}}function c(a){if(!h(a))return[];if(!j(v,a)){var c="";-1!==a.indexOf(document.domain)&&(c=b(a)),v[a]=c?c.split("\n"):[]}return v[a]}function d(a,b){var d,e=/function ([^(]*)\(([^)]*)\)/,g=/['"]?([0-9A-Za-z$_]+)['"]?\s*[:=]\s*(function|eval|new Function)/,h="",i=10,j=c(a);if(!j.length)return B;for(var k=0;i>k;++k)if(h=j[b-k]+h,!f(h)){if(d=g.exec(h))return d[1];if(d=e.exec(h))return d[1]}return B}function e(a,b){var d=c(a);if(!d.length)return null;var e=[],g=Math.floor(z.linesOfContext/2),h=g+z.linesOfContext%2,i=Math.max(0,b-g-1),j=Math.min(d.length,b+h-1);b-=1;for(var k=i;j>k;++k)f(d[k])||e.push(d[k]);return e.length>0?e:null}function g(a){return a.replace(/[\-\[\]{}()*+?.,\\\^$|#]/g,"\\$&")}function i(a){return g(a).replace("<","(?:<|<)").replace(">","(?:>|>)").replace("&","(?:&|&)").replace('"','(?:"|")').replace(/\s+/g,"\\s+")}function k(a,b){for(var d,e,f=0,g=b.length;g>f;++f)if((d=c(b[f])).length&&(d=d.join("\n"),e=a.exec(d)))return{url:b[f],line:d.substring(0,e.index).split("\n").length,column:e.index-d.lastIndexOf("\n",e.index)-1};return null}function l(a,b,d){var e,f=c(b),h=new RegExp("\\b"+g(a)+"\\b");return d-=1,f&&f.length>d&&(e=h.exec(f[d]))?e.index:null}function m(b){for(var c,d,e,f,h=[a.location.href],j=document.getElementsByTagName("script"),l=""+b,m=/^function(?:\s+([\w$]+))?\s*\(([\w\s,]*)\)\s*\{\s*(\S[\s\S]*\S)\s*\}\s*$/,n=/^function on([\w$]+)\s*\(event\)\s*\{\s*(\S[\s\S]*\S)\s*\}\s*$/,o=0;om;++m){if(b=h.exec(i[m]))c={url:b[3],func:b[1]||B,args:b[2]?b[2].split(","):"",line:+b[4],column:b[5]?+b[5]:null};else{if(!(b=g.exec(i[m])))continue;c={url:b[2],func:b[1]||B,line:+b[3],column:b[4]?+b[4]:null}}!c.func&&c.line&&(c.func=d(c.url,c.line)),c.line&&(c.context=e(c.url,c.line)),j.push(c)}return j.length?(j[0].line&&!j[0].column&&k?j[0].column=l(k[1],j[0].url,j[0].line):j[0].column||f(a.columnNumber)||(j[0].column=a.columnNumber+1),{name:a.name,message:a.message,url:document.location.href,stack:j}):null}function o(a){for(var b,c=a.stacktrace,f=/ line (\d+), column (\d+) in (?:]+)>|([^\)]+))\((.*)\) in (.*):\s*$/i,g=c.split("\n"),h=[],i=0,j=g.length;j>i;i+=2)if(b=f.exec(g[i])){var k={line:+b[1],column:+b[2],func:b[3]||b[4],args:b[5]?b[5].split(","):[],url:b[6]};if(!k.func&&k.line&&(k.func=d(k.url,k.line)),k.line)try{k.context=e(k.url,k.line)}catch(l){}k.context||(k.context=[g[i+1]]),h.push(k)}return h.length?{name:a.name,message:a.message,url:document.location.href,stack:h}:null}function p(b){var f=b.message.split("\n");if(f.length<4)return null;var g,h,l,m,n=/^\s*Line (\d+) of linked script ((?:file|https?)\S+)(?:: in function (\S+))?\s*$/i,o=/^\s*Line (\d+) of inline#(\d+) script in ((?:file|https?)\S+)(?:: in function (\S+))?\s*$/i,p=/^\s*Line (\d+) of function script\s*$/i,q=[],r=document.getElementsByTagName("script"),s=[];for(h in r)j(r,h)&&!r[h].src&&s.push(r[h]);for(h=2,l=f.length;l>h;h+=2){var t=null;if(g=n.exec(f[h]))t={url:g[2],func:g[3],line:+g[1]};else if(g=o.exec(f[h])){t={url:g[3],func:g[4]};var u=+g[1],v=s[g[2]-1];if(v&&(m=c(t.url))){m=m.join("\n");var w=m.indexOf(v.innerText);w>=0&&(t.line=u+m.substring(0,w).split("\n").length)}}else if(g=p.exec(f[h])){var x=a.location.href.replace(/#.*$/,""),y=g[1],z=new RegExp(i(f[h+1]));m=k(z,[x]),t={url:x,line:m?m.line:y,func:""}}if(t){t.func||(t.func=d(t.url,t.line));var A=e(t.url,t.line),B=A?A[Math.floor(A.length/2)]:null;t.context=A&&B.replace(/^\s*/,"")===f[h+1].replace(/^\s*/,"")?A:[f[h+1]],q.push(t)}}return q.length?{name:b.name,message:f[0],url:document.location.href,stack:q}:null}function q(a,b,c,f){var g={url:b,line:c};if(g.url&&g.line){a.incomplete=!1,g.func||(g.func=d(g.url,g.line)),g.context||(g.context=e(g.url,g.line));var h=/ '([^']+)' /.exec(f);if(h&&(g.column=l(h[1],g.url,g.line)),a.stack.length>0&&a.stack[0].url===g.url){if(a.stack[0].line===g.line)return!1;if(!a.stack[0].line&&a.stack[0].func===g.func)return a.stack[0].line=g.line,a.stack[0].context=g.context,!1}return a.stack.unshift(g),a.partial=!0,!0}return a.incomplete=!0,!1}function r(a,b){for(var c,e,f,g=/function\s+([_$a-zA-Z\xA0-\uFFFF][_$a-zA-Z0-9\xA0-\uFFFF]*)?\s*\(/i,h=[],i={},j=!1,k=r.caller;k&&!j;k=k.caller)if(k!==s&&k!==z.report){if(e={url:null,func:B,line:null,column:null},k.name?e.func=k.name:(c=g.exec(k.toString()))&&(e.func=c[1]),f=m(k)){e.url=f.url,e.line=f.line,e.func===B&&(e.func=d(e.url,e.line));var n=/ '([^']+)' /.exec(a.message||a.description);n&&(e.column=l(n[1],f.url,f.line))}i[""+k]?j=!0:i[""+k]=!0,h.push(e)}b&&h.splice(0,b);var o={name:a.name,message:a.message,url:document.location.href,stack:h};return q(o,a.sourceURL||a.fileName,a.line||a.lineNumber,a.message||a.description),o}function s(a,b){var c=null;b=null==b?0:+b;try{if(c=o(a))return c}catch(d){if(u)throw d}try{if(c=n(a))return c}catch(d){if(u)throw d}try{if(c=p(a))return c}catch(d){if(u)throw d}try{if(c=r(a,b+1))return c}catch(d){if(u)throw d}return{}}function t(a){a=(null==a?0:+a)+1;try{throw new Error}catch(b){return s(b,a+1)}}var u=!1,v={};return s.augmentStackTraceWithInitialElement=q,s.guessFunctionName=d,s.gatherContext=e,s.ofCaller=t,s}();var C,D,E,F,G,H,I,J=a.Raven,K=!(!a.JSON||!a.JSON.stringify),L={logger:"javascript",ignoreErrors:[],ignoreUrls:[],whitelistUrls:[],includePaths:[],collectWindowErrors:!0,tags:{},extra:{}},M={VERSION:"1.1.15",noConflict:function(){return a.Raven=J,M},config:function(a,b){if(!a)return M;var c=e(a),d=c.path.lastIndexOf("/"),f=c.path.substr(1,d);return b&&k(b,function(a,b){L[a]=b}),L.ignoreErrors.push("Script error."),L.ignoreErrors.push("Script error"),L.ignoreErrors=w(L.ignoreErrors),L.ignoreUrls=L.ignoreUrls.length?w(L.ignoreUrls):!1,L.whitelistUrls=L.whitelistUrls.length?w(L.whitelistUrls):!1,L.includePaths=w(L.includePaths),G=c.user,H=c.path.substr(d+1),E="//"+c.host+(c.port?":"+c.port:"")+"/"+f+"api/"+H+"/store/",c.protocol&&(E=c.protocol+":"+E),L.fetchContext&&(z.remoteFetching=!0),L.linesOfContext&&(z.linesOfContext=L.linesOfContext),z.collectWindowErrors=!!L.collectWindowErrors,l(),M},install:function(){return v()&&z.report.subscribe(m),M},context:function(a,c,d){return g(a)&&(d=c||[],c=a,a=b),M.wrap(a,c).apply(this,d)},wrap:function(a,c){function d(){for(var b=[],d=arguments.length,e=!a||a&&a.deep!==!1;d--;)b[d]=e?M.wrap(a,arguments[d]):arguments[d];try{return c.apply(this,b)}catch(f){throw M.captureException(f,a),f}}if(f(c)&&!g(a))return a;if(g(a)&&(c=a,a=b),!g(c))return c;if(c.__raven__)return c;for(var e in c)c.hasOwnProperty(e)&&(d[e]=c[e]);return d.__raven__=!0,d.__inner__=c,d},uninstall:function(){return z.report.uninstall(),M},captureException:function(a,b){if(!(a instanceof Error))return M.captureMessage(a,b);C=a;try{z.report(a,b)}catch(c){if(a!==c)throw c}return M},captureMessage:function(a,b){return t(q({message:a+""},b)),M},setUser:function(a){return F=a,M},lastException:function(){return C},lastEventId:function(){return D}},N="source protocol user pass host port path".split(" "),O=/^(?:(\w+):)?\/\/(\w+)(:\w+)?@([\w\.-]+)(?::(\d+))?(\/.*)/;d.prototype=new Error,d.prototype.constructor=d,y(),a.Raven=M,"function"==typeof define&&define.amd&&define("raven",[],function(){return M})}(this); +/*! Raven.js 1.1.16 (463f68f) | github.com/getsentry/raven-js */ +!function(a,b){"use strict";function c(a,b){var c,d;b=b||{},a="raven"+a.substr(0,1).toUpperCase()+a.substr(1),document.createEvent?(c=document.createEvent("HTMLEvents"),c.initEvent(a,!0,!0)):(c=document.createEventObject(),c.eventType=a);for(d in b)j(b,d)&&(c[d]=b[d]);if(document.createEvent)document.dispatchEvent(c);else try{document.fireEvent("on"+c.eventType.toLowerCase(),c)}catch(e){}}function d(a){this.name="RavenConfigError",this.message=a}function e(a){var b=Q.exec(a),c={},e=7;try{for(;e--;)c[P[e]]=b[e]||""}catch(f){throw new d("Invalid DSN: "+a)}if(c.pass)throw new d("Do not specify your private key in the DSN!");return c}function f(a){return"undefined"==typeof a}function g(a){return"function"==typeof a}function h(a){return"string"==typeof a}function i(a){for(var b in a)return!1;return!0}function j(a,b){return Object.prototype.hasOwnProperty.call(a,b)}function k(a,b){var c,d;if(f(a.length))for(c in a)j(a,c)&&b.call(null,c,a[c]);else if(d=a.length)for(c=0;d>c;c++)b.call(null,c,a[c])}function l(){J="?sentry_version=4&sentry_client=raven-js/"+O.VERSION+"&sentry_key="+H}function m(a,b){var d=[];a.stack&&a.stack.length&&k(a.stack,function(a,b){var c=n(b);c&&d.push(c)}),c("handle",{stackInfo:a,options:b}),p(a.name,a.message,a.url,a.lineno,d,b)}function n(a){if(a.url){var b,c={filename:a.url,lineno:a.line,colno:a.column,"function":a.func||"?"},d=o(a);if(d){var e=["pre_context","context_line","post_context"];for(b=3;b--;)c[e[b]]=d[b]}return c.in_app=!(!M.includePaths.test(c.filename)||/(Raven|TraceKit)\./.test(c["function"])||/raven\.(min\.)?js$/.test(c.filename)),c}}function o(a){if(a.context&&M.fetchContext){for(var b=a.context,c=~~(b.length/2),d=b.length,e=!1;d--;)if(b[d].length>300){e=!0;break}if(e){if(f(a.column))return;return[[],b[c].substr(a.column,50),[]]}return[b.slice(0,c),b[c],b.slice(c+1)]}}function p(a,b,c,d,e,f){var g,h;b+="",("Error"!==a||b)&&(M.ignoreErrors.test(b)||(e&&e.length?(c=e[0].filename||c,e.reverse(),g={frames:e}):c&&(g={frames:[{filename:c,lineno:d,in_app:!0}]}),b=r(b,100),M.ignoreUrls&&M.ignoreUrls.test(c)||(!M.whitelistUrls||M.whitelistUrls.test(c))&&(h=d?b+" at "+d:b,t(q({exception:{type:a,value:b},stacktrace:g,culprit:c,message:h},f)))))}function q(a,b){return b?(k(b,function(b,c){a[b]=c}),a):a}function r(a,b){return a.length<=b?a:a.substr(0,b)+"…"}function s(){var a={url:document.location.href,headers:{"User-Agent":navigator.userAgent}};return document.referrer&&(a.headers.Referer=document.referrer),a}function t(a){v()&&(a=q({project:I,logger:M.logger,site:M.site,platform:"javascript",request:s()},a),a.tags=q(M.tags,a.tags),a.extra=q(M.extra,a.extra),i(a.tags)&&delete a.tags,i(a.extra)&&delete a.extra,G&&(a.user=G),g(M.dataCallback)&&(a=M.dataCallback(a)),(!g(M.shouldSendCallback)||M.shouldSendCallback(a))&&(E=a.event_id||(a.event_id=x()),u(a)))}function u(a){var b=new Image,d=F+J+"&sentry_data="+encodeURIComponent(JSON.stringify(a));b.onload=function(){c("success",{data:a,src:d})},b.onerror=b.onabort=function(){c("failure",{data:a,src:d})},b.src=d}function v(){return L?F?!0:(y("error","Error: Raven has not been configured."),!1):!1}function w(a){for(var b,c=[],d=0,e=a.length;e>d;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 x(){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 y(b,c){a.console&&console[b]&&O.debug&&console[b](c)}function z(){var b=a.RavenConfig;b&&O.config(b.dsn,b.config).install()}var A={remoteFetching:!1,collectWindowErrors:!0,linesOfContext:7},B=[].slice,C="?";A.wrap=function(a){function b(){try{return a.apply(this,arguments)}catch(b){throw A.report(b),b}}return b},A.report=function(){function c(a){h(),o.push(a)}function d(a){for(var b=o.length-1;b>=0;--b)o[b]===a&&o.splice(b,1)}function e(){i(),o=[]}function f(a,b){var c=null;if(!b||A.collectWindowErrors){for(var d in o)if(j(o,d))try{o[d].apply(null,[a].concat(B.call(arguments,2)))}catch(e){c=e}if(c)throw c}}function g(a,b,c,d,e){var g=null;if(r)A.computeStackTrace.augmentStackTraceWithInitialElement(r,b,c,a),k();else if(e)g=A.computeStackTrace(e),f(g,!0);else{var h={url:b,line:c,column:d};h.func=A.computeStackTrace.guessFunctionName(h.url,h.line),h.context=A.computeStackTrace.gatherContext(h.url,h.line),g={message:a,url:document.location.href,stack:[h]},f(g,!0)}return m?m.apply(this,arguments):!1}function h(){n||(m=a.onerror,a.onerror=g,n=!0)}function i(){n&&(a.onerror=m,n=!1,m=b)}function k(){var a=r,b=p;p=null,r=null,q=null,f.apply(null,[a,!1].concat(b))}function l(b,c){var d=B.call(arguments,1);if(r){if(q===b)return;k()}var e=A.computeStackTrace(b);if(r=e,q=b,p=d,a.setTimeout(function(){q===b&&k()},e.incomplete?2e3:0),c!==!1)throw b}var m,n,o=[],p=null,q=null,r=null;return l.subscribe=c,l.unsubscribe=d,l.uninstall=e,l}(),A.computeStackTrace=function(){function b(b){if(!A.remoteFetching)return"";try{var c=function(){try{return new a.XMLHttpRequest}catch(b){return new a.ActiveXObject("Microsoft.XMLHTTP")}},d=c();return d.open("GET",b,!1),d.send(""),d.responseText}catch(e){return""}}function c(a){if(!h(a))return[];if(!j(v,a)){var c="";-1!==a.indexOf(document.domain)&&(c=b(a)),v[a]=c?c.split("\n"):[]}return v[a]}function d(a,b){var d,e=/function ([^(]*)\(([^)]*)\)/,g=/['"]?([0-9A-Za-z$_]+)['"]?\s*[:=]\s*(function|eval|new Function)/,h="",i=10,j=c(a);if(!j.length)return C;for(var k=0;i>k;++k)if(h=j[b-k]+h,!f(h)){if(d=g.exec(h))return d[1];if(d=e.exec(h))return d[1]}return C}function e(a,b){var d=c(a);if(!d.length)return null;var e=[],g=Math.floor(A.linesOfContext/2),h=g+A.linesOfContext%2,i=Math.max(0,b-g-1),j=Math.min(d.length,b+h-1);b-=1;for(var k=i;j>k;++k)f(d[k])||e.push(d[k]);return e.length>0?e:null}function g(a){return a.replace(/[\-\[\]{}()*+?.,\\\^$|#]/g,"\\$&")}function i(a){return g(a).replace("<","(?:<|<)").replace(">","(?:>|>)").replace("&","(?:&|&)").replace('"','(?:"|")').replace(/\s+/g,"\\s+")}function k(a,b){for(var d,e,f=0,g=b.length;g>f;++f)if((d=c(b[f])).length&&(d=d.join("\n"),e=a.exec(d)))return{url:b[f],line:d.substring(0,e.index).split("\n").length,column:e.index-d.lastIndexOf("\n",e.index)-1};return null}function l(a,b,d){var e,f=c(b),h=new RegExp("\\b"+g(a)+"\\b");return d-=1,f&&f.length>d&&(e=h.exec(f[d]))?e.index:null}function m(b){for(var c,d,e,f,h=[a.location.href],j=document.getElementsByTagName("script"),l=""+b,m=/^function(?:\s+([\w$]+))?\s*\(([\w\s,]*)\)\s*\{\s*(\S[\s\S]*\S)\s*\}\s*$/,n=/^function on([\w$]+)\s*\(event\)\s*\{\s*(\S[\s\S]*\S)\s*\}\s*$/,o=0;om;++m){if(b=h.exec(i[m]))c={url:b[3],func:b[1]||C,args:b[2]?b[2].split(","):"",line:+b[4],column:b[5]?+b[5]:null};else{if(!(b=g.exec(i[m])))continue;c={url:b[2],func:b[1]||C,line:+b[3],column:b[4]?+b[4]:null}}!c.func&&c.line&&(c.func=d(c.url,c.line)),c.line&&(c.context=e(c.url,c.line)),j.push(c)}return j.length?(j[0].line&&!j[0].column&&k?j[0].column=l(k[1],j[0].url,j[0].line):j[0].column||f(a.columnNumber)||(j[0].column=a.columnNumber+1),{name:a.name,message:a.message,url:document.location.href,stack:j}):null}function o(a){for(var b,c=a.stacktrace,f=/ line (\d+), column (\d+) in (?:]+)>|([^\)]+))\((.*)\) in (.*):\s*$/i,g=c.split("\n"),h=[],i=0,j=g.length;j>i;i+=2)if(b=f.exec(g[i])){var k={line:+b[1],column:+b[2],func:b[3]||b[4],args:b[5]?b[5].split(","):[],url:b[6]};if(!k.func&&k.line&&(k.func=d(k.url,k.line)),k.line)try{k.context=e(k.url,k.line)}catch(l){}k.context||(k.context=[g[i+1]]),h.push(k)}return h.length?{name:a.name,message:a.message,url:document.location.href,stack:h}:null}function p(b){var f=b.message.split("\n");if(f.length<4)return null;var g,h,l,m,n=/^\s*Line (\d+) of linked script ((?:file|https?)\S+)(?:: in function (\S+))?\s*$/i,o=/^\s*Line (\d+) of inline#(\d+) script in ((?:file|https?)\S+)(?:: in function (\S+))?\s*$/i,p=/^\s*Line (\d+) of function script\s*$/i,q=[],r=document.getElementsByTagName("script"),s=[];for(h in r)j(r,h)&&!r[h].src&&s.push(r[h]);for(h=2,l=f.length;l>h;h+=2){var t=null;if(g=n.exec(f[h]))t={url:g[2],func:g[3],line:+g[1]};else if(g=o.exec(f[h])){t={url:g[3],func:g[4]};var u=+g[1],v=s[g[2]-1];if(v&&(m=c(t.url))){m=m.join("\n");var w=m.indexOf(v.innerText);w>=0&&(t.line=u+m.substring(0,w).split("\n").length)}}else if(g=p.exec(f[h])){var x=a.location.href.replace(/#.*$/,""),y=g[1],z=new RegExp(i(f[h+1]));m=k(z,[x]),t={url:x,line:m?m.line:y,func:""}}if(t){t.func||(t.func=d(t.url,t.line));var A=e(t.url,t.line),B=A?A[Math.floor(A.length/2)]:null;t.context=A&&B.replace(/^\s*/,"")===f[h+1].replace(/^\s*/,"")?A:[f[h+1]],q.push(t)}}return q.length?{name:b.name,message:f[0],url:document.location.href,stack:q}:null}function q(a,b,c,f){var g={url:b,line:c};if(g.url&&g.line){a.incomplete=!1,g.func||(g.func=d(g.url,g.line)),g.context||(g.context=e(g.url,g.line));var h=/ '([^']+)' /.exec(f);if(h&&(g.column=l(h[1],g.url,g.line)),a.stack.length>0&&a.stack[0].url===g.url){if(a.stack[0].line===g.line)return!1;if(!a.stack[0].line&&a.stack[0].func===g.func)return a.stack[0].line=g.line,a.stack[0].context=g.context,!1}return a.stack.unshift(g),a.partial=!0,!0}return a.incomplete=!0,!1}function r(a,b){for(var c,e,f,g=/function\s+([_$a-zA-Z\xA0-\uFFFF][_$a-zA-Z0-9\xA0-\uFFFF]*)?\s*\(/i,h=[],i={},j=!1,k=r.caller;k&&!j;k=k.caller)if(k!==s&&k!==A.report){if(e={url:null,func:C,line:null,column:null},k.name?e.func=k.name:(c=g.exec(k.toString()))&&(e.func=c[1]),f=m(k)){e.url=f.url,e.line=f.line,e.func===C&&(e.func=d(e.url,e.line));var n=/ '([^']+)' /.exec(a.message||a.description);n&&(e.column=l(n[1],f.url,f.line))}i[""+k]?j=!0:i[""+k]=!0,h.push(e)}b&&h.splice(0,b);var o={name:a.name,message:a.message,url:document.location.href,stack:h};return q(o,a.sourceURL||a.fileName,a.line||a.lineNumber,a.message||a.description),o}function s(a,b){var c=null;b=null==b?0:+b;try{if(c=o(a))return c}catch(d){if(u)throw d}try{if(c=n(a))return c}catch(d){if(u)throw d}try{if(c=p(a))return c}catch(d){if(u)throw d}try{if(c=r(a,b+1))return c}catch(d){if(u)throw d}return{}}function t(a){a=(null==a?0:+a)+1;try{throw new Error}catch(b){return s(b,a+1)}}var u=!1,v={};return s.augmentStackTraceWithInitialElement=q,s.guessFunctionName=d,s.gatherContext=e,s.ofCaller=t,s}();var D,E,F,G,H,I,J,K=a.Raven,L=!(!a.JSON||!a.JSON.stringify),M={logger:"javascript",ignoreErrors:[],ignoreUrls:[],whitelistUrls:[],includePaths:[],collectWindowErrors:!0,tags:{},extra:{}},N=!1,O={VERSION:"1.1.16",debug:!0,noConflict:function(){return a.Raven=K,O},config:function(a,b){if(F)return y("error","Error: Raven has already been configured"),O;if(!a)return O;var c=e(a),d=c.path.lastIndexOf("/"),f=c.path.substr(1,d);return b&&k(b,function(a,b){M[a]=b}),M.ignoreErrors.push("Script error."),M.ignoreErrors.push("Script error"),M.ignoreErrors.push("Javascript error: Script error on line 0"),M.ignoreErrors.push("Javascript error: Script error. on line 0"),M.ignoreErrors=w(M.ignoreErrors),M.ignoreUrls=M.ignoreUrls.length?w(M.ignoreUrls):!1,M.whitelistUrls=M.whitelistUrls.length?w(M.whitelistUrls):!1,M.includePaths=w(M.includePaths),H=c.user,I=c.path.substr(d+1),F="//"+c.host+(c.port?":"+c.port:"")+"/"+f+"api/"+I+"/store/",c.protocol&&(F=c.protocol+":"+F),M.fetchContext&&(A.remoteFetching=!0),M.linesOfContext&&(A.linesOfContext=M.linesOfContext),A.collectWindowErrors=!!M.collectWindowErrors,l(),O},install:function(){return v()&&!N&&(A.report.subscribe(m),N=!0),O},context:function(a,c,d){return g(a)&&(d=c||[],c=a,a=b),O.wrap(a,c).apply(this,d)},wrap:function(a,c){function d(){for(var b=[],d=arguments.length,e=!a||a&&a.deep!==!1;d--;)b[d]=e?O.wrap(a,arguments[d]):arguments[d];try{return c.apply(this,b)}catch(f){throw O.captureException(f,a),f}}if(f(c)&&!g(a))return a;if(g(a)&&(c=a,a=b),!g(c))return c;if(c.__raven__)return c;for(var e in c)j(c,e)&&(d[e]=c[e]);return d.__raven__=!0,d.__inner__=c,d},uninstall:function(){return A.report.uninstall(),N=!1,O},captureException:function(a,b){if(!(a instanceof Error))return O.captureMessage(a,b);D=a;try{A.report(a,b)}catch(c){if(a!==c)throw c}return O},captureMessage:function(a,b){return t(q({message:a+""},b)),O},setUserContext:function(a){return G=a,O},setExtraContext:function(a){return M.extra=a||{},O},setTagsContext:function(a){return M.tags=a||{},O},lastException:function(){return D},lastEventId:function(){return E}};O.setUser=O.setUserContext;var P="source protocol user pass host port path".split(" "),Q=/^(?:(\w+):)?\/\/(\w+)(:\w+)?@([\w\.-]+)(?::(\d+))?(\/.*)/;d.prototype=new Error,d.prototype.constructor=d,z(),a.Raven=O,"function"==typeof define&&define.amd&&define("raven",[],function(){return O})}(this); //# sourceMappingURL=raven.min.map \ No newline at end of file diff --git a/dist/raven.min.map b/dist/raven.min.map index 7d3977e49e92..02f8a9c9c8b5 100644 --- a/dist/raven.min.map +++ b/dist/raven.min.map @@ -1 +1 @@ -{"version":3,"file":"raven.min.js","sources":["raven.js"],"names":["window","undefined","triggerEvent","eventType","options","event","key","substr","toUpperCase","document","createEvent","initEvent","createEventObject","hasOwnProperty","dispatchEvent","fireEvent","toLowerCase","e","RavenConfigError","message","this","name","parseDSN","str","m","dsnPattern","exec","dsn","i","dsnKeys","pass","isUndefined","what","isFunction","isString","isEmptyObject","k","hasKey","object","Object","prototype","call","each","obj","callback","j","length","setAuthQueryString","authQueryString","Raven","VERSION","globalKey","handleStackInfo","stackInfo","frames","stack","frame","normalizeFrame","push","processException","url","lineno","normalized","filename","line","colno","column","function","func","context","extractContextFromFrame","keys","in_app","globalOptions","includePaths","test","fetchContext","pivot","isMinified","slice","type","fileurl","stacktrace","label","ignoreErrors","reverse","truncate","ignoreUrls","whitelistUrls","send","objectMerge","exception","value","culprit","obj1","obj2","max","getHttpData","http","location","href","headers","User-Agent","navigator","userAgent","referrer","Referer","data","isSetup","project","globalProject","logger","site","platform","request","tags","extra","globalUser","user","dataCallback","shouldSendCallback","lastEventId","event_id","uuid4","makeRequest","img","Image","src","globalServer","encodeURIComponent","JSON","stringify","onload","onerror","onabort","hasJSON","console","error","joinRegExp","patterns","pattern","sources","len","replace","source","RegExp","join","c","r","Math","random","v","toString","afterLoad","RavenConfig","config","install","TraceKit","remoteFetching","collectWindowErrors","linesOfContext","_slice","UNKNOWN_FUNCTION","wrap","wrapped","apply","arguments","report","subscribe","handler","installGlobalHandler","handlers","unsubscribe","splice","unsubscribeAll","uninstallGlobalHandler","notifyHandlers","isWindowError","concat","inner","traceKitWindowOnError","lineNo","colNo","ex","lastExceptionStack","computeStackTrace","augmentStackTraceWithInitialElement","processLastException","guessFunctionName","gatherContext","_oldOnerrorHandler","_onErrorHandlerInstalled","_lastExceptionStack","_lastArgs","lastArgs","lastException","rethrow","args","setTimeout","incomplete","uninstall","loadSource","getXHR","XMLHttpRequest","ActiveXObject","open","responseText","getSource","sourceCache","indexOf","domain","split","reFunctionArgNames","reGuessFunction","maxLines","linesBefore","floor","linesAfter","start","end","min","escapeRegExp","text","escapeCodeAsRegExpForMatchingInsideHTML","body","findSourceInUrls","re","urls","substring","index","lastIndexOf","findSourceInLine","fragment","findSourceByFunctionBody","parts","result","scripts","getElementsByTagName","code","codeRE","eventRE","script","computeStackTraceFromStackProp","element","chrome","gecko","lines","reference","columnNumber","computeStackTraceFromStacktraceProp","testRE","exc","computeStackTraceFromOperaMultiLineMessage","lineRE1","lineRE2","lineRE3","inlineScriptBlocks","item","relativeLine","pos","innerText","midline","initial","unshift","partial","computeStackTraceByWalkingCallerChain","depth","functionName","funcs","recursion","curr","caller","description","sourceURL","fileName","lineNumber","debug","computeStackTraceOfCaller","Error","ofCaller","lastCapturedException","_Raven","noConflict","uri","lastSlash","path","host","port","protocol","deep","captureException","__raven__","property","__inner__","captureMessage","ex1","msg","setUser","constructor","define","amd"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"raven.min.js","sources":["raven.js"],"names":["window","undefined","triggerEvent","eventType","options","event","key","substr","toUpperCase","document","createEvent","initEvent","createEventObject","hasKey","dispatchEvent","fireEvent","toLowerCase","e","RavenConfigError","message","this","name","parseDSN","str","m","dsnPattern","exec","dsn","i","dsnKeys","pass","isUndefined","what","isFunction","isString","isEmptyObject","k","object","Object","prototype","hasOwnProperty","call","each","obj","callback","j","length","setAuthQueryString","authQueryString","Raven","VERSION","globalKey","handleStackInfo","stackInfo","frames","stack","frame","normalizeFrame","push","processException","url","lineno","normalized","filename","line","colno","column","function","func","context","extractContextFromFrame","keys","in_app","globalOptions","includePaths","test","fetchContext","pivot","isMinified","slice","type","fileurl","stacktrace","label","ignoreErrors","reverse","truncate","ignoreUrls","whitelistUrls","send","objectMerge","exception","value","culprit","obj1","obj2","max","getHttpData","http","location","href","headers","User-Agent","navigator","userAgent","referrer","Referer","data","isSetup","project","globalProject","logger","site","platform","request","tags","extra","globalUser","user","dataCallback","shouldSendCallback","lastEventId","event_id","uuid4","makeRequest","img","Image","src","globalServer","encodeURIComponent","JSON","stringify","onload","onerror","onabort","hasJSON","logDebug","joinRegExp","patterns","pattern","sources","len","replace","source","RegExp","join","c","r","Math","random","v","toString","level","console","debug","afterLoad","RavenConfig","config","install","TraceKit","remoteFetching","collectWindowErrors","linesOfContext","_slice","UNKNOWN_FUNCTION","wrap","wrapped","apply","arguments","report","subscribe","handler","installGlobalHandler","handlers","unsubscribe","splice","unsubscribeAll","uninstallGlobalHandler","notifyHandlers","isWindowError","concat","inner","traceKitWindowOnError","lineNo","colNo","ex","lastExceptionStack","computeStackTrace","augmentStackTraceWithInitialElement","processLastException","guessFunctionName","gatherContext","_oldOnerrorHandler","_onErrorHandlerInstalled","_lastExceptionStack","_lastArgs","lastArgs","lastException","rethrow","args","setTimeout","incomplete","uninstall","loadSource","getXHR","XMLHttpRequest","ActiveXObject","open","responseText","getSource","sourceCache","indexOf","domain","split","reFunctionArgNames","reGuessFunction","maxLines","linesBefore","floor","linesAfter","start","end","min","escapeRegExp","text","escapeCodeAsRegExpForMatchingInsideHTML","body","findSourceInUrls","re","urls","substring","index","lastIndexOf","findSourceInLine","fragment","findSourceByFunctionBody","parts","result","scripts","getElementsByTagName","code","codeRE","eventRE","script","computeStackTraceFromStackProp","element","chrome","gecko","lines","reference","columnNumber","computeStackTraceFromStacktraceProp","testRE","exc","computeStackTraceFromOperaMultiLineMessage","lineRE1","lineRE2","lineRE3","inlineScriptBlocks","item","relativeLine","pos","innerText","midline","initial","unshift","partial","computeStackTraceByWalkingCallerChain","depth","functionName","funcs","recursion","curr","caller","description","sourceURL","fileName","lineNumber","computeStackTraceOfCaller","Error","ofCaller","lastCapturedException","_Raven","isRavenInstalled","noConflict","uri","lastSlash","path","host","port","protocol","deep","captureException","__raven__","property","__inner__","captureMessage","ex1","msg","setUserContext","setExtraContext","setTagsContext","setUser","constructor","define","amd"],"mappings":"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"} \ No newline at end of file diff --git a/docs/changelog/index.rst b/docs/changelog/index.rst index cb59fa29e7fa..35f683315450 100644 --- a/docs/changelog/index.rst +++ b/docs/changelog/index.rst @@ -1,6 +1,19 @@ Changelog ========= +1.1.16 +~~~~~~ +* Fixed a bug that was preventing stack frames from ``raven.js`` from being hidden correctly. See: https://github.com/getsentry/raven-js/pull/216 +* Fixed an IE bug with the ``console`` plugin. See: https://github.com/getsentry/raven-js/issues/217 +* Added support for ``chrome-extension://`` protocol in Chrome in stack traces. +* Added ``setExtraContext`` and ``setTagsContext``. See: https://github.com/getsentry/raven-js/pull/219 +* Renamed ``setUser`` to ``setUserContext`` to match. ``setUser`` still exists, but will be deprecated in a future release. +* New ``backbone.js`` plugin. See: https://github.com/getsentry/raven-js/pull/220 +* Added support for ``chrome://`` protocol in Firefox in stack traces. See: https://github.com/getsentry/raven-js/pull/225 +* Ignore more garbage from IE cross origin errors. See: https://github.com/getsentry/raven-js/pull/224 +* Added ``Raven.debug`` to prevent logging to ``console`` when ``false``. Defaults to ``true`` for backwards compatability. See: https://github.com/getsentry/raven-js/pull/229 +* Prevent calling ``Raven.config()`` or ``Raven.install()`` twice. See: https://github.com/getsentry/raven-js/pull/233 + 1.1.15 ~~~~~~ * Fix issues if a non-string were passed to ``Raven.captureMessage`` and non-Error objects were passed to ``Raven.captureException``. diff --git a/docs/usage/index.rst b/docs/usage/index.rst index 376329dce1e3..1f2ab5df0113 100644 --- a/docs/usage/index.rst +++ b/docs/usage/index.rst @@ -58,12 +58,12 @@ While a user is logged in, you can tell Sentry to associate errors with user dat .. code-block:: javascript - Raven.setUser({ + Raven.setUserContext({ email: 'matt@example.com', id: '123' }) -If at any point, the user becomes unauthenticated, you can call ``Raven.setUser()`` with no arguments to remove their data. *This would only really be useful in a large web app where the user logs in/out without a page reload.* +If at any point, the user becomes unauthenticated, you can call ``Raven.setUserContext()`` with no arguments to remove their data. *This would only really be useful in a large web app where the user logs in/out without a page reload.* Capturing a specific message ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -89,6 +89,14 @@ Passing additional data Raven.captureException(e, {extra: { foo: "bar" }}) +You can also set context variables globally to be merged in with future exceptions with ``setExtraContext`` and ``setTagsContext``. + +.. code-block:: javascript + + Raven.setExtraContext({ foo: "bar" }) + Raven.setTagsContext({ key: "value" }) + + Getting back an event id ~~~~~~~~~~~~~~~~~~~~~~~~ diff --git a/package.json b/package.json index bfbfb88ce3fa..af79ee5d3afb 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "raven", - "version": "1.1.15", + "version": "1.1.16", "scripts": { "test": "./node_modules/.bin/grunt test" },