@atlaskit/react-ufo 3.13.0 → 3.13.2

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 (60) hide show
  1. package/CHANGELOG.md +16 -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 +75 -101
  5. package/dist/cjs/vc/vc-observer/getVCRevisionsData.js +13 -67
  6. package/dist/cjs/vc/vc-observer/index.js +27 -110
  7. package/dist/cjs/vc/vc-observer-new/index.js +27 -1
  8. package/dist/es2019/config/index.js +18 -23
  9. package/dist/es2019/create-payload/utils/get-vc-metrics.js +12 -41
  10. package/dist/es2019/vc/index.js +67 -87
  11. package/dist/es2019/vc/vc-observer/getVCRevisionsData.js +15 -71
  12. package/dist/es2019/vc/vc-observer/index.js +5 -90
  13. package/dist/es2019/vc/vc-observer-new/index.js +19 -1
  14. package/dist/esm/config/index.js +15 -20
  15. package/dist/esm/create-payload/utils/get-vc-metrics.js +6 -45
  16. package/dist/esm/vc/index.js +75 -101
  17. package/dist/esm/vc/vc-observer/getVCRevisionsData.js +13 -67
  18. package/dist/esm/vc/vc-observer/index.js +27 -110
  19. package/dist/esm/vc/vc-observer-new/index.js +27 -1
  20. package/dist/types/common/vc/types.d.ts +0 -2
  21. package/dist/types/create-post-interaction-log-payload/index.d.ts +1 -1
  22. package/dist/types/vc/index.d.ts +1 -0
  23. package/dist/types/vc/vc-observer/getVCRevisionsData.d.ts +2 -17
  24. package/dist/types/vc/vc-observer/index.d.ts +0 -4
  25. package/dist/types-ts4.5/common/vc/types.d.ts +0 -2
  26. package/dist/types-ts4.5/create-post-interaction-log-payload/index.d.ts +1 -1
  27. package/dist/types-ts4.5/vc/index.d.ts +1 -0
  28. package/dist/types-ts4.5/vc/vc-observer/getVCRevisionsData.d.ts +2 -17
  29. package/dist/types-ts4.5/vc/vc-observer/index.d.ts +0 -4
  30. package/package.json +4 -4
  31. package/dist/cjs/vc/vc-observer/heatmap/heatmap.js +0 -281
  32. package/dist/cjs/vc/vc-observer/revisions/ViewportUpdateClassifier.js +0 -68
  33. package/dist/cjs/vc/vc-observer/revisions/fy25_01.js +0 -76
  34. package/dist/cjs/vc/vc-observer/revisions/fy25_02.js +0 -59
  35. package/dist/cjs/vc/vc-observer/revisions/revisions.js +0 -24
  36. package/dist/cjs/vc/vc-observer/revisions/types.js +0 -5
  37. package/dist/es2019/vc/vc-observer/heatmap/heatmap.js +0 -247
  38. package/dist/es2019/vc/vc-observer/revisions/ViewportUpdateClassifier.js +0 -48
  39. package/dist/es2019/vc/vc-observer/revisions/fy25_01.js +0 -55
  40. package/dist/es2019/vc/vc-observer/revisions/fy25_02.js +0 -35
  41. package/dist/es2019/vc/vc-observer/revisions/revisions.js +0 -18
  42. package/dist/es2019/vc/vc-observer/revisions/types.js +0 -1
  43. package/dist/esm/vc/vc-observer/heatmap/heatmap.js +0 -274
  44. package/dist/esm/vc/vc-observer/revisions/ViewportUpdateClassifier.js +0 -61
  45. package/dist/esm/vc/vc-observer/revisions/fy25_01.js +0 -69
  46. package/dist/esm/vc/vc-observer/revisions/fy25_02.js +0 -52
  47. package/dist/esm/vc/vc-observer/revisions/revisions.js +0 -18
  48. package/dist/esm/vc/vc-observer/revisions/types.js +0 -1
  49. package/dist/types/vc/vc-observer/heatmap/heatmap.d.ts +0 -79
  50. package/dist/types/vc/vc-observer/revisions/ViewportUpdateClassifier.d.ts +0 -31
  51. package/dist/types/vc/vc-observer/revisions/fy25_01.d.ts +0 -13
  52. package/dist/types/vc/vc-observer/revisions/fy25_02.d.ts +0 -16
  53. package/dist/types/vc/vc-observer/revisions/revisions.d.ts +0 -2
  54. package/dist/types/vc/vc-observer/revisions/types.d.ts +0 -28
  55. package/dist/types-ts4.5/vc/vc-observer/heatmap/heatmap.d.ts +0 -79
  56. package/dist/types-ts4.5/vc/vc-observer/revisions/ViewportUpdateClassifier.d.ts +0 -31
  57. package/dist/types-ts4.5/vc/vc-observer/revisions/fy25_01.d.ts +0 -13
  58. package/dist/types-ts4.5/vc/vc-observer/revisions/fy25_02.d.ts +0 -16
  59. package/dist/types-ts4.5/vc/vc-observer/revisions/revisions.d.ts +0 -2
  60. package/dist/types-ts4.5/vc/vc-observer/revisions/types.d.ts +0 -28
package/CHANGELOG.md CHANGED
@@ -1,5 +1,21 @@
1
1
  # @atlaskit/ufo-interaction-ignore
2
2
 
3
+ ## 3.13.2
4
+
5
+ ### Patch Changes
6
+
7
+ - [#159297](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/pull-requests/159297)
8
+ [`9669e0bb8bda1`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/9669e0bb8bda1) -
9
+ Make VCObserverNew (TTVC v3) listens to abort events from ssr mark
10
+
11
+ ## 3.13.1
12
+
13
+ ### Patch Changes
14
+
15
+ - [#156888](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/pull-requests/156888)
16
+ [`42a74b76ffd2b`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/42a74b76ffd2b) -
17
+ FG cleanup - platform_ufo_vc_enable_revisions_by_experience
18
+
3
19
  ## 3.13.0
4
20
 
5
21
  ### Minor Changes
@@ -23,7 +23,6 @@ exports.setUFOConfig = setUFOConfig;
23
23
  var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
24
24
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
25
25
  var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
26
- var _platformFeatureFlags = require("@atlaskit/platform-feature-flags");
27
26
  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
27
  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; }
29
28
  var config;
@@ -33,24 +32,20 @@ var DEFAULT_TTVC_REVISION = 'fy25.02';
33
32
  // and they could delete empty members
34
33
 
35
34
  function setUFOConfig(newConfig) {
36
- if ((0, _platformFeatureFlags.fg)('platform_ufo_vc_enable_revisions_by_experience')) {
37
- var _newConfig$vc;
38
- // Handle edge cases with `enabledVCRevisions`
39
- var _ref = (_newConfig$vc = newConfig === null || newConfig === void 0 ? void 0 : newConfig.vc) !== null && _newConfig$vc !== void 0 ? _newConfig$vc : {},
40
- enabledVCRevisions = _ref.enabledVCRevisions;
41
- if ((0, _typeof2.default)(enabledVCRevisions === null || enabledVCRevisions === void 0 ? void 0 : enabledVCRevisions.byExperience) === 'object') {
42
- config = _objectSpread(_objectSpread({}, newConfig), {}, {
43
- vc: _objectSpread(_objectSpread({}, newConfig.vc), {}, {
44
- enabledVCRevisions: {
45
- // enforce axiom about `enabledVCRevisions.all` config
46
- all: Array.from(new Set([DEFAULT_TTVC_REVISION].concat((0, _toConsumableArray2.default)(enabledVCRevisions === null || enabledVCRevisions === void 0 ? void 0 : enabledVCRevisions.all), (0, _toConsumableArray2.default)(Object.values(enabledVCRevisions === null || enabledVCRevisions === void 0 ? void 0 : enabledVCRevisions.byExperience).flat())))),
47
- byExperience: _objectSpread({}, enabledVCRevisions === null || enabledVCRevisions === void 0 ? void 0 : enabledVCRevisions.byExperience)
48
- }
49
- })
50
- });
51
- } else {
52
- config = newConfig;
53
- }
35
+ var _newConfig$vc;
36
+ // Handle edge cases with `enabledVCRevisions`
37
+ var _ref = (_newConfig$vc = newConfig === null || newConfig === void 0 ? void 0 : newConfig.vc) !== null && _newConfig$vc !== void 0 ? _newConfig$vc : {},
38
+ enabledVCRevisions = _ref.enabledVCRevisions;
39
+ if ((0, _typeof2.default)(enabledVCRevisions === null || enabledVCRevisions === void 0 ? void 0 : enabledVCRevisions.byExperience) === 'object') {
40
+ config = _objectSpread(_objectSpread({}, newConfig), {}, {
41
+ vc: _objectSpread(_objectSpread({}, newConfig.vc), {}, {
42
+ enabledVCRevisions: {
43
+ // enforce axiom about `enabledVCRevisions.all` config
44
+ all: Array.from(new Set([DEFAULT_TTVC_REVISION].concat((0, _toConsumableArray2.default)(enabledVCRevisions === null || enabledVCRevisions === void 0 ? void 0 : enabledVCRevisions.all), (0, _toConsumableArray2.default)(Object.values(enabledVCRevisions === null || enabledVCRevisions === void 0 ? void 0 : enabledVCRevisions.byExperience).flat())))),
45
+ byExperience: _objectSpread({}, enabledVCRevisions === null || enabledVCRevisions === void 0 ? void 0 : enabledVCRevisions.byExperience)
46
+ }
47
+ })
48
+ });
54
49
  } else {
55
50
  config = newConfig;
56
51
  }
@@ -72,7 +67,7 @@ function getEnabledVCRevisions() {
72
67
  var _config$vc2, _enabledVCRevisions$b;
73
68
  var _ref2 = (_config$vc2 = config.vc) !== null && _config$vc2 !== void 0 ? _config$vc2 : {},
74
69
  enabledVCRevisions = _ref2.enabledVCRevisions;
75
- if (isValidConfigArray(enabledVCRevisions === null || enabledVCRevisions === void 0 || (_enabledVCRevisions$b = enabledVCRevisions.byExperience) === null || _enabledVCRevisions$b === void 0 ? void 0 : _enabledVCRevisions$b[experienceKey]) && (0, _platformFeatureFlags.fg)('platform_ufo_vc_enable_revisions_by_experience')) {
70
+ if (isValidConfigArray(enabledVCRevisions === null || enabledVCRevisions === void 0 || (_enabledVCRevisions$b = enabledVCRevisions.byExperience) === null || _enabledVCRevisions$b === void 0 ? void 0 : _enabledVCRevisions$b[experienceKey])) {
76
71
  var _enabledVCRevisions$b2;
77
72
  return (_enabledVCRevisions$b2 = enabledVCRevisions.byExperience) === null || _enabledVCRevisions$b2 === void 0 ? void 0 : _enabledVCRevisions$b2[experienceKey];
78
73
  }
@@ -22,8 +22,8 @@ function getVCMetrics(_x) {
22
22
  }
23
23
  function _getVCMetrics() {
24
24
  _getVCMetrics = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(interaction) {
25
- var _config$vc, _config$vc$ssrWhiteli, _interaction$apdex, _config$experimentalI;
26
- var config, interactionStatus, pageVisibilityUpToTTAI, shouldReportVCMetrics, isSSREnabled, ssr, tti, prefix, result, _result$ufoVcRev, mostRecentVCRevision, mostRecentVCRevisionPayload, _result$ufoVcRev2, ttvcV2Revision, VC;
25
+ var _config$vc, _config$vc$ssrWhiteli, _interaction$apdex, _config$experimentalI, _result$ufoVcRev;
26
+ var config, interactionStatus, pageVisibilityUpToTTAI, shouldReportVCMetrics, isSSREnabled, ssr, tti, prefix, result, mostRecentVCRevision, mostRecentVCRevisionPayload;
27
27
  return _regenerator.default.wrap(function _callee$(_context) {
28
28
  while (1) switch (_context.prev = _context.next) {
29
29
  case 0:
@@ -74,60 +74,21 @@ function _getVCMetrics() {
74
74
  (0, _vc.getVCObserver)().stop(interaction.ufoName);
75
75
  }
76
76
  _interactionMetrics.postInteractionLog.setLastInteractionFinishVCResult(result);
77
- if (!(0, _platformFeatureFlags.fg)('platform_ufo_vc_enable_revisions_by_experience')) {
78
- _context.next = 29;
79
- break;
80
- }
81
77
  mostRecentVCRevision = (0, _config.getMostRecentVCRevision)(interaction.ufoName);
82
78
  mostRecentVCRevisionPayload = result === null || result === void 0 || (_result$ufoVcRev = result['ufo:vc:rev']) === null || _result$ufoVcRev === void 0 ? void 0 : _result$ufoVcRev.find(function (_ref) {
83
79
  var revision = _ref.revision;
84
80
  return revision === mostRecentVCRevision;
85
81
  });
86
82
  if (!(!shouldReportVCMetrics || !(mostRecentVCRevisionPayload !== null && mostRecentVCRevisionPayload !== void 0 && mostRecentVCRevisionPayload.clean))) {
87
- _context.next = 26;
83
+ _context.next = 25;
88
84
  break;
89
85
  }
90
86
  return _context.abrupt("return", result);
91
- case 26:
87
+ case 25:
92
88
  return _context.abrupt("return", _objectSpread(_objectSpread({}, result), {}, {
93
89
  'metric:vc90': mostRecentVCRevisionPayload['metric:vc90']
94
90
  }));
95
- case 29:
96
- if ((0, _config.isVCRevisionEnabled)('fy25.01')) {
97
- _context.next = 36;
98
- break;
99
- }
100
- ttvcV2Revision = result === null || result === void 0 || (_result$ufoVcRev2 = result['ufo:vc:rev']) === null || _result$ufoVcRev2 === void 0 ? void 0 : _result$ufoVcRev2.find(function (_ref2) {
101
- var revision = _ref2.revision;
102
- return revision === 'fy25.02';
103
- });
104
- if (ttvcV2Revision !== null && ttvcV2Revision !== void 0 && ttvcV2Revision.clean) {
105
- _context.next = 33;
106
- break;
107
- }
108
- return _context.abrupt("return", result);
109
- case 33:
110
- return _context.abrupt("return", _objectSpread(_objectSpread({}, result), {}, {
111
- 'metric:vc90': ttvcV2Revision['metric:vc90']
112
- }));
113
- case 36:
114
- VC = result === null || result === void 0 ? void 0 : result['metrics:vc'];
115
- if (!(!VC || !(result !== null && result !== void 0 && result["".concat(prefix, ":vc:clean")]))) {
116
- _context.next = 39;
117
- break;
118
- }
119
- return _context.abrupt("return", result);
120
- case 39:
121
- if (!(interactionStatus.originalInteractionStatus !== 'SUCCEEDED' || pageVisibilityUpToTTAI !== 'visible')) {
122
- _context.next = 41;
123
- break;
124
- }
125
- return _context.abrupt("return", result);
126
- case 41:
127
- return _context.abrupt("return", _objectSpread(_objectSpread({}, result), {}, {
128
- 'metric:vc90': VC['90']
129
- }));
130
- case 42:
91
+ case 26:
131
92
  case "end":
132
93
  return _context.stop();
133
94
  }
@@ -13,7 +13,6 @@ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/de
13
13
  var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
14
14
  var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
15
15
  var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
16
- var _platformFeatureFlags = require("@atlaskit/platform-feature-flags");
17
16
  var _config = require("../config");
18
17
  var _noOpVcObserver = require("./no-op-vc-observer");
19
18
  var _vcObserver = require("./vc-observer");
@@ -26,154 +25,129 @@ var VCObserverWrapper = exports.VCObserverWrapper = /*#__PURE__*/function () {
26
25
  var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
27
26
  (0, _classCallCheck2.default)(this, VCObserverWrapper);
28
27
  this.newVCObserver = null;
29
- if ((0, _platformFeatureFlags.fg)('platform_ufo_vc_enable_revisions_by_experience')) {
30
- this.oldVCObserver = null;
31
- if ((0, _config.isVCRevisionEnabled)('fy25.03')) {
32
- this.newVCObserver = new _vcObserverNew.default({
33
- selectorConfig: opts.selectorConfig
34
- });
35
- }
36
- if ((0, _config.isVCRevisionEnabled)('fy25.01') || (0, _config.isVCRevisionEnabled)('fy25.02')) {
37
- this.oldVCObserver = new _vcObserver.VCObserver(opts);
38
- }
39
- } else {
40
- if ((0, _config.isVCRevisionEnabled)('fy25.03')) {
41
- this.newVCObserver = new _vcObserverNew.default({
42
- selectorConfig: opts.selectorConfig
43
- });
44
- }
28
+ this.oldVCObserver = null;
29
+ if ((0, _config.isVCRevisionEnabled)('fy25.03')) {
30
+ this.newVCObserver = new _vcObserverNew.default({
31
+ selectorConfig: opts.selectorConfig
32
+ });
33
+ }
34
+ if ((0, _config.isVCRevisionEnabled)('fy25.01') || (0, _config.isVCRevisionEnabled)('fy25.02')) {
45
35
  this.oldVCObserver = new _vcObserver.VCObserver(opts);
46
36
  }
47
37
  }
38
+
39
+ // Helper method to process SSR abort listeners
48
40
  return (0, _createClass2.default)(VCObserverWrapper, [{
41
+ key: "processSsrAbortListeners",
42
+ value: function processSsrAbortListeners() {
43
+ var _window;
44
+ // Process any SSR abort listeners that remain
45
+ if ((_window = window) !== null && _window !== void 0 && _window.__SSR_ABORT_LISTENERS__) {
46
+ // Clean up any event listeners that may have been registered during SSR
47
+ // This is centralized here so only the wrapper handles unbinding, not individual observers
48
+ if (window.__SSR_ABORT_LISTENERS__.unbinds && Array.isArray(window.__SSR_ABORT_LISTENERS__.unbinds)) {
49
+ window.__SSR_ABORT_LISTENERS__.unbinds.forEach(function (unbind) {
50
+ if (typeof unbind === 'function') {
51
+ unbind();
52
+ }
53
+ });
54
+ }
55
+
56
+ // After all observers had a chance to process abort events,
57
+ // we can safely delete the SSR_ABORT_LISTENERS object
58
+ delete window.__SSR_ABORT_LISTENERS__;
59
+ }
60
+ }
61
+ }, {
49
62
  key: "start",
50
63
  value: function start(_ref) {
51
64
  var startTime = _ref.startTime,
52
65
  experienceKey = _ref.experienceKey;
53
- if ((0, _platformFeatureFlags.fg)('platform_ufo_vc_enable_revisions_by_experience')) {
54
- if ((0, _config.isVCRevisionEnabled)('fy25.01', experienceKey) || (0, _config.isVCRevisionEnabled)('fy25.02', experienceKey)) {
55
- var _this$oldVCObserver;
56
- (_this$oldVCObserver = this.oldVCObserver) === null || _this$oldVCObserver === void 0 || _this$oldVCObserver.start({
57
- startTime: startTime
58
- });
59
- }
60
- if ((0, _config.isVCRevisionEnabled)('fy25.03', experienceKey)) {
61
- var _this$newVCObserver;
62
- (_this$newVCObserver = this.newVCObserver) === null || _this$newVCObserver === void 0 || _this$newVCObserver.start({
63
- startTime: startTime
64
- });
65
- }
66
- } else {
67
- var _this$oldVCObserver2, _this$newVCObserver2;
68
- (_this$oldVCObserver2 = this.oldVCObserver) === null || _this$oldVCObserver2 === void 0 || _this$oldVCObserver2.start({
66
+ if ((0, _config.isVCRevisionEnabled)('fy25.01', experienceKey) || (0, _config.isVCRevisionEnabled)('fy25.02', experienceKey)) {
67
+ var _this$oldVCObserver;
68
+ (_this$oldVCObserver = this.oldVCObserver) === null || _this$oldVCObserver === void 0 || _this$oldVCObserver.start({
69
69
  startTime: startTime
70
70
  });
71
- (_this$newVCObserver2 = this.newVCObserver) === null || _this$newVCObserver2 === void 0 || _this$newVCObserver2.start({
71
+ }
72
+ if ((0, _config.isVCRevisionEnabled)('fy25.03', experienceKey)) {
73
+ var _this$newVCObserver;
74
+ (_this$newVCObserver = this.newVCObserver) === null || _this$newVCObserver === void 0 || _this$newVCObserver.start({
72
75
  startTime: startTime
73
76
  });
74
77
  }
78
+
79
+ // Clean up any remaining SSR abort listeners after all observers have been started
80
+ this.processSsrAbortListeners();
75
81
  }
76
82
  }, {
77
83
  key: "stop",
78
84
  value: function stop(experienceKey) {
79
- if ((0, _platformFeatureFlags.fg)('platform_ufo_vc_enable_revisions_by_experience')) {
80
- if ((0, _config.isVCRevisionEnabled)('fy25.01', experienceKey) || (0, _config.isVCRevisionEnabled)('fy25.02', experienceKey)) {
81
- var _this$oldVCObserver3;
82
- (_this$oldVCObserver3 = this.oldVCObserver) === null || _this$oldVCObserver3 === void 0 || _this$oldVCObserver3.stop();
83
- }
84
- if ((0, _config.isVCRevisionEnabled)('fy25.03', experienceKey)) {
85
- var _this$newVCObserver3;
86
- (_this$newVCObserver3 = this.newVCObserver) === null || _this$newVCObserver3 === void 0 || _this$newVCObserver3.stop();
87
- }
88
- } else {
89
- var _this$oldVCObserver4, _this$newVCObserver4;
90
- (_this$oldVCObserver4 = this.oldVCObserver) === null || _this$oldVCObserver4 === void 0 || _this$oldVCObserver4.stop();
91
- (_this$newVCObserver4 = this.newVCObserver) === null || _this$newVCObserver4 === void 0 || _this$newVCObserver4.stop();
85
+ if ((0, _config.isVCRevisionEnabled)('fy25.01', experienceKey) || (0, _config.isVCRevisionEnabled)('fy25.02', experienceKey)) {
86
+ var _this$oldVCObserver2;
87
+ (_this$oldVCObserver2 = this.oldVCObserver) === null || _this$oldVCObserver2 === void 0 || _this$oldVCObserver2.stop();
88
+ }
89
+ if ((0, _config.isVCRevisionEnabled)('fy25.03', experienceKey)) {
90
+ var _this$newVCObserver2;
91
+ (_this$newVCObserver2 = this.newVCObserver) === null || _this$newVCObserver2 === void 0 || _this$newVCObserver2.stop();
92
92
  }
93
93
  }
94
94
  }, {
95
95
  key: "getVCRawData",
96
96
  value: function getVCRawData() {
97
- var _this$oldVCObserver$g, _this$oldVCObserver5;
98
- 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;
97
+ var _this$oldVCObserver$g, _this$oldVCObserver3;
98
+ 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;
99
99
  }
100
100
  }, {
101
101
  key: "getVCResult",
102
102
  value: function () {
103
103
  var _getVCResult = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(param) {
104
- var _this$oldVCObserver6, _this$newVCObserver5, _ref2, experienceKey, v1v2Result, v3Result, _this$oldVCObserver7, _this$newVCObserver6, _ref3, oldResult, newResult;
104
+ var _this$oldVCObserver4, _this$newVCObserver3, _ref2;
105
+ var experienceKey, v1v2Result, v3Result;
105
106
  return _regenerator.default.wrap(function _callee$(_context) {
106
107
  while (1) switch (_context.prev = _context.next) {
107
108
  case 0:
108
- if (!(0, _platformFeatureFlags.fg)('platform_ufo_vc_enable_revisions_by_experience')) {
109
- _context.next = 23;
110
- break;
111
- }
112
109
  experienceKey = param.experienceKey;
113
110
  if (!((0, _config.isVCRevisionEnabled)('fy25.01', experienceKey) || (0, _config.isVCRevisionEnabled)('fy25.02', experienceKey))) {
114
- _context.next = 8;
111
+ _context.next = 7;
115
112
  break;
116
113
  }
117
- _context.next = 5;
118
- return (_this$oldVCObserver6 = this.oldVCObserver) === null || _this$oldVCObserver6 === void 0 ? void 0 : _this$oldVCObserver6.getVCResult(param);
119
- case 5:
114
+ _context.next = 4;
115
+ return (_this$oldVCObserver4 = this.oldVCObserver) === null || _this$oldVCObserver4 === void 0 ? void 0 : _this$oldVCObserver4.getVCResult(param);
116
+ case 4:
120
117
  _context.t0 = _context.sent;
121
- _context.next = 9;
118
+ _context.next = 8;
122
119
  break;
123
- case 8:
120
+ case 7:
124
121
  _context.t0 = {};
125
- case 9:
122
+ case 8:
126
123
  v1v2Result = _context.t0;
127
124
  if (!(0, _config.isVCRevisionEnabled)('fy25.03', experienceKey)) {
128
- _context.next = 16;
125
+ _context.next = 15;
129
126
  break;
130
127
  }
131
- _context.next = 13;
132
- return (_this$newVCObserver5 = this.newVCObserver) === null || _this$newVCObserver5 === void 0 ? void 0 : _this$newVCObserver5.getVCResult({
128
+ _context.next = 12;
129
+ return (_this$newVCObserver3 = this.newVCObserver) === null || _this$newVCObserver3 === void 0 ? void 0 : _this$newVCObserver3.getVCResult({
133
130
  start: param.start,
134
- stop: param.stop,
135
- interactionId: param.interactionId
131
+ stop: param.stop
136
132
  });
137
- case 13:
133
+ case 12:
138
134
  _context.t1 = _context.sent;
139
- _context.next = 17;
135
+ _context.next = 16;
140
136
  break;
141
- case 16:
137
+ case 15:
142
138
  _context.t1 = [];
143
- case 17:
139
+ case 16:
144
140
  v3Result = _context.t1;
145
141
  if (v3Result) {
146
- _context.next = 20;
142
+ _context.next = 19;
147
143
  break;
148
144
  }
149
145
  return _context.abrupt("return", v1v2Result !== null && v1v2Result !== void 0 ? v1v2Result : {});
150
- case 20:
146
+ case 19:
151
147
  return _context.abrupt("return", _objectSpread(_objectSpread({}, v1v2Result), {}, {
152
148
  'ufo:vc:rev': [].concat((0, _toConsumableArray2.default)((_ref2 = v1v2Result === null || v1v2Result === void 0 ? void 0 : v1v2Result['ufo:vc:rev']) !== null && _ref2 !== void 0 ? _ref2 : []), (0, _toConsumableArray2.default)(v3Result !== null && v3Result !== void 0 ? v3Result : []))
153
149
  }));
154
- case 23:
155
- _context.next = 25;
156
- return (_this$oldVCObserver7 = this.oldVCObserver) === null || _this$oldVCObserver7 === void 0 ? void 0 : _this$oldVCObserver7.getVCResult(param);
157
- case 25:
158
- oldResult = _context.sent;
159
- _context.next = 28;
160
- return (_this$newVCObserver6 = this.newVCObserver) === null || _this$newVCObserver6 === void 0 ? void 0 : _this$newVCObserver6.getVCResult({
161
- start: param.start,
162
- stop: param.stop,
163
- interactionId: param.interactionId
164
- });
165
- case 28:
166
- newResult = _context.sent;
167
- if (!(oldResult && !newResult)) {
168
- _context.next = 31;
169
- break;
170
- }
171
- return _context.abrupt("return", oldResult);
172
- case 31:
173
- return _context.abrupt("return", _objectSpread(_objectSpread({}, oldResult !== null && oldResult !== void 0 ? oldResult : {}), {}, {
174
- 'ufo:vc:rev': [].concat((0, _toConsumableArray2.default)((_ref3 = oldResult === null || oldResult === void 0 ? void 0 : oldResult['ufo:vc:rev']) !== null && _ref3 !== void 0 ? _ref3 : []), (0, _toConsumableArray2.default)(newResult !== null && newResult !== void 0 ? newResult : []))
175
- }));
176
- case 32:
150
+ case 20:
177
151
  case "end":
178
152
  return _context.stop();
179
153
  }
@@ -187,20 +161,20 @@ var VCObserverWrapper = exports.VCObserverWrapper = /*#__PURE__*/function () {
187
161
  }, {
188
162
  key: "setSSRElement",
189
163
  value: function setSSRElement(element) {
190
- var _this$oldVCObserver8;
191
- (_this$oldVCObserver8 = this.oldVCObserver) === null || _this$oldVCObserver8 === void 0 || _this$oldVCObserver8.setSSRElement(element);
164
+ var _this$oldVCObserver5;
165
+ (_this$oldVCObserver5 = this.oldVCObserver) === null || _this$oldVCObserver5 === void 0 || _this$oldVCObserver5.setSSRElement(element);
192
166
  }
193
167
  }, {
194
168
  key: "setReactRootRenderStart",
195
169
  value: function setReactRootRenderStart(startTime) {
196
- var _this$oldVCObserver9;
197
- (_this$oldVCObserver9 = this.oldVCObserver) === null || _this$oldVCObserver9 === void 0 || _this$oldVCObserver9.setReactRootRenderStart(startTime || performance.now());
170
+ var _this$oldVCObserver6;
171
+ (_this$oldVCObserver6 = this.oldVCObserver) === null || _this$oldVCObserver6 === void 0 || _this$oldVCObserver6.setReactRootRenderStart(startTime || performance.now());
198
172
  }
199
173
  }, {
200
174
  key: "setReactRootRenderStop",
201
175
  value: function setReactRootRenderStop(stopTime) {
202
- var _this$oldVCObserver10;
203
- (_this$oldVCObserver10 = this.oldVCObserver) === null || _this$oldVCObserver10 === void 0 || _this$oldVCObserver10.setReactRootRenderStop(stopTime || performance.now());
176
+ var _this$oldVCObserver7;
177
+ (_this$oldVCObserver7 = this.oldVCObserver) === null || _this$oldVCObserver7 === void 0 || _this$oldVCObserver7.setReactRootRenderStop(stopTime || performance.now());
204
178
  }
205
179
  }]);
206
180
  }(); // Some products set this variable to indicate it is running in SSR
@@ -6,10 +6,8 @@ Object.defineProperty(exports, "__esModule", {
6
6
  });
7
7
  exports.getVCRevisionsData = getVCRevisionsData;
8
8
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
9
- var _platformFeatureFlags = require("@atlaskit/platform-feature-flags");
10
9
  var _config = require("../../config");
11
10
  var _hiddenTiming = require("../../hidden-timing");
12
- var _revisions = require("./revisions/revisions");
13
11
  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; } } }; }
14
12
  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; } }
15
13
  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; }
@@ -50,80 +48,28 @@ function getVCRevisionsData(_ref) {
50
48
  interaction = _ref.interaction,
51
49
  isVCClean = _ref.isVCClean,
52
50
  isEventAborted = _ref.isEventAborted,
53
- multiHeatmap = _ref.multiHeatmap,
54
- ssr = _ref.ssr,
55
51
  calculatedVC = _ref.calculatedVC,
56
52
  calculatedVCNext = _ref.calculatedVCNext,
57
53
  experienceKey = _ref.experienceKey;
58
- var isTTVCv3Enabled = (0, _platformFeatureFlags.fg)('platform_ufo_vc_enable_revisions_by_experience') ? (0, _config.isVCRevisionEnabled)('fy25.03', experienceKey) : (0, _config.isVCRevisionEnabled)('fy25.03');
59
-
60
- // As part of `platform_ufo_vc_enable_revisions_by_experience`, we are looking to turn off the `multiHeatmap` branch of code
61
- // for calculating TTVC, and instead rely on existing values already available, e.g. `calculatedVC` and `calculatedVCNext`
62
- if (!isTTVCv3Enabled && !(0, _platformFeatureFlags.fg)('platform_ufo_vc_enable_revisions_by_experience')) {
63
- if (!multiHeatmap) {
64
- return null;
65
- }
66
- return (0, _defineProperty2.default)({}, "".concat(fullPrefix, "vc:rev"), multiHeatmap === null || multiHeatmap === void 0 ? void 0 : multiHeatmap.getPayloadShapedData({
67
- VCParts: VCParts.map(function (v) {
68
- return parseInt(v);
69
- }),
70
- VCCalculationMethods: (0, _revisions.getRevisions)().map(function (_ref2) {
71
- var classifier = _ref2.classifier;
72
- return classifier.VCCalculationMethod;
73
- }),
74
- filterComponentsLog: (0, _revisions.getRevisions)().map(function (_ref3) {
75
- var classifier = _ref3.classifier;
76
- return classifier.filterComponentsLog;
77
- }),
78
- isEventAborted: isEventAborted,
79
- interactionStart: interaction.start,
80
- ttai: interaction.end,
81
- ssr: ssr,
82
- clean: isVCClean
83
- }));
84
- }
85
54
  var pageVisibilityUpToTTAI = (0, _hiddenTiming.getPageVisibilityState)(interaction.start, interaction.end);
86
55
  var isVisiblePageVisibleUpToTTAI = pageVisibilityUpToTTAI === 'visible';
87
56
  var shouldHaveVCmetric = isVCClean && !isEventAborted && isVisiblePageVisibleUpToTTAI;
88
- if ((0, _platformFeatureFlags.fg)('platform_ufo_vc_enable_revisions_by_experience')) {
89
- var availableVCRevisionPayloads = [];
90
- if ((0, _config.isVCRevisionEnabled)('fy25.01', experienceKey)) {
91
- availableVCRevisionPayloads.push({
92
- revision: 'fy25.01',
93
- clean: isVCClean,
94
- 'metric:vc90': shouldHaveVCmetric ? calculatedVC.VC['90'] : null,
95
- vcDetails: createVCDetails(calculatedVC, shouldHaveVCmetric)
96
- });
97
- }
98
- if ((0, _config.isVCRevisionEnabled)('fy25.02', experienceKey)) {
99
- availableVCRevisionPayloads.push({
100
- revision: 'fy25.02',
101
- clean: isVCClean,
102
- 'metric:vc90': shouldHaveVCmetric ? calculatedVCNext.VC['90'] : null,
103
- vcDetails: createVCDetails(calculatedVCNext, shouldHaveVCmetric)
104
- });
105
- }
106
- return (0, _defineProperty2.default)({}, "".concat(fullPrefix, "vc:rev"), availableVCRevisionPayloads);
107
- } else {
108
- // Create the V2 revision object which is always needed
109
- var ttvcV2Revision = {
110
- revision: 'fy25.02',
111
- clean: isVCClean,
112
- 'metric:vc90': shouldHaveVCmetric ? calculatedVCNext.VC['90'] : null,
113
- vcDetails: createVCDetails(calculatedVCNext, shouldHaveVCmetric)
114
- };
115
- var isTTVCv1Disabled = !(0, _config.isVCRevisionEnabled)('fy25.01');
116
- if (isTTVCv1Disabled) {
117
- return (0, _defineProperty2.default)({}, "".concat(fullPrefix, "vc:rev"), [ttvcV2Revision]);
118
- }
119
-
120
- // Only create ttvcV1Revision when we're actually going to use it
121
- var ttvcV1Revision = {
57
+ var availableVCRevisionPayloads = [];
58
+ if ((0, _config.isVCRevisionEnabled)('fy25.01', experienceKey)) {
59
+ availableVCRevisionPayloads.push({
122
60
  revision: 'fy25.01',
123
61
  clean: isVCClean,
124
62
  'metric:vc90': shouldHaveVCmetric ? calculatedVC.VC['90'] : null,
125
63
  vcDetails: createVCDetails(calculatedVC, shouldHaveVCmetric)
126
- };
127
- return (0, _defineProperty2.default)({}, "".concat(fullPrefix, "vc:rev"), [ttvcV1Revision, ttvcV2Revision]);
64
+ });
65
+ }
66
+ if ((0, _config.isVCRevisionEnabled)('fy25.02', experienceKey)) {
67
+ availableVCRevisionPayloads.push({
68
+ revision: 'fy25.02',
69
+ clean: isVCClean,
70
+ 'metric:vc90': shouldHaveVCmetric ? calculatedVCNext.VC['90'] : null,
71
+ vcDetails: createVCDetails(calculatedVCNext, shouldHaveVCmetric)
72
+ });
128
73
  }
74
+ return (0, _defineProperty2.default)({}, "".concat(fullPrefix, "vc:rev"), availableVCRevisionPayloads);
129
75
  }