@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.
Files changed (55) hide show
  1. package/CHANGELOG.md +8 -0
  2. package/dist/cjs/config/index.js +15 -20
  3. package/dist/cjs/create-payload/utils/get-vc-metrics.js +5 -44
  4. package/dist/cjs/vc/index.js +49 -101
  5. package/dist/cjs/vc/vc-observer/getVCRevisionsData.js +13 -67
  6. package/dist/cjs/vc/vc-observer/index.js +27 -107
  7. package/dist/es2019/config/index.js +18 -23
  8. package/dist/es2019/create-payload/utils/get-vc-metrics.js +12 -41
  9. package/dist/es2019/vc/index.js +44 -88
  10. package/dist/es2019/vc/vc-observer/getVCRevisionsData.js +15 -71
  11. package/dist/es2019/vc/vc-observer/index.js +5 -87
  12. package/dist/esm/config/index.js +15 -20
  13. package/dist/esm/create-payload/utils/get-vc-metrics.js +6 -45
  14. package/dist/esm/vc/index.js +49 -101
  15. package/dist/esm/vc/vc-observer/getVCRevisionsData.js +13 -67
  16. package/dist/esm/vc/vc-observer/index.js +27 -107
  17. package/dist/types/common/vc/types.d.ts +0 -2
  18. package/dist/types/create-post-interaction-log-payload/index.d.ts +1 -1
  19. package/dist/types/vc/vc-observer/getVCRevisionsData.d.ts +2 -17
  20. package/dist/types/vc/vc-observer/index.d.ts +0 -4
  21. package/dist/types-ts4.5/common/vc/types.d.ts +0 -2
  22. package/dist/types-ts4.5/create-post-interaction-log-payload/index.d.ts +1 -1
  23. package/dist/types-ts4.5/vc/vc-observer/getVCRevisionsData.d.ts +2 -17
  24. package/dist/types-ts4.5/vc/vc-observer/index.d.ts +0 -4
  25. package/package.json +1 -4
  26. package/dist/cjs/vc/vc-observer/heatmap/heatmap.js +0 -281
  27. package/dist/cjs/vc/vc-observer/revisions/ViewportUpdateClassifier.js +0 -68
  28. package/dist/cjs/vc/vc-observer/revisions/fy25_01.js +0 -76
  29. package/dist/cjs/vc/vc-observer/revisions/fy25_02.js +0 -59
  30. package/dist/cjs/vc/vc-observer/revisions/revisions.js +0 -24
  31. package/dist/cjs/vc/vc-observer/revisions/types.js +0 -5
  32. package/dist/es2019/vc/vc-observer/heatmap/heatmap.js +0 -247
  33. package/dist/es2019/vc/vc-observer/revisions/ViewportUpdateClassifier.js +0 -48
  34. package/dist/es2019/vc/vc-observer/revisions/fy25_01.js +0 -55
  35. package/dist/es2019/vc/vc-observer/revisions/fy25_02.js +0 -35
  36. package/dist/es2019/vc/vc-observer/revisions/revisions.js +0 -18
  37. package/dist/es2019/vc/vc-observer/revisions/types.js +0 -1
  38. package/dist/esm/vc/vc-observer/heatmap/heatmap.js +0 -274
  39. package/dist/esm/vc/vc-observer/revisions/ViewportUpdateClassifier.js +0 -61
  40. package/dist/esm/vc/vc-observer/revisions/fy25_01.js +0 -69
  41. package/dist/esm/vc/vc-observer/revisions/fy25_02.js +0 -52
  42. package/dist/esm/vc/vc-observer/revisions/revisions.js +0 -18
  43. package/dist/esm/vc/vc-observer/revisions/types.js +0 -1
  44. package/dist/types/vc/vc-observer/heatmap/heatmap.d.ts +0 -79
  45. package/dist/types/vc/vc-observer/revisions/ViewportUpdateClassifier.d.ts +0 -31
  46. package/dist/types/vc/vc-observer/revisions/fy25_01.d.ts +0 -13
  47. package/dist/types/vc/vc-observer/revisions/fy25_02.d.ts +0 -16
  48. package/dist/types/vc/vc-observer/revisions/revisions.d.ts +0 -2
  49. package/dist/types/vc/vc-observer/revisions/types.d.ts +0 -28
  50. package/dist/types-ts4.5/vc/vc-observer/heatmap/heatmap.d.ts +0 -79
  51. package/dist/types-ts4.5/vc/vc-observer/revisions/ViewportUpdateClassifier.d.ts +0 -31
  52. package/dist/types-ts4.5/vc/vc-observer/revisions/fy25_01.d.ts +0 -13
  53. package/dist/types-ts4.5/vc/vc-observer/revisions/fy25_02.d.ts +0 -16
  54. package/dist/types-ts4.5/vc/vc-observer/revisions/revisions.d.ts +0 -2
  55. 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, 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;
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, multiHeatmap = rawData.multiHeatmap;
125
- isTTVCv1Disabled = (0, _platformFeatureFlags.fg)('platform_ufo_vc_enable_revisions_by_experience') ? !(0, _config.isVCRevisionEnabled)('fy25.01', experienceKey) : !(0, _config.isVCRevisionEnabled)('fy25.01'); // NOTE: as part of platform_ufo_add_vc_abort_reason_by_revisions feature,
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, _platformFeatureFlags.fg)('platform_ufo_vc_enable_revisions_by_experience') ? (0, _config.isVCRevisionEnabled)('fy25.03', experienceKey) : (0, _config.isVCRevisionEnabled)('fy25.03');
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 isTTVCv1Disabled = !(0, _config.isVCRevisionEnabled)('fy25.01');
394
- if ((0, _platformFeatureFlags.fg)('platform_ufo_vc_enable_revisions_by_experience')) {
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 (_ref12) {
511
- var _ref13 = (0, _slicedToArray2.default)(_ref12, 2),
512
- key = _ref13[0],
513
- time = _ref13[1];
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(_ref14) {
551
- var startTime = _ref14.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 (_ref15) {
574
- var ignoreReason = _ref15.ignoreReason;
498
+ return Object.values(componentsLog).flat().filter(function (_ref14) {
499
+ var ignoreReason = _ref14.ignoreReason;
575
500
  return Boolean(ignoreReason);
576
- }).map(function (_ref16) {
577
- var targetName = _ref16.targetName,
578
- ignoreReason = _ref16.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(_ref17) {
702
- var heatmap = _ref17.heatmap,
703
- _ref17$ssr = _ref17.ssr,
704
- ssr = _ref17$ssr === void 0 ? UNUSED_SECTOR : _ref17$ssr,
705
- componentsLog = _ref17.componentsLog,
706
- viewport = _ref17.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, _ref18, i) {
692
+ var VCEntries = entries.reduce(function (acc, _ref17, i) {
773
693
  var _acc$abs, _componentsLog$timest, _acc$rel$vc, _acc$rel;
774
- var _ref19 = (0, _slicedToArray2.default)(_ref18, 2),
775
- timestamp = _ref19[0],
776
- entryPainted = _ref19[1];
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
- if (fg('platform_ufo_vc_enable_revisions_by_experience')) {
10
- var _newConfig$vc;
11
- // Handle edge cases with `enabledVCRevisions`
12
- const {
13
- enabledVCRevisions
14
- } = (_newConfig$vc = newConfig === null || newConfig === void 0 ? void 0 : newConfig.vc) !== null && _newConfig$vc !== void 0 ? _newConfig$vc : {};
15
- if (typeof (enabledVCRevisions === null || enabledVCRevisions === void 0 ? void 0 : enabledVCRevisions.byExperience) === 'object') {
16
- config = {
17
- ...newConfig,
18
- vc: {
19
- ...newConfig.vc,
20
- enabledVCRevisions: {
21
- // enforce axiom about `enabledVCRevisions.all` config
22
- 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()])),
23
- byExperience: {
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
- } else {
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]) && fg('platform_ufo_vc_enable_revisions_by_experience')) {
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, isVCRevisionEnabled } from '../../config';
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
- if (fg('platform_ufo_vc_enable_revisions_by_experience')) {
47
- var _result$ufoVcRev;
48
- const mostRecentVCRevision = getMostRecentVCRevision(interaction.ufoName);
49
- 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(({
50
- revision
51
- }) => revision === mostRecentVCRevision);
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;
@@ -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
- if (fg('platform_ufo_vc_enable_revisions_by_experience')) {
11
- this.oldVCObserver = null;
12
- if (isVCRevisionEnabled('fy25.03')) {
13
- this.newVCObserver = new VCObserverNew({
14
- selectorConfig: opts.selectorConfig
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 (fg('platform_ufo_vc_enable_revisions_by_experience')) {
34
- if (isVCRevisionEnabled('fy25.01', experienceKey) || isVCRevisionEnabled('fy25.02', experienceKey)) {
35
- var _this$oldVCObserver;
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
- (_this$newVCObserver2 = this.newVCObserver) === null || _this$newVCObserver2 === void 0 ? void 0 : _this$newVCObserver2.start({
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 (fg('platform_ufo_vc_enable_revisions_by_experience')) {
58
- if (isVCRevisionEnabled('fy25.01', experienceKey) || isVCRevisionEnabled('fy25.02', experienceKey)) {
59
- var _this$oldVCObserver3;
60
- (_this$oldVCObserver3 = this.oldVCObserver) === null || _this$oldVCObserver3 === void 0 ? void 0 : _this$oldVCObserver3.stop();
61
- }
62
- if (isVCRevisionEnabled('fy25.03', experienceKey)) {
63
- var _this$newVCObserver3;
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$oldVCObserver5;
74
- return (_this$oldVCObserver$g = (_this$oldVCObserver5 = this.oldVCObserver) === null || _this$oldVCObserver5 === void 0 ? void 0 : _this$oldVCObserver5.getVCRawData()) !== null && _this$oldVCObserver$g !== void 0 ? _this$oldVCObserver$g : null;
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
- if (fg('platform_ufo_vc_enable_revisions_by_experience')) {
78
- var _this$oldVCObserver6, _this$newVCObserver5, _ref;
79
- const {
80
- experienceKey
81
- } = param;
82
- const v1v2Result = isVCRevisionEnabled('fy25.01', experienceKey) || isVCRevisionEnabled('fy25.02', experienceKey) ? await ((_this$oldVCObserver6 = this.oldVCObserver) === null || _this$oldVCObserver6 === void 0 ? void 0 : _this$oldVCObserver6.getVCResult(param)) : {};
83
- const v3Result = isVCRevisionEnabled('fy25.03', experienceKey) ? await ((_this$newVCObserver5 = this.newVCObserver) === null || _this$newVCObserver5 === void 0 ? void 0 : _this$newVCObserver5.getVCResult({
84
- start: param.start,
85
- stop: param.stop,
86
- interactionId: param.interactionId
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$oldVCObserver8;
114
- (_this$oldVCObserver8 = this.oldVCObserver) === null || _this$oldVCObserver8 === void 0 ? void 0 : _this$oldVCObserver8.setSSRElement(element);
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$oldVCObserver9;
118
- (_this$oldVCObserver9 = this.oldVCObserver) === null || _this$oldVCObserver9 === void 0 ? void 0 : _this$oldVCObserver9.setReactRootRenderStart(startTime || performance.now());
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$oldVCObserver10;
122
- (_this$oldVCObserver10 = this.oldVCObserver) === null || _this$oldVCObserver10 === void 0 ? void 0 : _this$oldVCObserver10.setReactRootRenderStop(stopTime || performance.now());
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