@sentry/browser 6.7.2 → 6.8.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/bundle.es6.js +197 -24
- package/build/bundle.es6.js.map +1 -1
- package/build/bundle.es6.min.js +2 -2
- package/build/bundle.es6.min.js.map +1 -1
- package/build/bundle.js +235 -57
- package/build/bundle.js.map +1 -1
- package/build/bundle.min.js +2 -2
- package/build/bundle.min.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/integrations/breadcrumbs.d.ts +1 -1
- package/dist/integrations/breadcrumbs.d.ts.map +1 -1
- package/dist/integrations/breadcrumbs.js +6 -3
- package/dist/integrations/breadcrumbs.js.map +1 -1
- package/dist/integrations/dedupe.d.ts +35 -0
- package/dist/integrations/dedupe.d.ts.map +1 -0
- package/dist/integrations/dedupe.js +166 -0
- package/dist/integrations/dedupe.js.map +1 -0
- package/dist/integrations/globalhandlers.d.ts.map +1 -1
- package/dist/integrations/globalhandlers.js +6 -8
- package/dist/integrations/globalhandlers.js.map +1 -1
- package/dist/integrations/index.d.ts +1 -0
- package/dist/integrations/index.d.ts.map +1 -1
- package/dist/integrations/index.js +2 -0
- package/dist/integrations/index.js.map +1 -1
- package/dist/sdk.d.ts +2 -2
- package/dist/sdk.d.ts.map +1 -1
- package/dist/sdk.js +1 -0
- package/dist/sdk.js.map +1 -1
- package/dist/transports/fetch.d.ts.map +1 -1
- package/dist/transports/fetch.js +19 -17
- package/dist/transports/fetch.js.map +1 -1
- package/dist/transports/xhr.d.ts.map +1 -1
- package/dist/transports/xhr.js +20 -18
- package/dist/transports/xhr.js.map +1 -1
- package/esm/index.d.ts +1 -0
- package/esm/index.d.ts.map +1 -1
- package/esm/integrations/breadcrumbs.d.ts +1 -1
- package/esm/integrations/breadcrumbs.d.ts.map +1 -1
- package/esm/integrations/breadcrumbs.js +6 -3
- package/esm/integrations/breadcrumbs.js.map +1 -1
- package/esm/integrations/dedupe.d.ts +35 -0
- package/esm/integrations/dedupe.d.ts.map +1 -0
- package/esm/integrations/dedupe.js +165 -0
- package/esm/integrations/dedupe.js.map +1 -0
- package/esm/integrations/globalhandlers.d.ts.map +1 -1
- package/esm/integrations/globalhandlers.js +6 -8
- package/esm/integrations/globalhandlers.js.map +1 -1
- package/esm/integrations/index.d.ts +1 -0
- package/esm/integrations/index.d.ts.map +1 -1
- package/esm/integrations/index.js +1 -0
- package/esm/integrations/index.js.map +1 -1
- package/esm/sdk.d.ts +2 -2
- package/esm/sdk.d.ts.map +1 -1
- package/esm/sdk.js +2 -1
- package/esm/sdk.js.map +1 -1
- package/esm/transports/fetch.d.ts.map +1 -1
- package/esm/transports/fetch.js +19 -17
- package/esm/transports/fetch.js.map +1 -1
- package/esm/transports/xhr.d.ts.map +1 -1
- package/esm/transports/xhr.js +20 -18
- package/esm/transports/xhr.js.map +1 -1
- package/package.json +5 -5
package/build/bundle.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! @sentry/browser 6.
|
|
1
|
+
/*! @sentry/browser 6.8.0 (e93d96f) | https://github.com/getsentry/sentry-javascript */
|
|
2
2
|
var Sentry = (function (exports) {
|
|
3
3
|
/*! *****************************************************************************
|
|
4
4
|
Copyright (c) Microsoft Corporation. All rights reserved.
|
|
@@ -370,7 +370,7 @@ var Sentry = (function (exports) {
|
|
|
370
370
|
* e.g. [HTMLElement] => body > div > input#foo.btn[name=baz]
|
|
371
371
|
* @returns generated DOM path
|
|
372
372
|
*/
|
|
373
|
-
function htmlTreeAsString(elem,
|
|
373
|
+
function htmlTreeAsString(elem, keyAttrs) {
|
|
374
374
|
// try/catch both:
|
|
375
375
|
// - accessing event.target (see getsentry/raven-js#838, #768)
|
|
376
376
|
// - `htmlTreeAsString` because it's complex, and just accessing the DOM incorrectly
|
|
@@ -387,7 +387,7 @@ var Sentry = (function (exports) {
|
|
|
387
387
|
var nextStr = void 0;
|
|
388
388
|
// eslint-disable-next-line no-plusplus
|
|
389
389
|
while (currentElem && height++ < MAX_TRAVERSE_HEIGHT) {
|
|
390
|
-
nextStr = _htmlElementAsString(currentElem,
|
|
390
|
+
nextStr = _htmlElementAsString(currentElem, keyAttrs);
|
|
391
391
|
// bail out if
|
|
392
392
|
// - nextStr is the 'html' element
|
|
393
393
|
// - the length of the string that would be created exceeds MAX_OUTPUT_LEN
|
|
@@ -410,7 +410,8 @@ var Sentry = (function (exports) {
|
|
|
410
410
|
* e.g. [HTMLElement] => input#foo.btn[name=baz]
|
|
411
411
|
* @returns generated DOM path
|
|
412
412
|
*/
|
|
413
|
-
function _htmlElementAsString(el,
|
|
413
|
+
function _htmlElementAsString(el, keyAttrs) {
|
|
414
|
+
var _a, _b;
|
|
414
415
|
var elem = el;
|
|
415
416
|
var out = [];
|
|
416
417
|
var className;
|
|
@@ -422,9 +423,13 @@ var Sentry = (function (exports) {
|
|
|
422
423
|
return '';
|
|
423
424
|
}
|
|
424
425
|
out.push(elem.tagName.toLowerCase());
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
|
|
426
|
+
// Pairs of attribute keys defined in `serializeAttribute` and their values on element.
|
|
427
|
+
var keyAttrPairs = ((_a = keyAttrs) === null || _a === void 0 ? void 0 : _a.length) ? keyAttrs.filter(function (keyAttr) { return elem.getAttribute(keyAttr); }).map(function (keyAttr) { return [keyAttr, elem.getAttribute(keyAttr)]; })
|
|
428
|
+
: null;
|
|
429
|
+
if ((_b = keyAttrPairs) === null || _b === void 0 ? void 0 : _b.length) {
|
|
430
|
+
keyAttrPairs.forEach(function (keyAttrPair) {
|
|
431
|
+
out.push("[" + keyAttrPair[0] + "=\"" + keyAttrPair[1] + "\"]");
|
|
432
|
+
});
|
|
428
433
|
}
|
|
429
434
|
else {
|
|
430
435
|
if (elem.id) {
|
|
@@ -2156,14 +2161,16 @@ var Sentry = (function (exports) {
|
|
|
2156
2161
|
/**
|
|
2157
2162
|
* Add a promise to the queue.
|
|
2158
2163
|
*
|
|
2159
|
-
* @param
|
|
2164
|
+
* @param taskProducer A function producing any PromiseLike<T>; In previous versions this used to be `task: PromiseLike<T>`,
|
|
2165
|
+
* however, Promises were instantly created on the call-site, making them fall through the buffer limit.
|
|
2160
2166
|
* @returns The original promise.
|
|
2161
2167
|
*/
|
|
2162
|
-
PromiseBuffer.prototype.add = function (
|
|
2168
|
+
PromiseBuffer.prototype.add = function (taskProducer) {
|
|
2163
2169
|
var _this = this;
|
|
2164
2170
|
if (!this.isReady()) {
|
|
2165
2171
|
return SyncPromise.reject(new SentryError('Not adding Promise due to buffer limit reached.'));
|
|
2166
2172
|
}
|
|
2173
|
+
var task = taskProducer();
|
|
2167
2174
|
if (this._buffer.indexOf(task) === -1) {
|
|
2168
2175
|
this._buffer.push(task);
|
|
2169
2176
|
}
|
|
@@ -4414,7 +4421,7 @@ var Sentry = (function (exports) {
|
|
|
4414
4421
|
hub.bindClient(client);
|
|
4415
4422
|
}
|
|
4416
4423
|
|
|
4417
|
-
var SDK_VERSION = '6.
|
|
4424
|
+
var SDK_VERSION = '6.8.0';
|
|
4418
4425
|
|
|
4419
4426
|
var originalFunctionToString;
|
|
4420
4427
|
/** Patch toString calls to return proper name for wrapped functions */
|
|
@@ -5278,23 +5285,25 @@ var Sentry = (function (exports) {
|
|
|
5278
5285
|
if (this.options.headers !== undefined) {
|
|
5279
5286
|
options.headers = this.options.headers;
|
|
5280
5287
|
}
|
|
5281
|
-
return this._buffer.add(
|
|
5282
|
-
|
|
5283
|
-
.
|
|
5284
|
-
|
|
5285
|
-
|
|
5286
|
-
|
|
5287
|
-
|
|
5288
|
-
|
|
5289
|
-
|
|
5290
|
-
|
|
5291
|
-
|
|
5292
|
-
|
|
5293
|
-
|
|
5294
|
-
|
|
5295
|
-
|
|
5296
|
-
|
|
5297
|
-
|
|
5288
|
+
return this._buffer.add(function () {
|
|
5289
|
+
return new SyncPromise(function (resolve, reject) {
|
|
5290
|
+
void _this._fetch(sentryRequest.url, options)
|
|
5291
|
+
.then(function (response) {
|
|
5292
|
+
var headers = {
|
|
5293
|
+
'x-sentry-rate-limits': response.headers.get('X-Sentry-Rate-Limits'),
|
|
5294
|
+
'retry-after': response.headers.get('Retry-After'),
|
|
5295
|
+
};
|
|
5296
|
+
_this._handleResponse({
|
|
5297
|
+
requestType: sentryRequest.type,
|
|
5298
|
+
response: response,
|
|
5299
|
+
headers: headers,
|
|
5300
|
+
resolve: resolve,
|
|
5301
|
+
reject: reject,
|
|
5302
|
+
});
|
|
5303
|
+
})
|
|
5304
|
+
.catch(reject);
|
|
5305
|
+
});
|
|
5306
|
+
});
|
|
5298
5307
|
};
|
|
5299
5308
|
return FetchTransport;
|
|
5300
5309
|
}(BaseTransport));
|
|
@@ -5331,25 +5340,27 @@ var Sentry = (function (exports) {
|
|
|
5331
5340
|
status: 429,
|
|
5332
5341
|
});
|
|
5333
5342
|
}
|
|
5334
|
-
return this._buffer.add(
|
|
5335
|
-
|
|
5336
|
-
|
|
5337
|
-
|
|
5338
|
-
|
|
5339
|
-
|
|
5340
|
-
|
|
5341
|
-
|
|
5342
|
-
|
|
5343
|
-
|
|
5344
|
-
|
|
5345
|
-
|
|
5346
|
-
|
|
5347
|
-
|
|
5348
|
-
|
|
5343
|
+
return this._buffer.add(function () {
|
|
5344
|
+
return new SyncPromise(function (resolve, reject) {
|
|
5345
|
+
var request = new XMLHttpRequest();
|
|
5346
|
+
request.onreadystatechange = function () {
|
|
5347
|
+
if (request.readyState === 4) {
|
|
5348
|
+
var headers = {
|
|
5349
|
+
'x-sentry-rate-limits': request.getResponseHeader('X-Sentry-Rate-Limits'),
|
|
5350
|
+
'retry-after': request.getResponseHeader('Retry-After'),
|
|
5351
|
+
};
|
|
5352
|
+
_this._handleResponse({ requestType: sentryRequest.type, response: request, headers: headers, resolve: resolve, reject: reject });
|
|
5353
|
+
}
|
|
5354
|
+
};
|
|
5355
|
+
request.open('POST', sentryRequest.url);
|
|
5356
|
+
for (var header in _this.options.headers) {
|
|
5357
|
+
if (_this.options.headers.hasOwnProperty(header)) {
|
|
5358
|
+
request.setRequestHeader(header, _this.options.headers[header]);
|
|
5359
|
+
}
|
|
5349
5360
|
}
|
|
5350
|
-
|
|
5351
|
-
|
|
5352
|
-
})
|
|
5361
|
+
request.send(sentryRequest.body);
|
|
5362
|
+
});
|
|
5363
|
+
});
|
|
5353
5364
|
};
|
|
5354
5365
|
return XHRTransport;
|
|
5355
5366
|
}(BaseTransport));
|
|
@@ -5605,9 +5616,9 @@ var Sentry = (function (exports) {
|
|
|
5605
5616
|
return;
|
|
5606
5617
|
}
|
|
5607
5618
|
var client = currentHub.getClient();
|
|
5608
|
-
var event =
|
|
5619
|
+
var event = error === undefined && isString(data.msg)
|
|
5609
5620
|
? _this._eventFromIncompleteOnError(data.msg, data.url, data.line, data.column)
|
|
5610
|
-
: _this._enhanceEventWithInitialFrame(eventFromUnknownInput(error, undefined, {
|
|
5621
|
+
: _this._enhanceEventWithInitialFrame(eventFromUnknownInput(error || data.msg, undefined, {
|
|
5611
5622
|
attachStacktrace: client && client.getOptions().attachStacktrace,
|
|
5612
5623
|
rejection: false,
|
|
5613
5624
|
}), data.url, data.line, data.column);
|
|
@@ -5688,12 +5699,10 @@ var Sentry = (function (exports) {
|
|
|
5688
5699
|
// If 'message' is ErrorEvent, get real message from inside
|
|
5689
5700
|
var message = isErrorEvent(msg) ? msg.message : msg;
|
|
5690
5701
|
var name;
|
|
5691
|
-
|
|
5692
|
-
|
|
5693
|
-
|
|
5694
|
-
|
|
5695
|
-
message = groups[2];
|
|
5696
|
-
}
|
|
5702
|
+
var groups = message.match(ERROR_TYPES_RE);
|
|
5703
|
+
if (groups) {
|
|
5704
|
+
name = groups[1];
|
|
5705
|
+
message = groups[2];
|
|
5697
5706
|
}
|
|
5698
5707
|
var event = {
|
|
5699
5708
|
exception: {
|
|
@@ -6118,12 +6127,15 @@ var Sentry = (function (exports) {
|
|
|
6118
6127
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
6119
6128
|
Breadcrumbs.prototype._domBreadcrumb = function (handlerData) {
|
|
6120
6129
|
var target;
|
|
6121
|
-
var
|
|
6130
|
+
var keyAttrs = typeof this._options.dom === 'object' ? this._options.dom.serializeAttribute : undefined;
|
|
6131
|
+
if (typeof keyAttrs === 'string') {
|
|
6132
|
+
keyAttrs = [keyAttrs];
|
|
6133
|
+
}
|
|
6122
6134
|
// Accessing event.target can throw (see getsentry/raven-js#838, #768)
|
|
6123
6135
|
try {
|
|
6124
6136
|
target = handlerData.event.target
|
|
6125
|
-
? htmlTreeAsString(handlerData.event.target,
|
|
6126
|
-
: htmlTreeAsString(handlerData.event,
|
|
6137
|
+
? htmlTreeAsString(handlerData.event.target, keyAttrs)
|
|
6138
|
+
: htmlTreeAsString(handlerData.event, keyAttrs);
|
|
6127
6139
|
}
|
|
6128
6140
|
catch (e) {
|
|
6129
6141
|
target = '<unknown>';
|
|
@@ -6335,6 +6347,170 @@ var Sentry = (function (exports) {
|
|
|
6335
6347
|
return UserAgent;
|
|
6336
6348
|
}());
|
|
6337
6349
|
|
|
6350
|
+
/** Deduplication filter */
|
|
6351
|
+
var Dedupe = /** @class */ (function () {
|
|
6352
|
+
function Dedupe() {
|
|
6353
|
+
/**
|
|
6354
|
+
* @inheritDoc
|
|
6355
|
+
*/
|
|
6356
|
+
this.name = Dedupe.id;
|
|
6357
|
+
}
|
|
6358
|
+
/**
|
|
6359
|
+
* @inheritDoc
|
|
6360
|
+
*/
|
|
6361
|
+
Dedupe.prototype.setupOnce = function (addGlobalEventProcessor, getCurrentHub) {
|
|
6362
|
+
addGlobalEventProcessor(function (currentEvent) {
|
|
6363
|
+
var self = getCurrentHub().getIntegration(Dedupe);
|
|
6364
|
+
if (self) {
|
|
6365
|
+
// Juuust in case something goes wrong
|
|
6366
|
+
try {
|
|
6367
|
+
if (self._shouldDropEvent(currentEvent, self._previousEvent)) {
|
|
6368
|
+
return null;
|
|
6369
|
+
}
|
|
6370
|
+
}
|
|
6371
|
+
catch (_oO) {
|
|
6372
|
+
return (self._previousEvent = currentEvent);
|
|
6373
|
+
}
|
|
6374
|
+
return (self._previousEvent = currentEvent);
|
|
6375
|
+
}
|
|
6376
|
+
return currentEvent;
|
|
6377
|
+
});
|
|
6378
|
+
};
|
|
6379
|
+
/** JSDoc */
|
|
6380
|
+
Dedupe.prototype._shouldDropEvent = function (currentEvent, previousEvent) {
|
|
6381
|
+
if (!previousEvent) {
|
|
6382
|
+
return false;
|
|
6383
|
+
}
|
|
6384
|
+
if (this._isSameMessageEvent(currentEvent, previousEvent)) {
|
|
6385
|
+
return true;
|
|
6386
|
+
}
|
|
6387
|
+
if (this._isSameExceptionEvent(currentEvent, previousEvent)) {
|
|
6388
|
+
return true;
|
|
6389
|
+
}
|
|
6390
|
+
return false;
|
|
6391
|
+
};
|
|
6392
|
+
/** JSDoc */
|
|
6393
|
+
Dedupe.prototype._isSameMessageEvent = function (currentEvent, previousEvent) {
|
|
6394
|
+
var currentMessage = currentEvent.message;
|
|
6395
|
+
var previousMessage = previousEvent.message;
|
|
6396
|
+
// If neither event has a message property, they were both exceptions, so bail out
|
|
6397
|
+
if (!currentMessage && !previousMessage) {
|
|
6398
|
+
return false;
|
|
6399
|
+
}
|
|
6400
|
+
// If only one event has a stacktrace, but not the other one, they are not the same
|
|
6401
|
+
if ((currentMessage && !previousMessage) || (!currentMessage && previousMessage)) {
|
|
6402
|
+
return false;
|
|
6403
|
+
}
|
|
6404
|
+
if (currentMessage !== previousMessage) {
|
|
6405
|
+
return false;
|
|
6406
|
+
}
|
|
6407
|
+
if (!this._isSameFingerprint(currentEvent, previousEvent)) {
|
|
6408
|
+
return false;
|
|
6409
|
+
}
|
|
6410
|
+
if (!this._isSameStacktrace(currentEvent, previousEvent)) {
|
|
6411
|
+
return false;
|
|
6412
|
+
}
|
|
6413
|
+
return true;
|
|
6414
|
+
};
|
|
6415
|
+
/** JSDoc */
|
|
6416
|
+
Dedupe.prototype._getFramesFromEvent = function (event) {
|
|
6417
|
+
var exception = event.exception;
|
|
6418
|
+
if (exception) {
|
|
6419
|
+
try {
|
|
6420
|
+
// @ts-ignore Object could be undefined
|
|
6421
|
+
return exception.values[0].stacktrace.frames;
|
|
6422
|
+
}
|
|
6423
|
+
catch (_oO) {
|
|
6424
|
+
return undefined;
|
|
6425
|
+
}
|
|
6426
|
+
}
|
|
6427
|
+
else if (event.stacktrace) {
|
|
6428
|
+
return event.stacktrace.frames;
|
|
6429
|
+
}
|
|
6430
|
+
return undefined;
|
|
6431
|
+
};
|
|
6432
|
+
/** JSDoc */
|
|
6433
|
+
Dedupe.prototype._isSameStacktrace = function (currentEvent, previousEvent) {
|
|
6434
|
+
var currentFrames = this._getFramesFromEvent(currentEvent);
|
|
6435
|
+
var previousFrames = this._getFramesFromEvent(previousEvent);
|
|
6436
|
+
// If neither event has a stacktrace, they are assumed to be the same
|
|
6437
|
+
if (!currentFrames && !previousFrames) {
|
|
6438
|
+
return true;
|
|
6439
|
+
}
|
|
6440
|
+
// If only one event has a stacktrace, but not the other one, they are not the same
|
|
6441
|
+
if ((currentFrames && !previousFrames) || (!currentFrames && previousFrames)) {
|
|
6442
|
+
return false;
|
|
6443
|
+
}
|
|
6444
|
+
currentFrames = currentFrames;
|
|
6445
|
+
previousFrames = previousFrames;
|
|
6446
|
+
// If number of frames differ, they are not the same
|
|
6447
|
+
if (previousFrames.length !== currentFrames.length) {
|
|
6448
|
+
return false;
|
|
6449
|
+
}
|
|
6450
|
+
// Otherwise, compare the two
|
|
6451
|
+
for (var i = 0; i < previousFrames.length; i++) {
|
|
6452
|
+
var frameA = previousFrames[i];
|
|
6453
|
+
var frameB = currentFrames[i];
|
|
6454
|
+
if (frameA.filename !== frameB.filename ||
|
|
6455
|
+
frameA.lineno !== frameB.lineno ||
|
|
6456
|
+
frameA.colno !== frameB.colno ||
|
|
6457
|
+
frameA.function !== frameB.function) {
|
|
6458
|
+
return false;
|
|
6459
|
+
}
|
|
6460
|
+
}
|
|
6461
|
+
return true;
|
|
6462
|
+
};
|
|
6463
|
+
/** JSDoc */
|
|
6464
|
+
Dedupe.prototype._getExceptionFromEvent = function (event) {
|
|
6465
|
+
return event.exception && event.exception.values && event.exception.values[0];
|
|
6466
|
+
};
|
|
6467
|
+
/** JSDoc */
|
|
6468
|
+
Dedupe.prototype._isSameExceptionEvent = function (currentEvent, previousEvent) {
|
|
6469
|
+
var previousException = this._getExceptionFromEvent(previousEvent);
|
|
6470
|
+
var currentException = this._getExceptionFromEvent(currentEvent);
|
|
6471
|
+
if (!previousException || !currentException) {
|
|
6472
|
+
return false;
|
|
6473
|
+
}
|
|
6474
|
+
if (previousException.type !== currentException.type || previousException.value !== currentException.value) {
|
|
6475
|
+
return false;
|
|
6476
|
+
}
|
|
6477
|
+
if (!this._isSameFingerprint(currentEvent, previousEvent)) {
|
|
6478
|
+
return false;
|
|
6479
|
+
}
|
|
6480
|
+
if (!this._isSameStacktrace(currentEvent, previousEvent)) {
|
|
6481
|
+
return false;
|
|
6482
|
+
}
|
|
6483
|
+
return true;
|
|
6484
|
+
};
|
|
6485
|
+
/** JSDoc */
|
|
6486
|
+
Dedupe.prototype._isSameFingerprint = function (currentEvent, previousEvent) {
|
|
6487
|
+
var currentFingerprint = currentEvent.fingerprint;
|
|
6488
|
+
var previousFingerprint = previousEvent.fingerprint;
|
|
6489
|
+
// If neither event has a fingerprint, they are assumed to be the same
|
|
6490
|
+
if (!currentFingerprint && !previousFingerprint) {
|
|
6491
|
+
return true;
|
|
6492
|
+
}
|
|
6493
|
+
// If only one event has a fingerprint, but not the other one, they are not the same
|
|
6494
|
+
if ((currentFingerprint && !previousFingerprint) || (!currentFingerprint && previousFingerprint)) {
|
|
6495
|
+
return false;
|
|
6496
|
+
}
|
|
6497
|
+
currentFingerprint = currentFingerprint;
|
|
6498
|
+
previousFingerprint = previousFingerprint;
|
|
6499
|
+
// Otherwise, compare the two
|
|
6500
|
+
try {
|
|
6501
|
+
return !!(currentFingerprint.join('') === previousFingerprint.join(''));
|
|
6502
|
+
}
|
|
6503
|
+
catch (_oO) {
|
|
6504
|
+
return false;
|
|
6505
|
+
}
|
|
6506
|
+
};
|
|
6507
|
+
/**
|
|
6508
|
+
* @inheritDoc
|
|
6509
|
+
*/
|
|
6510
|
+
Dedupe.id = 'Dedupe';
|
|
6511
|
+
return Dedupe;
|
|
6512
|
+
}());
|
|
6513
|
+
|
|
6338
6514
|
|
|
6339
6515
|
|
|
6340
6516
|
var BrowserIntegrations = /*#__PURE__*/Object.freeze({
|
|
@@ -6343,7 +6519,8 @@ var Sentry = (function (exports) {
|
|
|
6343
6519
|
TryCatch: TryCatch,
|
|
6344
6520
|
Breadcrumbs: Breadcrumbs,
|
|
6345
6521
|
LinkedErrors: LinkedErrors,
|
|
6346
|
-
UserAgent: UserAgent
|
|
6522
|
+
UserAgent: UserAgent,
|
|
6523
|
+
Dedupe: Dedupe
|
|
6347
6524
|
});
|
|
6348
6525
|
|
|
6349
6526
|
/**
|
|
@@ -6421,6 +6598,7 @@ var Sentry = (function (exports) {
|
|
|
6421
6598
|
new Breadcrumbs(),
|
|
6422
6599
|
new GlobalHandlers(),
|
|
6423
6600
|
new LinkedErrors(),
|
|
6601
|
+
new Dedupe(),
|
|
6424
6602
|
new UserAgent(),
|
|
6425
6603
|
];
|
|
6426
6604
|
/**
|