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.js
CHANGED
|
@@ -2,9 +2,9 @@
|
|
|
2
2
|
|
|
3
3
|
var dom = /*#__PURE__*/Object.freeze({
|
|
4
4
|
__proto__: null,
|
|
5
|
-
get add () { return add; },
|
|
5
|
+
get add () { return add$1; },
|
|
6
6
|
get get () { return get; },
|
|
7
|
-
get getId () { return getId; },
|
|
7
|
+
get getId () { return getId$1; },
|
|
8
8
|
get getNode () { return getNode; },
|
|
9
9
|
get getValue () { return getValue; },
|
|
10
10
|
get has () { return has$1; },
|
|
@@ -189,7 +189,7 @@ function stop$F() {
|
|
|
189
189
|
startTime = 0;
|
|
190
190
|
}
|
|
191
191
|
|
|
192
|
-
var version$1 = "0.8.
|
|
192
|
+
var version$1 = "0.8.21";
|
|
193
193
|
|
|
194
194
|
// tslint:disable: no-bitwise
|
|
195
195
|
function hash (input, precision) {
|
|
@@ -1259,7 +1259,7 @@ function recompute$8(evt) {
|
|
|
1259
1259
|
var value = element.value;
|
|
1260
1260
|
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 */;
|
|
1261
1261
|
state$a.push({ time: time(evt), event: 42 /* Event.Change */, data: { target: target(evt), type: element.type, value: value, checksum: checksum } });
|
|
1262
|
-
schedule(encode$
|
|
1262
|
+
schedule(encode$4.bind(this, 42 /* Event.Change */));
|
|
1263
1263
|
}
|
|
1264
1264
|
}
|
|
1265
1265
|
function reset$m() {
|
|
@@ -1297,7 +1297,7 @@ function observe$b(root) {
|
|
|
1297
1297
|
function handler$3(event, root, evt) {
|
|
1298
1298
|
handler$3.dn = 6 /* FunctionNames.ClickHandler */;
|
|
1299
1299
|
var frame = iframe(root);
|
|
1300
|
-
var d = frame ? frame.contentDocument.documentElement : document.documentElement;
|
|
1300
|
+
var d = frame && frame.contentDocument ? frame.contentDocument.documentElement : document.documentElement;
|
|
1301
1301
|
var x = "pageX" in evt ? Math.round(evt.pageX) : ("clientX" in evt ? Math.round(evt["clientX"] + d.scrollLeft) : null);
|
|
1302
1302
|
var y = "pageY" in evt ? Math.round(evt.pageY) : ("clientY" in evt ? Math.round(evt["clientY"] + d.scrollTop) : null);
|
|
1303
1303
|
// In case of iframe, we adjust (x,y) to be relative to top parent's origin
|
|
@@ -1343,7 +1343,7 @@ function handler$3(event, root, evt) {
|
|
|
1343
1343
|
isFullText: textInfo.isFullText,
|
|
1344
1344
|
}
|
|
1345
1345
|
});
|
|
1346
|
-
schedule(encode$
|
|
1346
|
+
schedule(encode$4.bind(this, event));
|
|
1347
1347
|
}
|
|
1348
1348
|
}
|
|
1349
1349
|
function link(node) {
|
|
@@ -1434,7 +1434,7 @@ function observe$a(root) {
|
|
|
1434
1434
|
function recompute$7(action, evt) {
|
|
1435
1435
|
recompute$7.dn = 7 /* FunctionNames.ClipboardRecompute */;
|
|
1436
1436
|
state$8.push({ time: time(evt), event: 38 /* Event.Clipboard */, data: { target: target(evt), action: action } });
|
|
1437
|
-
schedule(encode$
|
|
1437
|
+
schedule(encode$4.bind(this, 38 /* Event.Clipboard */));
|
|
1438
1438
|
}
|
|
1439
1439
|
function reset$k() {
|
|
1440
1440
|
state$8 = [];
|
|
@@ -1475,7 +1475,7 @@ function recompute$6(evt) {
|
|
|
1475
1475
|
}
|
|
1476
1476
|
}
|
|
1477
1477
|
function process$7(event) {
|
|
1478
|
-
schedule(encode$
|
|
1478
|
+
schedule(encode$4.bind(this, event));
|
|
1479
1479
|
}
|
|
1480
1480
|
function reset$j() {
|
|
1481
1481
|
state$7 = [];
|
|
@@ -1507,7 +1507,7 @@ function observe$8(root) {
|
|
|
1507
1507
|
function mouse(event, root, evt) {
|
|
1508
1508
|
mouse.dn = 10 /* FunctionNames.PointerMouse */;
|
|
1509
1509
|
var frame = iframe(root);
|
|
1510
|
-
var d = frame ? frame.contentDocument.documentElement : document.documentElement;
|
|
1510
|
+
var d = frame && frame.contentDocument ? frame.contentDocument.documentElement : document.documentElement;
|
|
1511
1511
|
var x = "pageX" in evt ? Math.round(evt.pageX) : ("clientX" in evt ? Math.round(evt["clientX"] + d.scrollLeft) : null);
|
|
1512
1512
|
var y = "pageY" in evt ? Math.round(evt.pageY) : ("clientY" in evt ? Math.round(evt["clientY"] + d.scrollTop) : null);
|
|
1513
1513
|
// In case of iframe, we adjust (x,y) to be relative to top parent's origin
|
|
@@ -1524,7 +1524,7 @@ function mouse(event, root, evt) {
|
|
|
1524
1524
|
function touch(event, root, evt) {
|
|
1525
1525
|
touch.dn = 11 /* FunctionNames.PointerTouch */;
|
|
1526
1526
|
var frame = iframe(root);
|
|
1527
|
-
var d = frame ? frame.contentDocument.documentElement : document.documentElement;
|
|
1527
|
+
var d = frame && frame.contentDocument ? frame.contentDocument.documentElement : document.documentElement;
|
|
1528
1528
|
var touches = evt.changedTouches;
|
|
1529
1529
|
var t = time(evt);
|
|
1530
1530
|
if (touches) {
|
|
@@ -1586,7 +1586,7 @@ function handler$2(current) {
|
|
|
1586
1586
|
}
|
|
1587
1587
|
}
|
|
1588
1588
|
function process$6(event) {
|
|
1589
|
-
schedule(encode$
|
|
1589
|
+
schedule(encode$4.bind(this, event));
|
|
1590
1590
|
}
|
|
1591
1591
|
function reset$i() {
|
|
1592
1592
|
state$6 = [];
|
|
@@ -1630,12 +1630,12 @@ function recompute$5() {
|
|
|
1630
1630
|
timeout$4 = setTimeout$1(process$5, 500 /* Setting.LookAhead */, 11 /* Event.Resize */);
|
|
1631
1631
|
}
|
|
1632
1632
|
else {
|
|
1633
|
-
encode$
|
|
1633
|
+
encode$4(11 /* Event.Resize */);
|
|
1634
1634
|
initialStateLogged = true;
|
|
1635
1635
|
}
|
|
1636
1636
|
}
|
|
1637
1637
|
function process$5(event) {
|
|
1638
|
-
schedule(encode$
|
|
1638
|
+
schedule(encode$4.bind(this, event));
|
|
1639
1639
|
}
|
|
1640
1640
|
function reset$h() {
|
|
1641
1641
|
data$c = null;
|
|
@@ -1776,7 +1776,7 @@ function reset$g() {
|
|
|
1776
1776
|
initialBottom = null;
|
|
1777
1777
|
}
|
|
1778
1778
|
function process$4(event) {
|
|
1779
|
-
schedule(encode$
|
|
1779
|
+
schedule(encode$4.bind(this, event));
|
|
1780
1780
|
}
|
|
1781
1781
|
function similar(last, current) {
|
|
1782
1782
|
var dx = last.data.x - current.data.x;
|
|
@@ -1845,7 +1845,7 @@ function recompute$3(root) {
|
|
|
1845
1845
|
timeout$2 = setTimeout$1(process$3, 500 /* Setting.LookAhead */, 21 /* Event.Selection */);
|
|
1846
1846
|
}
|
|
1847
1847
|
function process$3(event) {
|
|
1848
|
-
schedule(encode$
|
|
1848
|
+
schedule(encode$4.bind(this, event));
|
|
1849
1849
|
}
|
|
1850
1850
|
function reset$f() {
|
|
1851
1851
|
previous = null;
|
|
@@ -1866,7 +1866,7 @@ function observe$5(root) {
|
|
|
1866
1866
|
function recompute$2(evt) {
|
|
1867
1867
|
recompute$2.dn = 16 /* FunctionNames.SubmitRecompute */;
|
|
1868
1868
|
state$4.push({ time: time(evt), event: 39 /* Event.Submit */, data: { target: target(evt) } });
|
|
1869
|
-
schedule(encode$
|
|
1869
|
+
schedule(encode$4.bind(this, 39 /* Event.Submit */));
|
|
1870
1870
|
}
|
|
1871
1871
|
function reset$e() {
|
|
1872
1872
|
state$4 = [];
|
|
@@ -1882,7 +1882,7 @@ function start$q() {
|
|
|
1882
1882
|
function recompute$1(evt) {
|
|
1883
1883
|
recompute$1.dn = 17 /* FunctionNames.UnloadRecompute */;
|
|
1884
1884
|
data$a = { name: evt.type, persisted: evt.persisted ? 1 /* BooleanFlag.True */ : 0 /* BooleanFlag.False */ };
|
|
1885
|
-
encode$
|
|
1885
|
+
encode$4(26 /* Event.Unload */, time(evt));
|
|
1886
1886
|
stop();
|
|
1887
1887
|
}
|
|
1888
1888
|
function reset$d() {
|
|
@@ -1901,7 +1901,7 @@ function recompute(evt) {
|
|
|
1901
1901
|
if (evt === void 0) { evt = null; }
|
|
1902
1902
|
recompute.dn = 18 /* FunctionNames.VisibilityRecompute */;
|
|
1903
1903
|
data$9 = { visible: "visibilityState" in document ? document.visibilityState : "default" };
|
|
1904
|
-
encode$
|
|
1904
|
+
encode$4(28 /* Event.Visibility */, time(evt));
|
|
1905
1905
|
}
|
|
1906
1906
|
function reset$c() {
|
|
1907
1907
|
data$9 = null;
|
|
@@ -2080,13 +2080,13 @@ function checkDocumentStyles(documentNode, timestamp) {
|
|
|
2080
2080
|
}
|
|
2081
2081
|
currentStyleSheets.push(styleSheet[styleSheetId]);
|
|
2082
2082
|
}
|
|
2083
|
-
var documentId = getId(documentNode, true);
|
|
2083
|
+
var documentId = getId$1(documentNode, true);
|
|
2084
2084
|
if (!styleSheetMap[documentId]) {
|
|
2085
2085
|
styleSheetMap[documentId] = [];
|
|
2086
2086
|
}
|
|
2087
2087
|
if (!arraysEqual(currentStyleSheets, styleSheetMap[documentId])) {
|
|
2088
2088
|
// Using -1 to signify the root document node as we don't track that as part of our nodeMap
|
|
2089
|
-
trackStyleAdoption(timestamp, documentNode == document ? -1 : getId(documentNode), 3 /* StyleSheetOperation.SetAdoptedStyles */, currentStyleSheets);
|
|
2089
|
+
trackStyleAdoption(timestamp, documentNode == document ? -1 : getId$1(documentNode), 3 /* StyleSheetOperation.SetAdoptedStyles */, currentStyleSheets);
|
|
2090
2090
|
styleSheetMap[documentId] = currentStyleSheets;
|
|
2091
2091
|
styleTimeMap[documentId] = timestamp;
|
|
2092
2092
|
}
|
|
@@ -2094,7 +2094,7 @@ function checkDocumentStyles(documentNode, timestamp) {
|
|
|
2094
2094
|
function compute$7() {
|
|
2095
2095
|
for (var _i = 0, documentNodes_1 = documentNodes; _i < documentNodes_1.length; _i++) {
|
|
2096
2096
|
var documentNode = documentNodes_1[_i];
|
|
2097
|
-
var docId = documentNode == document ? -1 : getId(documentNode);
|
|
2097
|
+
var docId = documentNode == document ? -1 : getId$1(documentNode);
|
|
2098
2098
|
var ts = docId in styleTimeMap ? styleTimeMap[docId] : null;
|
|
2099
2099
|
checkDocumentStyles(documentNode, ts);
|
|
2100
2100
|
}
|
|
@@ -2120,7 +2120,7 @@ function trackStyleChange(time, id, operation, cssRules) {
|
|
|
2120
2120
|
cssRules: cssRules
|
|
2121
2121
|
}
|
|
2122
2122
|
});
|
|
2123
|
-
encode$
|
|
2123
|
+
encode$5(46 /* Event.StyleSheetUpdate */);
|
|
2124
2124
|
}
|
|
2125
2125
|
function trackStyleAdoption(time, id, operation, newIds) {
|
|
2126
2126
|
sheetAdoptionState.push({
|
|
@@ -2132,7 +2132,7 @@ function trackStyleAdoption(time, id, operation, newIds) {
|
|
|
2132
2132
|
newIds: newIds
|
|
2133
2133
|
}
|
|
2134
2134
|
});
|
|
2135
|
-
encode$
|
|
2135
|
+
encode$5(45 /* Event.StyleSheetAdoption */);
|
|
2136
2136
|
}
|
|
2137
2137
|
function arraysEqual(a, b) {
|
|
2138
2138
|
if (a.length !== b.length) {
|
|
@@ -2204,7 +2204,7 @@ function track$6(time, id, operation, keyFrames, timing, targetId, timeline) {
|
|
|
2204
2204
|
timeline: timeline
|
|
2205
2205
|
}
|
|
2206
2206
|
});
|
|
2207
|
-
encode$
|
|
2207
|
+
encode$5(44 /* Event.Animation */);
|
|
2208
2208
|
}
|
|
2209
2209
|
function stop$k() {
|
|
2210
2210
|
reset$a();
|
|
@@ -2221,7 +2221,7 @@ function overrideAnimationHelper(functionToOverride, name) {
|
|
|
2221
2221
|
function trackAnimationOperation(animation, name) {
|
|
2222
2222
|
if (active()) {
|
|
2223
2223
|
var effect = animation.effect;
|
|
2224
|
-
var target = (effect === null || effect === void 0 ? void 0 : effect.target) ? getId(effect.target) : null;
|
|
2224
|
+
var target = (effect === null || effect === void 0 ? void 0 : effect.target) ? getId$1(effect.target) : null;
|
|
2225
2225
|
if (target !== null && effect.getKeyframes && effect.getTiming) {
|
|
2226
2226
|
if (!animation[animationId]) {
|
|
2227
2227
|
animation[animationId] = shortid();
|
|
@@ -2257,7 +2257,7 @@ function trackAnimationOperation(animation, name) {
|
|
|
2257
2257
|
}
|
|
2258
2258
|
}
|
|
2259
2259
|
|
|
2260
|
-
function encode$
|
|
2260
|
+
function encode$5 (type, timer, ts) {
|
|
2261
2261
|
if (timer === void 0) { timer = null; }
|
|
2262
2262
|
if (ts === void 0) { ts = null; }
|
|
2263
2263
|
return __awaiter(this, void 0, void 0, function () {
|
|
@@ -2382,7 +2382,7 @@ function encode$4 (type, timer, ts) {
|
|
|
2382
2382
|
case "attributes":
|
|
2383
2383
|
for (attr in data[key]) {
|
|
2384
2384
|
if (data[key][attr] !== undefined) {
|
|
2385
|
-
tokens.push(attribute(attr, data[key][attr], privacy));
|
|
2385
|
+
tokens.push(attribute$1(attr, data[key][attr], privacy));
|
|
2386
2386
|
}
|
|
2387
2387
|
}
|
|
2388
2388
|
break;
|
|
@@ -2425,7 +2425,7 @@ function size(value) {
|
|
|
2425
2425
|
function str(input) {
|
|
2426
2426
|
return input.toString(36);
|
|
2427
2427
|
}
|
|
2428
|
-
function attribute(key, value, privacy) {
|
|
2428
|
+
function attribute$1(key, value, privacy) {
|
|
2429
2429
|
return "".concat(key, "=").concat(text$1(value, key.indexOf("data-" /* Constant.DataAttribute */) === 0 ? "data-" /* Constant.DataAttribute */ : key, privacy));
|
|
2430
2430
|
}
|
|
2431
2431
|
|
|
@@ -2458,14 +2458,14 @@ function compute$6() {
|
|
|
2458
2458
|
// Check that width or height has changed from before, and also that width & height are not null values
|
|
2459
2459
|
if ((data$8 === null || width !== data$8.width || height !== data$8.height) && width !== null && height !== null) {
|
|
2460
2460
|
data$8 = { width: width, height: height };
|
|
2461
|
-
encode$
|
|
2461
|
+
encode$5(8 /* Event.Document */);
|
|
2462
2462
|
}
|
|
2463
2463
|
}
|
|
2464
2464
|
function stop$j() {
|
|
2465
2465
|
reset$9();
|
|
2466
2466
|
}
|
|
2467
2467
|
|
|
2468
|
-
function traverse (root, timer, source, timestamp) {
|
|
2468
|
+
function traverse$1 (root, timer, source, timestamp) {
|
|
2469
2469
|
return __awaiter(this, void 0, void 0, function () {
|
|
2470
2470
|
var queue, entry, next, state$1, subnode;
|
|
2471
2471
|
return __generator(this, function (_a) {
|
|
@@ -2658,7 +2658,7 @@ function process$2() {
|
|
|
2658
2658
|
case 4:
|
|
2659
2659
|
_i++;
|
|
2660
2660
|
return [3 /*break*/, 2];
|
|
2661
|
-
case 5: return [4 /*yield*/, encode$
|
|
2661
|
+
case 5: return [4 /*yield*/, encode$5(6 /* Event.Mutation */, timer, record.time)];
|
|
2662
2662
|
case 6:
|
|
2663
2663
|
_d.sent();
|
|
2664
2664
|
return [3 /*break*/, 1];
|
|
@@ -2684,7 +2684,7 @@ function process$2() {
|
|
|
2684
2684
|
processThrottledMutations();
|
|
2685
2685
|
}
|
|
2686
2686
|
if (!(Object.keys(throttledMutations).length === 0 && processedMutations)) return [3 /*break*/, 13];
|
|
2687
|
-
return [4 /*yield*/, encode$
|
|
2687
|
+
return [4 /*yield*/, encode$5(6 /* Event.Mutation */, timer, time())];
|
|
2688
2688
|
case 12:
|
|
2689
2689
|
_d.sent();
|
|
2690
2690
|
_d.label = 13;
|
|
@@ -2771,7 +2771,7 @@ function processNodeList(list, source, timer, timestamp) {
|
|
|
2771
2771
|
if (!(i < length)) return [3 /*break*/, 6];
|
|
2772
2772
|
node = list[i];
|
|
2773
2773
|
if (!(source === 1 /* Source.ChildListAdd */)) return [3 /*break*/, 2];
|
|
2774
|
-
traverse(node, timer, source, timestamp);
|
|
2774
|
+
traverse$1(node, timer, source, timestamp);
|
|
2775
2775
|
return [3 /*break*/, 5];
|
|
2776
2776
|
case 2:
|
|
2777
2777
|
state$1 = state(timer);
|
|
@@ -3057,7 +3057,7 @@ function processNode (node, source, timestamp) {
|
|
|
3057
3057
|
case Node.ELEMENT_NODE:
|
|
3058
3058
|
var element = node;
|
|
3059
3059
|
var tag = element.tagName;
|
|
3060
|
-
var attributes = getAttributes(element);
|
|
3060
|
+
var attributes = getAttributes$1(element);
|
|
3061
3061
|
// In some cases, external libraries like vue-fragment, can modify parentNode property to not be in sync with the DOM
|
|
3062
3062
|
// For correctness, we first look at parentElement and if it not present then fall back to using parentNode
|
|
3063
3063
|
parent = node.parentElement ? node.parentElement : (node.parentNode ? node.parentNode : null);
|
|
@@ -3237,7 +3237,7 @@ function getCssRules(sheet) {
|
|
|
3237
3237
|
}
|
|
3238
3238
|
return value;
|
|
3239
3239
|
}
|
|
3240
|
-
function getAttributes(element) {
|
|
3240
|
+
function getAttributes$1(element) {
|
|
3241
3241
|
var output = {};
|
|
3242
3242
|
var attributes = element.attributes;
|
|
3243
3243
|
if (attributes && attributes.length > 0) {
|
|
@@ -3349,9 +3349,9 @@ var selector = /*#__PURE__*/Object.freeze({
|
|
|
3349
3349
|
reset: reset$8
|
|
3350
3350
|
});
|
|
3351
3351
|
|
|
3352
|
-
var index = 1;
|
|
3352
|
+
var index$1 = 1;
|
|
3353
3353
|
var nodesMap = null; // Maps id => node to retrieve further node details using id.
|
|
3354
|
-
var values = [];
|
|
3354
|
+
var values$1 = [];
|
|
3355
3355
|
var updateMap = [];
|
|
3356
3356
|
var hashMap = {};
|
|
3357
3357
|
var override = [];
|
|
@@ -3361,7 +3361,7 @@ var maskExclude = [];
|
|
|
3361
3361
|
var maskDisable = [];
|
|
3362
3362
|
var maskTags = [];
|
|
3363
3363
|
// The WeakMap object is a collection of key/value pairs in which the keys are weakly referenced
|
|
3364
|
-
var idMap = null; // Maps node => id.
|
|
3364
|
+
var idMap$1 = null; // Maps node => id.
|
|
3365
3365
|
var iframeMap = null; // Maps iframe's contentDocument => parent iframe element
|
|
3366
3366
|
var iframeContentMap = null; // Maps parent iframe element => iframe's contentDocument & contentWindow
|
|
3367
3367
|
var privacyMap = null; // Maps node => Privacy (enum)
|
|
@@ -3374,8 +3374,8 @@ function stop$h() {
|
|
|
3374
3374
|
reset$7();
|
|
3375
3375
|
}
|
|
3376
3376
|
function reset$7() {
|
|
3377
|
-
index = 1;
|
|
3378
|
-
values = [];
|
|
3377
|
+
index$1 = 1;
|
|
3378
|
+
values$1 = [];
|
|
3379
3379
|
updateMap = [];
|
|
3380
3380
|
hashMap = {};
|
|
3381
3381
|
override = [];
|
|
@@ -3385,7 +3385,7 @@ function reset$7() {
|
|
|
3385
3385
|
maskDisable = "radio,checkbox,range,button,reset,submit" /* Mask.Disable */.split("," /* Constant.Comma */);
|
|
3386
3386
|
maskTags = "INPUT,SELECT,TEXTAREA" /* Mask.Tags */.split("," /* Constant.Comma */);
|
|
3387
3387
|
nodesMap = new Map();
|
|
3388
|
-
idMap = new WeakMap();
|
|
3388
|
+
idMap$1 = new WeakMap();
|
|
3389
3389
|
iframeMap = new WeakMap();
|
|
3390
3390
|
iframeContentMap = new WeakMap();
|
|
3391
3391
|
privacyMap = new WeakMap();
|
|
@@ -3416,32 +3416,32 @@ function parse(root, init) {
|
|
|
3416
3416
|
log$1(5 /* Code.Selector */, 1 /* Severity.Warning */, e ? e.name : null);
|
|
3417
3417
|
}
|
|
3418
3418
|
}
|
|
3419
|
-
function getId(node, autogen) {
|
|
3419
|
+
function getId$1(node, autogen) {
|
|
3420
3420
|
if (autogen === void 0) { autogen = false; }
|
|
3421
3421
|
if (node === null) {
|
|
3422
3422
|
return null;
|
|
3423
3423
|
}
|
|
3424
|
-
var id = idMap.get(node);
|
|
3424
|
+
var id = idMap$1.get(node);
|
|
3425
3425
|
if (!id && autogen) {
|
|
3426
|
-
id = index++;
|
|
3427
|
-
idMap.set(node, id);
|
|
3426
|
+
id = index$1++;
|
|
3427
|
+
idMap$1.set(node, id);
|
|
3428
3428
|
}
|
|
3429
3429
|
return id ? id : null;
|
|
3430
3430
|
}
|
|
3431
|
-
function add(node, parent, data, source) {
|
|
3432
|
-
var parentId = parent ? getId(parent) : null;
|
|
3431
|
+
function add$1(node, parent, data, source) {
|
|
3432
|
+
var parentId = parent ? getId$1(parent) : null;
|
|
3433
3433
|
// Do not add detached nodes
|
|
3434
3434
|
if ((!parent || !parentId) && node.host == null && node.nodeType !== Node.DOCUMENT_TYPE_NODE) {
|
|
3435
3435
|
return;
|
|
3436
3436
|
}
|
|
3437
|
-
var id = getId(node, true);
|
|
3437
|
+
var id = getId$1(node, true);
|
|
3438
3438
|
var previousId = getPreviousId(node);
|
|
3439
3439
|
var parentValue = null;
|
|
3440
3440
|
var regionId = exists(node) ? id : null;
|
|
3441
3441
|
var fraudId = fraudMap.has(node) ? fraudMap.get(node) : null;
|
|
3442
3442
|
var privacyId = config$2.content ? 1 /* Privacy.Sensitive */ : 3 /* Privacy.TextImage */;
|
|
3443
|
-
if (parentId >= 0 && values[parentId]) {
|
|
3444
|
-
parentValue = values[parentId];
|
|
3443
|
+
if (parentId >= 0 && values$1[parentId]) {
|
|
3444
|
+
parentValue = values$1[parentId];
|
|
3445
3445
|
parentValue.children.push(id);
|
|
3446
3446
|
regionId = regionId === null ? parentValue.region : regionId;
|
|
3447
3447
|
fraudId = fraudId === null ? parentValue.metadata.fraud : fraudId;
|
|
@@ -3453,7 +3453,7 @@ function add(node, parent, data, source) {
|
|
|
3453
3453
|
regionId = id;
|
|
3454
3454
|
}
|
|
3455
3455
|
nodesMap.set(id, node);
|
|
3456
|
-
values[id] = {
|
|
3456
|
+
values$1[id] = {
|
|
3457
3457
|
id: id,
|
|
3458
3458
|
parent: parentId,
|
|
3459
3459
|
previous: previousId,
|
|
@@ -3464,19 +3464,19 @@ function add(node, parent, data, source) {
|
|
|
3464
3464
|
region: regionId,
|
|
3465
3465
|
metadata: { active: true, suspend: false, privacy: privacyId, position: null, fraud: fraudId, size: null },
|
|
3466
3466
|
};
|
|
3467
|
-
privacy(node, values[id], parentValue);
|
|
3468
|
-
updateSelector(values[id]);
|
|
3469
|
-
updateImageSize(values[id]);
|
|
3467
|
+
privacy(node, values$1[id], parentValue);
|
|
3468
|
+
updateSelector(values$1[id]);
|
|
3469
|
+
updateImageSize(values$1[id]);
|
|
3470
3470
|
track$4(id, source);
|
|
3471
3471
|
}
|
|
3472
3472
|
function update(node, parent, data, source) {
|
|
3473
|
-
var id = getId(node);
|
|
3474
|
-
var parentId = parent ? getId(parent) : null;
|
|
3473
|
+
var id = getId$1(node);
|
|
3474
|
+
var parentId = parent ? getId$1(parent) : null;
|
|
3475
3475
|
var previousId = getPreviousId(node);
|
|
3476
3476
|
var changed = false;
|
|
3477
3477
|
var parentChanged = false;
|
|
3478
|
-
if (id in values) {
|
|
3479
|
-
var value = values[id];
|
|
3478
|
+
if (id in values$1) {
|
|
3479
|
+
var value = values$1[id];
|
|
3480
3480
|
value.metadata.active = true;
|
|
3481
3481
|
// Handle case where internal ordering may have changed
|
|
3482
3482
|
if (value.previous !== previousId) {
|
|
@@ -3490,10 +3490,10 @@ function update(node, parent, data, source) {
|
|
|
3490
3490
|
value.parent = parentId;
|
|
3491
3491
|
// Move this node to the right location under new parent
|
|
3492
3492
|
if (parentId !== null && parentId >= 0) {
|
|
3493
|
-
var childIndex = previousId === null ? 0 : values[parentId].children.indexOf(previousId) + 1;
|
|
3494
|
-
values[parentId].children.splice(childIndex, 0, id);
|
|
3493
|
+
var childIndex = previousId === null ? 0 : values$1[parentId].children.indexOf(previousId) + 1;
|
|
3494
|
+
values$1[parentId].children.splice(childIndex, 0, id);
|
|
3495
3495
|
// Update region after the move
|
|
3496
|
-
value.region = exists(node) ? id : values[parentId].region;
|
|
3496
|
+
value.region = exists(node) ? id : values$1[parentId].region;
|
|
3497
3497
|
}
|
|
3498
3498
|
else {
|
|
3499
3499
|
// Mark this element as deleted if the parent has been updated to null
|
|
@@ -3501,9 +3501,9 @@ function update(node, parent, data, source) {
|
|
|
3501
3501
|
}
|
|
3502
3502
|
// Remove reference to this node from the old parent
|
|
3503
3503
|
if (oldParentId !== null && oldParentId >= 0) {
|
|
3504
|
-
var nodeIndex = values[oldParentId].children.indexOf(id);
|
|
3504
|
+
var nodeIndex = values$1[oldParentId].children.indexOf(id);
|
|
3505
3505
|
if (nodeIndex >= 0) {
|
|
3506
|
-
values[oldParentId].children.splice(nodeIndex, 1);
|
|
3506
|
+
values$1[oldParentId].children.splice(nodeIndex, 1);
|
|
3507
3507
|
}
|
|
3508
3508
|
}
|
|
3509
3509
|
parentChanged = true;
|
|
@@ -3633,7 +3633,7 @@ function position(parent, child) {
|
|
|
3633
3633
|
child.metadata.position = 1;
|
|
3634
3634
|
var idx = parent ? parent.children.indexOf(child.id) : -1;
|
|
3635
3635
|
while (idx-- > 0) {
|
|
3636
|
-
var sibling = values[parent.children[idx]];
|
|
3636
|
+
var sibling = values$1[parent.children[idx]];
|
|
3637
3637
|
if (child.data.tag === sibling.data.tag) {
|
|
3638
3638
|
child.metadata.position = sibling.metadata.position + 1;
|
|
3639
3639
|
break;
|
|
@@ -3642,7 +3642,7 @@ function position(parent, child) {
|
|
|
3642
3642
|
return child.metadata.position;
|
|
3643
3643
|
}
|
|
3644
3644
|
function updateSelector(value) {
|
|
3645
|
-
var parent = value.parent && value.parent in values ? values[value.parent] : null;
|
|
3645
|
+
var parent = value.parent && value.parent in values$1 ? values$1[value.parent] : null;
|
|
3646
3646
|
var prefix = parent ? parent.selector : null;
|
|
3647
3647
|
var d = value.data;
|
|
3648
3648
|
var p = position(parent, value);
|
|
@@ -3660,35 +3660,35 @@ function getNode(id) {
|
|
|
3660
3660
|
return nodesMap.has(id) ? nodesMap.get(id) : null;
|
|
3661
3661
|
}
|
|
3662
3662
|
function getValue(id) {
|
|
3663
|
-
if (id in values) {
|
|
3664
|
-
return values[id];
|
|
3663
|
+
if (id in values$1) {
|
|
3664
|
+
return values$1[id];
|
|
3665
3665
|
}
|
|
3666
3666
|
return null;
|
|
3667
3667
|
}
|
|
3668
3668
|
function get(node) {
|
|
3669
|
-
var id = getId(node);
|
|
3670
|
-
return id in values ? values[id] : null;
|
|
3669
|
+
var id = getId$1(node);
|
|
3670
|
+
return id in values$1 ? values$1[id] : null;
|
|
3671
3671
|
}
|
|
3672
3672
|
function lookup(hash) {
|
|
3673
3673
|
return hash in hashMap ? hashMap[hash] : null;
|
|
3674
3674
|
}
|
|
3675
3675
|
function has$1(node) {
|
|
3676
|
-
return nodesMap.has(getId(node));
|
|
3676
|
+
return nodesMap.has(getId$1(node));
|
|
3677
3677
|
}
|
|
3678
3678
|
function updates$2() {
|
|
3679
3679
|
var output = [];
|
|
3680
3680
|
for (var _i = 0, updateMap_1 = updateMap; _i < updateMap_1.length; _i++) {
|
|
3681
3681
|
var id = updateMap_1[_i];
|
|
3682
|
-
if (id in values) {
|
|
3683
|
-
output.push(values[id]);
|
|
3682
|
+
if (id in values$1) {
|
|
3683
|
+
output.push(values$1[id]);
|
|
3684
3684
|
}
|
|
3685
3685
|
}
|
|
3686
3686
|
updateMap = [];
|
|
3687
3687
|
return output;
|
|
3688
3688
|
}
|
|
3689
3689
|
function remove(id, source) {
|
|
3690
|
-
if (id in values) {
|
|
3691
|
-
var value = values[id];
|
|
3690
|
+
if (id in values$1) {
|
|
3691
|
+
var value = values$1[id];
|
|
3692
3692
|
value.metadata.active = false;
|
|
3693
3693
|
value.parent = null;
|
|
3694
3694
|
track$4(id, source);
|
|
@@ -3708,7 +3708,7 @@ function removeNodeFromNodesMap(id) {
|
|
|
3708
3708
|
removeObserver(iframe_1);
|
|
3709
3709
|
}
|
|
3710
3710
|
nodesMap.delete(id);
|
|
3711
|
-
var value = id in values ? values[id] : null;
|
|
3711
|
+
var value = id in values$1 ? values$1[id] : null;
|
|
3712
3712
|
if (value && value.children) {
|
|
3713
3713
|
for (var _i = 0, _a = value.children; _i < _a.length; _i++) {
|
|
3714
3714
|
var childId = _a[_i];
|
|
@@ -3735,7 +3735,7 @@ function getPreviousId(node) {
|
|
|
3735
3735
|
// Some nodes may not have an ID by design since Clarity skips over tags like SCRIPT, NOSCRIPT, META, COMMENTS, etc..
|
|
3736
3736
|
// 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.
|
|
3737
3737
|
while (id === null && node.previousSibling) {
|
|
3738
|
-
id = getId(node.previousSibling);
|
|
3738
|
+
id = getId$1(node.previousSibling);
|
|
3739
3739
|
node = node.previousSibling;
|
|
3740
3740
|
}
|
|
3741
3741
|
return id;
|
|
@@ -3818,7 +3818,7 @@ function compute$5() {
|
|
|
3818
3818
|
var q = [];
|
|
3819
3819
|
for (var _i = 0, queue_1 = queue$1; _i < queue_1.length; _i++) {
|
|
3820
3820
|
var r = queue_1[_i];
|
|
3821
|
-
var id = getId(r.node);
|
|
3821
|
+
var id = getId$1(r.node);
|
|
3822
3822
|
if (id) {
|
|
3823
3823
|
r.state.data.id = id;
|
|
3824
3824
|
regions[id] = r.state.data;
|
|
@@ -3831,7 +3831,7 @@ function compute$5() {
|
|
|
3831
3831
|
queue$1 = q;
|
|
3832
3832
|
// Schedule encode only when we have at least one valid data entry
|
|
3833
3833
|
if (state$2.length > 0) {
|
|
3834
|
-
encode$
|
|
3834
|
+
encode$5(7 /* Event.Region */);
|
|
3835
3835
|
}
|
|
3836
3836
|
}
|
|
3837
3837
|
function handler$1(entries) {
|
|
@@ -3846,7 +3846,7 @@ function handler$1(entries) {
|
|
|
3846
3846
|
// like search box - one for desktop, and another for mobile. In those cases, CSS media queries determine which one should be visible.
|
|
3847
3847
|
// 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
|
|
3848
3848
|
if (regionMap.has(target) && rect.width + rect.height > 0 && viewport && viewport.width > 0 && viewport.height > 0) {
|
|
3849
|
-
var id = target ? getId(target) : null;
|
|
3849
|
+
var id = target ? getId$1(target) : null;
|
|
3850
3850
|
var data = id in regions ? regions[id] : { id: id, name: regionMap.get(target), interaction: 16 /* InteractionState.None */, visibility: 0 /* RegionVisibility.Rendered */ };
|
|
3851
3851
|
// For regions that have relatively smaller area, we look at intersection ratio and see the overlap relative to element's area
|
|
3852
3852
|
// However, for larger regions, area of regions could be bigger than viewport and therefore comparison is relative to visible area
|
|
@@ -3867,7 +3867,7 @@ function handler$1(entries) {
|
|
|
3867
3867
|
}
|
|
3868
3868
|
}
|
|
3869
3869
|
if (state$2.length > 0) {
|
|
3870
|
-
encode$
|
|
3870
|
+
encode$5(7 /* Event.Region */);
|
|
3871
3871
|
}
|
|
3872
3872
|
}
|
|
3873
3873
|
function process$1(n, d, s, v) {
|
|
@@ -3934,7 +3934,7 @@ function metadata$2(node, event, text) {
|
|
|
3934
3934
|
return output;
|
|
3935
3935
|
}
|
|
3936
3936
|
|
|
3937
|
-
function encode$
|
|
3937
|
+
function encode$4 (type, ts) {
|
|
3938
3938
|
if (ts === void 0) { ts = null; }
|
|
3939
3939
|
return __awaiter(this, void 0, void 0, function () {
|
|
3940
3940
|
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;
|
|
@@ -4173,13 +4173,146 @@ function compute$4() {
|
|
|
4173
4173
|
}
|
|
4174
4174
|
}
|
|
4175
4175
|
state$1 = temp; // Drop events less than the min time
|
|
4176
|
-
encode$
|
|
4176
|
+
encode$4(22 /* Event.Timeline */);
|
|
4177
4177
|
}
|
|
4178
4178
|
function stop$f() {
|
|
4179
4179
|
state$1 = [];
|
|
4180
4180
|
reset$5();
|
|
4181
4181
|
}
|
|
4182
4182
|
|
|
4183
|
+
function encode$3 (type) {
|
|
4184
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
4185
|
+
var eventTime, tokens, d, values$1, _i, values_1, value, privacy, data, _a, _b, key, attr;
|
|
4186
|
+
return __generator(this, function (_c) {
|
|
4187
|
+
eventTime = time();
|
|
4188
|
+
tokens = [eventTime, type];
|
|
4189
|
+
switch (type) {
|
|
4190
|
+
case 8 /* Event.Document */:
|
|
4191
|
+
d = data$8;
|
|
4192
|
+
tokens.push(d.width);
|
|
4193
|
+
tokens.push(d.height);
|
|
4194
|
+
track$8(type, d.width, d.height);
|
|
4195
|
+
queue(tokens);
|
|
4196
|
+
break;
|
|
4197
|
+
case 43 /* Event.Snapshot */:
|
|
4198
|
+
values$1 = values;
|
|
4199
|
+
// Only encode and queue DOM updates if we have valid updates to report back
|
|
4200
|
+
if (values$1.length > 0) {
|
|
4201
|
+
for (_i = 0, values_1 = values$1; _i < values_1.length; _i++) {
|
|
4202
|
+
value = values_1[_i];
|
|
4203
|
+
privacy = value.metadata.privacy;
|
|
4204
|
+
data = value.data;
|
|
4205
|
+
for (_a = 0, _b = ["tag", "attributes", "value"]; _a < _b.length; _a++) {
|
|
4206
|
+
key = _b[_a];
|
|
4207
|
+
if (data[key]) {
|
|
4208
|
+
switch (key) {
|
|
4209
|
+
case "tag":
|
|
4210
|
+
tokens.push(value.id);
|
|
4211
|
+
if (value.parent) {
|
|
4212
|
+
tokens.push(value.parent);
|
|
4213
|
+
}
|
|
4214
|
+
if (value.previous) {
|
|
4215
|
+
tokens.push(value.previous);
|
|
4216
|
+
}
|
|
4217
|
+
tokens.push(data[key]);
|
|
4218
|
+
break;
|
|
4219
|
+
case "attributes":
|
|
4220
|
+
for (attr in data[key]) {
|
|
4221
|
+
if (data[key][attr] !== undefined) {
|
|
4222
|
+
tokens.push(attribute(attr, data[key][attr], privacy));
|
|
4223
|
+
}
|
|
4224
|
+
}
|
|
4225
|
+
break;
|
|
4226
|
+
case "value":
|
|
4227
|
+
tokens.push(text$1(data[key], data.tag, privacy));
|
|
4228
|
+
break;
|
|
4229
|
+
}
|
|
4230
|
+
}
|
|
4231
|
+
}
|
|
4232
|
+
}
|
|
4233
|
+
queue(tokenize(tokens), true);
|
|
4234
|
+
}
|
|
4235
|
+
break;
|
|
4236
|
+
}
|
|
4237
|
+
return [2 /*return*/];
|
|
4238
|
+
});
|
|
4239
|
+
});
|
|
4240
|
+
}
|
|
4241
|
+
function attribute(key, value, privacy) {
|
|
4242
|
+
return "".concat(key, "=").concat(text$1(value, key.indexOf("data-" /* Constant.DataAttribute */) === 0 ? "data-" /* Constant.DataAttribute */ : key, privacy));
|
|
4243
|
+
}
|
|
4244
|
+
|
|
4245
|
+
var values = [];
|
|
4246
|
+
var index = 1;
|
|
4247
|
+
var idMap = null; // Maps node => id.
|
|
4248
|
+
function snapshot() {
|
|
4249
|
+
values = [];
|
|
4250
|
+
traverse(document);
|
|
4251
|
+
encode$3(43 /* Event.Snapshot */);
|
|
4252
|
+
}
|
|
4253
|
+
function traverse(root) {
|
|
4254
|
+
var queue = [root];
|
|
4255
|
+
while (queue.length > 0) {
|
|
4256
|
+
var attributes = null, tag = null, value = null;
|
|
4257
|
+
var node = queue.shift();
|
|
4258
|
+
var next = node.firstChild;
|
|
4259
|
+
var parent_1 = node.parentElement ? node.parentElement : (node.parentNode ? node.parentNode : null);
|
|
4260
|
+
while (next) {
|
|
4261
|
+
queue.push(next);
|
|
4262
|
+
next = next.nextSibling;
|
|
4263
|
+
}
|
|
4264
|
+
// Process the node
|
|
4265
|
+
var type = node.nodeType;
|
|
4266
|
+
switch (type) {
|
|
4267
|
+
case Node.DOCUMENT_TYPE_NODE:
|
|
4268
|
+
var doctype = node;
|
|
4269
|
+
tag = "*D" /* Constant.DocumentTag */;
|
|
4270
|
+
attributes = { name: doctype.name, publicId: doctype.publicId, systemId: doctype.systemId };
|
|
4271
|
+
break;
|
|
4272
|
+
case Node.TEXT_NODE:
|
|
4273
|
+
value = node.nodeValue;
|
|
4274
|
+
tag = idMap.get(parent_1) ? "*T" /* Constant.TextTag */ : tag;
|
|
4275
|
+
break;
|
|
4276
|
+
case Node.ELEMENT_NODE:
|
|
4277
|
+
var element = node;
|
|
4278
|
+
attributes = getAttributes(element);
|
|
4279
|
+
tag = ["NOSCRIPT", "SCRIPT", "STYLE"].indexOf(element.tagName) < 0 ? element.tagName : tag;
|
|
4280
|
+
break;
|
|
4281
|
+
}
|
|
4282
|
+
add(node, parent_1, { tag: tag, attributes: attributes, value: value });
|
|
4283
|
+
}
|
|
4284
|
+
}
|
|
4285
|
+
/* Helper Functions - Snapshot Traversal */
|
|
4286
|
+
function getAttributes(element) {
|
|
4287
|
+
var output = {};
|
|
4288
|
+
var attributes = element.attributes;
|
|
4289
|
+
if (attributes && attributes.length > 0) {
|
|
4290
|
+
for (var i = 0; i < attributes.length; i++) {
|
|
4291
|
+
output[attributes[i].name] = attributes[i].value;
|
|
4292
|
+
}
|
|
4293
|
+
}
|
|
4294
|
+
return output;
|
|
4295
|
+
}
|
|
4296
|
+
function getId(node) {
|
|
4297
|
+
if (node === null) {
|
|
4298
|
+
return null;
|
|
4299
|
+
}
|
|
4300
|
+
if (idMap.has(node)) {
|
|
4301
|
+
return idMap.get(node);
|
|
4302
|
+
}
|
|
4303
|
+
idMap.set(node, index);
|
|
4304
|
+
return index++;
|
|
4305
|
+
}
|
|
4306
|
+
function add(node, parent, data) {
|
|
4307
|
+
if (node && data && data.tag) {
|
|
4308
|
+
var id = getId(node);
|
|
4309
|
+
var parentId = parent ? idMap.get(parent) : null;
|
|
4310
|
+
var previous = node.previousSibling ? idMap.get(node.previousSibling) : null;
|
|
4311
|
+
var metadata_1 = { active: true, suspend: false, privacy: 5 /* Privacy.Snapshot */, position: null, fraud: null, size: null };
|
|
4312
|
+
values.push({ id: id, parent: parentId, previous: previous, children: [], data: data, selector: null, hash: null, region: null, metadata: metadata_1 });
|
|
4313
|
+
}
|
|
4314
|
+
}
|
|
4315
|
+
|
|
4183
4316
|
var discoverBytes = 0;
|
|
4184
4317
|
var playbackBytes = 0;
|
|
4185
4318
|
var playback;
|
|
@@ -4330,6 +4463,7 @@ function stringify(encoded) {
|
|
|
4330
4463
|
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, "}");
|
|
4331
4464
|
}
|
|
4332
4465
|
function send(payload, zipped, sequence, beacon) {
|
|
4466
|
+
var _a;
|
|
4333
4467
|
if (beacon === void 0) { beacon = false; }
|
|
4334
4468
|
// Upload data if a valid URL is defined in the config
|
|
4335
4469
|
if (typeof config$2.upload === "string" /* Constant.String */) {
|
|
@@ -4346,8 +4480,15 @@ function send(payload, zipped, sequence, beacon) {
|
|
|
4346
4480
|
if (dispatched) {
|
|
4347
4481
|
done(sequence);
|
|
4348
4482
|
}
|
|
4483
|
+
else {
|
|
4484
|
+
// If sendBeacon fails, we report the error and continue with XHR upload
|
|
4485
|
+
report(new Error("".concat("BeaconError" /* Constant.BeaconError */, ": ").concat(payload.length)));
|
|
4486
|
+
}
|
|
4487
|
+
}
|
|
4488
|
+
catch (error) {
|
|
4489
|
+
// If sendBeacon fails, we report the error and continue with XHR upload
|
|
4490
|
+
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)));
|
|
4349
4491
|
}
|
|
4350
|
-
catch ( /* do nothing - and we will automatically fallback to XHR below */_a) { /* do nothing - and we will automatically fallback to XHR below */ }
|
|
4351
4492
|
}
|
|
4352
4493
|
// Before initiating XHR upload, we check if the data has already been uploaded using sendBeacon
|
|
4353
4494
|
// There are two cases when dispatched could still be false:
|
|
@@ -4407,6 +4548,9 @@ function check$3(xhr, sequence) {
|
|
|
4407
4548
|
if (xhr.status === 0) {
|
|
4408
4549
|
config$2.upload = config$2.fallback ? config$2.fallback : config$2.upload;
|
|
4409
4550
|
}
|
|
4551
|
+
// Capture the status code and number of attempts so we can report it back to the server
|
|
4552
|
+
track$1 = { sequence: sequence, attempts: transitData.attempts, status: xhr.status };
|
|
4553
|
+
encode$1(2 /* Event.Upload */);
|
|
4410
4554
|
// In all other cases, re-attempt sending the same data
|
|
4411
4555
|
// For retry we always fallback to string payload, even though we may have attempted
|
|
4412
4556
|
// sending zipped payload earlier
|
|
@@ -4482,6 +4626,10 @@ function response(payload) {
|
|
|
4482
4626
|
signalsEvent(parts[1]);
|
|
4483
4627
|
}
|
|
4484
4628
|
break;
|
|
4629
|
+
case "SNAPSHOT" /* Constant.Snapshot */:
|
|
4630
|
+
config$2.lean = false; // Disable lean mode to ensure we can send playback information to server.
|
|
4631
|
+
snapshot();
|
|
4632
|
+
break;
|
|
4485
4633
|
}
|
|
4486
4634
|
}
|
|
4487
4635
|
}
|
|
@@ -4798,11 +4946,11 @@ function discover() {
|
|
|
4798
4946
|
ts = time();
|
|
4799
4947
|
timer = { id: id(), cost: 3 /* Metric.LayoutCost */ };
|
|
4800
4948
|
start$d(timer);
|
|
4801
|
-
return [4 /*yield*/, traverse(document, timer, 0 /* Source.Discover */, ts)];
|
|
4949
|
+
return [4 /*yield*/, traverse$1(document, timer, 0 /* Source.Discover */, ts)];
|
|
4802
4950
|
case 1:
|
|
4803
4951
|
_a.sent();
|
|
4804
4952
|
checkDocumentStyles(document, ts);
|
|
4805
|
-
return [4 /*yield*/, encode$
|
|
4953
|
+
return [4 /*yield*/, encode$5(5 /* Event.Discover */, timer, ts)];
|
|
4806
4954
|
case 2:
|
|
4807
4955
|
_a.sent();
|
|
4808
4956
|
stop$c(timer);
|
|
@@ -5080,7 +5228,7 @@ function start$8() {
|
|
|
5080
5228
|
var _a, _b, _c;
|
|
5081
5229
|
rootDomain = null;
|
|
5082
5230
|
var ua = navigator && "userAgent" in navigator ? navigator.userAgent : "" /* Constant.Empty */;
|
|
5083
|
-
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 : '';
|
|
5231
|
+
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 : '';
|
|
5084
5232
|
var timezoneOffset = new Date().getTimezoneOffset().toString();
|
|
5085
5233
|
var ancestorOrigins = window.location.ancestorOrigins ? Array.from(window.location.ancestorOrigins).toString() : '';
|
|
5086
5234
|
var title = document && document.title ? document.title : "" /* Constant.Empty */;
|
|
@@ -5922,7 +6070,7 @@ var observer;
|
|
|
5922
6070
|
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 */];
|
|
5923
6071
|
function start$2() {
|
|
5924
6072
|
// Capture connection properties, if available
|
|
5925
|
-
if (navigator && "connection"
|
|
6073
|
+
if (navigator && navigator["connection"]) {
|
|
5926
6074
|
log(27 /* Dimension.ConnectionType */, navigator["connection"]["effectiveType"]);
|
|
5927
6075
|
}
|
|
5928
6076
|
// Check the browser support performance observer as a pre-requisite for any performance measurement
|