@atlaskit/react-ufo 2.7.0 → 2.8.0

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 (53) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/dist/cjs/config/index.js +18 -40
  3. package/dist/cjs/create-payload/common/utils/index.js +2 -66
  4. package/dist/cjs/create-payload/index.js +78 -55
  5. package/dist/cjs/interaction-metrics/common/constants.js +3 -8
  6. package/dist/cjs/interaction-metrics/index.js +238 -166
  7. package/dist/cjs/interaction-metrics-init/index.js +9 -31
  8. package/dist/cjs/load-hold/UFOLoadHold.js +3 -5
  9. package/dist/cjs/segment/segment.js +8 -9
  10. package/dist/es2019/config/index.js +0 -22
  11. package/dist/es2019/create-payload/common/utils/index.js +1 -68
  12. package/dist/es2019/create-payload/index.js +77 -48
  13. package/dist/es2019/interaction-metrics/common/constants.js +2 -7
  14. package/dist/es2019/interaction-metrics/index.js +131 -91
  15. package/dist/es2019/interaction-metrics-init/index.js +8 -28
  16. package/dist/es2019/load-hold/UFOLoadHold.js +3 -5
  17. package/dist/es2019/segment/segment.js +11 -8
  18. package/dist/esm/config/index.js +18 -39
  19. package/dist/esm/create-payload/common/utils/index.js +1 -63
  20. package/dist/esm/create-payload/index.js +78 -53
  21. package/dist/esm/interaction-metrics/common/constants.js +2 -7
  22. package/dist/esm/interaction-metrics/index.js +158 -86
  23. package/dist/esm/interaction-metrics-init/index.js +8 -28
  24. package/dist/esm/load-hold/UFOLoadHold.js +3 -5
  25. package/dist/esm/segment/segment.js +8 -9
  26. package/dist/types/common/common/types.d.ts +4 -6
  27. package/dist/types/config/index.d.ts +0 -6
  28. package/dist/types/create-payload/common/utils/index.d.ts +0 -9
  29. package/dist/types/create-payload/index.d.ts +5660 -13
  30. package/dist/types/interaction-context/index.d.ts +0 -1
  31. package/dist/types/interaction-metrics/common/constants.d.ts +3 -32
  32. package/dist/types/interaction-metrics/index.d.ts +17 -1
  33. package/dist/types/load-hold/UFOLoadHold.d.ts +2 -1
  34. package/dist/types-ts4.5/common/common/types.d.ts +4 -6
  35. package/dist/types-ts4.5/config/index.d.ts +0 -6
  36. package/dist/types-ts4.5/create-payload/common/utils/index.d.ts +0 -9
  37. package/dist/types-ts4.5/create-payload/index.d.ts +5660 -13
  38. package/dist/types-ts4.5/interaction-context/index.d.ts +0 -1
  39. package/dist/types-ts4.5/interaction-metrics/common/constants.d.ts +3 -32
  40. package/dist/types-ts4.5/interaction-metrics/index.d.ts +17 -1
  41. package/dist/types-ts4.5/load-hold/UFOLoadHold.d.ts +2 -1
  42. package/package.json +2 -3
  43. package/create-experimental-interaction-metrics-payload/package.json +0 -15
  44. package/dist/cjs/create-experimental-interaction-metrics-payload/index.js +0 -100
  45. package/dist/cjs/interaction-metrics/common/index.js +0 -151
  46. package/dist/es2019/create-experimental-interaction-metrics-payload/index.js +0 -71
  47. package/dist/es2019/interaction-metrics/common/index.js +0 -103
  48. package/dist/esm/create-experimental-interaction-metrics-payload/index.js +0 -90
  49. package/dist/esm/interaction-metrics/common/index.js +0 -132
  50. package/dist/types/create-experimental-interaction-metrics-payload/index.d.ts +0 -16
  51. package/dist/types/interaction-metrics/common/index.d.ts +0 -16
  52. package/dist/types-ts4.5/create-experimental-interaction-metrics-payload/index.d.ts +0 -16
  53. package/dist/types-ts4.5/interaction-metrics/common/index.d.ts +0 -16
package/CHANGELOG.md CHANGED
@@ -1,5 +1,17 @@
1
1
  # @atlaskit/ufo-interaction-ignore
2
2
 
3
+ ## 2.8.0
4
+
5
+ ### Minor Changes
6
+
7
+ - [#182829](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/pull-requests/182829)
8
+ [`38eb19b4da809`](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/commits/38eb19b4da809) -
9
+ Revert Experimental UFO holds
10
+
11
+ ### Patch Changes
12
+
13
+ - Updated dependencies
14
+
3
15
  ## 2.7.0
4
16
 
5
17
  ### Minor Changes
@@ -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;
@@ -5,24 +5,15 @@ Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
7
  exports.buildSegmentTree = buildSegmentTree;
8
- exports.getPageVisibilityUpToTTAI = exports.calculateVCMetrics = void 0;
9
- exports.getSSRDoneTimeValue = getSSRDoneTimeValue;
10
- exports.getVCMetrics = exports.getTTAI = void 0;
11
8
  exports.isSegmentLabel = isSegmentLabel;
12
9
  exports.labelStackStartWith = labelStackStartWith;
13
10
  exports.optimizeLabelStack = optimizeLabelStack;
14
- exports.sanitizeUfoName = exports.postInteractionLog = void 0;
11
+ exports.sanitizeUfoName = void 0;
15
12
  exports.stringifyLabelStackFully = stringifyLabelStackFully;
16
13
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
17
14
  var _constants = require("../../../common/constants");
18
- var _config = require("../../../config");
19
- var _hiddenTiming = require("../../../hidden-timing");
20
- var _postInteractionLog = _interopRequireDefault(require("../../../interaction-metrics/post-interaction-log"));
21
- var _ssr = require("../../../ssr");
22
- var _vc = require("../../../vc");
23
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; }
24
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 */
25
- var postInteractionLog = exports.postInteractionLog = new _postInteractionLog.default();
26
17
  var sanitizeUfoName = exports.sanitizeUfoName = function sanitizeUfoName(name) {
27
18
  return name.replace(/_/g, '-');
28
19
  };
@@ -79,59 +70,4 @@ function optimizeLabelStack(labelStack) {
79
70
  s: ls.segmentId
80
71
  } : {});
81
72
  });
82
- }
83
- var getPageVisibilityUpToTTAI = exports.getPageVisibilityUpToTTAI = function getPageVisibilityUpToTTAI(interaction) {
84
- var start = interaction.start,
85
- end = interaction.end;
86
- return (0, _hiddenTiming.getPageVisibilityState)(start, end);
87
- };
88
- var calculateVCMetrics = exports.calculateVCMetrics = function calculateVCMetrics(interaction, prefix, getVCResultFn) {
89
- var _interaction$apdex;
90
- var result = getVCResultFn({
91
- start: interaction.start,
92
- stop: interaction.end,
93
- 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,
94
- prefix: prefix,
95
- vc: interaction.vc
96
- });
97
- var VC = result === null || result === void 0 ? void 0 : result['metrics:vc'];
98
- if (!VC || !(result !== null && result !== void 0 && result["".concat(prefix, ":vc:clean")])) {
99
- return result;
100
- }
101
- var pageVisibilityUpToTTAI = getPageVisibilityUpToTTAI(interaction);
102
- if (interaction.abortReason || pageVisibilityUpToTTAI !== 'visible') {
103
- return result;
104
- }
105
- return result;
106
- };
107
- function getSSRDoneTimeValue(config) {
108
- var _config$ssr, _config$ssr2;
109
- 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() : (0, _ssr.getSSRDoneTime)();
110
- }
111
- var getVCMetrics = exports.getVCMetrics = function getVCMetrics(interaction) {
112
- var _config$vc, _config$vc$ssrWhiteli, _result$metricsVc;
113
- var config = (0, _config.getConfig)();
114
- if (!(config !== null && config !== void 0 && (_config$vc = config.vc) !== null && _config$vc !== void 0 && _config$vc.enabled)) {
115
- return {};
116
- }
117
- if (interaction.type !== 'page_load' && interaction.type !== 'transition') {
118
- return {};
119
- }
120
- var isSSREnabled = (config === null || config === void 0 ? void 0 : config.ssr) || (config === null || config === void 0 || (_config$vc$ssrWhiteli = config.vc.ssrWhitelist) === null || _config$vc$ssrWhiteli === void 0 ? void 0 : _config$vc$ssrWhiteli.includes(interaction.ufoName));
121
- var ssr = interaction.type === 'page_load' && isSSREnabled ? {
122
- ssr: getSSRDoneTimeValue(config)
123
- } : null;
124
- postInteractionLog.setVCObserverSSRConfig(ssr);
125
- var result = calculateVCMetrics(interaction, 'ufo', (0, _vc.getVCObserver)().getVCResult);
126
- (0, _vc.getVCObserver)().stop();
127
- postInteractionLog.setLastInteractionFinishVCResult(result);
128
- return _objectSpread(_objectSpread({}, result), {}, {
129
- 'metric:vc90': result === null || result === void 0 || (_result$metricsVc = result['metrics:vc']) === null || _result$metricsVc === void 0 ? void 0 : _result$metricsVc['90']
130
- });
131
- };
132
- var getTTAI = exports.getTTAI = function getTTAI(interaction) {
133
- var start = interaction.start,
134
- end = interaction.end;
135
- var pageVisibilityUpToTTAI = getPageVisibilityUpToTTAI(interaction);
136
- return !interaction.abortReason && pageVisibilityUpToTTAI === 'visible' ? Math.round(end - start) : undefined;
137
- };
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.createExperimentalMetricsPayload = createExperimentalMetricsPayload;
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"));
@@ -16,10 +14,8 @@ var _bowserUltralight = _interopRequireDefault(require("bowser-ultralight"));
16
14
  var _platformFeatureFlags = require("@atlaskit/platform-feature-flags");
17
15
  var _additionalPayload = require("../additional-payload");
18
16
  var bundleEvalTiming = _interopRequireWildcard(require("../bundle-eval-timing"));
19
- var _coinflip = _interopRequireDefault(require("../coinflip"));
20
17
  var _constants = require("../common/constants");
21
18
  var _config = require("../config");
22
- var _createExperimentalInteractionMetricsPayload = require("../create-experimental-interaction-metrics-payload");
23
19
  var _customTimings = require("../custom-timings");
24
20
  var _globalErrorHandler = require("../global-error-handler");
25
21
  var _hiddenTiming = require("../hidden-timing");
@@ -28,6 +24,7 @@ var _interactionMetrics = require("../interaction-metrics");
28
24
  var resourceTiming = _interopRequireWildcard(require("../resource-timing"));
29
25
  var _roundNumber = require("../round-number");
30
26
  var ssr = _interopRequireWildcard(require("../ssr"));
27
+ var _vc = require("../vc");
31
28
  var _utils = require("./common/utils");
32
29
  var _excluded = ["labelStack", "time"],
33
30
  _excluded2 = ["stopTime", "labelStack"],
@@ -49,6 +46,7 @@ function getUfoNameOverride(interaction) {
49
46
  }
50
47
  }
51
48
  return ufoName;
49
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
52
50
  } catch (e) {
53
51
  return ufoName;
54
52
  }
@@ -83,6 +81,11 @@ var getPageVisibilityUpToTTI = function getPageVisibilityUpToTTI(interaction) {
83
81
  var bm3EndTimeOrInteractionEndTime = getBm3EndTimeOrFallbackValue(interaction);
84
82
  return (0, _hiddenTiming.getPageVisibilityState)(start, bm3EndTimeOrInteractionEndTime);
85
83
  };
84
+ var getPageVisibilityUpToTTAI = function getPageVisibilityUpToTTAI(interaction) {
85
+ var start = interaction.start,
86
+ end = interaction.end;
87
+ return (0, _hiddenTiming.getPageVisibilityState)(start, end);
88
+ };
86
89
  var getVisibilityStateFromPerformance = function getVisibilityStateFromPerformance(stop) {
87
90
  try {
88
91
  var results = performance.getEntriesByType('visibility-state');
@@ -128,7 +131,7 @@ var getMoreAccuratePageVisibilityUpToTTI = function getMoreAccuratePageVisibilit
128
131
  return old;
129
132
  };
130
133
  var getMoreAccuratePageVisibilityUpToTTAI = function getMoreAccuratePageVisibilityUpToTTAI(interaction) {
131
- var old = (0, _utils.getPageVisibilityUpToTTAI)(interaction);
134
+ var old = getPageVisibilityUpToTTAI(interaction);
132
135
  var buffered = getVisibilityStateFromPerformance(interaction.end);
133
136
  if (!buffered) {
134
137
  return old;
@@ -138,6 +141,15 @@ var getMoreAccuratePageVisibilityUpToTTAI = function getMoreAccuratePageVisibili
138
141
  }
139
142
  return old;
140
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
+ };
141
153
  var getResourceTimings = function getResourceTimings(start, end) {
142
154
  var _resourceTiming$getRe;
143
155
  return (_resourceTiming$getRe = resourceTiming.getResourceTimings(start, end)) !== null && _resourceTiming$getRe !== void 0 ? _resourceTiming$getRe : undefined;
@@ -166,6 +178,42 @@ var getPaintMetrics = function getPaintMetrics(type) {
166
178
  });
167
179
  return metrics;
168
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
+ };
169
217
  var getNavigationMetrics = function getNavigationMetrics(type) {
170
218
  if (type !== 'page_load') {
171
219
  return {};
@@ -213,13 +261,14 @@ var getNavigationMetrics = function getNavigationMetrics(type) {
213
261
  };
214
262
  };
215
263
  var getPPSMetrics = function getPPSMetrics(interaction) {
216
- var _interaction$apdex;
264
+ var _interaction$apdex2;
217
265
  var start = interaction.start,
218
266
  end = interaction.end;
219
267
  var config = (0, _config.getConfig)();
220
- var pageVisibilityUpToTTAI = (0, _utils.getPageVisibilityUpToTTAI)(interaction);
221
- 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;
222
- var ttai = !interaction.abortReason && pageVisibilityUpToTTAI === 'visible' ? Math.round(end - start) : undefined;
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;
271
+ var ttai = interactionStatus.originalInteractionStatus === 'SUCCEEDED' && pageVisibilityUpToTTAI === 'visible' ? Math.round(end - start) : undefined;
223
272
  var PPSMetricsAtTTI = tti !== undefined ? (0, _additionalPayload.getLighthouseMetrics)({
224
273
  start: start,
225
274
  stop: tti
@@ -309,13 +358,13 @@ function optimizeCustomData(interaction) {
309
358
  for (var _i = 0, _Object$entries = Object.entries(currentValue.custom || {}); _i < _Object$entries.length; _i++) {
310
359
  var _result$get$data2, _result$get2;
311
360
  var _Object$entries$_i = (0, _slicedToArray2.default)(_Object$entries[_i], 2),
312
- key = _Object$entries$_i[0],
361
+ _key = _Object$entries$_i[0],
313
362
  value = _Object$entries$_i[1];
314
363
  var label = (0, _utils.stringifyLabelStackFully)([]);
315
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 : {};
316
365
  result.set(label, {
317
366
  labelStack: (0, _utils.optimizeLabelStack)([]),
318
- data: Object.assign(labelValue, (0, _defineProperty2.default)({}, key, value))
367
+ data: Object.assign(labelValue, (0, _defineProperty2.default)({}, _key, value))
319
368
  });
320
369
  }
321
370
  return result;
@@ -553,6 +602,10 @@ function getBm3TrackerTimings(interaction) {
553
602
  legacyMetrics: legacyMetrics
554
603
  };
555
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
+ }
556
609
  function getPayloadSize(payload) {
557
610
  return Math.round(new TextEncoder().encode(JSON.stringify(payload)).length / 1024);
558
611
  }
@@ -595,15 +648,13 @@ function getStylesheetMetrics() {
595
648
  return {};
596
649
  }
597
650
  }
598
- var regularTTAI;
599
- var expTTAI;
600
651
  function getErrorCounts(interaction) {
601
652
  return {
602
653
  'ufo:errors:globalCount': (0, _globalErrorHandler.getGlobalErrorCount)(),
603
654
  'ufo:errors:count': interaction.errors.length
604
655
  };
605
656
  }
606
- function createInteractionMetricsPayload(interaction, interactionId, experimental) {
657
+ function createInteractionMetricsPayload(interaction, interactionId) {
607
658
  var _window$location, _config$additionalPay;
608
659
  var interactionPayloadStart = performance.now();
609
660
  var config = (0, _config.getConfig)();
@@ -623,7 +674,7 @@ function createInteractionMetricsPayload(interaction, interactionId, experimenta
623
674
  isPreviousInteractionAborted = interaction.isPreviousInteractionAborted,
624
675
  abortedByInteractionName = interaction.abortedByInteractionName;
625
676
  var pageVisibilityAtTTI = getPageVisibilityUpToTTI(interaction);
626
- var pageVisibilityAtTTAI = (0, _utils.getPageVisibilityUpToTTAI)(interaction);
677
+ var pageVisibilityAtTTAI = getPageVisibilityUpToTTAI(interaction);
627
678
  var segments = config.killswitchNestedSegments ? [] : knownSegments;
628
679
  var segmentTree = _constants.REACT_UFO_VERSION === '2.0.0' ? (0, _utils.buildSegmentTree)(segments.map(function (segment) {
629
680
  return segment.labelStack;
@@ -638,23 +689,23 @@ function createInteractionMetricsPayload(interaction, interactionId, experimenta
638
689
  } : {};
639
690
  // Page Load
640
691
  var getPageLoadInteractionMetrics = function getPageLoadInteractionMetrics() {
641
- var _config$ssr;
692
+ var _config$ssr3;
642
693
  if (!isPageLoad) {
643
694
  return {};
644
695
  }
645
696
  var config = (0, _config.getConfig)();
646
- var SSRDoneTimeValue = (0, _utils.getSSRDoneTimeValue)(config);
697
+ var SSRDoneTimeValue = getSSRDoneTimeValue(config);
647
698
  var SSRDoneTime = SSRDoneTimeValue !== undefined ? {
648
699
  SSRDoneTime: Math.round(SSRDoneTimeValue)
649
700
  } : {};
650
701
  return _objectSpread(_objectSpread({}, SSRDoneTime), {}, {
651
702
  isBM3ConfigSSRDoneAsFmp: interaction.metaData.__legacy__bm3ConfigSSRDoneAsFmp,
652
- 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)
653
704
  });
654
705
  };
655
706
  // Detailed payload. Page visibility = visible
656
707
  var getDetailedInteractionMetrics = function getDetailedInteractionMetrics() {
657
- if (experimental || window.__UFO_COMPACT_PAYLOAD__ || !isDetailedPayload) {
708
+ if (window.__UFO_COMPACT_PAYLOAD__ || !isDetailedPayload) {
658
709
  return {};
659
710
  }
660
711
  var spans = [].concat((0, _toConsumableArray2.default)(interaction.spans), (0, _toConsumableArray2.default)(_interactionMetrics.interactionSpans));
@@ -669,7 +720,7 @@ function createInteractionMetricsPayload(interaction, interactionId, experimenta
669
720
  }),
670
721
  holdActive: (0, _toConsumableArray2.default)(interaction.holdActive.values()),
671
722
  redirects: optimizeRedirects(interaction.redirects, start),
672
- holdInfo: optimizeHoldInfo(experimental ? interaction.holdExpInfo : interaction.holdInfo, start),
723
+ holdInfo: optimizeHoldInfo(interaction.holdInfo, start),
673
724
  spans: optimizeSpans(spans, start),
674
725
  requestInfo: optimizeRequestInfo(interaction.requestInfo, start),
675
726
  customTimings: optimizeCustomTimings(interaction.customTimings, start),
@@ -679,21 +730,16 @@ function createInteractionMetricsPayload(interaction, interactionId, experimenta
679
730
  };
680
731
  // Page load & detailed payload
681
732
  var getPageLoadDetailedInteractionMetrics = function getPageLoadDetailedInteractionMetrics() {
682
- var _config$ssr2;
733
+ var _config$ssr4;
683
734
  if (!isPageLoad || !isDetailedPayload) {
684
735
  return {};
685
736
  }
686
737
  var config = (0, _config.getConfig)();
687
738
  return {
688
739
  initialPageLoadExtraTimings: objectToArray(initialPageLoadExtraTiming.getTimings()),
689
- 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())
690
741
  };
691
742
  };
692
- if (experimental) {
693
- expTTAI = (0, _utils.getTTAI)(interaction);
694
- } else {
695
- regularTTAI = (0, _utils.getTTAI)(interaction);
696
- }
697
743
  var newUFOName = (0, _utils.sanitizeUfoName)(ufoName);
698
744
  var payload = {
699
745
  actionSubject: 'experience',
@@ -702,7 +748,7 @@ function createInteractionMetricsPayload(interaction, interactionId, experimenta
702
748
  source: 'measured',
703
749
  tags: ['observability'],
704
750
  attributes: {
705
- 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({
706
752
  // basic
707
753
  'event:hostname': ((_window$location = window.location) === null || _window$location === void 0 ? void 0 : _window$location.hostname) || 'unknown',
708
754
  'event:product': config.product,
@@ -714,10 +760,10 @@ function createInteractionMetricsPayload(interaction, interactionId, experimenta
714
760
  payloadSource: 'platform'
715
761
  },
716
762
  'event:region': config.region || 'unknown',
717
- 'experience:key': experimental ? 'custom.experimental-interaction-metrics' : 'custom.interaction-metrics',
763
+ 'experience:key': 'custom.interaction-metrics',
718
764
  'experience:name': newUFOName
719
- }, getBrowserMetadata()), getSSRProperties(type)), getPPSMetrics(interaction)), getPaintMetrics(type)), getNavigationMetrics(type)), (0, _utils.getVCMetrics)(interaction)), experimental ? (0, _createExperimentalInteractionMetricsPayload.getExperimentalVCMetrics)(interaction) : undefined), (_config$additionalPay = config.additionalPayloadData) === null || _config$additionalPay === void 0 ? void 0 : _config$additionalPay.call(config, interaction)), getTracingContextData(interaction)), getStylesheetMetrics()), getErrorCounts(interaction)), {}, {
720
- 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({
721
767
  namePrefix: config.namePrefix || '',
722
768
  segmentPrefix: config.segmentPrefix || '',
723
769
  interactionId: interactionId,
@@ -748,18 +794,11 @@ function createInteractionMetricsPayload(interaction, interactionId, experimenta
748
794
  marks: optimizeMarks(interaction.marks),
749
795
  customData: optimizeCustomData(interaction),
750
796
  reactProfilerTimings: optimizeReactProfilerTimings(interaction.reactProfilerTimings, start)
751
- }, labelStack), getPageLoadInteractionMetrics()), getDetailedInteractionMetrics()), getPageLoadDetailedInteractionMetrics()), getBm3TrackerTimings(interaction)), {}, {
752
- 'metric:ttai': experimental ? regularTTAI || expTTAI : undefined,
753
- 'metric:experimental:ttai': expTTAI
754
- }),
797
+ }, labelStack), getPageLoadInteractionMetrics()), getDetailedInteractionMetrics()), getPageLoadDetailedInteractionMetrics()), getBm3TrackerTimings(interaction)),
755
798
  'ufo:payloadTime': (0, _roundNumber.roundEpsilon)(performance.now() - interactionPayloadStart)
756
799
  })
757
800
  }
758
801
  };
759
- if (experimental) {
760
- regularTTAI = undefined;
761
- expTTAI = undefined;
762
- }
763
802
  payload.attributes.properties['event:sizeInKb'] = getPayloadSize(payload.attributes.properties);
764
803
  return payload;
765
804
  }
@@ -770,20 +809,4 @@ function createPayloads(interactionId, interaction) {
770
809
  });
771
810
  var interactionMetricsPayload = createInteractionMetricsPayload(modifiedInteraction, interactionId);
772
811
  return [interactionMetricsPayload];
773
- }
774
- function createExperimentalMetricsPayload(interactionId, interaction) {
775
- var config = (0, _config.getConfig)();
776
- if (!config) {
777
- throw Error('UFO Configuration not provided');
778
- }
779
- var ufoName = (0, _utils.sanitizeUfoName)(interaction.ufoName);
780
- var rate = (0, _config.getExperimentalInteractionRate)(ufoName, interaction.type);
781
- if (!(0, _coinflip.default)(rate)) {
782
- return null;
783
- }
784
- var pageVisibilityState = (0, _hiddenTiming.getPageVisibilityState)(interaction.start, interaction.end);
785
- if (pageVisibilityState !== 'visible') {
786
- return null;
787
- }
788
- return createInteractionMetricsPayload(interaction, interactionId, true);
789
812
  }
@@ -3,11 +3,6 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.segmentObservers = exports.segmentCache = exports.moduleLoadingRequests = exports.interactions = exports.interactionQueue = exports.CLEANUP_TIMEOUT_AFTER_APDEX = exports.CLEANUP_TIMEOUT = void 0;
7
- var interactions = exports.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 = {};
6
+ exports.default = void 0;
7
+ var interactions = new Map();
8
+ var _default = exports.default = interactions;