clarity-js 0.8.20 → 0.8.21
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/clarity.extended.js +1 -1
- package/build/clarity.insight.js +1 -1
- package/build/clarity.js +235 -87
- package/build/clarity.min.js +1 -1
- package/build/clarity.module.js +235 -87
- package/build/clarity.performance.js +1 -1
- package/package.json +1 -1
- package/src/core/version.ts +1 -1
- package/src/data/metadata.ts +1 -1
- package/src/data/upload.ts +18 -2
- package/src/interaction/click.ts +1 -1
- package/src/interaction/pointer.ts +2 -2
- package/src/performance/blank.ts +1 -0
- package/src/performance/observer.ts +1 -1
- package/types/data.d.ts +2 -0
package/build/clarity.module.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
var dom = /*#__PURE__*/Object.freeze({
|
|
2
2
|
__proto__: null,
|
|
3
|
-
get add () { return add; },
|
|
3
|
+
get add () { return add$1; },
|
|
4
4
|
get get () { return get; },
|
|
5
|
-
get getId () { return getId; },
|
|
5
|
+
get getId () { return getId$1; },
|
|
6
6
|
get getNode () { return getNode; },
|
|
7
7
|
get getValue () { return getValue; },
|
|
8
8
|
get has () { return has$1; },
|
|
@@ -187,7 +187,7 @@ function stop$F() {
|
|
|
187
187
|
startTime = 0;
|
|
188
188
|
}
|
|
189
189
|
|
|
190
|
-
var version$1 = "0.8.
|
|
190
|
+
var version$1 = "0.8.21";
|
|
191
191
|
|
|
192
192
|
// tslint:disable: no-bitwise
|
|
193
193
|
function hash (input, precision) {
|
|
@@ -1257,7 +1257,7 @@ function recompute$8(evt) {
|
|
|
1257
1257
|
var value = element.value;
|
|
1258
1258
|
var checksum = value && value.length >= 5 /* Setting.WordLength */ && config$2.fraud && "password,secret,pass,social,ssn,code,hidden" /* Mask.Exclude */.indexOf(element.type) === -1 ? hash(value, 28 /* Setting.ChecksumPrecision */) : "" /* Constant.Empty */;
|
|
1259
1259
|
state$a.push({ time: time(evt), event: 42 /* Event.Change */, data: { target: target(evt), type: element.type, value: value, checksum: checksum } });
|
|
1260
|
-
schedule(encode$
|
|
1260
|
+
schedule(encode$4.bind(this, 42 /* Event.Change */));
|
|
1261
1261
|
}
|
|
1262
1262
|
}
|
|
1263
1263
|
function reset$m() {
|
|
@@ -1295,7 +1295,7 @@ function observe$b(root) {
|
|
|
1295
1295
|
function handler$3(event, root, evt) {
|
|
1296
1296
|
handler$3.dn = 6 /* FunctionNames.ClickHandler */;
|
|
1297
1297
|
var frame = iframe(root);
|
|
1298
|
-
var d = frame ? frame.contentDocument.documentElement : document.documentElement;
|
|
1298
|
+
var d = frame && frame.contentDocument ? frame.contentDocument.documentElement : document.documentElement;
|
|
1299
1299
|
var x = "pageX" in evt ? Math.round(evt.pageX) : ("clientX" in evt ? Math.round(evt["clientX"] + d.scrollLeft) : null);
|
|
1300
1300
|
var y = "pageY" in evt ? Math.round(evt.pageY) : ("clientY" in evt ? Math.round(evt["clientY"] + d.scrollTop) : null);
|
|
1301
1301
|
// In case of iframe, we adjust (x,y) to be relative to top parent's origin
|
|
@@ -1341,7 +1341,7 @@ function handler$3(event, root, evt) {
|
|
|
1341
1341
|
isFullText: textInfo.isFullText,
|
|
1342
1342
|
}
|
|
1343
1343
|
});
|
|
1344
|
-
schedule(encode$
|
|
1344
|
+
schedule(encode$4.bind(this, event));
|
|
1345
1345
|
}
|
|
1346
1346
|
}
|
|
1347
1347
|
function link(node) {
|
|
@@ -1432,7 +1432,7 @@ function observe$a(root) {
|
|
|
1432
1432
|
function recompute$7(action, evt) {
|
|
1433
1433
|
recompute$7.dn = 7 /* FunctionNames.ClipboardRecompute */;
|
|
1434
1434
|
state$8.push({ time: time(evt), event: 38 /* Event.Clipboard */, data: { target: target(evt), action: action } });
|
|
1435
|
-
schedule(encode$
|
|
1435
|
+
schedule(encode$4.bind(this, 38 /* Event.Clipboard */));
|
|
1436
1436
|
}
|
|
1437
1437
|
function reset$k() {
|
|
1438
1438
|
state$8 = [];
|
|
@@ -1473,7 +1473,7 @@ function recompute$6(evt) {
|
|
|
1473
1473
|
}
|
|
1474
1474
|
}
|
|
1475
1475
|
function process$7(event) {
|
|
1476
|
-
schedule(encode$
|
|
1476
|
+
schedule(encode$4.bind(this, event));
|
|
1477
1477
|
}
|
|
1478
1478
|
function reset$j() {
|
|
1479
1479
|
state$7 = [];
|
|
@@ -1505,7 +1505,7 @@ function observe$8(root) {
|
|
|
1505
1505
|
function mouse(event, root, evt) {
|
|
1506
1506
|
mouse.dn = 10 /* FunctionNames.PointerMouse */;
|
|
1507
1507
|
var frame = iframe(root);
|
|
1508
|
-
var d = frame ? frame.contentDocument.documentElement : document.documentElement;
|
|
1508
|
+
var d = frame && frame.contentDocument ? frame.contentDocument.documentElement : document.documentElement;
|
|
1509
1509
|
var x = "pageX" in evt ? Math.round(evt.pageX) : ("clientX" in evt ? Math.round(evt["clientX"] + d.scrollLeft) : null);
|
|
1510
1510
|
var y = "pageY" in evt ? Math.round(evt.pageY) : ("clientY" in evt ? Math.round(evt["clientY"] + d.scrollTop) : null);
|
|
1511
1511
|
// In case of iframe, we adjust (x,y) to be relative to top parent's origin
|
|
@@ -1522,7 +1522,7 @@ function mouse(event, root, evt) {
|
|
|
1522
1522
|
function touch(event, root, evt) {
|
|
1523
1523
|
touch.dn = 11 /* FunctionNames.PointerTouch */;
|
|
1524
1524
|
var frame = iframe(root);
|
|
1525
|
-
var d = frame ? frame.contentDocument.documentElement : document.documentElement;
|
|
1525
|
+
var d = frame && frame.contentDocument ? frame.contentDocument.documentElement : document.documentElement;
|
|
1526
1526
|
var touches = evt.changedTouches;
|
|
1527
1527
|
var t = time(evt);
|
|
1528
1528
|
if (touches) {
|
|
@@ -1584,7 +1584,7 @@ function handler$2(current) {
|
|
|
1584
1584
|
}
|
|
1585
1585
|
}
|
|
1586
1586
|
function process$6(event) {
|
|
1587
|
-
schedule(encode$
|
|
1587
|
+
schedule(encode$4.bind(this, event));
|
|
1588
1588
|
}
|
|
1589
1589
|
function reset$i() {
|
|
1590
1590
|
state$6 = [];
|
|
@@ -1628,12 +1628,12 @@ function recompute$5() {
|
|
|
1628
1628
|
timeout$4 = setTimeout$1(process$5, 500 /* Setting.LookAhead */, 11 /* Event.Resize */);
|
|
1629
1629
|
}
|
|
1630
1630
|
else {
|
|
1631
|
-
encode$
|
|
1631
|
+
encode$4(11 /* Event.Resize */);
|
|
1632
1632
|
initialStateLogged = true;
|
|
1633
1633
|
}
|
|
1634
1634
|
}
|
|
1635
1635
|
function process$5(event) {
|
|
1636
|
-
schedule(encode$
|
|
1636
|
+
schedule(encode$4.bind(this, event));
|
|
1637
1637
|
}
|
|
1638
1638
|
function reset$h() {
|
|
1639
1639
|
data$c = null;
|
|
@@ -1774,7 +1774,7 @@ function reset$g() {
|
|
|
1774
1774
|
initialBottom = null;
|
|
1775
1775
|
}
|
|
1776
1776
|
function process$4(event) {
|
|
1777
|
-
schedule(encode$
|
|
1777
|
+
schedule(encode$4.bind(this, event));
|
|
1778
1778
|
}
|
|
1779
1779
|
function similar(last, current) {
|
|
1780
1780
|
var dx = last.data.x - current.data.x;
|
|
@@ -1843,7 +1843,7 @@ function recompute$3(root) {
|
|
|
1843
1843
|
timeout$2 = setTimeout$1(process$3, 500 /* Setting.LookAhead */, 21 /* Event.Selection */);
|
|
1844
1844
|
}
|
|
1845
1845
|
function process$3(event) {
|
|
1846
|
-
schedule(encode$
|
|
1846
|
+
schedule(encode$4.bind(this, event));
|
|
1847
1847
|
}
|
|
1848
1848
|
function reset$f() {
|
|
1849
1849
|
previous = null;
|
|
@@ -1864,7 +1864,7 @@ function observe$5(root) {
|
|
|
1864
1864
|
function recompute$2(evt) {
|
|
1865
1865
|
recompute$2.dn = 16 /* FunctionNames.SubmitRecompute */;
|
|
1866
1866
|
state$4.push({ time: time(evt), event: 39 /* Event.Submit */, data: { target: target(evt) } });
|
|
1867
|
-
schedule(encode$
|
|
1867
|
+
schedule(encode$4.bind(this, 39 /* Event.Submit */));
|
|
1868
1868
|
}
|
|
1869
1869
|
function reset$e() {
|
|
1870
1870
|
state$4 = [];
|
|
@@ -1880,7 +1880,7 @@ function start$q() {
|
|
|
1880
1880
|
function recompute$1(evt) {
|
|
1881
1881
|
recompute$1.dn = 17 /* FunctionNames.UnloadRecompute */;
|
|
1882
1882
|
data$a = { name: evt.type, persisted: evt.persisted ? 1 /* BooleanFlag.True */ : 0 /* BooleanFlag.False */ };
|
|
1883
|
-
encode$
|
|
1883
|
+
encode$4(26 /* Event.Unload */, time(evt));
|
|
1884
1884
|
stop();
|
|
1885
1885
|
}
|
|
1886
1886
|
function reset$d() {
|
|
@@ -1899,7 +1899,7 @@ function recompute(evt) {
|
|
|
1899
1899
|
if (evt === void 0) { evt = null; }
|
|
1900
1900
|
recompute.dn = 18 /* FunctionNames.VisibilityRecompute */;
|
|
1901
1901
|
data$9 = { visible: "visibilityState" in document ? document.visibilityState : "default" };
|
|
1902
|
-
encode$
|
|
1902
|
+
encode$4(28 /* Event.Visibility */, time(evt));
|
|
1903
1903
|
}
|
|
1904
1904
|
function reset$c() {
|
|
1905
1905
|
data$9 = null;
|
|
@@ -2078,13 +2078,13 @@ function checkDocumentStyles(documentNode, timestamp) {
|
|
|
2078
2078
|
}
|
|
2079
2079
|
currentStyleSheets.push(styleSheet[styleSheetId]);
|
|
2080
2080
|
}
|
|
2081
|
-
var documentId = getId(documentNode, true);
|
|
2081
|
+
var documentId = getId$1(documentNode, true);
|
|
2082
2082
|
if (!styleSheetMap[documentId]) {
|
|
2083
2083
|
styleSheetMap[documentId] = [];
|
|
2084
2084
|
}
|
|
2085
2085
|
if (!arraysEqual(currentStyleSheets, styleSheetMap[documentId])) {
|
|
2086
2086
|
// Using -1 to signify the root document node as we don't track that as part of our nodeMap
|
|
2087
|
-
trackStyleAdoption(timestamp, documentNode == document ? -1 : getId(documentNode), 3 /* StyleSheetOperation.SetAdoptedStyles */, currentStyleSheets);
|
|
2087
|
+
trackStyleAdoption(timestamp, documentNode == document ? -1 : getId$1(documentNode), 3 /* StyleSheetOperation.SetAdoptedStyles */, currentStyleSheets);
|
|
2088
2088
|
styleSheetMap[documentId] = currentStyleSheets;
|
|
2089
2089
|
styleTimeMap[documentId] = timestamp;
|
|
2090
2090
|
}
|
|
@@ -2092,7 +2092,7 @@ function checkDocumentStyles(documentNode, timestamp) {
|
|
|
2092
2092
|
function compute$7() {
|
|
2093
2093
|
for (var _i = 0, documentNodes_1 = documentNodes; _i < documentNodes_1.length; _i++) {
|
|
2094
2094
|
var documentNode = documentNodes_1[_i];
|
|
2095
|
-
var docId = documentNode == document ? -1 : getId(documentNode);
|
|
2095
|
+
var docId = documentNode == document ? -1 : getId$1(documentNode);
|
|
2096
2096
|
var ts = docId in styleTimeMap ? styleTimeMap[docId] : null;
|
|
2097
2097
|
checkDocumentStyles(documentNode, ts);
|
|
2098
2098
|
}
|
|
@@ -2118,7 +2118,7 @@ function trackStyleChange(time, id, operation, cssRules) {
|
|
|
2118
2118
|
cssRules: cssRules
|
|
2119
2119
|
}
|
|
2120
2120
|
});
|
|
2121
|
-
encode$
|
|
2121
|
+
encode$5(46 /* Event.StyleSheetUpdate */);
|
|
2122
2122
|
}
|
|
2123
2123
|
function trackStyleAdoption(time, id, operation, newIds) {
|
|
2124
2124
|
sheetAdoptionState.push({
|
|
@@ -2130,7 +2130,7 @@ function trackStyleAdoption(time, id, operation, newIds) {
|
|
|
2130
2130
|
newIds: newIds
|
|
2131
2131
|
}
|
|
2132
2132
|
});
|
|
2133
|
-
encode$
|
|
2133
|
+
encode$5(45 /* Event.StyleSheetAdoption */);
|
|
2134
2134
|
}
|
|
2135
2135
|
function arraysEqual(a, b) {
|
|
2136
2136
|
if (a.length !== b.length) {
|
|
@@ -2202,7 +2202,7 @@ function track$6(time, id, operation, keyFrames, timing, targetId, timeline) {
|
|
|
2202
2202
|
timeline: timeline
|
|
2203
2203
|
}
|
|
2204
2204
|
});
|
|
2205
|
-
encode$
|
|
2205
|
+
encode$5(44 /* Event.Animation */);
|
|
2206
2206
|
}
|
|
2207
2207
|
function stop$k() {
|
|
2208
2208
|
reset$a();
|
|
@@ -2219,7 +2219,7 @@ function overrideAnimationHelper(functionToOverride, name) {
|
|
|
2219
2219
|
function trackAnimationOperation(animation, name) {
|
|
2220
2220
|
if (active()) {
|
|
2221
2221
|
var effect = animation.effect;
|
|
2222
|
-
var target = (effect === null || effect === void 0 ? void 0 : effect.target) ? getId(effect.target) : null;
|
|
2222
|
+
var target = (effect === null || effect === void 0 ? void 0 : effect.target) ? getId$1(effect.target) : null;
|
|
2223
2223
|
if (target !== null && effect.getKeyframes && effect.getTiming) {
|
|
2224
2224
|
if (!animation[animationId]) {
|
|
2225
2225
|
animation[animationId] = shortid();
|
|
@@ -2255,7 +2255,7 @@ function trackAnimationOperation(animation, name) {
|
|
|
2255
2255
|
}
|
|
2256
2256
|
}
|
|
2257
2257
|
|
|
2258
|
-
function encode$
|
|
2258
|
+
function encode$5 (type, timer, ts) {
|
|
2259
2259
|
if (timer === void 0) { timer = null; }
|
|
2260
2260
|
if (ts === void 0) { ts = null; }
|
|
2261
2261
|
return __awaiter(this, void 0, void 0, function () {
|
|
@@ -2380,7 +2380,7 @@ function encode$4 (type, timer, ts) {
|
|
|
2380
2380
|
case "attributes":
|
|
2381
2381
|
for (attr in data[key]) {
|
|
2382
2382
|
if (data[key][attr] !== undefined) {
|
|
2383
|
-
tokens.push(attribute(attr, data[key][attr], privacy));
|
|
2383
|
+
tokens.push(attribute$1(attr, data[key][attr], privacy));
|
|
2384
2384
|
}
|
|
2385
2385
|
}
|
|
2386
2386
|
break;
|
|
@@ -2423,7 +2423,7 @@ function size(value) {
|
|
|
2423
2423
|
function str(input) {
|
|
2424
2424
|
return input.toString(36);
|
|
2425
2425
|
}
|
|
2426
|
-
function attribute(key, value, privacy) {
|
|
2426
|
+
function attribute$1(key, value, privacy) {
|
|
2427
2427
|
return "".concat(key, "=").concat(text$1(value, key.indexOf("data-" /* Constant.DataAttribute */) === 0 ? "data-" /* Constant.DataAttribute */ : key, privacy));
|
|
2428
2428
|
}
|
|
2429
2429
|
|
|
@@ -2456,14 +2456,14 @@ function compute$6() {
|
|
|
2456
2456
|
// Check that width or height has changed from before, and also that width & height are not null values
|
|
2457
2457
|
if ((data$8 === null || width !== data$8.width || height !== data$8.height) && width !== null && height !== null) {
|
|
2458
2458
|
data$8 = { width: width, height: height };
|
|
2459
|
-
encode$
|
|
2459
|
+
encode$5(8 /* Event.Document */);
|
|
2460
2460
|
}
|
|
2461
2461
|
}
|
|
2462
2462
|
function stop$j() {
|
|
2463
2463
|
reset$9();
|
|
2464
2464
|
}
|
|
2465
2465
|
|
|
2466
|
-
function traverse (root, timer, source, timestamp) {
|
|
2466
|
+
function traverse$1 (root, timer, source, timestamp) {
|
|
2467
2467
|
return __awaiter(this, void 0, void 0, function () {
|
|
2468
2468
|
var queue, entry, next, state$1, subnode;
|
|
2469
2469
|
return __generator(this, function (_a) {
|
|
@@ -2656,7 +2656,7 @@ function process$2() {
|
|
|
2656
2656
|
case 4:
|
|
2657
2657
|
_i++;
|
|
2658
2658
|
return [3 /*break*/, 2];
|
|
2659
|
-
case 5: return [4 /*yield*/, encode$
|
|
2659
|
+
case 5: return [4 /*yield*/, encode$5(6 /* Event.Mutation */, timer, record.time)];
|
|
2660
2660
|
case 6:
|
|
2661
2661
|
_d.sent();
|
|
2662
2662
|
return [3 /*break*/, 1];
|
|
@@ -2682,7 +2682,7 @@ function process$2() {
|
|
|
2682
2682
|
processThrottledMutations();
|
|
2683
2683
|
}
|
|
2684
2684
|
if (!(Object.keys(throttledMutations).length === 0 && processedMutations)) return [3 /*break*/, 13];
|
|
2685
|
-
return [4 /*yield*/, encode$
|
|
2685
|
+
return [4 /*yield*/, encode$5(6 /* Event.Mutation */, timer, time())];
|
|
2686
2686
|
case 12:
|
|
2687
2687
|
_d.sent();
|
|
2688
2688
|
_d.label = 13;
|
|
@@ -2769,7 +2769,7 @@ function processNodeList(list, source, timer, timestamp) {
|
|
|
2769
2769
|
if (!(i < length)) return [3 /*break*/, 6];
|
|
2770
2770
|
node = list[i];
|
|
2771
2771
|
if (!(source === 1 /* Source.ChildListAdd */)) return [3 /*break*/, 2];
|
|
2772
|
-
traverse(node, timer, source, timestamp);
|
|
2772
|
+
traverse$1(node, timer, source, timestamp);
|
|
2773
2773
|
return [3 /*break*/, 5];
|
|
2774
2774
|
case 2:
|
|
2775
2775
|
state$1 = state(timer);
|
|
@@ -3055,7 +3055,7 @@ function processNode (node, source, timestamp) {
|
|
|
3055
3055
|
case Node.ELEMENT_NODE:
|
|
3056
3056
|
var element = node;
|
|
3057
3057
|
var tag = element.tagName;
|
|
3058
|
-
var attributes = getAttributes(element);
|
|
3058
|
+
var attributes = getAttributes$1(element);
|
|
3059
3059
|
// In some cases, external libraries like vue-fragment, can modify parentNode property to not be in sync with the DOM
|
|
3060
3060
|
// For correctness, we first look at parentElement and if it not present then fall back to using parentNode
|
|
3061
3061
|
parent = node.parentElement ? node.parentElement : (node.parentNode ? node.parentNode : null);
|
|
@@ -3235,7 +3235,7 @@ function getCssRules(sheet) {
|
|
|
3235
3235
|
}
|
|
3236
3236
|
return value;
|
|
3237
3237
|
}
|
|
3238
|
-
function getAttributes(element) {
|
|
3238
|
+
function getAttributes$1(element) {
|
|
3239
3239
|
var output = {};
|
|
3240
3240
|
var attributes = element.attributes;
|
|
3241
3241
|
if (attributes && attributes.length > 0) {
|
|
@@ -3347,9 +3347,9 @@ var selector = /*#__PURE__*/Object.freeze({
|
|
|
3347
3347
|
reset: reset$8
|
|
3348
3348
|
});
|
|
3349
3349
|
|
|
3350
|
-
var index = 1;
|
|
3350
|
+
var index$1 = 1;
|
|
3351
3351
|
var nodesMap = null; // Maps id => node to retrieve further node details using id.
|
|
3352
|
-
var values = [];
|
|
3352
|
+
var values$1 = [];
|
|
3353
3353
|
var updateMap = [];
|
|
3354
3354
|
var hashMap = {};
|
|
3355
3355
|
var override = [];
|
|
@@ -3359,7 +3359,7 @@ var maskExclude = [];
|
|
|
3359
3359
|
var maskDisable = [];
|
|
3360
3360
|
var maskTags = [];
|
|
3361
3361
|
// The WeakMap object is a collection of key/value pairs in which the keys are weakly referenced
|
|
3362
|
-
var idMap = null; // Maps node => id.
|
|
3362
|
+
var idMap$1 = null; // Maps node => id.
|
|
3363
3363
|
var iframeMap = null; // Maps iframe's contentDocument => parent iframe element
|
|
3364
3364
|
var iframeContentMap = null; // Maps parent iframe element => iframe's contentDocument & contentWindow
|
|
3365
3365
|
var privacyMap = null; // Maps node => Privacy (enum)
|
|
@@ -3372,8 +3372,8 @@ function stop$h() {
|
|
|
3372
3372
|
reset$7();
|
|
3373
3373
|
}
|
|
3374
3374
|
function reset$7() {
|
|
3375
|
-
index = 1;
|
|
3376
|
-
values = [];
|
|
3375
|
+
index$1 = 1;
|
|
3376
|
+
values$1 = [];
|
|
3377
3377
|
updateMap = [];
|
|
3378
3378
|
hashMap = {};
|
|
3379
3379
|
override = [];
|
|
@@ -3383,7 +3383,7 @@ function reset$7() {
|
|
|
3383
3383
|
maskDisable = "radio,checkbox,range,button,reset,submit" /* Mask.Disable */.split("," /* Constant.Comma */);
|
|
3384
3384
|
maskTags = "INPUT,SELECT,TEXTAREA" /* Mask.Tags */.split("," /* Constant.Comma */);
|
|
3385
3385
|
nodesMap = new Map();
|
|
3386
|
-
idMap = new WeakMap();
|
|
3386
|
+
idMap$1 = new WeakMap();
|
|
3387
3387
|
iframeMap = new WeakMap();
|
|
3388
3388
|
iframeContentMap = new WeakMap();
|
|
3389
3389
|
privacyMap = new WeakMap();
|
|
@@ -3414,32 +3414,32 @@ function parse(root, init) {
|
|
|
3414
3414
|
log$1(5 /* Code.Selector */, 1 /* Severity.Warning */, e ? e.name : null);
|
|
3415
3415
|
}
|
|
3416
3416
|
}
|
|
3417
|
-
function getId(node, autogen) {
|
|
3417
|
+
function getId$1(node, autogen) {
|
|
3418
3418
|
if (autogen === void 0) { autogen = false; }
|
|
3419
3419
|
if (node === null) {
|
|
3420
3420
|
return null;
|
|
3421
3421
|
}
|
|
3422
|
-
var id = idMap.get(node);
|
|
3422
|
+
var id = idMap$1.get(node);
|
|
3423
3423
|
if (!id && autogen) {
|
|
3424
|
-
id = index++;
|
|
3425
|
-
idMap.set(node, id);
|
|
3424
|
+
id = index$1++;
|
|
3425
|
+
idMap$1.set(node, id);
|
|
3426
3426
|
}
|
|
3427
3427
|
return id ? id : null;
|
|
3428
3428
|
}
|
|
3429
|
-
function add(node, parent, data, source) {
|
|
3430
|
-
var parentId = parent ? getId(parent) : null;
|
|
3429
|
+
function add$1(node, parent, data, source) {
|
|
3430
|
+
var parentId = parent ? getId$1(parent) : null;
|
|
3431
3431
|
// Do not add detached nodes
|
|
3432
3432
|
if ((!parent || !parentId) && node.host == null && node.nodeType !== Node.DOCUMENT_TYPE_NODE) {
|
|
3433
3433
|
return;
|
|
3434
3434
|
}
|
|
3435
|
-
var id = getId(node, true);
|
|
3435
|
+
var id = getId$1(node, true);
|
|
3436
3436
|
var previousId = getPreviousId(node);
|
|
3437
3437
|
var parentValue = null;
|
|
3438
3438
|
var regionId = exists(node) ? id : null;
|
|
3439
3439
|
var fraudId = fraudMap.has(node) ? fraudMap.get(node) : null;
|
|
3440
3440
|
var privacyId = config$2.content ? 1 /* Privacy.Sensitive */ : 3 /* Privacy.TextImage */;
|
|
3441
|
-
if (parentId >= 0 && values[parentId]) {
|
|
3442
|
-
parentValue = values[parentId];
|
|
3441
|
+
if (parentId >= 0 && values$1[parentId]) {
|
|
3442
|
+
parentValue = values$1[parentId];
|
|
3443
3443
|
parentValue.children.push(id);
|
|
3444
3444
|
regionId = regionId === null ? parentValue.region : regionId;
|
|
3445
3445
|
fraudId = fraudId === null ? parentValue.metadata.fraud : fraudId;
|
|
@@ -3451,7 +3451,7 @@ function add(node, parent, data, source) {
|
|
|
3451
3451
|
regionId = id;
|
|
3452
3452
|
}
|
|
3453
3453
|
nodesMap.set(id, node);
|
|
3454
|
-
values[id] = {
|
|
3454
|
+
values$1[id] = {
|
|
3455
3455
|
id: id,
|
|
3456
3456
|
parent: parentId,
|
|
3457
3457
|
previous: previousId,
|
|
@@ -3462,19 +3462,19 @@ function add(node, parent, data, source) {
|
|
|
3462
3462
|
region: regionId,
|
|
3463
3463
|
metadata: { active: true, suspend: false, privacy: privacyId, position: null, fraud: fraudId, size: null },
|
|
3464
3464
|
};
|
|
3465
|
-
privacy(node, values[id], parentValue);
|
|
3466
|
-
updateSelector(values[id]);
|
|
3467
|
-
updateImageSize(values[id]);
|
|
3465
|
+
privacy(node, values$1[id], parentValue);
|
|
3466
|
+
updateSelector(values$1[id]);
|
|
3467
|
+
updateImageSize(values$1[id]);
|
|
3468
3468
|
track$4(id, source);
|
|
3469
3469
|
}
|
|
3470
3470
|
function update(node, parent, data, source) {
|
|
3471
|
-
var id = getId(node);
|
|
3472
|
-
var parentId = parent ? getId(parent) : null;
|
|
3471
|
+
var id = getId$1(node);
|
|
3472
|
+
var parentId = parent ? getId$1(parent) : null;
|
|
3473
3473
|
var previousId = getPreviousId(node);
|
|
3474
3474
|
var changed = false;
|
|
3475
3475
|
var parentChanged = false;
|
|
3476
|
-
if (id in values) {
|
|
3477
|
-
var value = values[id];
|
|
3476
|
+
if (id in values$1) {
|
|
3477
|
+
var value = values$1[id];
|
|
3478
3478
|
value.metadata.active = true;
|
|
3479
3479
|
// Handle case where internal ordering may have changed
|
|
3480
3480
|
if (value.previous !== previousId) {
|
|
@@ -3488,10 +3488,10 @@ function update(node, parent, data, source) {
|
|
|
3488
3488
|
value.parent = parentId;
|
|
3489
3489
|
// Move this node to the right location under new parent
|
|
3490
3490
|
if (parentId !== null && parentId >= 0) {
|
|
3491
|
-
var childIndex = previousId === null ? 0 : values[parentId].children.indexOf(previousId) + 1;
|
|
3492
|
-
values[parentId].children.splice(childIndex, 0, id);
|
|
3491
|
+
var childIndex = previousId === null ? 0 : values$1[parentId].children.indexOf(previousId) + 1;
|
|
3492
|
+
values$1[parentId].children.splice(childIndex, 0, id);
|
|
3493
3493
|
// Update region after the move
|
|
3494
|
-
value.region = exists(node) ? id : values[parentId].region;
|
|
3494
|
+
value.region = exists(node) ? id : values$1[parentId].region;
|
|
3495
3495
|
}
|
|
3496
3496
|
else {
|
|
3497
3497
|
// Mark this element as deleted if the parent has been updated to null
|
|
@@ -3499,9 +3499,9 @@ function update(node, parent, data, source) {
|
|
|
3499
3499
|
}
|
|
3500
3500
|
// Remove reference to this node from the old parent
|
|
3501
3501
|
if (oldParentId !== null && oldParentId >= 0) {
|
|
3502
|
-
var nodeIndex = values[oldParentId].children.indexOf(id);
|
|
3502
|
+
var nodeIndex = values$1[oldParentId].children.indexOf(id);
|
|
3503
3503
|
if (nodeIndex >= 0) {
|
|
3504
|
-
values[oldParentId].children.splice(nodeIndex, 1);
|
|
3504
|
+
values$1[oldParentId].children.splice(nodeIndex, 1);
|
|
3505
3505
|
}
|
|
3506
3506
|
}
|
|
3507
3507
|
parentChanged = true;
|
|
@@ -3631,7 +3631,7 @@ function position(parent, child) {
|
|
|
3631
3631
|
child.metadata.position = 1;
|
|
3632
3632
|
var idx = parent ? parent.children.indexOf(child.id) : -1;
|
|
3633
3633
|
while (idx-- > 0) {
|
|
3634
|
-
var sibling = values[parent.children[idx]];
|
|
3634
|
+
var sibling = values$1[parent.children[idx]];
|
|
3635
3635
|
if (child.data.tag === sibling.data.tag) {
|
|
3636
3636
|
child.metadata.position = sibling.metadata.position + 1;
|
|
3637
3637
|
break;
|
|
@@ -3640,7 +3640,7 @@ function position(parent, child) {
|
|
|
3640
3640
|
return child.metadata.position;
|
|
3641
3641
|
}
|
|
3642
3642
|
function updateSelector(value) {
|
|
3643
|
-
var parent = value.parent && value.parent in values ? values[value.parent] : null;
|
|
3643
|
+
var parent = value.parent && value.parent in values$1 ? values$1[value.parent] : null;
|
|
3644
3644
|
var prefix = parent ? parent.selector : null;
|
|
3645
3645
|
var d = value.data;
|
|
3646
3646
|
var p = position(parent, value);
|
|
@@ -3658,35 +3658,35 @@ function getNode(id) {
|
|
|
3658
3658
|
return nodesMap.has(id) ? nodesMap.get(id) : null;
|
|
3659
3659
|
}
|
|
3660
3660
|
function getValue(id) {
|
|
3661
|
-
if (id in values) {
|
|
3662
|
-
return values[id];
|
|
3661
|
+
if (id in values$1) {
|
|
3662
|
+
return values$1[id];
|
|
3663
3663
|
}
|
|
3664
3664
|
return null;
|
|
3665
3665
|
}
|
|
3666
3666
|
function get(node) {
|
|
3667
|
-
var id = getId(node);
|
|
3668
|
-
return id in values ? values[id] : null;
|
|
3667
|
+
var id = getId$1(node);
|
|
3668
|
+
return id in values$1 ? values$1[id] : null;
|
|
3669
3669
|
}
|
|
3670
3670
|
function lookup(hash) {
|
|
3671
3671
|
return hash in hashMap ? hashMap[hash] : null;
|
|
3672
3672
|
}
|
|
3673
3673
|
function has$1(node) {
|
|
3674
|
-
return nodesMap.has(getId(node));
|
|
3674
|
+
return nodesMap.has(getId$1(node));
|
|
3675
3675
|
}
|
|
3676
3676
|
function updates$2() {
|
|
3677
3677
|
var output = [];
|
|
3678
3678
|
for (var _i = 0, updateMap_1 = updateMap; _i < updateMap_1.length; _i++) {
|
|
3679
3679
|
var id = updateMap_1[_i];
|
|
3680
|
-
if (id in values) {
|
|
3681
|
-
output.push(values[id]);
|
|
3680
|
+
if (id in values$1) {
|
|
3681
|
+
output.push(values$1[id]);
|
|
3682
3682
|
}
|
|
3683
3683
|
}
|
|
3684
3684
|
updateMap = [];
|
|
3685
3685
|
return output;
|
|
3686
3686
|
}
|
|
3687
3687
|
function remove(id, source) {
|
|
3688
|
-
if (id in values) {
|
|
3689
|
-
var value = values[id];
|
|
3688
|
+
if (id in values$1) {
|
|
3689
|
+
var value = values$1[id];
|
|
3690
3690
|
value.metadata.active = false;
|
|
3691
3691
|
value.parent = null;
|
|
3692
3692
|
track$4(id, source);
|
|
@@ -3706,7 +3706,7 @@ function removeNodeFromNodesMap(id) {
|
|
|
3706
3706
|
removeObserver(iframe_1);
|
|
3707
3707
|
}
|
|
3708
3708
|
nodesMap.delete(id);
|
|
3709
|
-
var value = id in values ? values[id] : null;
|
|
3709
|
+
var value = id in values$1 ? values$1[id] : null;
|
|
3710
3710
|
if (value && value.children) {
|
|
3711
3711
|
for (var _i = 0, _a = value.children; _i < _a.length; _i++) {
|
|
3712
3712
|
var childId = _a[_i];
|
|
@@ -3733,7 +3733,7 @@ function getPreviousId(node) {
|
|
|
3733
3733
|
// Some nodes may not have an ID by design since Clarity skips over tags like SCRIPT, NOSCRIPT, META, COMMENTS, etc..
|
|
3734
3734
|
// In that case, we keep going back and check for their sibling until we find a sibling with ID or no more sibling nodes are left.
|
|
3735
3735
|
while (id === null && node.previousSibling) {
|
|
3736
|
-
id = getId(node.previousSibling);
|
|
3736
|
+
id = getId$1(node.previousSibling);
|
|
3737
3737
|
node = node.previousSibling;
|
|
3738
3738
|
}
|
|
3739
3739
|
return id;
|
|
@@ -3816,7 +3816,7 @@ function compute$5() {
|
|
|
3816
3816
|
var q = [];
|
|
3817
3817
|
for (var _i = 0, queue_1 = queue$1; _i < queue_1.length; _i++) {
|
|
3818
3818
|
var r = queue_1[_i];
|
|
3819
|
-
var id = getId(r.node);
|
|
3819
|
+
var id = getId$1(r.node);
|
|
3820
3820
|
if (id) {
|
|
3821
3821
|
r.state.data.id = id;
|
|
3822
3822
|
regions[id] = r.state.data;
|
|
@@ -3829,7 +3829,7 @@ function compute$5() {
|
|
|
3829
3829
|
queue$1 = q;
|
|
3830
3830
|
// Schedule encode only when we have at least one valid data entry
|
|
3831
3831
|
if (state$2.length > 0) {
|
|
3832
|
-
encode$
|
|
3832
|
+
encode$5(7 /* Event.Region */);
|
|
3833
3833
|
}
|
|
3834
3834
|
}
|
|
3835
3835
|
function handler$1(entries) {
|
|
@@ -3844,7 +3844,7 @@ function handler$1(entries) {
|
|
|
3844
3844
|
// like search box - one for desktop, and another for mobile. In those cases, CSS media queries determine which one should be visible.
|
|
3845
3845
|
// Also, if these regions ever become non-zero width or height (through AJAX, user action or orientation change) - we will automatically start monitoring them from that point onwards
|
|
3846
3846
|
if (regionMap.has(target) && rect.width + rect.height > 0 && viewport && viewport.width > 0 && viewport.height > 0) {
|
|
3847
|
-
var id = target ? getId(target) : null;
|
|
3847
|
+
var id = target ? getId$1(target) : null;
|
|
3848
3848
|
var data = id in regions ? regions[id] : { id: id, name: regionMap.get(target), interaction: 16 /* InteractionState.None */, visibility: 0 /* RegionVisibility.Rendered */ };
|
|
3849
3849
|
// For regions that have relatively smaller area, we look at intersection ratio and see the overlap relative to element's area
|
|
3850
3850
|
// However, for larger regions, area of regions could be bigger than viewport and therefore comparison is relative to visible area
|
|
@@ -3865,7 +3865,7 @@ function handler$1(entries) {
|
|
|
3865
3865
|
}
|
|
3866
3866
|
}
|
|
3867
3867
|
if (state$2.length > 0) {
|
|
3868
|
-
encode$
|
|
3868
|
+
encode$5(7 /* Event.Region */);
|
|
3869
3869
|
}
|
|
3870
3870
|
}
|
|
3871
3871
|
function process$1(n, d, s, v) {
|
|
@@ -3932,7 +3932,7 @@ function metadata$2(node, event, text) {
|
|
|
3932
3932
|
return output;
|
|
3933
3933
|
}
|
|
3934
3934
|
|
|
3935
|
-
function encode$
|
|
3935
|
+
function encode$4 (type, ts) {
|
|
3936
3936
|
if (ts === void 0) { ts = null; }
|
|
3937
3937
|
return __awaiter(this, void 0, void 0, function () {
|
|
3938
3938
|
var t, tokens, _i, _a, entry, pTarget, _b, _c, entry, cTarget, cHash, _d, _e, entry, target, r, u, _f, _g, entry, iTarget, s, startTarget, endTarget, _h, _j, entry, sTarget, top_1, bottom, sTopHash, sBottomHash, _k, _l, entry, target, _m, _o, entry, target, _p, _q, entry, v;
|
|
@@ -4171,13 +4171,146 @@ function compute$4() {
|
|
|
4171
4171
|
}
|
|
4172
4172
|
}
|
|
4173
4173
|
state$1 = temp; // Drop events less than the min time
|
|
4174
|
-
encode$
|
|
4174
|
+
encode$4(22 /* Event.Timeline */);
|
|
4175
4175
|
}
|
|
4176
4176
|
function stop$f() {
|
|
4177
4177
|
state$1 = [];
|
|
4178
4178
|
reset$5();
|
|
4179
4179
|
}
|
|
4180
4180
|
|
|
4181
|
+
function encode$3 (type) {
|
|
4182
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
4183
|
+
var eventTime, tokens, d, values$1, _i, values_1, value, privacy, data, _a, _b, key, attr;
|
|
4184
|
+
return __generator(this, function (_c) {
|
|
4185
|
+
eventTime = time();
|
|
4186
|
+
tokens = [eventTime, type];
|
|
4187
|
+
switch (type) {
|
|
4188
|
+
case 8 /* Event.Document */:
|
|
4189
|
+
d = data$8;
|
|
4190
|
+
tokens.push(d.width);
|
|
4191
|
+
tokens.push(d.height);
|
|
4192
|
+
track$8(type, d.width, d.height);
|
|
4193
|
+
queue(tokens);
|
|
4194
|
+
break;
|
|
4195
|
+
case 43 /* Event.Snapshot */:
|
|
4196
|
+
values$1 = values;
|
|
4197
|
+
// Only encode and queue DOM updates if we have valid updates to report back
|
|
4198
|
+
if (values$1.length > 0) {
|
|
4199
|
+
for (_i = 0, values_1 = values$1; _i < values_1.length; _i++) {
|
|
4200
|
+
value = values_1[_i];
|
|
4201
|
+
privacy = value.metadata.privacy;
|
|
4202
|
+
data = value.data;
|
|
4203
|
+
for (_a = 0, _b = ["tag", "attributes", "value"]; _a < _b.length; _a++) {
|
|
4204
|
+
key = _b[_a];
|
|
4205
|
+
if (data[key]) {
|
|
4206
|
+
switch (key) {
|
|
4207
|
+
case "tag":
|
|
4208
|
+
tokens.push(value.id);
|
|
4209
|
+
if (value.parent) {
|
|
4210
|
+
tokens.push(value.parent);
|
|
4211
|
+
}
|
|
4212
|
+
if (value.previous) {
|
|
4213
|
+
tokens.push(value.previous);
|
|
4214
|
+
}
|
|
4215
|
+
tokens.push(data[key]);
|
|
4216
|
+
break;
|
|
4217
|
+
case "attributes":
|
|
4218
|
+
for (attr in data[key]) {
|
|
4219
|
+
if (data[key][attr] !== undefined) {
|
|
4220
|
+
tokens.push(attribute(attr, data[key][attr], privacy));
|
|
4221
|
+
}
|
|
4222
|
+
}
|
|
4223
|
+
break;
|
|
4224
|
+
case "value":
|
|
4225
|
+
tokens.push(text$1(data[key], data.tag, privacy));
|
|
4226
|
+
break;
|
|
4227
|
+
}
|
|
4228
|
+
}
|
|
4229
|
+
}
|
|
4230
|
+
}
|
|
4231
|
+
queue(tokenize(tokens), true);
|
|
4232
|
+
}
|
|
4233
|
+
break;
|
|
4234
|
+
}
|
|
4235
|
+
return [2 /*return*/];
|
|
4236
|
+
});
|
|
4237
|
+
});
|
|
4238
|
+
}
|
|
4239
|
+
function attribute(key, value, privacy) {
|
|
4240
|
+
return "".concat(key, "=").concat(text$1(value, key.indexOf("data-" /* Constant.DataAttribute */) === 0 ? "data-" /* Constant.DataAttribute */ : key, privacy));
|
|
4241
|
+
}
|
|
4242
|
+
|
|
4243
|
+
var values = [];
|
|
4244
|
+
var index = 1;
|
|
4245
|
+
var idMap = null; // Maps node => id.
|
|
4246
|
+
function snapshot() {
|
|
4247
|
+
values = [];
|
|
4248
|
+
traverse(document);
|
|
4249
|
+
encode$3(43 /* Event.Snapshot */);
|
|
4250
|
+
}
|
|
4251
|
+
function traverse(root) {
|
|
4252
|
+
var queue = [root];
|
|
4253
|
+
while (queue.length > 0) {
|
|
4254
|
+
var attributes = null, tag = null, value = null;
|
|
4255
|
+
var node = queue.shift();
|
|
4256
|
+
var next = node.firstChild;
|
|
4257
|
+
var parent_1 = node.parentElement ? node.parentElement : (node.parentNode ? node.parentNode : null);
|
|
4258
|
+
while (next) {
|
|
4259
|
+
queue.push(next);
|
|
4260
|
+
next = next.nextSibling;
|
|
4261
|
+
}
|
|
4262
|
+
// Process the node
|
|
4263
|
+
var type = node.nodeType;
|
|
4264
|
+
switch (type) {
|
|
4265
|
+
case Node.DOCUMENT_TYPE_NODE:
|
|
4266
|
+
var doctype = node;
|
|
4267
|
+
tag = "*D" /* Constant.DocumentTag */;
|
|
4268
|
+
attributes = { name: doctype.name, publicId: doctype.publicId, systemId: doctype.systemId };
|
|
4269
|
+
break;
|
|
4270
|
+
case Node.TEXT_NODE:
|
|
4271
|
+
value = node.nodeValue;
|
|
4272
|
+
tag = idMap.get(parent_1) ? "*T" /* Constant.TextTag */ : tag;
|
|
4273
|
+
break;
|
|
4274
|
+
case Node.ELEMENT_NODE:
|
|
4275
|
+
var element = node;
|
|
4276
|
+
attributes = getAttributes(element);
|
|
4277
|
+
tag = ["NOSCRIPT", "SCRIPT", "STYLE"].indexOf(element.tagName) < 0 ? element.tagName : tag;
|
|
4278
|
+
break;
|
|
4279
|
+
}
|
|
4280
|
+
add(node, parent_1, { tag: tag, attributes: attributes, value: value });
|
|
4281
|
+
}
|
|
4282
|
+
}
|
|
4283
|
+
/* Helper Functions - Snapshot Traversal */
|
|
4284
|
+
function getAttributes(element) {
|
|
4285
|
+
var output = {};
|
|
4286
|
+
var attributes = element.attributes;
|
|
4287
|
+
if (attributes && attributes.length > 0) {
|
|
4288
|
+
for (var i = 0; i < attributes.length; i++) {
|
|
4289
|
+
output[attributes[i].name] = attributes[i].value;
|
|
4290
|
+
}
|
|
4291
|
+
}
|
|
4292
|
+
return output;
|
|
4293
|
+
}
|
|
4294
|
+
function getId(node) {
|
|
4295
|
+
if (node === null) {
|
|
4296
|
+
return null;
|
|
4297
|
+
}
|
|
4298
|
+
if (idMap.has(node)) {
|
|
4299
|
+
return idMap.get(node);
|
|
4300
|
+
}
|
|
4301
|
+
idMap.set(node, index);
|
|
4302
|
+
return index++;
|
|
4303
|
+
}
|
|
4304
|
+
function add(node, parent, data) {
|
|
4305
|
+
if (node && data && data.tag) {
|
|
4306
|
+
var id = getId(node);
|
|
4307
|
+
var parentId = parent ? idMap.get(parent) : null;
|
|
4308
|
+
var previous = node.previousSibling ? idMap.get(node.previousSibling) : null;
|
|
4309
|
+
var metadata_1 = { active: true, suspend: false, privacy: 5 /* Privacy.Snapshot */, position: null, fraud: null, size: null };
|
|
4310
|
+
values.push({ id: id, parent: parentId, previous: previous, children: [], data: data, selector: null, hash: null, region: null, metadata: metadata_1 });
|
|
4311
|
+
}
|
|
4312
|
+
}
|
|
4313
|
+
|
|
4181
4314
|
var discoverBytes = 0;
|
|
4182
4315
|
var playbackBytes = 0;
|
|
4183
4316
|
var playback;
|
|
@@ -4328,6 +4461,7 @@ function stringify(encoded) {
|
|
|
4328
4461
|
return encoded.p.length > 0 ? "{\"e\":".concat(encoded.e, ",\"a\":").concat(encoded.a, ",\"p\":").concat(encoded.p, "}") : "{\"e\":".concat(encoded.e, ",\"a\":").concat(encoded.a, "}");
|
|
4329
4462
|
}
|
|
4330
4463
|
function send(payload, zipped, sequence, beacon) {
|
|
4464
|
+
var _a;
|
|
4331
4465
|
if (beacon === void 0) { beacon = false; }
|
|
4332
4466
|
// Upload data if a valid URL is defined in the config
|
|
4333
4467
|
if (typeof config$2.upload === "string" /* Constant.String */) {
|
|
@@ -4344,8 +4478,15 @@ function send(payload, zipped, sequence, beacon) {
|
|
|
4344
4478
|
if (dispatched) {
|
|
4345
4479
|
done(sequence);
|
|
4346
4480
|
}
|
|
4481
|
+
else {
|
|
4482
|
+
// If sendBeacon fails, we report the error and continue with XHR upload
|
|
4483
|
+
report(new Error("".concat("BeaconError" /* Constant.BeaconError */, ": ").concat(payload.length)));
|
|
4484
|
+
}
|
|
4485
|
+
}
|
|
4486
|
+
catch (error) {
|
|
4487
|
+
// If sendBeacon fails, we report the error and continue with XHR upload
|
|
4488
|
+
report(new Error("".concat("BeaconError" /* Constant.BeaconError */, ": ").concat((_a = error === null || error === void 0 ? void 0 : error.message) === null || _a === void 0 ? void 0 : _a.substring(0, 50), " : ").concat(payload.length)));
|
|
4347
4489
|
}
|
|
4348
|
-
catch ( /* do nothing - and we will automatically fallback to XHR below */_a) { /* do nothing - and we will automatically fallback to XHR below */ }
|
|
4349
4490
|
}
|
|
4350
4491
|
// Before initiating XHR upload, we check if the data has already been uploaded using sendBeacon
|
|
4351
4492
|
// There are two cases when dispatched could still be false:
|
|
@@ -4405,6 +4546,9 @@ function check$3(xhr, sequence) {
|
|
|
4405
4546
|
if (xhr.status === 0) {
|
|
4406
4547
|
config$2.upload = config$2.fallback ? config$2.fallback : config$2.upload;
|
|
4407
4548
|
}
|
|
4549
|
+
// Capture the status code and number of attempts so we can report it back to the server
|
|
4550
|
+
track$1 = { sequence: sequence, attempts: transitData.attempts, status: xhr.status };
|
|
4551
|
+
encode$1(2 /* Event.Upload */);
|
|
4408
4552
|
// In all other cases, re-attempt sending the same data
|
|
4409
4553
|
// For retry we always fallback to string payload, even though we may have attempted
|
|
4410
4554
|
// sending zipped payload earlier
|
|
@@ -4480,6 +4624,10 @@ function response(payload) {
|
|
|
4480
4624
|
signalsEvent(parts[1]);
|
|
4481
4625
|
}
|
|
4482
4626
|
break;
|
|
4627
|
+
case "SNAPSHOT" /* Constant.Snapshot */:
|
|
4628
|
+
config$2.lean = false; // Disable lean mode to ensure we can send playback information to server.
|
|
4629
|
+
snapshot();
|
|
4630
|
+
break;
|
|
4483
4631
|
}
|
|
4484
4632
|
}
|
|
4485
4633
|
}
|
|
@@ -4796,11 +4944,11 @@ function discover() {
|
|
|
4796
4944
|
ts = time();
|
|
4797
4945
|
timer = { id: id(), cost: 3 /* Metric.LayoutCost */ };
|
|
4798
4946
|
start$d(timer);
|
|
4799
|
-
return [4 /*yield*/, traverse(document, timer, 0 /* Source.Discover */, ts)];
|
|
4947
|
+
return [4 /*yield*/, traverse$1(document, timer, 0 /* Source.Discover */, ts)];
|
|
4800
4948
|
case 1:
|
|
4801
4949
|
_a.sent();
|
|
4802
4950
|
checkDocumentStyles(document, ts);
|
|
4803
|
-
return [4 /*yield*/, encode$
|
|
4951
|
+
return [4 /*yield*/, encode$5(5 /* Event.Discover */, timer, ts)];
|
|
4804
4952
|
case 2:
|
|
4805
4953
|
_a.sent();
|
|
4806
4954
|
stop$c(timer);
|
|
@@ -5078,7 +5226,7 @@ function start$8() {
|
|
|
5078
5226
|
var _a, _b, _c;
|
|
5079
5227
|
rootDomain = null;
|
|
5080
5228
|
var ua = navigator && "userAgent" in navigator ? navigator.userAgent : "" /* Constant.Empty */;
|
|
5081
|
-
var timezone = (_c = (_b = (_a = Intl === null || Intl === void 0 ? void 0 : Intl.DateTimeFormat()) === null || _a === void 0 ? void 0 : _a.resolvedOptions()) === null || _b === void 0 ? void 0 : _b.timeZone) !== null && _c !== void 0 ? _c : '';
|
|
5229
|
+
var timezone = (_c = (typeof Intl !== 'undefined' && ((_b = (_a = Intl === null || Intl === void 0 ? void 0 : Intl.DateTimeFormat()) === null || _a === void 0 ? void 0 : _a.resolvedOptions()) === null || _b === void 0 ? void 0 : _b.timeZone))) !== null && _c !== void 0 ? _c : '';
|
|
5082
5230
|
var timezoneOffset = new Date().getTimezoneOffset().toString();
|
|
5083
5231
|
var ancestorOrigins = window.location.ancestorOrigins ? Array.from(window.location.ancestorOrigins).toString() : '';
|
|
5084
5232
|
var title = document && document.title ? document.title : "" /* Constant.Empty */;
|
|
@@ -5920,7 +6068,7 @@ var observer;
|
|
|
5920
6068
|
var types = ["navigation" /* Constant.Navigation */, "resource" /* Constant.Resource */, "longtask" /* Constant.LongTask */, "first-input" /* Constant.FID */, "layout-shift" /* Constant.CLS */, "largest-contentful-paint" /* Constant.LCP */, "event" /* Constant.PerformanceEventTiming */];
|
|
5921
6069
|
function start$2() {
|
|
5922
6070
|
// Capture connection properties, if available
|
|
5923
|
-
if (navigator && "connection"
|
|
6071
|
+
if (navigator && navigator["connection"]) {
|
|
5924
6072
|
log(27 /* Dimension.ConnectionType */, navigator["connection"]["effectiveType"]);
|
|
5925
6073
|
}
|
|
5926
6074
|
// Check the browser support performance observer as a pre-requisite for any performance measurement
|