Skip to content

Commit 0ea6f38

Browse files
committed
Release v2.5.4
1 parent 4f5586a commit 0ea6f38

24 files changed

+268
-84
lines changed

README.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# Rollbar.js
22

3-
[![Build Status](https://api.travis-ci.org/rollbar/rollbar.js.png?branch=v2.5.3)](https://travis-ci.org/rollbar/rollbar.js)
3+
[![Build Status](https://api.travis-ci.org/rollbar/rollbar.js.png?branch=v2.5.4)](https://travis-ci.org/rollbar/rollbar.js)
44
[![Code Quality: Javascript](https://img.shields.io/lgtm/grade/javascript/g/rollbar/rollbar.js.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/rollbar/rollbar.js/context:javascript)
55
[![Total Alerts](https://img.shields.io/lgtm/alerts/g/rollbar/rollbar.js.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/rollbar/rollbar.js/alerts)
66

dist/rollbar.js

+61-15
Original file line numberDiff line numberDiff line change
@@ -367,7 +367,7 @@
367367
return f.apply(this, arguments);
368368
} catch(exc) {
369369
var e = exc;
370-
if (e) {
370+
if (e && window._rollbarWrappedError !== e) {
371371
if (_.isType(e, 'string')) {
372372
e = new String(e);
373373
}
@@ -384,7 +384,7 @@
384384

385385
if (f.hasOwnProperty) {
386386
for (var prop in f) {
387-
if (f.hasOwnProperty(prop)) {
387+
if (f.hasOwnProperty(prop) && prop !== '_rollbar_wrapped') {
388388
f._rollbar_wrapped[prop] = f[prop];
389389
}
390390
}
@@ -405,12 +405,13 @@
405405
}
406406
};
407407

408-
Rollbar.prototype.captureEvent = function(metadata, level) {
409-
return this.client.captureEvent(metadata, level);
408+
Rollbar.prototype.captureEvent = function() {
409+
var event = _.createTelemetryEvent(arguments);
410+
return this.client.captureEvent(event.type, event.metadata, event.level);
410411
};
411-
Rollbar.captureEvent = function(metadata, level) {
412+
Rollbar.captureEvent = function() {
412413
if (_instance) {
413-
return _instance.captureEvent(metadata, level);
414+
return _instance.captureEvent.apply(_instance, arguments);
414415
} else {
415416
handleUninitialized();
416417
}
@@ -481,7 +482,7 @@
481482
/* global __DEFAULT_ENDPOINT__:false */
482483

483484
var defaultOptions = {
484-
version: ("2.5.3"),
485+
version: ("2.5.4"),
485486
scrubFields: (["pw","pass","passwd","password","secret","confirm_password","confirmPassword","password_confirmation","passwordConfirmation","access_token","accessToken","secret_key","secretKey","secretToken","cc-number","card number","cardnumber","cardnum","ccnum","ccnumber","cc num","creditcardnumber","credit card number","newcreditcardnumber","new credit card","creditcardno","credit card no","card#","card #","cc-csc","cvc2","cvv2","ccv2","security code","card verification","name on credit card","name on card","nameoncard","cardholder","card holder","name des karteninhabers","card type","cardtype","cc type","cctype","payment type","expiration date","expirationdate","expdate","cc-exp"]),
486487
logLevel: ("debug"),
487488
reportLevel: ("debug"),
@@ -586,8 +587,8 @@
586587
this.queue.wait(callback);
587588
};
588589

589-
Rollbar.prototype.captureEvent = function(metadata, level) {
590-
return this.telemeter.captureEvent(metadata, level);
590+
Rollbar.prototype.captureEvent = function(type, metadata, level) {
591+
return this.telemeter.captureEvent(type, metadata, level);
591592
};
592593

593594
Rollbar.prototype.captureDomContentLoaded = function(ts) {
@@ -1045,9 +1046,8 @@
10451046
var o = parseUriOptions;
10461047
var m = o.parser[o.strictMode ? 'strict' : 'loose'].exec(str);
10471048
var uri = {};
1048-
var i = o.key.length;
10491049

1050-
while (i--) {
1050+
for (var i = 0, l = o.key.length; i < l; ++i) {
10511051
uri[o.key[i]] = m[i] || '';
10521052
}
10531053

@@ -1262,6 +1262,51 @@
12621262
return item;
12631263
}
12641264

1265+
var TELEMETRY_TYPES = ['log', 'network', 'dom', 'navigation', 'error', 'manual'];
1266+
var TELEMETRY_LEVELS = ['critical', 'error', 'warning', 'info', 'debug'];
1267+
1268+
function arrayIncludes(arr, val) {
1269+
for (var k = 0; k < arr.length; ++k) {
1270+
if (arr[k] === val) {
1271+
return true;
1272+
}
1273+
}
1274+
1275+
return false;
1276+
}
1277+
1278+
function createTelemetryEvent(args) {
1279+
var type, metadata, level;
1280+
var arg;
1281+
1282+
for (var i = 0, l = args.length; i < l; ++i) {
1283+
arg = args[i];
1284+
1285+
var typ = typeName(arg);
1286+
switch (typ) {
1287+
case 'string':
1288+
if (arrayIncludes(TELEMETRY_TYPES, arg)) {
1289+
type = arg;
1290+
} else if (arrayIncludes(TELEMETRY_LEVELS, arg)) {
1291+
level = arg;
1292+
}
1293+
break;
1294+
case 'object':
1295+
metadata = arg;
1296+
break;
1297+
default:
1298+
break;
1299+
}
1300+
}
1301+
var event = {
1302+
type: type || 'manual',
1303+
metadata: metadata || {},
1304+
level: level
1305+
};
1306+
1307+
return event;
1308+
}
1309+
12651310
/*
12661311
* get - given an obj/array and a keypath, return the value at that keypath or
12671312
* undefined if not possible.
@@ -1302,7 +1347,7 @@
13021347
try {
13031348
var temp = obj[keys[0]] || {};
13041349
var replacement = temp;
1305-
for (var i = 1; i < len-1; i++) {
1350+
for (var i = 1; i < len - 1; ++i) {
13061351
temp[keys[i]] = temp[keys[i]] || {};
13071352
temp = temp[keys[i]];
13081353
}
@@ -1382,7 +1427,7 @@
13821427
function formatArgsAsString(args) {
13831428
var i, len, arg;
13841429
var result = [];
1385-
for (i = 0, len = args.length; i < len; i++) {
1430+
for (i = 0, len = args.length; i < len; ++i) {
13861431
arg = args[i];
13871432
switch (typeName(arg)) {
13881433
case 'object':
@@ -1464,6 +1509,7 @@
14641509
module.exports = {
14651510
addParamsAndAccessTokenToPath: addParamsAndAccessTokenToPath,
14661511
createItem: createItem,
1512+
createTelemetryEvent: createTelemetryEvent,
14671513
filterIp: filterIp,
14681514
formatArgsAsString: formatArgsAsString,
14691515
formatUrl: formatUrl,
@@ -2784,8 +2830,8 @@
27842830
return e;
27852831
};
27862832

2787-
Telemeter.prototype.captureEvent = function(metadata, level, rollbarUUID) {
2788-
return this.capture('manual', metadata, level, rollbarUUID);
2833+
Telemeter.prototype.captureEvent = function(type, metadata, level, rollbarUUID) {
2834+
return this.capture(type, metadata, level, rollbarUUID);
27892835
};
27902836

27912837
Telemeter.prototype.captureError = function(err, level, rollbarUUID, timestamp) {

dist/rollbar.js.map

+1-1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

dist/rollbar.min.js

+2-2
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

dist/rollbar.min.js.map

+1-1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

dist/rollbar.named-amd.js

+61-15
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

dist/rollbar.named-amd.js.map

+1-1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

dist/rollbar.named-amd.min.js

+2-2
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

dist/rollbar.named-amd.min.js.map

+1-1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)