@atlaskit/react-ufo 3.13.0 → 3.13.1
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/config/index.js +15 -20
- package/dist/cjs/create-payload/utils/get-vc-metrics.js +5 -44
- package/dist/cjs/vc/index.js +49 -101
- package/dist/cjs/vc/vc-observer/getVCRevisionsData.js +13 -67
- package/dist/cjs/vc/vc-observer/index.js +27 -107
- package/dist/es2019/config/index.js +18 -23
- package/dist/es2019/create-payload/utils/get-vc-metrics.js +12 -41
- package/dist/es2019/vc/index.js +44 -88
- package/dist/es2019/vc/vc-observer/getVCRevisionsData.js +15 -71
- package/dist/es2019/vc/vc-observer/index.js +5 -87
- package/dist/esm/config/index.js +15 -20
- package/dist/esm/create-payload/utils/get-vc-metrics.js +6 -45
- package/dist/esm/vc/index.js +49 -101
- package/dist/esm/vc/vc-observer/getVCRevisionsData.js +13 -67
- package/dist/esm/vc/vc-observer/index.js +27 -107
- package/dist/types/common/vc/types.d.ts +0 -2
- package/dist/types/create-post-interaction-log-payload/index.d.ts +1 -1
- package/dist/types/vc/vc-observer/getVCRevisionsData.d.ts +2 -17
- package/dist/types/vc/vc-observer/index.d.ts +0 -4
- package/dist/types-ts4.5/common/vc/types.d.ts +0 -2
- package/dist/types-ts4.5/create-post-interaction-log-payload/index.d.ts +1 -1
- package/dist/types-ts4.5/vc/vc-observer/getVCRevisionsData.d.ts +2 -17
- package/dist/types-ts4.5/vc/vc-observer/index.d.ts +0 -4
- package/package.json +1 -4
- package/dist/cjs/vc/vc-observer/heatmap/heatmap.js +0 -281
- package/dist/cjs/vc/vc-observer/revisions/ViewportUpdateClassifier.js +0 -68
- package/dist/cjs/vc/vc-observer/revisions/fy25_01.js +0 -76
- package/dist/cjs/vc/vc-observer/revisions/fy25_02.js +0 -59
- package/dist/cjs/vc/vc-observer/revisions/revisions.js +0 -24
- package/dist/cjs/vc/vc-observer/revisions/types.js +0 -5
- package/dist/es2019/vc/vc-observer/heatmap/heatmap.js +0 -247
- package/dist/es2019/vc/vc-observer/revisions/ViewportUpdateClassifier.js +0 -48
- package/dist/es2019/vc/vc-observer/revisions/fy25_01.js +0 -55
- package/dist/es2019/vc/vc-observer/revisions/fy25_02.js +0 -35
- package/dist/es2019/vc/vc-observer/revisions/revisions.js +0 -18
- package/dist/es2019/vc/vc-observer/revisions/types.js +0 -1
- package/dist/esm/vc/vc-observer/heatmap/heatmap.js +0 -274
- package/dist/esm/vc/vc-observer/revisions/ViewportUpdateClassifier.js +0 -61
- package/dist/esm/vc/vc-observer/revisions/fy25_01.js +0 -69
- package/dist/esm/vc/vc-observer/revisions/fy25_02.js +0 -52
- package/dist/esm/vc/vc-observer/revisions/revisions.js +0 -18
- package/dist/esm/vc/vc-observer/revisions/types.js +0 -1
- package/dist/types/vc/vc-observer/heatmap/heatmap.d.ts +0 -79
- package/dist/types/vc/vc-observer/revisions/ViewportUpdateClassifier.d.ts +0 -31
- package/dist/types/vc/vc-observer/revisions/fy25_01.d.ts +0 -13
- package/dist/types/vc/vc-observer/revisions/fy25_02.d.ts +0 -16
- package/dist/types/vc/vc-observer/revisions/revisions.d.ts +0 -2
- package/dist/types/vc/vc-observer/revisions/types.d.ts +0 -28
- package/dist/types-ts4.5/vc/vc-observer/heatmap/heatmap.d.ts +0 -79
- package/dist/types-ts4.5/vc/vc-observer/revisions/ViewportUpdateClassifier.d.ts +0 -31
- package/dist/types-ts4.5/vc/vc-observer/revisions/fy25_01.d.ts +0 -13
- package/dist/types-ts4.5/vc/vc-observer/revisions/fy25_02.d.ts +0 -16
- package/dist/types-ts4.5/vc/vc-observer/revisions/revisions.d.ts +0 -2
- package/dist/types-ts4.5/vc/vc-observer/revisions/types.d.ts +0 -28
|
@@ -20,9 +20,7 @@ var _attachAbortListeners = require("./attachAbortListeners");
|
|
|
20
20
|
var _getVCRevisionDebugDetails = require("./getVCRevisionDebugDetails");
|
|
21
21
|
var _getVCRevisionsData = require("./getVCRevisionsData");
|
|
22
22
|
var _getViewport = require("./getViewport");
|
|
23
|
-
var _heatmap = require("./heatmap/heatmap");
|
|
24
23
|
var _observers = require("./observers");
|
|
25
|
-
var _revisions = require("./revisions/revisions");
|
|
26
24
|
var _excluded = ["__debug__element"];
|
|
27
25
|
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
28
26
|
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2.default)(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
@@ -63,7 +61,6 @@ var VCObserver = exports.VCObserver = /*#__PURE__*/function () {
|
|
|
63
61
|
});
|
|
64
62
|
/* heatmap */
|
|
65
63
|
(0, _defineProperty2.default)(this, "arraySize", 0);
|
|
66
|
-
(0, _defineProperty2.default)(this, "multiHeatmap", null);
|
|
67
64
|
(0, _defineProperty2.default)(this, "componentsLog", {});
|
|
68
65
|
(0, _defineProperty2.default)(this, "vcRatios", {});
|
|
69
66
|
(0, _defineProperty2.default)(this, "active", false);
|
|
@@ -95,7 +92,6 @@ var VCObserver = exports.VCObserver = /*#__PURE__*/function () {
|
|
|
95
92
|
abortReason: _objectSpread({}, _this.abortReason),
|
|
96
93
|
heatmap: _this.heatmap,
|
|
97
94
|
heatmapNext: _this.heatmapNext,
|
|
98
|
-
multiHeatmap: _this.multiHeatmap,
|
|
99
95
|
outOfBoundaryInfo: _this.outOfBoundaryInfo,
|
|
100
96
|
totalTime: Math.round(_this.totalTime + _this.observers.getTotalTime()),
|
|
101
97
|
componentsLog: _objectSpread({}, _this.componentsLog),
|
|
@@ -107,7 +103,7 @@ var VCObserver = exports.VCObserver = /*#__PURE__*/function () {
|
|
|
107
103
|
});
|
|
108
104
|
(0, _defineProperty2.default)(this, "getVCResult", /*#__PURE__*/function () {
|
|
109
105
|
var _ref4 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(_ref3) {
|
|
110
|
-
var start, stop, tti, prefix, ssr, vc, isEventAborted, experienceKey, interactionId, startTime, fullPrefix, rawData, abortReason, abortReasonInfo, heatmap, heatmapNext, outOfBoundaryInfo, totalTime, componentsLog, viewport, devToolsEnabled, ratios,
|
|
106
|
+
var start, stop, tti, prefix, ssr, vc, isEventAborted, experienceKey, interactionId, startTime, fullPrefix, rawData, abortReason, abortReasonInfo, heatmap, heatmapNext, outOfBoundaryInfo, totalTime, componentsLog, viewport, devToolsEnabled, ratios, 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;
|
|
111
107
|
return _regenerator.default.wrap(function _callee$(_context) {
|
|
112
108
|
while (1) switch (_context.prev = _context.next) {
|
|
113
109
|
case 0:
|
|
@@ -121,8 +117,8 @@ var VCObserver = exports.VCObserver = /*#__PURE__*/function () {
|
|
|
121
117
|
}
|
|
122
118
|
return _context.abrupt("return", {});
|
|
123
119
|
case 6:
|
|
124
|
-
abortReason = rawData.abortReason, abortReasonInfo = rawData.abortReasonInfo, heatmap = rawData.heatmap, heatmapNext = rawData.heatmapNext, outOfBoundaryInfo = rawData.outOfBoundaryInfo, totalTime = rawData.totalTime, componentsLog = rawData.componentsLog, viewport = rawData.viewport, devToolsEnabled = rawData.devToolsEnabled, ratios = rawData.ratios
|
|
125
|
-
isTTVCv1Disabled =
|
|
120
|
+
abortReason = rawData.abortReason, abortReasonInfo = rawData.abortReasonInfo, heatmap = rawData.heatmap, heatmapNext = rawData.heatmapNext, outOfBoundaryInfo = rawData.outOfBoundaryInfo, totalTime = rawData.totalTime, componentsLog = rawData.componentsLog, viewport = rawData.viewport, devToolsEnabled = rawData.devToolsEnabled, ratios = rawData.ratios;
|
|
121
|
+
isTTVCv1Disabled = !(0, _config.isVCRevisionEnabled)('fy25.01', experienceKey); // NOTE: as part of platform_ufo_add_vc_abort_reason_by_revisions feature,
|
|
126
122
|
// we want to report abort by scroll events the same way as other abort reasons
|
|
127
123
|
// i.e. not have the concept of `abortReason.blocking` anymore
|
|
128
124
|
if (!(abortReasonInfo !== null && (0, _platformFeatureFlags.fg)('platform_ufo_add_vc_abort_reason_by_revisions'))) {
|
|
@@ -325,8 +321,6 @@ var VCObserver = exports.VCObserver = /*#__PURE__*/function () {
|
|
|
325
321
|
end: stop
|
|
326
322
|
},
|
|
327
323
|
isVCClean: isVCClean,
|
|
328
|
-
multiHeatmap: multiHeatmap,
|
|
329
|
-
ssr: ssr,
|
|
330
324
|
calculatedVC: {
|
|
331
325
|
VC: VC,
|
|
332
326
|
VCBox: VCBox
|
|
@@ -345,7 +339,7 @@ var VCObserver = exports.VCObserver = /*#__PURE__*/function () {
|
|
|
345
339
|
}
|
|
346
340
|
return _context.abrupt("return", _objectSpread(_objectSpread(_objectSpread((0, _defineProperty2.default)((0, _defineProperty2.default)((0, _defineProperty2.default)({}, "".concat(fullPrefix, "vc:size"), viewport), "".concat(fullPrefix, "vc:time"), Math.round(totalTime + (stopTime - startTime))), "".concat(fullPrefix, "vc:ratios"), ratios), outOfBoundary), {}, (0, _defineProperty2.default)({}, "".concat(fullPrefix, "vc:ignored"), _this.getIgnoredElements(componentsLog)), revisionsData), speedIndex));
|
|
347
341
|
case 32:
|
|
348
|
-
isTTVCv3Enabled = (0,
|
|
342
|
+
isTTVCv3Enabled = (0, _config.isVCRevisionEnabled)('fy25.03', experienceKey);
|
|
349
343
|
return _context.abrupt("return", _objectSpread(_objectSpread(_objectSpread((0, _defineProperty2.default)((0, _defineProperty2.default)((0, _defineProperty2.default)((0, _defineProperty2.default)((0, _defineProperty2.default)((0, _defineProperty2.default)((0, _defineProperty2.default)((0, _defineProperty2.default)({
|
|
350
344
|
'metrics:vc': VC
|
|
351
345
|
}, "".concat(fullPrefix, "vc:state"), true), "".concat(fullPrefix, "vc:clean"), isVCClean), "".concat(fullPrefix, "vc:dom"), VCBox), "".concat(fullPrefix, "vc:updates"), isTTVCv3Enabled ? undefined : VCEntries.rel.slice(0, 50)), "".concat(fullPrefix, "vc:size"), viewport), "".concat(fullPrefix, "vc:time"), Math.round(totalTime + (stopTime - startTime))), "".concat(fullPrefix, "vc:total"), totalPainted), "".concat(fullPrefix, "vc:ratios"), ratios), outOfBoundary), {}, (0, _defineProperty2.default)((0, _defineProperty2.default)((0, _defineProperty2.default)((0, _defineProperty2.default)({}, "".concat(fullPrefix, "vc:next"), vcNext.VC), "".concat(fullPrefix, "vc:next:updates"), isTTVCv3Enabled ? undefined : vcNext.VCEntries.rel.slice(0, 50)), "".concat(fullPrefix, "vc:next:dom"), vcNext.VCBox), "".concat(fullPrefix, "vc:ignored"), _this.getIgnoredElements(componentsLog)), revisionsData), speedIndex));
|
|
@@ -360,29 +354,6 @@ var VCObserver = exports.VCObserver = /*#__PURE__*/function () {
|
|
|
360
354
|
};
|
|
361
355
|
}());
|
|
362
356
|
(0, _defineProperty2.default)(this, "handleUpdate", function (rawTime, intersectionRect, targetName, element, type, ignoreReason, attributeName, oldValue, newValue) {
|
|
363
|
-
_this.measureStart();
|
|
364
|
-
_this.legacyHandleUpdate(rawTime, intersectionRect, targetName, element, type, ignoreReason, attributeName, oldValue, newValue);
|
|
365
|
-
var isTTVCv3Disabled = !(0, _config.isVCRevisionEnabled)('fy25.03');
|
|
366
|
-
if ((0, _platformFeatureFlags.fg)('platform_ufo_vc_enable_revisions_by_experience')) {
|
|
367
|
-
var interaction = (0, _interactionMetrics.getActiveInteraction)();
|
|
368
|
-
isTTVCv3Disabled = !(0, _config.isVCRevisionEnabled)('fy25.03', interaction === null || interaction === void 0 ? void 0 : interaction.ufoName);
|
|
369
|
-
}
|
|
370
|
-
if (isTTVCv3Disabled) {
|
|
371
|
-
_this.onViewportChangeDetected({
|
|
372
|
-
timestamp: rawTime,
|
|
373
|
-
intersectionRect: intersectionRect,
|
|
374
|
-
targetName: targetName,
|
|
375
|
-
element: element,
|
|
376
|
-
type: type,
|
|
377
|
-
ignoreReason: ignoreReason,
|
|
378
|
-
attributeName: attributeName,
|
|
379
|
-
oldValue: oldValue,
|
|
380
|
-
newValue: newValue
|
|
381
|
-
});
|
|
382
|
-
}
|
|
383
|
-
_this.measureStop();
|
|
384
|
-
});
|
|
385
|
-
(0, _defineProperty2.default)(this, "legacyHandleUpdate", function (rawTime, intersectionRect, targetName, element, type, ignoreReason, attributeName, oldValue, newValue) {
|
|
386
357
|
if (_this.abortReason.reason === null || _this.abortReason.blocking === false) {
|
|
387
358
|
var time = Math.round(rawTime - _this.startTime);
|
|
388
359
|
var mappedValues = _this.mapPixelsToHeatmap(intersectionRect.left, intersectionRect.top, intersectionRect.width, intersectionRect.height);
|
|
@@ -390,11 +361,8 @@ var VCObserver = exports.VCObserver = /*#__PURE__*/function () {
|
|
|
390
361
|
if (!ignoreReason) {
|
|
391
362
|
_this.applyChangesToHeatMap(mappedValues, time, _this.heatmapNext);
|
|
392
363
|
}
|
|
393
|
-
var
|
|
394
|
-
|
|
395
|
-
var interaction = (0, _interactionMetrics.getActiveInteraction)();
|
|
396
|
-
isTTVCv1Disabled = !(0, _config.isVCRevisionEnabled)('fy25.01', interaction === null || interaction === void 0 ? void 0 : interaction.ufoName);
|
|
397
|
-
}
|
|
364
|
+
var interaction = (0, _interactionMetrics.getActiveInteraction)();
|
|
365
|
+
var isTTVCv1Disabled = !(0, _config.isVCRevisionEnabled)('fy25.01', interaction === null || interaction === void 0 ? void 0 : interaction.ufoName);
|
|
398
366
|
if (!isTTVCv1Disabled && (!ignoreReason || ignoreReason === 'not-visible') && type !== 'attr') {
|
|
399
367
|
_this.applyChangesToHeatMap(mappedValues, time, _this.heatmap);
|
|
400
368
|
}
|
|
@@ -413,44 +381,6 @@ var VCObserver = exports.VCObserver = /*#__PURE__*/function () {
|
|
|
413
381
|
});
|
|
414
382
|
}
|
|
415
383
|
});
|
|
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;
|
|
426
|
-
if (_this.multiHeatmap === null) {
|
|
427
|
-
return;
|
|
428
|
-
}
|
|
429
|
-
// @todo add abort reason handling
|
|
430
|
-
var time = Math.round(timestamp - _this.startTime);
|
|
431
|
-
var revisions = (0, _revisions.getRevisions)();
|
|
432
|
-
var revisionsClassification = revisions.map(function (revision) {
|
|
433
|
-
return revision.classifier.classifyUpdate({
|
|
434
|
-
element: element,
|
|
435
|
-
type: type,
|
|
436
|
-
ignoreReason: ignoreReason
|
|
437
|
-
});
|
|
438
|
-
}, []);
|
|
439
|
-
_this.multiHeatmap.handleUpdate({
|
|
440
|
-
time: time,
|
|
441
|
-
targetName: targetName,
|
|
442
|
-
intersectionRect: intersectionRect,
|
|
443
|
-
type: type,
|
|
444
|
-
element: element,
|
|
445
|
-
classification: revisionsClassification,
|
|
446
|
-
onError: function onError(error) {
|
|
447
|
-
_this.setAbortReason(abortReason.error, error.time, error.error);
|
|
448
|
-
},
|
|
449
|
-
attributeName: attributeName,
|
|
450
|
-
oldValue: oldValue,
|
|
451
|
-
newValue: newValue
|
|
452
|
-
});
|
|
453
|
-
});
|
|
454
384
|
(0, _defineProperty2.default)(this, "mapPixelsToHeatmap", function (left, top, width, height) {
|
|
455
385
|
var _this$viewport = _this.viewport,
|
|
456
386
|
w = _this$viewport.w,
|
|
@@ -507,10 +437,10 @@ var VCObserver = exports.VCObserver = /*#__PURE__*/function () {
|
|
|
507
437
|
var unbinds = (0, _attachAbortListeners.attachAbortListeners)(window, _this.viewport, _this.abortReasonCallback);
|
|
508
438
|
if ((_window = window) !== null && _window !== void 0 && _window.__SSR_ABORT_LISTENERS__) {
|
|
509
439
|
var _window2;
|
|
510
|
-
Object.entries(window.__SSR_ABORT_LISTENERS__.aborts).forEach(function (
|
|
511
|
-
var
|
|
512
|
-
key =
|
|
513
|
-
time =
|
|
440
|
+
Object.entries(window.__SSR_ABORT_LISTENERS__.aborts).forEach(function (_ref11) {
|
|
441
|
+
var _ref12 = (0, _slicedToArray2.default)(_ref11, 2),
|
|
442
|
+
key = _ref12[0],
|
|
443
|
+
time = _ref12[1];
|
|
514
444
|
if (time) {
|
|
515
445
|
_this.abortReasonCallback(key, time);
|
|
516
446
|
}
|
|
@@ -538,17 +468,12 @@ var VCObserver = exports.VCObserver = /*#__PURE__*/function () {
|
|
|
538
468
|
});
|
|
539
469
|
this.heatmap = !(0, _config.isVCRevisionEnabled)('fy25.01') ? [] : this.getCleanHeatmap();
|
|
540
470
|
this.heatmapNext = this.getCleanHeatmap();
|
|
541
|
-
this.multiHeatmap = new _heatmap.MultiRevisionHeatmap({
|
|
542
|
-
viewport: this.viewport,
|
|
543
|
-
revisions: (0, _revisions.getRevisions)(),
|
|
544
|
-
devToolsEnabled: this.devToolsEnabled
|
|
545
|
-
});
|
|
546
471
|
this.isPostInteraction = options.isPostInteraction || false;
|
|
547
472
|
}
|
|
548
473
|
return (0, _createClass2.default)(VCObserver, [{
|
|
549
474
|
key: "start",
|
|
550
|
-
value: function start(
|
|
551
|
-
var startTime =
|
|
475
|
+
value: function start(_ref13) {
|
|
476
|
+
var startTime = _ref13.startTime;
|
|
552
477
|
this.active = true;
|
|
553
478
|
if (this.observers.isBrowserSupported()) {
|
|
554
479
|
this.setViewportSize();
|
|
@@ -570,12 +495,12 @@ var VCObserver = exports.VCObserver = /*#__PURE__*/function () {
|
|
|
570
495
|
}, {
|
|
571
496
|
key: "getIgnoredElements",
|
|
572
497
|
value: function getIgnoredElements(componentsLog) {
|
|
573
|
-
return Object.values(componentsLog).flat().filter(function (
|
|
574
|
-
var ignoreReason =
|
|
498
|
+
return Object.values(componentsLog).flat().filter(function (_ref14) {
|
|
499
|
+
var ignoreReason = _ref14.ignoreReason;
|
|
575
500
|
return Boolean(ignoreReason);
|
|
576
|
-
}).map(function (
|
|
577
|
-
var targetName =
|
|
578
|
-
ignoreReason =
|
|
501
|
+
}).map(function (_ref15) {
|
|
502
|
+
var targetName = _ref15.targetName,
|
|
503
|
+
ignoreReason = _ref15.ignoreReason;
|
|
579
504
|
return {
|
|
580
505
|
targetName: targetName,
|
|
581
506
|
ignoreReason: ignoreReason
|
|
@@ -625,11 +550,6 @@ var VCObserver = exports.VCObserver = /*#__PURE__*/function () {
|
|
|
625
550
|
this.detachAbortListeners();
|
|
626
551
|
this.heatmap = !(0, _config.isVCRevisionEnabled)('fy25.01') ? [] : this.getCleanHeatmap();
|
|
627
552
|
this.heatmapNext = this.getCleanHeatmap();
|
|
628
|
-
this.multiHeatmap = new _heatmap.MultiRevisionHeatmap({
|
|
629
|
-
viewport: this.viewport,
|
|
630
|
-
revisions: (0, _revisions.getRevisions)(),
|
|
631
|
-
devToolsEnabled: this.devToolsEnabled
|
|
632
|
-
});
|
|
633
553
|
this.totalTime = 0;
|
|
634
554
|
this.componentsLog = {};
|
|
635
555
|
this.vcRatios = {};
|
|
@@ -698,12 +618,12 @@ var VCObserver = exports.VCObserver = /*#__PURE__*/function () {
|
|
|
698
618
|
}
|
|
699
619
|
}], [{
|
|
700
620
|
key: "calculateVC",
|
|
701
|
-
value: function calculateVC(
|
|
702
|
-
var heatmap =
|
|
703
|
-
|
|
704
|
-
ssr =
|
|
705
|
-
componentsLog =
|
|
706
|
-
viewport =
|
|
621
|
+
value: function calculateVC(_ref16) {
|
|
622
|
+
var heatmap = _ref16.heatmap,
|
|
623
|
+
_ref16$ssr = _ref16.ssr,
|
|
624
|
+
ssr = _ref16$ssr === void 0 ? UNUSED_SECTOR : _ref16$ssr,
|
|
625
|
+
componentsLog = _ref16.componentsLog,
|
|
626
|
+
viewport = _ref16.viewport;
|
|
707
627
|
var lastUpdate = {};
|
|
708
628
|
var totalPainted = 0;
|
|
709
629
|
if (ssr !== UNUSED_SECTOR) {
|
|
@@ -769,11 +689,11 @@ var VCObserver = exports.VCObserver = /*#__PURE__*/function () {
|
|
|
769
689
|
});
|
|
770
690
|
return VCRatio;
|
|
771
691
|
}, 0);
|
|
772
|
-
var VCEntries = entries.reduce(function (acc,
|
|
692
|
+
var VCEntries = entries.reduce(function (acc, _ref17, i) {
|
|
773
693
|
var _acc$abs, _componentsLog$timest, _acc$rel$vc, _acc$rel;
|
|
774
|
-
var
|
|
775
|
-
timestamp =
|
|
776
|
-
entryPainted =
|
|
694
|
+
var _ref18 = (0, _slicedToArray2.default)(_ref17, 2),
|
|
695
|
+
timestamp = _ref18[0],
|
|
696
|
+
entryPainted = _ref18[1];
|
|
777
697
|
var currentlyPainted = entryPainted + (((_acc$abs = acc.abs[i - 1]) === null || _acc$abs === void 0 ? void 0 : _acc$abs[1]) || 0);
|
|
778
698
|
var currentlyPaintedRatio = Math.round(currentlyPainted / totalPainted * 1000) / 10;
|
|
779
699
|
var logEntry = (0, _toConsumableArray2.default)(new Set((_componentsLog$timest = componentsLog[timestamp]) === null || _componentsLog$timest === void 0 ? void 0 : _componentsLog$timest.filter(function (v) {
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { fg } from '@atlaskit/platform-feature-flags';
|
|
2
1
|
let config;
|
|
3
2
|
const DEFAULT_TTVC_REVISION = 'fy25.02';
|
|
4
3
|
|
|
@@ -6,29 +5,25 @@ const DEFAULT_TTVC_REVISION = 'fy25.02';
|
|
|
6
5
|
// and they could delete empty members
|
|
7
6
|
|
|
8
7
|
export function setUFOConfig(newConfig) {
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
vc
|
|
19
|
-
|
|
20
|
-
enabledVCRevisions
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
...(enabledVCRevisions === null || enabledVCRevisions === void 0 ? void 0 : enabledVCRevisions.byExperience)
|
|
25
|
-
}
|
|
8
|
+
var _newConfig$vc;
|
|
9
|
+
// Handle edge cases with `enabledVCRevisions`
|
|
10
|
+
const {
|
|
11
|
+
enabledVCRevisions
|
|
12
|
+
} = (_newConfig$vc = newConfig === null || newConfig === void 0 ? void 0 : newConfig.vc) !== null && _newConfig$vc !== void 0 ? _newConfig$vc : {};
|
|
13
|
+
if (typeof (enabledVCRevisions === null || enabledVCRevisions === void 0 ? void 0 : enabledVCRevisions.byExperience) === 'object') {
|
|
14
|
+
config = {
|
|
15
|
+
...newConfig,
|
|
16
|
+
vc: {
|
|
17
|
+
...newConfig.vc,
|
|
18
|
+
enabledVCRevisions: {
|
|
19
|
+
// enforce axiom about `enabledVCRevisions.all` config
|
|
20
|
+
all: Array.from(new Set([DEFAULT_TTVC_REVISION, ...(enabledVCRevisions === null || enabledVCRevisions === void 0 ? void 0 : enabledVCRevisions.all), ...Object.values(enabledVCRevisions === null || enabledVCRevisions === void 0 ? void 0 : enabledVCRevisions.byExperience).flat()])),
|
|
21
|
+
byExperience: {
|
|
22
|
+
...(enabledVCRevisions === null || enabledVCRevisions === void 0 ? void 0 : enabledVCRevisions.byExperience)
|
|
26
23
|
}
|
|
27
24
|
}
|
|
28
|
-
}
|
|
29
|
-
}
|
|
30
|
-
config = newConfig;
|
|
31
|
-
}
|
|
25
|
+
}
|
|
26
|
+
};
|
|
32
27
|
} else {
|
|
33
28
|
config = newConfig;
|
|
34
29
|
}
|
|
@@ -50,7 +45,7 @@ export function getEnabledVCRevisions(experienceKey = '') {
|
|
|
50
45
|
const {
|
|
51
46
|
enabledVCRevisions
|
|
52
47
|
} = (_config$vc2 = config.vc) !== null && _config$vc2 !== void 0 ? _config$vc2 : {};
|
|
53
|
-
if (isValidConfigArray(enabledVCRevisions === null || enabledVCRevisions === void 0 ? void 0 : (_enabledVCRevisions$b = enabledVCRevisions.byExperience) === null || _enabledVCRevisions$b === void 0 ? void 0 : _enabledVCRevisions$b[experienceKey])
|
|
48
|
+
if (isValidConfigArray(enabledVCRevisions === null || enabledVCRevisions === void 0 ? void 0 : (_enabledVCRevisions$b = enabledVCRevisions.byExperience) === null || _enabledVCRevisions$b === void 0 ? void 0 : _enabledVCRevisions$b[experienceKey])) {
|
|
54
49
|
var _enabledVCRevisions$b2;
|
|
55
50
|
return (_enabledVCRevisions$b2 = enabledVCRevisions.byExperience) === null || _enabledVCRevisions$b2 === void 0 ? void 0 : _enabledVCRevisions$b2[experienceKey];
|
|
56
51
|
}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { fg } from '@atlaskit/platform-feature-flags';
|
|
2
|
-
import { getConfig, getMostRecentVCRevision
|
|
2
|
+
import { getConfig, getMostRecentVCRevision } from '../../config';
|
|
3
3
|
import { postInteractionLog } from '../../interaction-metrics';
|
|
4
4
|
import { getVCObserver } from '../../vc';
|
|
5
5
|
import getInteractionStatus from './get-interaction-status';
|
|
6
6
|
import getPageVisibilityUpToTTAI from './get-page-visibility-up-to-ttai';
|
|
7
7
|
import getSSRDoneTimeValue from './get-ssr-done-time-value';
|
|
8
8
|
async function getVCMetrics(interaction) {
|
|
9
|
-
var _config$vc, _config$vc$ssrWhiteli, _interaction$apdex, _interaction$apdex$, _config$experimentalI;
|
|
9
|
+
var _config$vc, _config$vc$ssrWhiteli, _interaction$apdex, _interaction$apdex$, _config$experimentalI, _result$ufoVcRev;
|
|
10
10
|
const config = getConfig();
|
|
11
11
|
if (!(config !== null && config !== void 0 && (_config$vc = config.vc) !== null && _config$vc !== void 0 && _config$vc.enabled)) {
|
|
12
12
|
return {};
|
|
@@ -43,45 +43,16 @@ async function getVCMetrics(interaction) {
|
|
|
43
43
|
getVCObserver().stop(interaction.ufoName);
|
|
44
44
|
}
|
|
45
45
|
postInteractionLog.setLastInteractionFinishVCResult(result);
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
if (!shouldReportVCMetrics || !(mostRecentVCRevisionPayload !== null && mostRecentVCRevisionPayload !== void 0 && mostRecentVCRevisionPayload.clean)) {
|
|
53
|
-
return result;
|
|
54
|
-
}
|
|
55
|
-
return {
|
|
56
|
-
...result,
|
|
57
|
-
'metric:vc90': mostRecentVCRevisionPayload['metric:vc90']
|
|
58
|
-
};
|
|
59
|
-
} else {
|
|
60
|
-
if (!isVCRevisionEnabled('fy25.01')) {
|
|
61
|
-
var _result$ufoVcRev2;
|
|
62
|
-
const ttvcV2Revision = result === null || result === void 0 ? void 0 : (_result$ufoVcRev2 = result['ufo:vc:rev']) === null || _result$ufoVcRev2 === void 0 ? void 0 : _result$ufoVcRev2.find(({
|
|
63
|
-
revision
|
|
64
|
-
}) => revision === 'fy25.02');
|
|
65
|
-
if (!(ttvcV2Revision !== null && ttvcV2Revision !== void 0 && ttvcV2Revision.clean)) {
|
|
66
|
-
return result;
|
|
67
|
-
}
|
|
68
|
-
return {
|
|
69
|
-
...result,
|
|
70
|
-
'metric:vc90': ttvcV2Revision['metric:vc90']
|
|
71
|
-
};
|
|
72
|
-
} else {
|
|
73
|
-
const VC = result === null || result === void 0 ? void 0 : result['metrics:vc'];
|
|
74
|
-
if (!VC || !(result !== null && result !== void 0 && result[`${prefix}:vc:clean`])) {
|
|
75
|
-
return result;
|
|
76
|
-
}
|
|
77
|
-
if (interactionStatus.originalInteractionStatus !== 'SUCCEEDED' || pageVisibilityUpToTTAI !== 'visible') {
|
|
78
|
-
return result;
|
|
79
|
-
}
|
|
80
|
-
return {
|
|
81
|
-
...result,
|
|
82
|
-
'metric:vc90': VC['90']
|
|
83
|
-
};
|
|
84
|
-
}
|
|
46
|
+
const mostRecentVCRevision = getMostRecentVCRevision(interaction.ufoName);
|
|
47
|
+
const mostRecentVCRevisionPayload = result === null || result === void 0 ? void 0 : (_result$ufoVcRev = result['ufo:vc:rev']) === null || _result$ufoVcRev === void 0 ? void 0 : _result$ufoVcRev.find(({
|
|
48
|
+
revision
|
|
49
|
+
}) => revision === mostRecentVCRevision);
|
|
50
|
+
if (!shouldReportVCMetrics || !(mostRecentVCRevisionPayload !== null && mostRecentVCRevisionPayload !== void 0 && mostRecentVCRevisionPayload.clean)) {
|
|
51
|
+
return result;
|
|
85
52
|
}
|
|
53
|
+
return {
|
|
54
|
+
...result,
|
|
55
|
+
'metric:vc90': mostRecentVCRevisionPayload['metric:vc90']
|
|
56
|
+
};
|
|
86
57
|
}
|
|
87
58
|
export default getVCMetrics;
|
package/dist/es2019/vc/index.js
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
var _process, _process$env;
|
|
2
|
-
import { fg } from '@atlaskit/platform-feature-flags';
|
|
3
2
|
import { isVCRevisionEnabled } from '../config';
|
|
4
3
|
import { VCObserverNOOP } from './no-op-vc-observer';
|
|
5
4
|
import { VCObserver } from './vc-observer';
|
|
@@ -7,22 +6,13 @@ import VCObserverNew from './vc-observer-new';
|
|
|
7
6
|
export class VCObserverWrapper {
|
|
8
7
|
constructor(opts = {}) {
|
|
9
8
|
this.newVCObserver = null;
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
if (isVCRevisionEnabled('fy25.01') || isVCRevisionEnabled('fy25.02')) {
|
|
18
|
-
this.oldVCObserver = new VCObserver(opts);
|
|
19
|
-
}
|
|
20
|
-
} else {
|
|
21
|
-
if (isVCRevisionEnabled('fy25.03')) {
|
|
22
|
-
this.newVCObserver = new VCObserverNew({
|
|
23
|
-
selectorConfig: opts.selectorConfig
|
|
24
|
-
});
|
|
25
|
-
}
|
|
9
|
+
this.oldVCObserver = null;
|
|
10
|
+
if (isVCRevisionEnabled('fy25.03')) {
|
|
11
|
+
this.newVCObserver = new VCObserverNew({
|
|
12
|
+
selectorConfig: opts.selectorConfig
|
|
13
|
+
});
|
|
14
|
+
}
|
|
15
|
+
if (isVCRevisionEnabled('fy25.01') || isVCRevisionEnabled('fy25.02')) {
|
|
26
16
|
this.oldVCObserver = new VCObserver(opts);
|
|
27
17
|
}
|
|
28
18
|
}
|
|
@@ -30,96 +20,62 @@ export class VCObserverWrapper {
|
|
|
30
20
|
startTime,
|
|
31
21
|
experienceKey
|
|
32
22
|
}) {
|
|
33
|
-
if (
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
(_this$oldVCObserver = this.oldVCObserver) === null || _this$oldVCObserver === void 0 ? void 0 : _this$oldVCObserver.start({
|
|
37
|
-
startTime
|
|
38
|
-
});
|
|
39
|
-
}
|
|
40
|
-
if (isVCRevisionEnabled('fy25.03', experienceKey)) {
|
|
41
|
-
var _this$newVCObserver;
|
|
42
|
-
(_this$newVCObserver = this.newVCObserver) === null || _this$newVCObserver === void 0 ? void 0 : _this$newVCObserver.start({
|
|
43
|
-
startTime
|
|
44
|
-
});
|
|
45
|
-
}
|
|
46
|
-
} else {
|
|
47
|
-
var _this$oldVCObserver2, _this$newVCObserver2;
|
|
48
|
-
(_this$oldVCObserver2 = this.oldVCObserver) === null || _this$oldVCObserver2 === void 0 ? void 0 : _this$oldVCObserver2.start({
|
|
23
|
+
if (isVCRevisionEnabled('fy25.01', experienceKey) || isVCRevisionEnabled('fy25.02', experienceKey)) {
|
|
24
|
+
var _this$oldVCObserver;
|
|
25
|
+
(_this$oldVCObserver = this.oldVCObserver) === null || _this$oldVCObserver === void 0 ? void 0 : _this$oldVCObserver.start({
|
|
49
26
|
startTime
|
|
50
27
|
});
|
|
51
|
-
|
|
28
|
+
}
|
|
29
|
+
if (isVCRevisionEnabled('fy25.03', experienceKey)) {
|
|
30
|
+
var _this$newVCObserver;
|
|
31
|
+
(_this$newVCObserver = this.newVCObserver) === null || _this$newVCObserver === void 0 ? void 0 : _this$newVCObserver.start({
|
|
52
32
|
startTime
|
|
53
33
|
});
|
|
54
34
|
}
|
|
55
35
|
}
|
|
56
36
|
stop(experienceKey) {
|
|
57
|
-
if (
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
(_this$newVCObserver3 = this.newVCObserver) === null || _this$newVCObserver3 === void 0 ? void 0 : _this$newVCObserver3.stop();
|
|
65
|
-
}
|
|
66
|
-
} else {
|
|
67
|
-
var _this$oldVCObserver4, _this$newVCObserver4;
|
|
68
|
-
(_this$oldVCObserver4 = this.oldVCObserver) === null || _this$oldVCObserver4 === void 0 ? void 0 : _this$oldVCObserver4.stop();
|
|
69
|
-
(_this$newVCObserver4 = this.newVCObserver) === null || _this$newVCObserver4 === void 0 ? void 0 : _this$newVCObserver4.stop();
|
|
37
|
+
if (isVCRevisionEnabled('fy25.01', experienceKey) || isVCRevisionEnabled('fy25.02', experienceKey)) {
|
|
38
|
+
var _this$oldVCObserver2;
|
|
39
|
+
(_this$oldVCObserver2 = this.oldVCObserver) === null || _this$oldVCObserver2 === void 0 ? void 0 : _this$oldVCObserver2.stop();
|
|
40
|
+
}
|
|
41
|
+
if (isVCRevisionEnabled('fy25.03', experienceKey)) {
|
|
42
|
+
var _this$newVCObserver2;
|
|
43
|
+
(_this$newVCObserver2 = this.newVCObserver) === null || _this$newVCObserver2 === void 0 ? void 0 : _this$newVCObserver2.stop();
|
|
70
44
|
}
|
|
71
45
|
}
|
|
72
46
|
getVCRawData() {
|
|
73
|
-
var _this$oldVCObserver$g, _this$
|
|
74
|
-
return (_this$oldVCObserver$g = (_this$
|
|
47
|
+
var _this$oldVCObserver$g, _this$oldVCObserver3;
|
|
48
|
+
return (_this$oldVCObserver$g = (_this$oldVCObserver3 = this.oldVCObserver) === null || _this$oldVCObserver3 === void 0 ? void 0 : _this$oldVCObserver3.getVCRawData()) !== null && _this$oldVCObserver$g !== void 0 ? _this$oldVCObserver$g : null;
|
|
75
49
|
}
|
|
76
50
|
async getVCResult(param) {
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
if (!v3Result) {
|
|
89
|
-
return v1v2Result !== null && v1v2Result !== void 0 ? v1v2Result : {};
|
|
90
|
-
}
|
|
91
|
-
return {
|
|
92
|
-
...v1v2Result,
|
|
93
|
-
'ufo:vc:rev': [...((_ref = v1v2Result === null || v1v2Result === void 0 ? void 0 : v1v2Result['ufo:vc:rev']) !== null && _ref !== void 0 ? _ref : []), ...(v3Result !== null && v3Result !== void 0 ? v3Result : [])]
|
|
94
|
-
};
|
|
95
|
-
} else {
|
|
96
|
-
var _this$oldVCObserver7, _this$newVCObserver6, _ref2;
|
|
97
|
-
const oldResult = await ((_this$oldVCObserver7 = this.oldVCObserver) === null || _this$oldVCObserver7 === void 0 ? void 0 : _this$oldVCObserver7.getVCResult(param));
|
|
98
|
-
const newResult = await ((_this$newVCObserver6 = this.newVCObserver) === null || _this$newVCObserver6 === void 0 ? void 0 : _this$newVCObserver6.getVCResult({
|
|
99
|
-
start: param.start,
|
|
100
|
-
stop: param.stop,
|
|
101
|
-
interactionId: param.interactionId
|
|
102
|
-
}));
|
|
103
|
-
if (oldResult && !newResult) {
|
|
104
|
-
return oldResult;
|
|
105
|
-
}
|
|
106
|
-
return {
|
|
107
|
-
...(oldResult !== null && oldResult !== void 0 ? oldResult : {}),
|
|
108
|
-
'ufo:vc:rev': [...((_ref2 = oldResult === null || oldResult === void 0 ? void 0 : oldResult['ufo:vc:rev']) !== null && _ref2 !== void 0 ? _ref2 : []), ...(newResult !== null && newResult !== void 0 ? newResult : [])]
|
|
109
|
-
};
|
|
51
|
+
var _this$oldVCObserver4, _this$newVCObserver3, _ref;
|
|
52
|
+
const {
|
|
53
|
+
experienceKey
|
|
54
|
+
} = param;
|
|
55
|
+
const v1v2Result = isVCRevisionEnabled('fy25.01', experienceKey) || isVCRevisionEnabled('fy25.02', experienceKey) ? await ((_this$oldVCObserver4 = this.oldVCObserver) === null || _this$oldVCObserver4 === void 0 ? void 0 : _this$oldVCObserver4.getVCResult(param)) : {};
|
|
56
|
+
const v3Result = isVCRevisionEnabled('fy25.03', experienceKey) ? await ((_this$newVCObserver3 = this.newVCObserver) === null || _this$newVCObserver3 === void 0 ? void 0 : _this$newVCObserver3.getVCResult({
|
|
57
|
+
start: param.start,
|
|
58
|
+
stop: param.stop
|
|
59
|
+
})) : [];
|
|
60
|
+
if (!v3Result) {
|
|
61
|
+
return v1v2Result !== null && v1v2Result !== void 0 ? v1v2Result : {};
|
|
110
62
|
}
|
|
63
|
+
return {
|
|
64
|
+
...v1v2Result,
|
|
65
|
+
'ufo:vc:rev': [...((_ref = v1v2Result === null || v1v2Result === void 0 ? void 0 : v1v2Result['ufo:vc:rev']) !== null && _ref !== void 0 ? _ref : []), ...(v3Result !== null && v3Result !== void 0 ? v3Result : [])]
|
|
66
|
+
};
|
|
111
67
|
}
|
|
112
68
|
setSSRElement(element) {
|
|
113
|
-
var _this$
|
|
114
|
-
(_this$
|
|
69
|
+
var _this$oldVCObserver5;
|
|
70
|
+
(_this$oldVCObserver5 = this.oldVCObserver) === null || _this$oldVCObserver5 === void 0 ? void 0 : _this$oldVCObserver5.setSSRElement(element);
|
|
115
71
|
}
|
|
116
72
|
setReactRootRenderStart(startTime) {
|
|
117
|
-
var _this$
|
|
118
|
-
(_this$
|
|
73
|
+
var _this$oldVCObserver6;
|
|
74
|
+
(_this$oldVCObserver6 = this.oldVCObserver) === null || _this$oldVCObserver6 === void 0 ? void 0 : _this$oldVCObserver6.setReactRootRenderStart(startTime || performance.now());
|
|
119
75
|
}
|
|
120
76
|
setReactRootRenderStop(stopTime) {
|
|
121
|
-
var _this$
|
|
122
|
-
(_this$
|
|
77
|
+
var _this$oldVCObserver7;
|
|
78
|
+
(_this$oldVCObserver7 = this.oldVCObserver) === null || _this$oldVCObserver7 === void 0 ? void 0 : _this$oldVCObserver7.setReactRootRenderStop(stopTime || performance.now());
|
|
123
79
|
}
|
|
124
80
|
}
|
|
125
81
|
|