@atlaskit/react-ufo 2.4.7 → 2.5.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 (76) hide show
  1. package/CHANGELOG.md +23 -0
  2. package/dist/cjs/additional-payload/utils/lighthouse-metrics/utils/buffer/index.js +2 -4
  3. package/dist/cjs/common/constants.js +2 -1
  4. package/dist/cjs/config/index.js +18 -40
  5. package/dist/cjs/create-payload/common/utils/index.js +1 -85
  6. package/dist/cjs/create-payload/index.js +77 -37
  7. package/dist/cjs/interaction-metrics/common/constants.js +1 -7
  8. package/dist/cjs/interaction-metrics/index.js +205 -140
  9. package/dist/cjs/interaction-metrics/post-interaction-log.js +1 -2
  10. package/dist/cjs/interaction-metrics-init/index.js +9 -27
  11. package/dist/cjs/load-hold/UFOLoadHold.js +4 -3
  12. package/dist/cjs/segment/segment.js +9 -7
  13. package/dist/cjs/trace-pageload/index.js +1 -2
  14. package/dist/cjs/vc/vc-observer/index.js +50 -38
  15. package/dist/cjs/vc/vc-observer/observers/editor-lnv/index.js +1 -2
  16. package/dist/cjs/vc/vc-observer/observers/editor-lnv/test-utils.js +1 -2
  17. package/dist/cjs/vc/vc-observer/observers/index.js +1 -2
  18. package/dist/cjs/vc/vc-observer/observers/ssr-placeholders/index.js +1 -2
  19. package/dist/es2019/common/constants.js +3 -1
  20. package/dist/es2019/config/index.js +0 -22
  21. package/dist/es2019/create-payload/common/utils/index.js +1 -86
  22. package/dist/es2019/create-payload/index.js +74 -28
  23. package/dist/es2019/interaction-metrics/common/constants.js +0 -6
  24. package/dist/es2019/interaction-metrics/index.js +130 -93
  25. package/dist/es2019/interaction-metrics-init/index.js +8 -21
  26. package/dist/es2019/load-hold/UFOLoadHold.js +4 -3
  27. package/dist/es2019/segment/segment.js +12 -6
  28. package/dist/es2019/trace-pageload/index.js +1 -1
  29. package/dist/es2019/vc/vc-observer/index.js +17 -5
  30. package/dist/esm/additional-payload/utils/lighthouse-metrics/utils/buffer/index.js +2 -4
  31. package/dist/esm/common/constants.js +3 -1
  32. package/dist/esm/config/index.js +18 -39
  33. package/dist/esm/create-payload/common/utils/index.js +1 -80
  34. package/dist/esm/create-payload/index.js +75 -33
  35. package/dist/esm/interaction-metrics/common/constants.js +0 -6
  36. package/dist/esm/interaction-metrics/index.js +157 -88
  37. package/dist/esm/interaction-metrics/post-interaction-log.js +1 -2
  38. package/dist/esm/interaction-metrics-init/index.js +10 -24
  39. package/dist/esm/load-hold/UFOLoadHold.js +4 -3
  40. package/dist/esm/segment/segment.js +9 -7
  41. package/dist/esm/trace-pageload/index.js +1 -1
  42. package/dist/esm/vc/vc-observer/index.js +50 -38
  43. package/dist/esm/vc/vc-observer/observers/editor-lnv/index.js +1 -2
  44. package/dist/esm/vc/vc-observer/observers/editor-lnv/test-utils.js +1 -2
  45. package/dist/esm/vc/vc-observer/observers/index.js +1 -2
  46. package/dist/esm/vc/vc-observer/observers/ssr-placeholders/index.js +1 -2
  47. package/dist/types/common/common/types.d.ts +4 -6
  48. package/dist/types/config/index.d.ts +0 -6
  49. package/dist/types/create-payload/common/utils/index.d.ts +0 -12
  50. package/dist/types/create-payload/index.d.ts +5660 -13
  51. package/dist/types/interaction-metrics/common/constants.d.ts +1 -31
  52. package/dist/types/interaction-metrics/index.d.ts +15 -4
  53. package/dist/types/load-hold/UFOLoadHold.d.ts +2 -1
  54. package/dist/types/trace-pageload/index.d.ts +0 -1
  55. package/dist/types/vc/vc-observer/index.d.ts +1 -1
  56. package/dist/types-ts4.5/common/common/types.d.ts +4 -6
  57. package/dist/types-ts4.5/config/index.d.ts +0 -6
  58. package/dist/types-ts4.5/create-payload/common/utils/index.d.ts +0 -12
  59. package/dist/types-ts4.5/create-payload/index.d.ts +5660 -13
  60. package/dist/types-ts4.5/interaction-metrics/common/constants.d.ts +1 -31
  61. package/dist/types-ts4.5/interaction-metrics/index.d.ts +15 -4
  62. package/dist/types-ts4.5/load-hold/UFOLoadHold.d.ts +2 -1
  63. package/dist/types-ts4.5/trace-pageload/index.d.ts +0 -1
  64. package/dist/types-ts4.5/vc/vc-observer/index.d.ts +1 -1
  65. package/package.json +6 -5
  66. package/create-experimental-interaction-metrics-payload/package.json +0 -15
  67. package/dist/cjs/create-experimental-interaction-metrics-payload/index.js +0 -89
  68. package/dist/cjs/interaction-metrics/common/index.js +0 -151
  69. package/dist/es2019/create-experimental-interaction-metrics-payload/index.js +0 -67
  70. package/dist/es2019/interaction-metrics/common/index.js +0 -103
  71. package/dist/esm/create-experimental-interaction-metrics-payload/index.js +0 -81
  72. package/dist/esm/interaction-metrics/common/index.js +0 -132
  73. package/dist/types/create-experimental-interaction-metrics-payload/index.d.ts +0 -31
  74. package/dist/types/interaction-metrics/common/index.d.ts +0 -16
  75. package/dist/types-ts4.5/create-experimental-interaction-metrics-payload/index.d.ts +0 -31
  76. package/dist/types-ts4.5/interaction-metrics/common/index.d.ts +0 -16
package/CHANGELOG.md CHANGED
@@ -1,5 +1,28 @@
1
1
  # @atlaskit/ufo-interaction-ignore
2
2
 
3
+ ## 2.5.1
4
+
5
+ ### Patch Changes
6
+
7
+ - [#172505](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/pull-requests/172505)
8
+ [`e43cba2a879aa`](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/commits/e43cba2a879aa) -
9
+ Remove explicit jest extension with .toBeAccessible matcher
10
+
11
+ ## 2.5.0
12
+
13
+ ### Minor Changes
14
+
15
+ - [#176642](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/pull-requests/176642)
16
+ [`66ae71c3d1e72`](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/commits/66ae71c3d1e72) -
17
+ Revert "AFO-3080: NO-ISSUE Experimental UFO holds and TTAI - 2nd iteration"
18
+
19
+ ### Patch Changes
20
+
21
+ - [#174793](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/pull-requests/174793)
22
+ [`abbfbb3b49665`](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/commits/abbfbb3b49665) -
23
+ remove VC observations after TTAI
24
+ - Updated dependencies
25
+
3
26
  ## 2.4.7
4
27
 
5
28
  ### Patch Changes
@@ -9,7 +9,6 @@ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/cl
9
9
  var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
10
10
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
11
11
  var _const = require("../../const");
12
- var _EntriesBuffer;
13
12
  var BufferWithMaxLength = exports.BufferWithMaxLength = /*#__PURE__*/function () {
14
13
  function BufferWithMaxLength() {
15
14
  var maxLength = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 1000;
@@ -18,7 +17,7 @@ var BufferWithMaxLength = exports.BufferWithMaxLength = /*#__PURE__*/function ()
18
17
  (0, _defineProperty2.default)(this, "full", false);
19
18
  this.maxLength = maxLength;
20
19
  }
21
- (0, _createClass2.default)(BufferWithMaxLength, [{
20
+ return (0, _createClass2.default)(BufferWithMaxLength, [{
22
21
  key: "push",
23
22
  value: function push(item) {
24
23
  if (this.full || this.maxLength === this.buffer.length) {
@@ -33,6 +32,5 @@ var BufferWithMaxLength = exports.BufferWithMaxLength = /*#__PURE__*/function ()
33
32
  return this.buffer;
34
33
  }
35
34
  }]);
36
- return BufferWithMaxLength;
37
35
  }();
38
- var EntriesBuffer = exports.EntriesBuffer = (_EntriesBuffer = {}, (0, _defineProperty2.default)(_EntriesBuffer, _const.PerformanceObserverEntryTypes.LongTask, new BufferWithMaxLength()), (0, _defineProperty2.default)(_EntriesBuffer, _const.PerformanceObserverEntryTypes.LayoutShift, new BufferWithMaxLength()), _EntriesBuffer);
36
+ var EntriesBuffer = exports.EntriesBuffer = (0, _defineProperty2.default)((0, _defineProperty2.default)({}, _const.PerformanceObserverEntryTypes.LongTask, new BufferWithMaxLength()), _const.PerformanceObserverEntryTypes.LayoutShift, new BufferWithMaxLength());
@@ -5,4 +5,5 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.REACT_UFO_VERSION = void 0;
7
7
  var _platformFeatureFlags = require("@atlaskit/platform-feature-flags");
8
- var REACT_UFO_VERSION = exports.REACT_UFO_VERSION = (0, _platformFeatureFlags.fg)('react-ufo-payload-segment-compressed') ? '2.0.0' : '1.0.1';
8
+ // eslint-disable-next-line @atlaskit/platform/no-module-level-eval
9
+ var REACT_UFO_VERSION = exports.REACT_UFO_VERSION = (0, _platformFeatureFlags.fg)('enable-react-ufo-payload-segment-compressed') ? '2.0.0' : '1.0.1';
@@ -8,7 +8,6 @@ exports.getCapabilityRate = getCapabilityRate;
8
8
  exports.getConfig = getConfig;
9
9
  exports.getDoNotAbortActivePressInteraction = getDoNotAbortActivePressInteraction;
10
10
  exports.getDoNotAbortActivePressInteractionOnTransition = getDoNotAbortActivePressInteractionOnTransition;
11
- exports.getExperimentalInteractionRate = getExperimentalInteractionRate;
12
11
  exports.getInteractionRate = getInteractionRate;
13
12
  exports.getPostInteractionRate = getPostInteractionRate;
14
13
  exports.getRemoveInteractionsUFOPrefixes = getRemoveInteractionsUFOPrefixes;
@@ -82,34 +81,13 @@ function getInteractionRate(name, interactionKind) {
82
81
  return 0;
83
82
  }
84
83
  }
85
- function getExperimentalInteractionRate(name, interactionType) {
86
- try {
87
- if (!config) {
88
- return 0;
89
- }
90
- var _config2 = config,
91
- experimentalInteractionMetrics = _config2.experimentalInteractionMetrics;
92
- if (!(experimentalInteractionMetrics !== null && experimentalInteractionMetrics !== void 0 && experimentalInteractionMetrics.enabled)) {
93
- return 0;
94
- }
95
- if (experimentalInteractionMetrics.rates && typeof experimentalInteractionMetrics.rates[name] === 'number') {
96
- return experimentalInteractionMetrics.rates[name];
97
- }
98
- if (experimentalInteractionMetrics.kind && typeof experimentalInteractionMetrics.kind[interactionType] === 'number') {
99
- return experimentalInteractionMetrics.kind[interactionType];
100
- }
101
- return 0;
102
- } catch (e) {
103
- return 0;
104
- }
105
- }
106
84
  function getPostInteractionRate(name, interactionType) {
107
85
  try {
108
86
  if (!config) {
109
87
  return 0;
110
88
  }
111
- var _config3 = config,
112
- postInteractionLog = _config3.postInteractionLog;
89
+ var _config2 = config,
90
+ postInteractionLog = _config2.postInteractionLog;
113
91
  if (!(postInteractionLog !== null && postInteractionLog !== void 0 && postInteractionLog.enabled)) {
114
92
  return 0;
115
93
  }
@@ -129,8 +107,8 @@ function getCapabilityRate(capability) {
129
107
  if (!config) {
130
108
  return 0;
131
109
  }
132
- var _config4 = config,
133
- capabilityRate = _config4.capability;
110
+ var _config3 = config,
111
+ capabilityRate = _config3.capability;
134
112
  if (capabilityRate != null) {
135
113
  var rate = capabilityRate[capability];
136
114
  if (rate != null) {
@@ -149,8 +127,8 @@ function getTypingPerformanceTracingMethod() {
149
127
  if (!config) {
150
128
  return defaultMethod;
151
129
  }
152
- var _config5 = config,
153
- typingMethod = _config5.typingMethod;
130
+ var _config4 = config,
131
+ typingMethod = _config4.typingMethod;
154
132
  if (typingMethod != null && validTypingMethods.find(function (m) {
155
133
  return m === typingMethod;
156
134
  })) {
@@ -169,8 +147,8 @@ function getAwaitBM3TTIList() {
169
147
  if (!config) {
170
148
  return [];
171
149
  }
172
- var _config6 = config,
173
- awaitBM3TTI = _config6.awaitBM3TTI;
150
+ var _config5 = config,
151
+ awaitBM3TTI = _config5.awaitBM3TTI;
174
152
  if (awaitBM3TTI != null) {
175
153
  return awaitBM3TTI;
176
154
  } else {
@@ -187,8 +165,8 @@ function getRemovePageSegmentsUFOPrefixes() {
187
165
  if (!config) {
188
166
  return false;
189
167
  }
190
- var _config7 = config,
191
- removePageSegmentsUFOPrefixes = _config7.removePageSegmentsUFOPrefixes;
168
+ var _config6 = config,
169
+ removePageSegmentsUFOPrefixes = _config6.removePageSegmentsUFOPrefixes;
192
170
  if (removePageSegmentsUFOPrefixes != null) {
193
171
  return removePageSegmentsUFOPrefixes;
194
172
  } else {
@@ -205,8 +183,8 @@ function getRemoveInteractionsUFOPrefixes() {
205
183
  if (!config) {
206
184
  return false;
207
185
  }
208
- var _config8 = config,
209
- removeInteractionsUFOPrefixes = _config8.removeInteractionsUFOPrefixes;
186
+ var _config7 = config,
187
+ removeInteractionsUFOPrefixes = _config7.removeInteractionsUFOPrefixes;
210
188
  if (removeInteractionsUFOPrefixes != null) {
211
189
  return removeInteractionsUFOPrefixes;
212
190
  } else {
@@ -226,8 +204,8 @@ function getUfoNameOverrides() {
226
204
  if (!config) {
227
205
  return undefined;
228
206
  }
229
- var _config9 = config,
230
- ufoNameOverrides = _config9.ufoNameOverrides;
207
+ var _config8 = config,
208
+ ufoNameOverrides = _config8.ufoNameOverrides;
231
209
  if (ufoNameOverrides != null) {
232
210
  return ufoNameOverrides;
233
211
  }
@@ -243,8 +221,8 @@ function getDoNotAbortActivePressInteraction() {
243
221
  if (!config) {
244
222
  return undefined;
245
223
  }
246
- var _config10 = config,
247
- doNotAbortActivePressInteraction = _config10.doNotAbortActivePressInteraction;
224
+ var _config9 = config,
225
+ doNotAbortActivePressInteraction = _config9.doNotAbortActivePressInteraction;
248
226
  return doNotAbortActivePressInteraction;
249
227
  } catch (e) {
250
228
  return undefined;
@@ -257,8 +235,8 @@ function getDoNotAbortActivePressInteractionOnTransition() {
257
235
  if (!config) {
258
236
  return undefined;
259
237
  }
260
- var _config11 = config,
261
- doNotAbortActivePressInteractionOnTransition = _config11.doNotAbortActivePressInteractionOnTransition;
238
+ var _config10 = config,
239
+ doNotAbortActivePressInteractionOnTransition = _config10.doNotAbortActivePressInteractionOnTransition;
262
240
  return doNotAbortActivePressInteractionOnTransition;
263
241
  } catch (e) {
264
242
  return undefined;
@@ -1,14 +1,10 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
- var _typeof = require("@babel/runtime/helpers/typeof");
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
8
7
  exports.buildSegmentTree = buildSegmentTree;
9
- exports.getPageVisibilityUpToTTAI = exports.getInteractionStatus = exports.getExperimentalVCMetrics = exports.calculateVCMetrics = void 0;
10
- exports.getSSRDoneTimeValue = getSSRDoneTimeValue;
11
- exports.getVCMetrics = exports.getTTAI = void 0;
12
8
  exports.isSegmentLabel = isSegmentLabel;
13
9
  exports.labelStackStartWith = labelStackStartWith;
14
10
  exports.optimizeLabelStack = optimizeLabelStack;
@@ -16,13 +12,6 @@ exports.sanitizeUfoName = void 0;
16
12
  exports.stringifyLabelStackFully = stringifyLabelStackFully;
17
13
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
18
14
  var _constants = require("../../../common/constants");
19
- var _config = require("../../../config");
20
- var _hiddenTiming = require("../../../hidden-timing");
21
- var _interactionMetrics = require("../../../interaction-metrics");
22
- var ssr = _interopRequireWildcard(require("../../../ssr"));
23
- var _vc = require("../../../vc");
24
- function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
25
- function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
26
15
  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; }
27
16
  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; } /* eslint-disable @typescript-eslint/no-non-null-asserted-optional-chain */
28
17
  var sanitizeUfoName = exports.sanitizeUfoName = function sanitizeUfoName(name) {
@@ -81,77 +70,4 @@ function optimizeLabelStack(labelStack) {
81
70
  s: ls.segmentId
82
71
  } : {});
83
72
  });
84
- }
85
- var getInteractionStatus = exports.getInteractionStatus = function getInteractionStatus(interaction) {
86
- var originalInteractionStatus = interaction.abortReason ? 'ABORTED' : 'SUCCEEDED';
87
- var hasBm3TTI = interaction.apdex.length > 0;
88
- var overrideStatus = hasBm3TTI ? 'SUCCEEDED' : originalInteractionStatus;
89
- return {
90
- originalInteractionStatus: originalInteractionStatus,
91
- overrideStatus: overrideStatus
92
- };
93
- };
94
- var getPageVisibilityUpToTTAI = exports.getPageVisibilityUpToTTAI = function getPageVisibilityUpToTTAI(interaction) {
95
- var start = interaction.start,
96
- end = interaction.end;
97
- return (0, _hiddenTiming.getPageVisibilityState)(start, end);
98
- };
99
- var calculateVCMetrics = exports.calculateVCMetrics = function calculateVCMetrics(interaction, prefix, getVCResultFn) {
100
- var _interaction$apdex;
101
- var result = getVCResultFn({
102
- start: interaction.start,
103
- stop: interaction.end,
104
- tti: (_interaction$apdex = interaction.apdex) === null || _interaction$apdex === void 0 || (_interaction$apdex = _interaction$apdex[0]) === null || _interaction$apdex === void 0 ? void 0 : _interaction$apdex.stopTime,
105
- prefix: prefix,
106
- vc: interaction.vc
107
- });
108
- var VC = result === null || result === void 0 ? void 0 : result['metrics:vc'];
109
- if (!VC || !(result !== null && result !== void 0 && result["".concat(prefix, ":vc:clean")])) {
110
- return result;
111
- }
112
- var interactionStatus = getInteractionStatus(interaction);
113
- var pageVisibilityUpToTTAI = getPageVisibilityUpToTTAI(interaction);
114
- if (interactionStatus.originalInteractionStatus !== 'SUCCEEDED' || pageVisibilityUpToTTAI !== 'visible') {
115
- return result;
116
- }
117
- return result;
118
- };
119
- function getSSRDoneTimeValue(config) {
120
- var _config$ssr, _config$ssr2;
121
- return config !== null && config !== void 0 && (_config$ssr = config.ssr) !== null && _config$ssr !== void 0 && _config$ssr.getSSRDoneTime ? config === null || config === void 0 || (_config$ssr2 = config.ssr) === null || _config$ssr2 === void 0 ? void 0 : _config$ssr2.getSSRDoneTime() : ssr.getSSRDoneTime();
122
- }
123
- var getVCMetrics = exports.getVCMetrics = function getVCMetrics(interaction) {
124
- var _config$vc, _result$metricsVc;
125
- var config = (0, _config.getConfig)();
126
- if (!(config !== null && config !== void 0 && (_config$vc = config.vc) !== null && _config$vc !== void 0 && _config$vc.enabled)) {
127
- return {};
128
- }
129
- if (interaction.type !== 'page_load' && interaction.type !== 'transition') {
130
- return {};
131
- }
132
- var ssr = interaction.type === 'page_load' && config !== null && config !== void 0 && config.ssr ? {
133
- ssr: getSSRDoneTimeValue(config)
134
- } : null;
135
- _interactionMetrics.postInteractionLog.setVCObserverSSRConfig(ssr);
136
- var result = calculateVCMetrics(interaction, 'ufo', (0, _vc.getVCObserver)().getVCResult);
137
- return _objectSpread(_objectSpread({}, result), {}, {
138
- 'metric:vc90': result === null || result === void 0 || (_result$metricsVc = result['metrics:vc']) === null || _result$metricsVc === void 0 ? void 0 : _result$metricsVc['90']
139
- });
140
- };
141
- var getExperimentalVCMetrics = exports.getExperimentalVCMetrics = function getExperimentalVCMetrics(interaction) {
142
- if (_interactionMetrics.experimentalInteractionLog.vcObserver) {
143
- var _result$metricsVc2;
144
- var result = calculateVCMetrics(interaction, 'ufo-experimental', _interactionMetrics.experimentalInteractionLog.vcObserver.getVCResult);
145
- return _objectSpread(_objectSpread({}, result), {}, {
146
- 'metric:experimental:vc90': result === null || result === void 0 || (_result$metricsVc2 = result['metrics:vc']) === null || _result$metricsVc2 === void 0 ? void 0 : _result$metricsVc2['90']
147
- });
148
- }
149
- return null;
150
- };
151
- var getTTAI = exports.getTTAI = function getTTAI(interaction) {
152
- var start = interaction.start,
153
- end = interaction.end;
154
- var interactionStatus = getInteractionStatus(interaction);
155
- var pageVisibilityUpToTTAI = getPageVisibilityUpToTTAI(interaction);
156
- return interactionStatus.originalInteractionStatus === 'SUCCEEDED' && pageVisibilityUpToTTAI === 'visible' ? Math.round(end - start) : undefined;
157
- };
73
+ }
@@ -5,9 +5,7 @@ var _typeof = require("@babel/runtime/helpers/typeof");
5
5
  Object.defineProperty(exports, "__esModule", {
6
6
  value: true
7
7
  });
8
- exports.createInteractionMetricsPayload = createInteractionMetricsPayload;
9
8
  exports.createPayloads = createPayloads;
10
- exports.getUfoNameOverride = getUfoNameOverride;
11
9
  var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
12
10
  var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
13
11
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
@@ -26,6 +24,7 @@ var _interactionMetrics = require("../interaction-metrics");
26
24
  var resourceTiming = _interopRequireWildcard(require("../resource-timing"));
27
25
  var _roundNumber = require("../round-number");
28
26
  var ssr = _interopRequireWildcard(require("../ssr"));
27
+ var _vc = require("../vc");
29
28
  var _utils = require("./common/utils");
30
29
  var _excluded = ["labelStack", "time"],
31
30
  _excluded2 = ["stopTime", "labelStack"],
@@ -47,6 +46,7 @@ function getUfoNameOverride(interaction) {
47
46
  }
48
47
  }
49
48
  return ufoName;
49
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
50
50
  } catch (e) {
51
51
  return ufoName;
52
52
  }
@@ -81,6 +81,11 @@ var getPageVisibilityUpToTTI = function getPageVisibilityUpToTTI(interaction) {
81
81
  var bm3EndTimeOrInteractionEndTime = getBm3EndTimeOrFallbackValue(interaction);
82
82
  return (0, _hiddenTiming.getPageVisibilityState)(start, bm3EndTimeOrInteractionEndTime);
83
83
  };
84
+ var getPageVisibilityUpToTTAI = function getPageVisibilityUpToTTAI(interaction) {
85
+ var start = interaction.start,
86
+ end = interaction.end;
87
+ return (0, _hiddenTiming.getPageVisibilityState)(start, end);
88
+ };
84
89
  var getVisibilityStateFromPerformance = function getVisibilityStateFromPerformance(stop) {
85
90
  try {
86
91
  var results = performance.getEntriesByType('visibility-state');
@@ -126,7 +131,7 @@ var getMoreAccuratePageVisibilityUpToTTI = function getMoreAccuratePageVisibilit
126
131
  return old;
127
132
  };
128
133
  var getMoreAccuratePageVisibilityUpToTTAI = function getMoreAccuratePageVisibilityUpToTTAI(interaction) {
129
- var old = (0, _utils.getPageVisibilityUpToTTAI)(interaction);
134
+ var old = getPageVisibilityUpToTTAI(interaction);
130
135
  var buffered = getVisibilityStateFromPerformance(interaction.end);
131
136
  if (!buffered) {
132
137
  return old;
@@ -136,6 +141,15 @@ var getMoreAccuratePageVisibilityUpToTTAI = function getMoreAccuratePageVisibili
136
141
  }
137
142
  return old;
138
143
  };
144
+ var getInteractionStatus = function getInteractionStatus(interaction) {
145
+ var originalInteractionStatus = interaction.abortReason ? 'ABORTED' : 'SUCCEEDED';
146
+ var hasBm3TTI = interaction.apdex.length > 0;
147
+ var overrideStatus = hasBm3TTI ? 'SUCCEEDED' : originalInteractionStatus;
148
+ return {
149
+ originalInteractionStatus: originalInteractionStatus,
150
+ overrideStatus: overrideStatus
151
+ };
152
+ };
139
153
  var getResourceTimings = function getResourceTimings(start, end) {
140
154
  var _resourceTiming$getRe;
141
155
  return (_resourceTiming$getRe = resourceTiming.getResourceTimings(start, end)) !== null && _resourceTiming$getRe !== void 0 ? _resourceTiming$getRe : undefined;
@@ -164,6 +178,42 @@ var getPaintMetrics = function getPaintMetrics(type) {
164
178
  });
165
179
  return metrics;
166
180
  };
181
+ var getVCMetrics = function getVCMetrics(interaction) {
182
+ var _config$vc, _interaction$apdex;
183
+ var config = (0, _config.getConfig)();
184
+ if (!(config !== null && config !== void 0 && (_config$vc = config.vc) !== null && _config$vc !== void 0 && _config$vc.enabled)) {
185
+ return {};
186
+ }
187
+ if (interaction.type !== 'page_load' && interaction.type !== 'transition') {
188
+ return {};
189
+ }
190
+ var ssr = interaction.type === 'page_load' && config !== null && config !== void 0 && config.ssr ? {
191
+ ssr: getSSRDoneTimeValue(config)
192
+ } : null;
193
+ _interactionMetrics.postInteractionLog.setVCObserverSSRConfig(ssr);
194
+ var tti = (_interaction$apdex = interaction.apdex) === null || _interaction$apdex === void 0 || (_interaction$apdex = _interaction$apdex[0]) === null || _interaction$apdex === void 0 ? void 0 : _interaction$apdex.stopTime;
195
+ var prefix = 'ufo';
196
+ var result = (0, _vc.getVCObserver)().getVCResult(_objectSpread({
197
+ start: interaction.start,
198
+ stop: interaction.end,
199
+ tti: tti,
200
+ prefix: prefix,
201
+ vc: interaction.vc
202
+ }, ssr));
203
+ _interactionMetrics.postInteractionLog.setLastInteractionFinishVCResult(result);
204
+ var VC = result === null || result === void 0 ? void 0 : result['metrics:vc'];
205
+ if (!VC || !(result !== null && result !== void 0 && result["".concat(prefix, ":vc:clean")])) {
206
+ return result;
207
+ }
208
+ var interactionStatus = getInteractionStatus(interaction);
209
+ var pageVisibilityUpToTTAI = getPageVisibilityUpToTTAI(interaction);
210
+ if (interactionStatus.originalInteractionStatus !== 'SUCCEEDED' || pageVisibilityUpToTTAI !== 'visible') {
211
+ return result;
212
+ }
213
+ return _objectSpread(_objectSpread({}, result), {}, {
214
+ 'metric:vc90': VC['90']
215
+ });
216
+ };
167
217
  var getNavigationMetrics = function getNavigationMetrics(type) {
168
218
  if (type !== 'page_load') {
169
219
  return {};
@@ -211,13 +261,13 @@ var getNavigationMetrics = function getNavigationMetrics(type) {
211
261
  };
212
262
  };
213
263
  var getPPSMetrics = function getPPSMetrics(interaction) {
214
- var _interaction$apdex;
264
+ var _interaction$apdex2;
215
265
  var start = interaction.start,
216
266
  end = interaction.end;
217
267
  var config = (0, _config.getConfig)();
218
- var interactionStatus = (0, _utils.getInteractionStatus)(interaction);
219
- var pageVisibilityUpToTTAI = (0, _utils.getPageVisibilityUpToTTAI)(interaction);
220
- var tti = (_interaction$apdex = interaction.apdex) === null || _interaction$apdex === void 0 || (_interaction$apdex = _interaction$apdex[0]) === null || _interaction$apdex === void 0 ? void 0 : _interaction$apdex.stopTime;
268
+ var interactionStatus = getInteractionStatus(interaction);
269
+ var pageVisibilityUpToTTAI = getPageVisibilityUpToTTAI(interaction);
270
+ var tti = (_interaction$apdex2 = interaction.apdex) === null || _interaction$apdex2 === void 0 || (_interaction$apdex2 = _interaction$apdex2[0]) === null || _interaction$apdex2 === void 0 ? void 0 : _interaction$apdex2.stopTime;
221
271
  var ttai = interactionStatus.originalInteractionStatus === 'SUCCEEDED' && pageVisibilityUpToTTAI === 'visible' ? Math.round(end - start) : undefined;
222
272
  var PPSMetricsAtTTI = tti !== undefined ? (0, _additionalPayload.getLighthouseMetrics)({
223
273
  start: start,
@@ -308,13 +358,13 @@ function optimizeCustomData(interaction) {
308
358
  for (var _i = 0, _Object$entries = Object.entries(currentValue.custom || {}); _i < _Object$entries.length; _i++) {
309
359
  var _result$get$data2, _result$get2;
310
360
  var _Object$entries$_i = (0, _slicedToArray2.default)(_Object$entries[_i], 2),
311
- key = _Object$entries$_i[0],
361
+ _key = _Object$entries$_i[0],
312
362
  value = _Object$entries$_i[1];
313
363
  var label = (0, _utils.stringifyLabelStackFully)([]);
314
364
  var labelValue = (_result$get$data2 = (_result$get2 = result.get(label)) === null || _result$get2 === void 0 ? void 0 : _result$get2.data) !== null && _result$get$data2 !== void 0 ? _result$get$data2 : {};
315
365
  result.set(label, {
316
366
  labelStack: (0, _utils.optimizeLabelStack)([]),
317
- data: Object.assign(labelValue, (0, _defineProperty2.default)({}, key, value))
367
+ data: Object.assign(labelValue, (0, _defineProperty2.default)({}, _key, value))
318
368
  });
319
369
  }
320
370
  return result;
@@ -552,6 +602,10 @@ function getBm3TrackerTimings(interaction) {
552
602
  legacyMetrics: legacyMetrics
553
603
  };
554
604
  }
605
+ function getSSRDoneTimeValue(config) {
606
+ var _config$ssr, _config$ssr2;
607
+ return config !== null && config !== void 0 && (_config$ssr = config.ssr) !== null && _config$ssr !== void 0 && _config$ssr.getSSRDoneTime ? config === null || config === void 0 || (_config$ssr2 = config.ssr) === null || _config$ssr2 === void 0 ? void 0 : _config$ssr2.getSSRDoneTime() : ssr.getSSRDoneTime();
608
+ }
555
609
  function getPayloadSize(payload) {
556
610
  return Math.round(new TextEncoder().encode(JSON.stringify(payload)).length / 1024);
557
611
  }
@@ -594,15 +648,13 @@ function getStylesheetMetrics() {
594
648
  return {};
595
649
  }
596
650
  }
597
- var regularTTAI;
598
- var expTTAI;
599
651
  function getErrorCounts(interaction) {
600
652
  return {
601
653
  'ufo:errors:globalCount': (0, _globalErrorHandler.getGlobalErrorCount)(),
602
654
  'ufo:errors:count': interaction.errors.length
603
655
  };
604
656
  }
605
- function createInteractionMetricsPayload(interaction, interactionId, experimental) {
657
+ function createInteractionMetricsPayload(interaction, interactionId) {
606
658
  var _window$location, _config$additionalPay;
607
659
  var interactionPayloadStart = performance.now();
608
660
  var config = (0, _config.getConfig)();
@@ -622,7 +674,7 @@ function createInteractionMetricsPayload(interaction, interactionId, experimenta
622
674
  isPreviousInteractionAborted = interaction.isPreviousInteractionAborted,
623
675
  abortedByInteractionName = interaction.abortedByInteractionName;
624
676
  var pageVisibilityAtTTI = getPageVisibilityUpToTTI(interaction);
625
- var pageVisibilityAtTTAI = (0, _utils.getPageVisibilityUpToTTAI)(interaction);
677
+ var pageVisibilityAtTTAI = getPageVisibilityUpToTTAI(interaction);
626
678
  var segments = config.killswitchNestedSegments ? [] : knownSegments;
627
679
  var segmentTree = _constants.REACT_UFO_VERSION === '2.0.0' ? (0, _utils.buildSegmentTree)(segments.map(function (segment) {
628
680
  return segment.labelStack;
@@ -637,23 +689,23 @@ function createInteractionMetricsPayload(interaction, interactionId, experimenta
637
689
  } : {};
638
690
  // Page Load
639
691
  var getPageLoadInteractionMetrics = function getPageLoadInteractionMetrics() {
640
- var _config$ssr;
692
+ var _config$ssr3;
641
693
  if (!isPageLoad) {
642
694
  return {};
643
695
  }
644
696
  var config = (0, _config.getConfig)();
645
- var SSRDoneTimeValue = (0, _utils.getSSRDoneTimeValue)(config);
697
+ var SSRDoneTimeValue = getSSRDoneTimeValue(config);
646
698
  var SSRDoneTime = SSRDoneTimeValue !== undefined ? {
647
699
  SSRDoneTime: Math.round(SSRDoneTimeValue)
648
700
  } : {};
649
701
  return _objectSpread(_objectSpread({}, SSRDoneTime), {}, {
650
702
  isBM3ConfigSSRDoneAsFmp: interaction.metaData.__legacy__bm3ConfigSSRDoneAsFmp,
651
- isUFOConfigSSRDoneAsFmp: interaction.metaData.__legacy__bm3ConfigSSRDoneAsFmp || !!(config !== null && config !== void 0 && (_config$ssr = config.ssr) !== null && _config$ssr !== void 0 && _config$ssr.getSSRDoneTime)
703
+ isUFOConfigSSRDoneAsFmp: interaction.metaData.__legacy__bm3ConfigSSRDoneAsFmp || !!(config !== null && config !== void 0 && (_config$ssr3 = config.ssr) !== null && _config$ssr3 !== void 0 && _config$ssr3.getSSRDoneTime)
652
704
  });
653
705
  };
654
706
  // Detailed payload. Page visibility = visible
655
707
  var getDetailedInteractionMetrics = function getDetailedInteractionMetrics() {
656
- if (experimental || window.__UFO_COMPACT_PAYLOAD__ || !isDetailedPayload) {
708
+ if (window.__UFO_COMPACT_PAYLOAD__ || !isDetailedPayload) {
657
709
  return {};
658
710
  }
659
711
  var spans = [].concat((0, _toConsumableArray2.default)(interaction.spans), (0, _toConsumableArray2.default)(_interactionMetrics.interactionSpans));
@@ -668,7 +720,7 @@ function createInteractionMetricsPayload(interaction, interactionId, experimenta
668
720
  }),
669
721
  holdActive: (0, _toConsumableArray2.default)(interaction.holdActive.values()),
670
722
  redirects: optimizeRedirects(interaction.redirects, start),
671
- holdInfo: optimizeHoldInfo(experimental ? interaction.holdExpInfo : interaction.holdInfo, start),
723
+ holdInfo: optimizeHoldInfo(interaction.holdInfo, start),
672
724
  spans: optimizeSpans(spans, start),
673
725
  requestInfo: optimizeRequestInfo(interaction.requestInfo, start),
674
726
  customTimings: optimizeCustomTimings(interaction.customTimings, start),
@@ -678,21 +730,16 @@ function createInteractionMetricsPayload(interaction, interactionId, experimenta
678
730
  };
679
731
  // Page load & detailed payload
680
732
  var getPageLoadDetailedInteractionMetrics = function getPageLoadDetailedInteractionMetrics() {
681
- var _config$ssr2;
733
+ var _config$ssr4;
682
734
  if (!isPageLoad || !isDetailedPayload) {
683
735
  return {};
684
736
  }
685
737
  var config = (0, _config.getConfig)();
686
738
  return {
687
739
  initialPageLoadExtraTimings: objectToArray(initialPageLoadExtraTiming.getTimings()),
688
- SSRTimings: config !== null && config !== void 0 && (_config$ssr2 = config.ssr) !== null && _config$ssr2 !== void 0 && _config$ssr2.getSSRTimings ? config.ssr.getSSRTimings() : objectToArray(ssr.getSSRTimings())
740
+ SSRTimings: config !== null && config !== void 0 && (_config$ssr4 = config.ssr) !== null && _config$ssr4 !== void 0 && _config$ssr4.getSSRTimings ? config.ssr.getSSRTimings() : objectToArray(ssr.getSSRTimings())
689
741
  };
690
742
  };
691
- if (experimental) {
692
- expTTAI = (0, _utils.getTTAI)(interaction);
693
- } else {
694
- regularTTAI = (0, _utils.getTTAI)(interaction);
695
- }
696
743
  var newUFOName = (0, _utils.sanitizeUfoName)(ufoName);
697
744
  var payload = {
698
745
  actionSubject: 'experience',
@@ -701,7 +748,7 @@ function createInteractionMetricsPayload(interaction, interactionId, experimenta
701
748
  source: 'measured',
702
749
  tags: ['observability'],
703
750
  attributes: {
704
- properties: _objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread({
751
+ properties: _objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread({
705
752
  // basic
706
753
  'event:hostname': ((_window$location = window.location) === null || _window$location === void 0 ? void 0 : _window$location.hostname) || 'unknown',
707
754
  'event:product': config.product,
@@ -713,10 +760,10 @@ function createInteractionMetricsPayload(interaction, interactionId, experimenta
713
760
  payloadSource: 'platform'
714
761
  },
715
762
  'event:region': config.region || 'unknown',
716
- 'experience:key': experimental ? 'custom.experimental-interaction-metrics' : 'custom.interaction-metrics',
763
+ 'experience:key': 'custom.interaction-metrics',
717
764
  'experience:name': newUFOName
718
- }, getBrowserMetadata()), getSSRProperties(type)), getPPSMetrics(interaction)), getPaintMetrics(type)), getNavigationMetrics(type)), (0, _utils.getVCMetrics)(interaction)), experimental ? (0, _utils.getExperimentalVCMetrics)(interaction) : undefined), (_config$additionalPay = config.additionalPayloadData) === null || _config$additionalPay === void 0 ? void 0 : _config$additionalPay.call(config, interaction)), getTracingContextData(interaction)), getStylesheetMetrics()), getErrorCounts(interaction)), {}, {
719
- interactionMetrics: _objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread({
765
+ }, getBrowserMetadata()), getSSRProperties(type)), getPPSMetrics(interaction)), getPaintMetrics(type)), getNavigationMetrics(type)), getVCMetrics(interaction)), (_config$additionalPay = config.additionalPayloadData) === null || _config$additionalPay === void 0 ? void 0 : _config$additionalPay.call(config, interaction)), getTracingContextData(interaction)), getStylesheetMetrics()), getErrorCounts(interaction)), {}, {
766
+ interactionMetrics: _objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread({
720
767
  namePrefix: config.namePrefix || '',
721
768
  segmentPrefix: config.segmentPrefix || '',
722
769
  interactionId: interactionId,
@@ -747,18 +794,11 @@ function createInteractionMetricsPayload(interaction, interactionId, experimenta
747
794
  marks: optimizeMarks(interaction.marks),
748
795
  customData: optimizeCustomData(interaction),
749
796
  reactProfilerTimings: optimizeReactProfilerTimings(interaction.reactProfilerTimings, start)
750
- }, labelStack), getPageLoadInteractionMetrics()), getDetailedInteractionMetrics()), getPageLoadDetailedInteractionMetrics()), getBm3TrackerTimings(interaction)), {}, {
751
- 'metric:ttai': experimental ? regularTTAI || expTTAI : undefined,
752
- 'metric:experimental:ttai': experimental ? expTTAI : undefined
753
- }),
797
+ }, labelStack), getPageLoadInteractionMetrics()), getDetailedInteractionMetrics()), getPageLoadDetailedInteractionMetrics()), getBm3TrackerTimings(interaction)),
754
798
  'ufo:payloadTime': (0, _roundNumber.roundEpsilon)(performance.now() - interactionPayloadStart)
755
799
  })
756
800
  }
757
801
  };
758
- if (experimental) {
759
- regularTTAI = undefined;
760
- expTTAI = undefined;
761
- }
762
802
  payload.attributes.properties['event:sizeInKb'] = getPayloadSize(payload.attributes.properties);
763
803
  return payload;
764
804
  }
@@ -3,12 +3,6 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.segmentObservers = exports.segmentCache = exports.moduleLoadingRequests = exports.interactionQueue = exports.default = exports.CLEANUP_TIMEOUT_AFTER_APDEX = exports.CLEANUP_TIMEOUT = void 0;
6
+ exports.default = void 0;
7
7
  var interactions = new Map();
8
- var CLEANUP_TIMEOUT = exports.CLEANUP_TIMEOUT = 60 * 1000;
9
- var CLEANUP_TIMEOUT_AFTER_APDEX = exports.CLEANUP_TIMEOUT_AFTER_APDEX = 15 * 1000;
10
- var interactionQueue = exports.interactionQueue = [];
11
- var segmentCache = exports.segmentCache = new Map();
12
- var segmentObservers = exports.segmentObservers = [];
13
- var moduleLoadingRequests = exports.moduleLoadingRequests = {};
14
8
  var _default = exports.default = interactions;