@atlaskit/react-ufo 3.12.4 → 3.12.5
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/CHANGELOG.md +8 -0
- package/dist/cjs/create-experimental-interaction-metrics-payload/index.js +2 -1
- package/dist/cjs/create-payload/utils/get-vc-metrics.js +2 -1
- package/dist/cjs/vc/index.js +4 -2
- package/dist/cjs/vc/vc-observer/getVCRevisionDebugDetails.js +41 -0
- package/dist/cjs/vc/vc-observer/index.js +59 -33
- package/dist/cjs/vc/vc-observer-new/index.js +13 -7
- package/dist/cjs/vc/vc-observer-new/metric-calculator/abstract-base-vc-calculator.js +211 -36
- package/dist/cjs/vc/vc-observer-new/metric-calculator/fy25_03/index.js +4 -4
- package/dist/cjs/vc/vc-observer-new/metric-calculator/percentile-calc/canvas-heatmap/index.js +94 -4
- package/dist/cjs/vc/vc-observer-new/metric-calculator/percentile-calc/canvas-heatmap/test-with-debug-info.js +108 -0
- package/dist/cjs/vc/vc-observer-new/metric-calculator/percentile-calc/index.js +16 -57
- package/dist/cjs/vc/vc-observer-new/viewport-observer/index.js +15 -5
- package/dist/cjs/vc/vc-observer-new/viewport-observer/mutation-observer/index.js +3 -1
- package/dist/es2019/create-experimental-interaction-metrics-payload/index.js +2 -1
- package/dist/es2019/create-payload/utils/get-vc-metrics.js +1 -0
- package/dist/es2019/vc/index.js +4 -2
- package/dist/es2019/vc/vc-observer/getVCRevisionDebugDetails.js +32 -0
- package/dist/es2019/vc/vc-observer/index.js +30 -1
- package/dist/es2019/vc/vc-observer-new/index.js +12 -6
- package/dist/es2019/vc/vc-observer-new/metric-calculator/abstract-base-vc-calculator.js +115 -17
- package/dist/es2019/vc/vc-observer-new/metric-calculator/fy25_03/index.js +4 -4
- package/dist/es2019/vc/vc-observer-new/metric-calculator/percentile-calc/canvas-heatmap/index.js +44 -1
- package/dist/es2019/vc/vc-observer-new/metric-calculator/percentile-calc/canvas-heatmap/test-with-debug-info.js +75 -0
- package/dist/es2019/vc/vc-observer-new/metric-calculator/percentile-calc/index.js +2 -20
- package/dist/es2019/vc/vc-observer-new/viewport-observer/index.js +15 -5
- package/dist/es2019/vc/vc-observer-new/viewport-observer/mutation-observer/index.js +3 -1
- package/dist/esm/create-experimental-interaction-metrics-payload/index.js +2 -1
- package/dist/esm/create-payload/utils/get-vc-metrics.js +2 -1
- package/dist/esm/vc/index.js +4 -2
- package/dist/esm/vc/vc-observer/getVCRevisionDebugDetails.js +35 -0
- package/dist/esm/vc/vc-observer/index.js +59 -33
- package/dist/esm/vc/vc-observer-new/index.js +13 -7
- package/dist/esm/vc/vc-observer-new/metric-calculator/abstract-base-vc-calculator.js +211 -36
- package/dist/esm/vc/vc-observer-new/metric-calculator/fy25_03/index.js +4 -4
- package/dist/esm/vc/vc-observer-new/metric-calculator/percentile-calc/canvas-heatmap/index.js +94 -5
- package/dist/esm/vc/vc-observer-new/metric-calculator/percentile-calc/canvas-heatmap/test-with-debug-info.js +106 -0
- package/dist/esm/vc/vc-observer-new/metric-calculator/percentile-calc/index.js +2 -55
- package/dist/esm/vc/vc-observer-new/viewport-observer/index.js +15 -5
- package/dist/esm/vc/vc-observer-new/viewport-observer/mutation-observer/index.js +3 -1
- package/dist/types/vc/types.d.ts +1 -0
- package/dist/types/vc/vc-observer/getVCRevisionDebugDetails.d.ts +30 -0
- package/dist/types/vc/vc-observer/index.d.ts +1 -1
- package/dist/types/vc/vc-observer-new/index.d.ts +2 -0
- package/dist/types/vc/vc-observer-new/metric-calculator/abstract-base-vc-calculator.d.ts +4 -1
- package/dist/types/vc/vc-observer-new/metric-calculator/percentile-calc/canvas-heatmap/index.d.ts +5 -1
- package/dist/types/vc/vc-observer-new/metric-calculator/percentile-calc/canvas-heatmap/test-with-debug-info.d.ts +1 -0
- package/dist/types/vc/vc-observer-new/metric-calculator/percentile-calc/index.d.ts +2 -4
- package/dist/types/vc/vc-observer-new/metric-calculator/percentile-calc/types.d.ts +20 -2
- package/dist/types/vc/vc-observer-new/metric-calculator/types.d.ts +2 -0
- package/dist/types/vc/vc-observer-new/types.d.ts +5 -1
- package/dist/types/vc/vc-observer-new/viewport-observer/mutation-observer/index.d.ts +2 -0
- package/dist/types/vc/vc-observer-new/viewport-observer/types.d.ts +2 -0
- package/dist/types-ts4.5/vc/types.d.ts +1 -0
- package/dist/types-ts4.5/vc/vc-observer/getVCRevisionDebugDetails.d.ts +30 -0
- package/dist/types-ts4.5/vc/vc-observer/index.d.ts +1 -1
- package/dist/types-ts4.5/vc/vc-observer-new/index.d.ts +2 -0
- package/dist/types-ts4.5/vc/vc-observer-new/metric-calculator/abstract-base-vc-calculator.d.ts +4 -1
- package/dist/types-ts4.5/vc/vc-observer-new/metric-calculator/percentile-calc/canvas-heatmap/index.d.ts +5 -1
- package/dist/types-ts4.5/vc/vc-observer-new/metric-calculator/percentile-calc/canvas-heatmap/test-with-debug-info.d.ts +1 -0
- package/dist/types-ts4.5/vc/vc-observer-new/metric-calculator/percentile-calc/index.d.ts +2 -4
- package/dist/types-ts4.5/vc/vc-observer-new/metric-calculator/percentile-calc/types.d.ts +20 -2
- package/dist/types-ts4.5/vc/vc-observer-new/metric-calculator/types.d.ts +2 -0
- package/dist/types-ts4.5/vc/vc-observer-new/types.d.ts +5 -1
- package/dist/types-ts4.5/vc/vc-observer-new/viewport-observer/mutation-observer/index.d.ts +2 -0
- package/dist/types-ts4.5/vc/vc-observer-new/viewport-observer/types.d.ts +2 -0
- package/package.json +4 -1
- package/dist/cjs/vc/vc-observer-new/metric-calculator/percentile-calc/heatmap/heatmap.js +0 -367
- package/dist/cjs/vc/vc-observer-new/metric-calculator/percentile-calc/heatmap/index.js +0 -398
- package/dist/cjs/vc/vc-observer-new/metric-calculator/percentile-calc/heatmap/types.js +0 -5
- package/dist/cjs/vc/vc-observer-new/metric-calculator/percentile-calc/rect-sweeping-line/calc-union-area.js +0 -152
- package/dist/cjs/vc/vc-observer-new/metric-calculator/percentile-calc/rect-sweeping-line/index.js +0 -108
- package/dist/es2019/vc/vc-observer-new/metric-calculator/percentile-calc/heatmap/heatmap.js +0 -248
- package/dist/es2019/vc/vc-observer-new/metric-calculator/percentile-calc/heatmap/index.js +0 -263
- package/dist/es2019/vc/vc-observer-new/metric-calculator/percentile-calc/heatmap/types.js +0 -1
- package/dist/es2019/vc/vc-observer-new/metric-calculator/percentile-calc/rect-sweeping-line/calc-union-area.js +0 -99
- package/dist/es2019/vc/vc-observer-new/metric-calculator/percentile-calc/rect-sweeping-line/index.js +0 -60
- package/dist/esm/vc/vc-observer-new/metric-calculator/percentile-calc/heatmap/heatmap.js +0 -361
- package/dist/esm/vc/vc-observer-new/metric-calculator/percentile-calc/heatmap/index.js +0 -391
- package/dist/esm/vc/vc-observer-new/metric-calculator/percentile-calc/heatmap/types.js +0 -1
- package/dist/esm/vc/vc-observer-new/metric-calculator/percentile-calc/rect-sweeping-line/calc-union-area.js +0 -145
- package/dist/esm/vc/vc-observer-new/metric-calculator/percentile-calc/rect-sweeping-line/index.js +0 -101
- package/dist/types/vc/vc-observer-new/metric-calculator/percentile-calc/heatmap/heatmap.d.ts +0 -39
- package/dist/types/vc/vc-observer-new/metric-calculator/percentile-calc/heatmap/index.d.ts +0 -10
- package/dist/types/vc/vc-observer-new/metric-calculator/percentile-calc/heatmap/types.d.ts +0 -43
- package/dist/types/vc/vc-observer-new/metric-calculator/percentile-calc/rect-sweeping-line/calc-union-area.d.ts +0 -12
- package/dist/types/vc/vc-observer-new/metric-calculator/percentile-calc/rect-sweeping-line/index.d.ts +0 -25
- package/dist/types-ts4.5/vc/vc-observer-new/metric-calculator/percentile-calc/heatmap/heatmap.d.ts +0 -39
- package/dist/types-ts4.5/vc/vc-observer-new/metric-calculator/percentile-calc/heatmap/index.d.ts +0 -10
- package/dist/types-ts4.5/vc/vc-observer-new/metric-calculator/percentile-calc/heatmap/types.d.ts +0 -43
- package/dist/types-ts4.5/vc/vc-observer-new/metric-calculator/percentile-calc/rect-sweeping-line/calc-union-area.d.ts +0 -12
- package/dist/types-ts4.5/vc/vc-observer-new/metric-calculator/percentile-calc/rect-sweeping-line/index.d.ts +0 -25
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,13 @@
|
|
|
1
1
|
# @atlaskit/ufo-interaction-ignore
|
|
2
2
|
|
|
3
|
+
## 3.12.5
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- [#156815](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/pull-requests/156815)
|
|
8
|
+
[`a6856b45ef58f`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/a6856b45ef58f) -
|
|
9
|
+
make ttvc v3 more debugable
|
|
10
|
+
|
|
3
11
|
## 3.12.4
|
|
4
12
|
|
|
5
13
|
### Patch Changes
|
|
@@ -112,7 +112,8 @@ function _getExperimentalVCMetrics() {
|
|
|
112
112
|
isEventAborted: !!interaction.abortReason,
|
|
113
113
|
prefix: prefix,
|
|
114
114
|
vc: interaction.vc,
|
|
115
|
-
experienceKey: interaction.ufoName
|
|
115
|
+
experienceKey: interaction.ufoName,
|
|
116
|
+
interactionId: interaction.id
|
|
116
117
|
});
|
|
117
118
|
case 4:
|
|
118
119
|
result = _context.sent;
|
|
@@ -65,7 +65,8 @@ function _getVCMetrics() {
|
|
|
65
65
|
prefix: prefix,
|
|
66
66
|
vc: interaction.vc,
|
|
67
67
|
isEventAborted: interactionStatus.originalInteractionStatus !== 'SUCCEEDED',
|
|
68
|
-
experienceKey: interaction.ufoName
|
|
68
|
+
experienceKey: interaction.ufoName,
|
|
69
|
+
interactionId: interaction.id
|
|
69
70
|
}, ssr));
|
|
70
71
|
case 18:
|
|
71
72
|
result = _context.sent;
|
package/dist/cjs/vc/index.js
CHANGED
|
@@ -131,7 +131,8 @@ var VCObserverWrapper = exports.VCObserverWrapper = /*#__PURE__*/function () {
|
|
|
131
131
|
_context.next = 13;
|
|
132
132
|
return (_this$newVCObserver5 = this.newVCObserver) === null || _this$newVCObserver5 === void 0 ? void 0 : _this$newVCObserver5.getVCResult({
|
|
133
133
|
start: param.start,
|
|
134
|
-
stop: param.stop
|
|
134
|
+
stop: param.stop,
|
|
135
|
+
interactionId: param.interactionId
|
|
135
136
|
});
|
|
136
137
|
case 13:
|
|
137
138
|
_context.t1 = _context.sent;
|
|
@@ -158,7 +159,8 @@ var VCObserverWrapper = exports.VCObserverWrapper = /*#__PURE__*/function () {
|
|
|
158
159
|
_context.next = 28;
|
|
159
160
|
return (_this$newVCObserver6 = this.newVCObserver) === null || _this$newVCObserver6 === void 0 ? void 0 : _this$newVCObserver6.getVCResult({
|
|
160
161
|
start: param.start,
|
|
161
|
-
stop: param.stop
|
|
162
|
+
stop: param.stop,
|
|
163
|
+
interactionId: param.interactionId
|
|
162
164
|
});
|
|
163
165
|
case 28:
|
|
164
166
|
newResult = _context.sent;
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.getVCRevisionDebugDetails = getVCRevisionDebugDetails;
|
|
7
|
+
function getVCRevisionDebugDetails(_ref) {
|
|
8
|
+
var revision = _ref.revision,
|
|
9
|
+
isClean = _ref.isClean,
|
|
10
|
+
abortReason = _ref.abortReason,
|
|
11
|
+
VCEntries = _ref.VCEntries,
|
|
12
|
+
componentsLog = _ref.componentsLog,
|
|
13
|
+
interactionId = _ref.interactionId;
|
|
14
|
+
return {
|
|
15
|
+
revision: revision,
|
|
16
|
+
isClean: isClean,
|
|
17
|
+
abortReason: abortReason,
|
|
18
|
+
vcLogs: VCEntries.map(function (entry) {
|
|
19
|
+
return {
|
|
20
|
+
time: entry.time,
|
|
21
|
+
viewportPercentage: entry.vc,
|
|
22
|
+
entries: entry.elements.map(function (element) {
|
|
23
|
+
var _componentsLog$entry$;
|
|
24
|
+
var logEntry = (_componentsLog$entry$ = componentsLog[entry.time]) === null || _componentsLog$entry$ === void 0 ? void 0 : _componentsLog$entry$.find(function (log) {
|
|
25
|
+
return log.targetName === element;
|
|
26
|
+
});
|
|
27
|
+
return {
|
|
28
|
+
elementName: element,
|
|
29
|
+
type: logEntry === null || logEntry === void 0 ? void 0 : logEntry.type,
|
|
30
|
+
rect: logEntry === null || logEntry === void 0 ? void 0 : logEntry.intersectionRect,
|
|
31
|
+
visible: true,
|
|
32
|
+
attributeName: logEntry === null || logEntry === void 0 ? void 0 : logEntry.attributeName,
|
|
33
|
+
oldValue: logEntry === null || logEntry === void 0 ? void 0 : logEntry.oldValue,
|
|
34
|
+
newValue: logEntry === null || logEntry === void 0 ? void 0 : logEntry.newValue
|
|
35
|
+
};
|
|
36
|
+
})
|
|
37
|
+
};
|
|
38
|
+
}),
|
|
39
|
+
interactionId: interactionId
|
|
40
|
+
};
|
|
41
|
+
}
|
|
@@ -17,6 +17,7 @@ var _platformFeatureFlags = require("@atlaskit/platform-feature-flags");
|
|
|
17
17
|
var _config = require("../../config");
|
|
18
18
|
var _interactionMetrics = require("../../interaction-metrics");
|
|
19
19
|
var _attachAbortListeners = require("./attachAbortListeners");
|
|
20
|
+
var _getVCRevisionDebugDetails = require("./getVCRevisionDebugDetails");
|
|
20
21
|
var _getVCRevisionsData = require("./getVCRevisionsData");
|
|
21
22
|
var _getViewport = require("./getViewport");
|
|
22
23
|
var _heatmap = require("./heatmap/heatmap");
|
|
@@ -106,11 +107,11 @@ var VCObserver = exports.VCObserver = /*#__PURE__*/function () {
|
|
|
106
107
|
});
|
|
107
108
|
(0, _defineProperty2.default)(this, "getVCResult", /*#__PURE__*/function () {
|
|
108
109
|
var _ref4 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(_ref3) {
|
|
109
|
-
var start, stop, tti, prefix, ssr, vc, isEventAborted, experienceKey, startTime, fullPrefix, rawData, abortReason, abortReasonInfo, heatmap, heatmapNext, outOfBoundaryInfo, totalTime, componentsLog, viewport, devToolsEnabled, ratios, multiHeatmap, isTTVCv1Disabled, vcAbortedResultWithRevisions, ttvcV1Result, VC, VCBox, VCEntries, totalPainted, _componentsLog, vcNext, outOfBoundary, stopTime, ttvcV1DevToolInfo, ttvcV2DevToolInfo, isVCClean, revisionsData, speedIndex, isTTVCv3Enabled;
|
|
110
|
+
var start, stop, tti, prefix, ssr, vc, isEventAborted, experienceKey, interactionId, startTime, fullPrefix, rawData, abortReason, abortReasonInfo, heatmap, heatmapNext, outOfBoundaryInfo, totalTime, componentsLog, viewport, devToolsEnabled, ratios, multiHeatmap, isTTVCv1Disabled, vcAbortedResultWithRevisions, ttvcV1Result, VC, VCBox, VCEntries, totalPainted, _componentsLog, vcNext, outOfBoundary, stopTime, ttvcV1DevToolInfo, ttvcV2DevToolInfo, _ufo_devtool_onVCRev2, _ref10, _ufo_devtool_onVCRev, _ref9, isVCClean, revisionsData, speedIndex, isTTVCv3Enabled;
|
|
110
111
|
return _regenerator.default.wrap(function _callee$(_context) {
|
|
111
112
|
while (1) switch (_context.prev = _context.next) {
|
|
112
113
|
case 0:
|
|
113
|
-
start = _ref3.start, stop = _ref3.stop, tti = _ref3.tti, prefix = _ref3.prefix, ssr = _ref3.ssr, vc = _ref3.vc, isEventAborted = _ref3.isEventAborted, experienceKey = _ref3.experienceKey;
|
|
114
|
+
start = _ref3.start, stop = _ref3.stop, tti = _ref3.tti, prefix = _ref3.prefix, ssr = _ref3.ssr, vc = _ref3.vc, isEventAborted = _ref3.isEventAborted, experienceKey = _ref3.experienceKey, interactionId = _ref3.interactionId;
|
|
114
115
|
startTime = performance.now(); // add local measurement
|
|
115
116
|
fullPrefix = prefix !== undefined && prefix !== '' ? "".concat(prefix, ":") : '';
|
|
116
117
|
rawData = vc !== undefined ? vc : _this.getVCRawData();
|
|
@@ -287,6 +288,31 @@ var VCObserver = exports.VCObserver = /*#__PURE__*/function () {
|
|
|
287
288
|
entries: isTTVCv1Disabled ? vcNext.VCEntries.rel : VCEntries.rel
|
|
288
289
|
}
|
|
289
290
|
}));
|
|
291
|
+
|
|
292
|
+
// Add devtool callback for both v1 and v2
|
|
293
|
+
if (typeof window.__ufo_devtool_onVCRevisionReady__ === 'function' && (0, _platformFeatureFlags.fg)('platform_ufo_ttvc_v3_devtool')) {
|
|
294
|
+
// Handle v1 if not disabled
|
|
295
|
+
if (!isTTVCv1Disabled) {
|
|
296
|
+
(_ufo_devtool_onVCRev = (_ref9 = window).__ufo_devtool_onVCRevisionReady__) === null || _ufo_devtool_onVCRev === void 0 || _ufo_devtool_onVCRev.call(_ref9, (0, _getVCRevisionDebugDetails.getVCRevisionDebugDetails)({
|
|
297
|
+
revision: 'fy25.01',
|
|
298
|
+
isClean: !abortReasonInfo,
|
|
299
|
+
abortReason: abortReason.reason,
|
|
300
|
+
VCEntries: VCEntries.rel,
|
|
301
|
+
componentsLog: componentsLog,
|
|
302
|
+
interactionId: interactionId
|
|
303
|
+
}));
|
|
304
|
+
}
|
|
305
|
+
|
|
306
|
+
// Handle v2
|
|
307
|
+
(_ufo_devtool_onVCRev2 = (_ref10 = window).__ufo_devtool_onVCRevisionReady__) === null || _ufo_devtool_onVCRev2 === void 0 || _ufo_devtool_onVCRev2.call(_ref10, (0, _getVCRevisionDebugDetails.getVCRevisionDebugDetails)({
|
|
308
|
+
revision: 'fy25.02',
|
|
309
|
+
isClean: !abortReasonInfo,
|
|
310
|
+
abortReason: abortReason.reason,
|
|
311
|
+
VCEntries: vcNext.VCEntries.rel,
|
|
312
|
+
componentsLog: componentsLog,
|
|
313
|
+
interactionId: interactionId
|
|
314
|
+
}));
|
|
315
|
+
}
|
|
290
316
|
}
|
|
291
317
|
} catch (e) {
|
|
292
318
|
/* do nothing */
|
|
@@ -387,16 +413,16 @@ var VCObserver = exports.VCObserver = /*#__PURE__*/function () {
|
|
|
387
413
|
});
|
|
388
414
|
}
|
|
389
415
|
});
|
|
390
|
-
(0, _defineProperty2.default)(this, "onViewportChangeDetected", function (
|
|
391
|
-
var element =
|
|
392
|
-
type =
|
|
393
|
-
ignoreReason =
|
|
394
|
-
timestamp =
|
|
395
|
-
targetName =
|
|
396
|
-
intersectionRect =
|
|
397
|
-
attributeName =
|
|
398
|
-
oldValue =
|
|
399
|
-
newValue =
|
|
416
|
+
(0, _defineProperty2.default)(this, "onViewportChangeDetected", function (_ref11) {
|
|
417
|
+
var element = _ref11.element,
|
|
418
|
+
type = _ref11.type,
|
|
419
|
+
ignoreReason = _ref11.ignoreReason,
|
|
420
|
+
timestamp = _ref11.timestamp,
|
|
421
|
+
targetName = _ref11.targetName,
|
|
422
|
+
intersectionRect = _ref11.intersectionRect,
|
|
423
|
+
attributeName = _ref11.attributeName,
|
|
424
|
+
oldValue = _ref11.oldValue,
|
|
425
|
+
newValue = _ref11.newValue;
|
|
400
426
|
if (_this.multiHeatmap === null) {
|
|
401
427
|
return;
|
|
402
428
|
}
|
|
@@ -481,10 +507,10 @@ var VCObserver = exports.VCObserver = /*#__PURE__*/function () {
|
|
|
481
507
|
var unbinds = (0, _attachAbortListeners.attachAbortListeners)(window, _this.viewport, _this.abortReasonCallback);
|
|
482
508
|
if ((_window = window) !== null && _window !== void 0 && _window.__SSR_ABORT_LISTENERS__) {
|
|
483
509
|
var _window2;
|
|
484
|
-
Object.entries(window.__SSR_ABORT_LISTENERS__.aborts).forEach(function (
|
|
485
|
-
var
|
|
486
|
-
key =
|
|
487
|
-
time =
|
|
510
|
+
Object.entries(window.__SSR_ABORT_LISTENERS__.aborts).forEach(function (_ref12) {
|
|
511
|
+
var _ref13 = (0, _slicedToArray2.default)(_ref12, 2),
|
|
512
|
+
key = _ref13[0],
|
|
513
|
+
time = _ref13[1];
|
|
488
514
|
if (time) {
|
|
489
515
|
_this.abortReasonCallback(key, time);
|
|
490
516
|
}
|
|
@@ -517,8 +543,8 @@ var VCObserver = exports.VCObserver = /*#__PURE__*/function () {
|
|
|
517
543
|
}
|
|
518
544
|
return (0, _createClass2.default)(VCObserver, [{
|
|
519
545
|
key: "start",
|
|
520
|
-
value: function start(
|
|
521
|
-
var startTime =
|
|
546
|
+
value: function start(_ref14) {
|
|
547
|
+
var startTime = _ref14.startTime;
|
|
522
548
|
this.active = true;
|
|
523
549
|
if (this.observers.isBrowserSupported()) {
|
|
524
550
|
this.setViewportSize();
|
|
@@ -540,12 +566,12 @@ var VCObserver = exports.VCObserver = /*#__PURE__*/function () {
|
|
|
540
566
|
}, {
|
|
541
567
|
key: "getIgnoredElements",
|
|
542
568
|
value: function getIgnoredElements(componentsLog) {
|
|
543
|
-
return Object.values(componentsLog).flat().filter(function (
|
|
544
|
-
var ignoreReason =
|
|
569
|
+
return Object.values(componentsLog).flat().filter(function (_ref15) {
|
|
570
|
+
var ignoreReason = _ref15.ignoreReason;
|
|
545
571
|
return Boolean(ignoreReason);
|
|
546
|
-
}).map(function (
|
|
547
|
-
var targetName =
|
|
548
|
-
ignoreReason =
|
|
572
|
+
}).map(function (_ref16) {
|
|
573
|
+
var targetName = _ref16.targetName,
|
|
574
|
+
ignoreReason = _ref16.ignoreReason;
|
|
549
575
|
return {
|
|
550
576
|
targetName: targetName,
|
|
551
577
|
ignoreReason: ignoreReason
|
|
@@ -668,12 +694,12 @@ var VCObserver = exports.VCObserver = /*#__PURE__*/function () {
|
|
|
668
694
|
}
|
|
669
695
|
}], [{
|
|
670
696
|
key: "calculateVC",
|
|
671
|
-
value: function calculateVC(
|
|
672
|
-
var heatmap =
|
|
673
|
-
|
|
674
|
-
ssr =
|
|
675
|
-
componentsLog =
|
|
676
|
-
viewport =
|
|
697
|
+
value: function calculateVC(_ref17) {
|
|
698
|
+
var heatmap = _ref17.heatmap,
|
|
699
|
+
_ref17$ssr = _ref17.ssr,
|
|
700
|
+
ssr = _ref17$ssr === void 0 ? UNUSED_SECTOR : _ref17$ssr,
|
|
701
|
+
componentsLog = _ref17.componentsLog,
|
|
702
|
+
viewport = _ref17.viewport;
|
|
677
703
|
var lastUpdate = {};
|
|
678
704
|
var totalPainted = 0;
|
|
679
705
|
if (ssr !== UNUSED_SECTOR) {
|
|
@@ -739,11 +765,11 @@ var VCObserver = exports.VCObserver = /*#__PURE__*/function () {
|
|
|
739
765
|
});
|
|
740
766
|
return VCRatio;
|
|
741
767
|
}, 0);
|
|
742
|
-
var VCEntries = entries.reduce(function (acc,
|
|
768
|
+
var VCEntries = entries.reduce(function (acc, _ref18, i) {
|
|
743
769
|
var _acc$abs, _componentsLog$timest, _acc$rel$vc, _acc$rel;
|
|
744
|
-
var
|
|
745
|
-
timestamp =
|
|
746
|
-
entryPainted =
|
|
770
|
+
var _ref19 = (0, _slicedToArray2.default)(_ref18, 2),
|
|
771
|
+
timestamp = _ref19[0],
|
|
772
|
+
entryPainted = _ref19[1];
|
|
747
773
|
var currentlyPainted = entryPainted + (((_acc$abs = acc.abs[i - 1]) === null || _acc$abs === void 0 ? void 0 : _acc$abs[1]) || 0);
|
|
748
774
|
var currentlyPaintedRatio = Math.round(currentlyPainted / totalPainted * 1000) / 10;
|
|
749
775
|
var logEntry = (0, _toConsumableArray2.default)(new Set((_componentsLog$timest = componentsLog[timestamp]) === null || _componentsLog$timest === void 0 ? void 0 : _componentsLog$timest.filter(function (v) {
|
|
@@ -24,12 +24,14 @@ var DEFAULT_SELECTOR_CONFIG = {
|
|
|
24
24
|
};
|
|
25
25
|
var VCObserverNew = exports.default = /*#__PURE__*/function () {
|
|
26
26
|
function VCObserverNew(config) {
|
|
27
|
-
var _config$
|
|
27
|
+
var _config$isPostInterac,
|
|
28
|
+
_config$selectorConfi,
|
|
28
29
|
_this = this;
|
|
29
30
|
(0, _classCallCheck2.default)(this, VCObserverNew);
|
|
30
31
|
(0, _defineProperty2.default)(this, "viewportObserver", null);
|
|
31
32
|
(0, _defineProperty2.default)(this, "windowEventObserver", null);
|
|
32
33
|
this.entriesTimeline = new _entriesTimeline.default();
|
|
34
|
+
this.isPostInteraction = (_config$isPostInterac = config.isPostInteraction) !== null && _config$isPostInterac !== void 0 ? _config$isPostInterac : false;
|
|
33
35
|
this.selectorConfig = (_config$selectorConfi = config.selectorConfig) !== null && _config$selectorConfi !== void 0 ? _config$selectorConfi : DEFAULT_SELECTOR_CONFIG;
|
|
34
36
|
this.viewportObserver = new _viewportObserver.default({
|
|
35
37
|
onChange: function onChange(onChangeArg) {
|
|
@@ -47,13 +49,15 @@ var VCObserverNew = exports.default = /*#__PURE__*/function () {
|
|
|
47
49
|
}
|
|
48
50
|
_this.entriesTimeline.push({
|
|
49
51
|
time: time,
|
|
50
|
-
type: type,
|
|
51
52
|
data: {
|
|
53
|
+
type: type,
|
|
52
54
|
elementName: elementName,
|
|
53
55
|
rect: rect,
|
|
54
56
|
previousRect: previousRect,
|
|
55
57
|
visible: visible,
|
|
56
|
-
attributeName: mutationData === null || mutationData === void 0 ? void 0 : mutationData.attributeName
|
|
58
|
+
attributeName: mutationData === null || mutationData === void 0 ? void 0 : mutationData.attributeName,
|
|
59
|
+
oldValue: mutationData === null || mutationData === void 0 ? void 0 : mutationData.oldValue,
|
|
60
|
+
newValue: mutationData === null || mutationData === void 0 ? void 0 : mutationData.newValue
|
|
57
61
|
}
|
|
58
62
|
});
|
|
59
63
|
}
|
|
@@ -64,8 +68,8 @@ var VCObserverNew = exports.default = /*#__PURE__*/function () {
|
|
|
64
68
|
type = _ref.type;
|
|
65
69
|
_this.entriesTimeline.push({
|
|
66
70
|
time: time,
|
|
67
|
-
type: 'window:event',
|
|
68
71
|
data: {
|
|
72
|
+
type: 'window:event',
|
|
69
73
|
eventType: type
|
|
70
74
|
}
|
|
71
75
|
});
|
|
@@ -92,11 +96,11 @@ var VCObserverNew = exports.default = /*#__PURE__*/function () {
|
|
|
92
96
|
key: "getVCResult",
|
|
93
97
|
value: function () {
|
|
94
98
|
var _getVCResult = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(param) {
|
|
95
|
-
var start, stop, results, calculator_fy25_03, orderedEntries, fy25_03;
|
|
99
|
+
var start, stop, interactionId, results, calculator_fy25_03, orderedEntries, fy25_03;
|
|
96
100
|
return _regenerator.default.wrap(function _callee$(_context) {
|
|
97
101
|
while (1) switch (_context.prev = _context.next) {
|
|
98
102
|
case 0:
|
|
99
|
-
start = param.start, stop = param.stop;
|
|
103
|
+
start = param.start, stop = param.stop, interactionId = param.interactionId;
|
|
100
104
|
results = [];
|
|
101
105
|
calculator_fy25_03 = new _fy25_.default();
|
|
102
106
|
orderedEntries = this.entriesTimeline.getOrderedEntries({
|
|
@@ -107,7 +111,9 @@ var VCObserverNew = exports.default = /*#__PURE__*/function () {
|
|
|
107
111
|
return calculator_fy25_03.calculate({
|
|
108
112
|
orderedEntries: orderedEntries,
|
|
109
113
|
startTime: start,
|
|
110
|
-
stopTime: stop
|
|
114
|
+
stopTime: stop,
|
|
115
|
+
interactionId: interactionId,
|
|
116
|
+
isPostInteraction: this.isPostInteraction
|
|
111
117
|
});
|
|
112
118
|
case 6:
|
|
113
119
|
fy25_03 = _context.sent;
|
|
@@ -10,85 +10,260 @@ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/
|
|
|
10
10
|
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
11
11
|
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
12
12
|
var _platformFeatureFlags = require("@atlaskit/platform-feature-flags");
|
|
13
|
-
var _percentileCalc =
|
|
13
|
+
var _percentileCalc = require("./percentile-calc");
|
|
14
14
|
var _getViewportHeight = _interopRequireDefault(require("./utils/get-viewport-height"));
|
|
15
15
|
var _getViewportWidth = _interopRequireDefault(require("./utils/get-viewport-width"));
|
|
16
|
+
function _createForOfIteratorHelper(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t.return || t.return(); } finally { if (u) throw o; } } }; }
|
|
17
|
+
function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
|
|
18
|
+
function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
|
|
16
19
|
var AbstractVCCalculatorBase = exports.default = /*#__PURE__*/function () {
|
|
17
20
|
function AbstractVCCalculatorBase(revisionNo) {
|
|
18
21
|
(0, _classCallCheck2.default)(this, AbstractVCCalculatorBase);
|
|
19
22
|
this.revisionNo = revisionNo;
|
|
20
23
|
}
|
|
21
24
|
return (0, _createClass2.default)(AbstractVCCalculatorBase, [{
|
|
25
|
+
key: "filterViewportEntries",
|
|
26
|
+
value: function filterViewportEntries(entries) {
|
|
27
|
+
return entries.filter(function (entry) {
|
|
28
|
+
return 'rect' in entry.data;
|
|
29
|
+
});
|
|
30
|
+
}
|
|
31
|
+
}, {
|
|
32
|
+
key: "calculateBasic",
|
|
33
|
+
value: function () {
|
|
34
|
+
var _calculateBasic = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(filteredEntries, startTime, stopTime) {
|
|
35
|
+
var percentiles, viewportEntries, vcLogs;
|
|
36
|
+
return _regenerator.default.wrap(function _callee$(_context) {
|
|
37
|
+
while (1) switch (_context.prev = _context.next) {
|
|
38
|
+
case 0:
|
|
39
|
+
percentiles = [25, 50, 75, 80, 85, 90, 95, 98, 99];
|
|
40
|
+
viewportEntries = this.filterViewportEntries(filteredEntries);
|
|
41
|
+
_context.next = 4;
|
|
42
|
+
return (0, _percentileCalc.calculateTTVCPercentiles)({
|
|
43
|
+
viewport: {
|
|
44
|
+
width: (0, _getViewportWidth.default)(),
|
|
45
|
+
height: (0, _getViewportHeight.default)()
|
|
46
|
+
},
|
|
47
|
+
startTime: startTime,
|
|
48
|
+
stopTime: stopTime,
|
|
49
|
+
orderedEntries: viewportEntries,
|
|
50
|
+
percentiles: percentiles
|
|
51
|
+
});
|
|
52
|
+
case 4:
|
|
53
|
+
vcLogs = _context.sent;
|
|
54
|
+
return _context.abrupt("return", vcLogs);
|
|
55
|
+
case 6:
|
|
56
|
+
case "end":
|
|
57
|
+
return _context.stop();
|
|
58
|
+
}
|
|
59
|
+
}, _callee, this);
|
|
60
|
+
}));
|
|
61
|
+
function calculateBasic(_x, _x2, _x3) {
|
|
62
|
+
return _calculateBasic.apply(this, arguments);
|
|
63
|
+
}
|
|
64
|
+
return calculateBasic;
|
|
65
|
+
}()
|
|
66
|
+
}, {
|
|
67
|
+
key: "calculateWithDebugInfo",
|
|
68
|
+
value: function () {
|
|
69
|
+
var _calculateWithDebugInfo = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2(filteredEntries, startTime, stopTime, isPostInteraction, isVCClean, interactionId, dirtyReason) {
|
|
70
|
+
var percentiles, viewportEntries, vcLogs, vcDetails, percentileIndex, entryDataBuffer, _iterator, _step, _entry, time, viewportPercentage, entries, elementNames, previousResult, i, percentile, _ufo_devtool_onVCRev, _ref;
|
|
71
|
+
return _regenerator.default.wrap(function _callee2$(_context2) {
|
|
72
|
+
while (1) switch (_context2.prev = _context2.next) {
|
|
73
|
+
case 0:
|
|
74
|
+
percentiles = [25, 50, 75, 80, 85, 90, 95, 98, 99];
|
|
75
|
+
viewportEntries = this.filterViewportEntries(filteredEntries);
|
|
76
|
+
_context2.next = 4;
|
|
77
|
+
return (0, _percentileCalc.calculateTTVCPercentilesWithDebugInfo)({
|
|
78
|
+
viewport: {
|
|
79
|
+
width: (0, _getViewportWidth.default)(),
|
|
80
|
+
height: (0, _getViewportHeight.default)()
|
|
81
|
+
},
|
|
82
|
+
startTime: startTime,
|
|
83
|
+
stopTime: stopTime,
|
|
84
|
+
orderedEntries: viewportEntries
|
|
85
|
+
});
|
|
86
|
+
case 4:
|
|
87
|
+
vcLogs = _context2.sent;
|
|
88
|
+
vcDetails = {};
|
|
89
|
+
percentileIndex = 0;
|
|
90
|
+
entryDataBuffer = new Set();
|
|
91
|
+
if (!vcLogs) {
|
|
92
|
+
_context2.next = 28;
|
|
93
|
+
break;
|
|
94
|
+
}
|
|
95
|
+
_iterator = _createForOfIteratorHelper(vcLogs);
|
|
96
|
+
_context2.prev = 10;
|
|
97
|
+
_iterator.s();
|
|
98
|
+
case 12:
|
|
99
|
+
if ((_step = _iterator.n()).done) {
|
|
100
|
+
_context2.next = 20;
|
|
101
|
+
break;
|
|
102
|
+
}
|
|
103
|
+
_entry = _step.value;
|
|
104
|
+
time = _entry.time, viewportPercentage = _entry.viewportPercentage, entries = _entry.entries; // Only process entries if we haven't reached all percentiles
|
|
105
|
+
if (!(percentileIndex >= percentiles.length)) {
|
|
106
|
+
_context2.next = 17;
|
|
107
|
+
break;
|
|
108
|
+
}
|
|
109
|
+
return _context2.abrupt("break", 20);
|
|
110
|
+
case 17:
|
|
111
|
+
// Check if this entry matches any checkpoint percentiles
|
|
112
|
+
if (viewportPercentage >= percentiles[percentileIndex]) {
|
|
113
|
+
elementNames = entries.map(function (e) {
|
|
114
|
+
return e.elementName;
|
|
115
|
+
}); // Process all matching percentiles in one go
|
|
116
|
+
while (percentileIndex < percentiles.length && viewportPercentage >= percentiles[percentileIndex]) {
|
|
117
|
+
vcDetails["".concat(percentiles[percentileIndex])] = {
|
|
118
|
+
t: Math.round(time),
|
|
119
|
+
e: elementNames
|
|
120
|
+
};
|
|
121
|
+
percentileIndex++;
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
// Clear buffer after processing all matching percentiles
|
|
125
|
+
entryDataBuffer.clear();
|
|
126
|
+
} else {
|
|
127
|
+
// Only add to buffer if we haven't reached all percentiles
|
|
128
|
+
entries.forEach(function (e) {
|
|
129
|
+
return entryDataBuffer.add(e);
|
|
130
|
+
});
|
|
131
|
+
}
|
|
132
|
+
case 18:
|
|
133
|
+
_context2.next = 12;
|
|
134
|
+
break;
|
|
135
|
+
case 20:
|
|
136
|
+
_context2.next = 25;
|
|
137
|
+
break;
|
|
138
|
+
case 22:
|
|
139
|
+
_context2.prev = 22;
|
|
140
|
+
_context2.t0 = _context2["catch"](10);
|
|
141
|
+
_iterator.e(_context2.t0);
|
|
142
|
+
case 25:
|
|
143
|
+
_context2.prev = 25;
|
|
144
|
+
_iterator.f();
|
|
145
|
+
return _context2.finish(25);
|
|
146
|
+
case 28:
|
|
147
|
+
// Fill in any missing percentiles with the last known values
|
|
148
|
+
previousResult = {
|
|
149
|
+
t: 0,
|
|
150
|
+
e: []
|
|
151
|
+
};
|
|
152
|
+
for (i = 0; i < percentiles.length; i++) {
|
|
153
|
+
percentile = percentiles[i];
|
|
154
|
+
if (!(percentile in vcDetails)) {
|
|
155
|
+
vcDetails["".concat(percentile)] = previousResult;
|
|
156
|
+
} else {
|
|
157
|
+
previousResult = vcDetails["".concat(percentile)];
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
|
|
161
|
+
// Handle devtool callback
|
|
162
|
+
if (!isPostInteraction && typeof window !== 'undefined' && typeof window.__ufo_devtool_onVCRevisionReady__ === 'function' && (0, _platformFeatureFlags.fg)('platform_ufo_ttvc_v3_devtool')) {
|
|
163
|
+
try {
|
|
164
|
+
(_ufo_devtool_onVCRev = (_ref = window).__ufo_devtool_onVCRevisionReady__) === null || _ufo_devtool_onVCRev === void 0 || _ufo_devtool_onVCRev.call(_ref, {
|
|
165
|
+
revision: this.revisionNo,
|
|
166
|
+
isClean: isVCClean,
|
|
167
|
+
abortReason: dirtyReason,
|
|
168
|
+
vcLogs: vcLogs,
|
|
169
|
+
interactionId: interactionId
|
|
170
|
+
});
|
|
171
|
+
} catch (e) {
|
|
172
|
+
// if any error communicating with devtool, we don't want to break the app
|
|
173
|
+
// eslint-disable-next-line no-console
|
|
174
|
+
console.error('Error in onVCRevisionReady', e);
|
|
175
|
+
}
|
|
176
|
+
}
|
|
177
|
+
return _context2.abrupt("return", vcDetails);
|
|
178
|
+
case 32:
|
|
179
|
+
case "end":
|
|
180
|
+
return _context2.stop();
|
|
181
|
+
}
|
|
182
|
+
}, _callee2, this, [[10, 22, 25, 28]]);
|
|
183
|
+
}));
|
|
184
|
+
function calculateWithDebugInfo(_x4, _x5, _x6, _x7, _x8, _x9, _x10) {
|
|
185
|
+
return _calculateWithDebugInfo.apply(this, arguments);
|
|
186
|
+
}
|
|
187
|
+
return calculateWithDebugInfo;
|
|
188
|
+
}()
|
|
189
|
+
}, {
|
|
22
190
|
key: "calculate",
|
|
23
191
|
value: function () {
|
|
24
|
-
var _calculate = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function
|
|
192
|
+
var _calculate = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee3(_ref2) {
|
|
25
193
|
var _this = this,
|
|
26
194
|
_vcDetails$90$t,
|
|
27
195
|
_vcDetails$;
|
|
28
|
-
var startTime, stopTime, orderedEntries,
|
|
29
|
-
return _regenerator.default.wrap(function
|
|
30
|
-
while (1) switch (
|
|
196
|
+
var startTime, stopTime, orderedEntries, interactionId, isPostInteraction, filteredEntries, isVCClean, dirtyReason, getVCCleanStatusResult, useDebugInfo, vcDetails;
|
|
197
|
+
return _regenerator.default.wrap(function _callee3$(_context3) {
|
|
198
|
+
while (1) switch (_context3.prev = _context3.next) {
|
|
31
199
|
case 0:
|
|
32
|
-
startTime =
|
|
200
|
+
startTime = _ref2.startTime, stopTime = _ref2.stopTime, orderedEntries = _ref2.orderedEntries, interactionId = _ref2.interactionId, isPostInteraction = _ref2.isPostInteraction;
|
|
33
201
|
filteredEntries = orderedEntries.filter(function (entry) {
|
|
34
202
|
return _this.isEntryIncluded(entry);
|
|
35
203
|
});
|
|
36
204
|
if (!(0, _platformFeatureFlags.fg)('platform_ufo_add_vc_abort_reason_by_revisions')) {
|
|
37
|
-
|
|
205
|
+
_context3.next = 10;
|
|
38
206
|
break;
|
|
39
207
|
}
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
208
|
+
getVCCleanStatusResult = this.getVCCleanStatus(filteredEntries);
|
|
209
|
+
isVCClean = getVCCleanStatusResult.isVCClean;
|
|
210
|
+
dirtyReason = getVCCleanStatusResult.dirtyReason;
|
|
211
|
+
if (isVCClean) {
|
|
212
|
+
_context3.next = 8;
|
|
43
213
|
break;
|
|
44
214
|
}
|
|
45
|
-
return
|
|
215
|
+
return _context3.abrupt("return", {
|
|
46
216
|
revision: this.revisionNo,
|
|
47
217
|
'metric:vc90': null,
|
|
48
218
|
clean: false,
|
|
49
219
|
abortReason: dirtyReason
|
|
50
220
|
});
|
|
51
|
-
case 6:
|
|
52
|
-
_context.next = 11;
|
|
53
|
-
break;
|
|
54
221
|
case 8:
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
222
|
+
_context3.next = 13;
|
|
223
|
+
break;
|
|
224
|
+
case 10:
|
|
225
|
+
isVCClean = this.isVCClean(filteredEntries);
|
|
226
|
+
if (isVCClean) {
|
|
227
|
+
_context3.next = 13;
|
|
58
228
|
break;
|
|
59
229
|
}
|
|
60
|
-
return
|
|
230
|
+
return _context3.abrupt("return", {
|
|
61
231
|
revision: this.revisionNo,
|
|
62
232
|
'metric:vc90': null,
|
|
63
233
|
clean: false
|
|
64
234
|
});
|
|
65
|
-
case 11:
|
|
66
|
-
_context.next = 13;
|
|
67
|
-
return (0, _percentileCalc.default)({
|
|
68
|
-
viewport: {
|
|
69
|
-
width: (0, _getViewportWidth.default)(),
|
|
70
|
-
height: (0, _getViewportHeight.default)()
|
|
71
|
-
},
|
|
72
|
-
startTime: startTime,
|
|
73
|
-
stopTime: stopTime,
|
|
74
|
-
orderedEntries: filteredEntries,
|
|
75
|
-
percentiles: [25, 50, 75, 80, 85, 90, 95, 98, 99]
|
|
76
|
-
});
|
|
77
235
|
case 13:
|
|
78
|
-
|
|
79
|
-
|
|
236
|
+
useDebugInfo = (0, _platformFeatureFlags.fg)('platform_ufo_ttvc_v3_devtool');
|
|
237
|
+
if (!useDebugInfo) {
|
|
238
|
+
_context3.next = 20;
|
|
239
|
+
break;
|
|
240
|
+
}
|
|
241
|
+
_context3.next = 17;
|
|
242
|
+
return this.calculateWithDebugInfo(filteredEntries, startTime, stopTime, isPostInteraction, isVCClean, interactionId, dirtyReason);
|
|
243
|
+
case 17:
|
|
244
|
+
_context3.t0 = _context3.sent;
|
|
245
|
+
_context3.next = 23;
|
|
246
|
+
break;
|
|
247
|
+
case 20:
|
|
248
|
+
_context3.next = 22;
|
|
249
|
+
return this.calculateBasic(filteredEntries, startTime, stopTime);
|
|
250
|
+
case 22:
|
|
251
|
+
_context3.t0 = _context3.sent;
|
|
252
|
+
case 23:
|
|
253
|
+
vcDetails = _context3.t0;
|
|
254
|
+
return _context3.abrupt("return", {
|
|
80
255
|
revision: this.revisionNo,
|
|
81
256
|
clean: true,
|
|
82
257
|
'metric:vc90': (_vcDetails$90$t = vcDetails === null || vcDetails === void 0 || (_vcDetails$ = vcDetails['90']) === null || _vcDetails$ === void 0 ? void 0 : _vcDetails$.t) !== null && _vcDetails$90$t !== void 0 ? _vcDetails$90$t : null,
|
|
83
258
|
vcDetails: vcDetails !== null && vcDetails !== void 0 ? vcDetails : undefined
|
|
84
259
|
});
|
|
85
|
-
case
|
|
260
|
+
case 25:
|
|
86
261
|
case "end":
|
|
87
|
-
return
|
|
262
|
+
return _context3.stop();
|
|
88
263
|
}
|
|
89
|
-
},
|
|
264
|
+
}, _callee3, this);
|
|
90
265
|
}));
|
|
91
|
-
function calculate(
|
|
266
|
+
function calculate(_x11) {
|
|
92
267
|
return _calculate.apply(this, arguments);
|
|
93
268
|
}
|
|
94
269
|
return calculate;
|
|
@@ -31,10 +31,10 @@ var VCCalculator_FY25_03 = exports.default = /*#__PURE__*/function (_AbstractVCC
|
|
|
31
31
|
return (0, _createClass2.default)(VCCalculator_FY25_03, [{
|
|
32
32
|
key: "isEntryIncluded",
|
|
33
33
|
value: function isEntryIncluded(entry) {
|
|
34
|
-
if (!CONSIDERED_ENTRY_TYPE.includes(entry.type)) {
|
|
34
|
+
if (!CONSIDERED_ENTRY_TYPE.includes(entry.data.type)) {
|
|
35
35
|
return false;
|
|
36
36
|
}
|
|
37
|
-
if (entry.type === 'mutation:attribute') {
|
|
37
|
+
if (entry.data.type === 'mutation:attribute') {
|
|
38
38
|
var entryData = entry.data;
|
|
39
39
|
var attributeName = entryData.attributeName;
|
|
40
40
|
if (!attributeName || KNOWN_ATTRIBUTES_THAT_DOES_NOT_CAUSE_LAYOUT_SHIFTS.includes(attributeName)) {
|
|
@@ -51,7 +51,7 @@ var VCCalculator_FY25_03 = exports.default = /*#__PURE__*/function (_AbstractVCC
|
|
|
51
51
|
key: "isVCClean",
|
|
52
52
|
value: function isVCClean(filteredEntries) {
|
|
53
53
|
var hasAbortEvent = filteredEntries.some(function (entry) {
|
|
54
|
-
if (entry.type === 'window:event') {
|
|
54
|
+
if (entry.data.type === 'window:event') {
|
|
55
55
|
var data = entry.data;
|
|
56
56
|
if (ABORTING_WINDOW_EVENT.includes(data.eventType)) {
|
|
57
57
|
return true;
|
|
@@ -66,7 +66,7 @@ var VCCalculator_FY25_03 = exports.default = /*#__PURE__*/function (_AbstractVCC
|
|
|
66
66
|
value: function getVCCleanStatus(filteredEntries) {
|
|
67
67
|
var dirtyReason = '';
|
|
68
68
|
var hasAbortEvent = filteredEntries.some(function (entry) {
|
|
69
|
-
if (entry.type === 'window:event') {
|
|
69
|
+
if (entry.data.type === 'window:event') {
|
|
70
70
|
var data = entry.data;
|
|
71
71
|
if (ABORTING_WINDOW_EVENT.includes(data.eventType)) {
|
|
72
72
|
dirtyReason = data.eventType === 'keydown' ? 'keypress' : data.eventType;
|