@atlaskit/react-ufo 3.13.22 → 3.13.24

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 (37) hide show
  1. package/CHANGELOG.md +16 -0
  2. package/dist/cjs/config/index.js +22 -0
  3. package/dist/cjs/create-payload/index.js +10 -2
  4. package/dist/cjs/create-payload/utils/get-vc-metrics.js +1 -1
  5. package/dist/cjs/interaction-metrics/index.js +3 -3
  6. package/dist/cjs/interaction-metrics-init/index.js +1 -1
  7. package/dist/cjs/segment/segment.js +2 -1
  8. package/dist/cjs/ssr/index.js +9 -4
  9. package/dist/es2019/config/index.js +21 -0
  10. package/dist/es2019/create-payload/index.js +11 -1
  11. package/dist/es2019/create-payload/utils/get-vc-metrics.js +1 -1
  12. package/dist/es2019/interaction-metrics/index.js +4 -4
  13. package/dist/es2019/interaction-metrics-init/index.js +1 -1
  14. package/dist/es2019/segment/segment.js +2 -1
  15. package/dist/es2019/ssr/index.js +8 -4
  16. package/dist/esm/config/index.js +20 -0
  17. package/dist/esm/create-payload/index.js +10 -2
  18. package/dist/esm/create-payload/utils/get-vc-metrics.js +1 -1
  19. package/dist/esm/interaction-metrics/index.js +4 -4
  20. package/dist/esm/interaction-metrics-init/index.js +1 -1
  21. package/dist/esm/segment/segment.js +2 -1
  22. package/dist/esm/ssr/index.js +8 -4
  23. package/dist/types/config/index.d.ts +3 -0
  24. package/dist/types/create-payload/index.d.ts +64 -0
  25. package/dist/types/segment/segment.d.ts +5 -2
  26. package/dist/types/ssr/index.d.ts +24 -0
  27. package/dist/types/vc/vc-observer/index.d.ts +1 -1
  28. package/dist/types/vc/vc-observer/observers/ssr-placeholders/index.d.ts +1 -1
  29. package/dist/types/vc/vc-observer-new/metric-calculator/abstract-base-vc-calculator.d.ts +1 -1
  30. package/dist/types-ts4.5/config/index.d.ts +3 -0
  31. package/dist/types-ts4.5/create-payload/index.d.ts +64 -0
  32. package/dist/types-ts4.5/segment/segment.d.ts +5 -2
  33. package/dist/types-ts4.5/ssr/index.d.ts +24 -0
  34. package/dist/types-ts4.5/vc/vc-observer/index.d.ts +1 -1
  35. package/dist/types-ts4.5/vc/vc-observer/observers/ssr-placeholders/index.d.ts +1 -1
  36. package/dist/types-ts4.5/vc/vc-observer-new/metric-calculator/abstract-base-vc-calculator.d.ts +1 -1
  37. package/package.json +7 -1
package/CHANGELOG.md CHANGED
@@ -1,5 +1,21 @@
1
1
  # @atlaskit/ufo-interaction-ignore
2
2
 
3
+ ## 3.13.24
4
+
5
+ ### Patch Changes
6
+
7
+ - [#174440](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/pull-requests/174440)
8
+ [`8354b610a7617`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/8354b610a7617) -
9
+ Adds displayName to ufo segment to help with component tracking
10
+
11
+ ## 3.13.23
12
+
13
+ ### Patch Changes
14
+
15
+ - [#173171](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/pull-requests/173171)
16
+ [`e60305b08b528`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/e60305b08b528) -
17
+ Added fg to enable new interaction metrics in jsm portal
18
+
3
19
  ## 3.13.22
4
20
 
5
21
  ### Patch Changes
@@ -4,6 +4,7 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
4
4
  Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
+ exports.CLEANUP_TIMEOUT = void 0;
7
8
  exports.getAwaitBM3TTIList = getAwaitBM3TTIList;
8
9
  exports.getCapabilityRate = getCapabilityRate;
9
10
  exports.getConfig = getConfig;
@@ -12,6 +13,7 @@ exports.getDoNotAbortActivePressInteractionOnTransition = getDoNotAbortActivePre
12
13
  exports.getEnabledVCRevisions = getEnabledVCRevisions;
13
14
  exports.getExperimentalInteractionRate = getExperimentalInteractionRate;
14
15
  exports.getInteractionRate = getInteractionRate;
16
+ exports.getInteractionTimeout = getInteractionTimeout;
15
17
  exports.getMostRecentVCRevision = getMostRecentVCRevision;
16
18
  exports.getPostInteractionRate = getPostInteractionRate;
17
19
  exports.getRemoveInteractionsUFOPrefixes = getRemoveInteractionsUFOPrefixes;
@@ -325,4 +327,24 @@ function getDoNotAbortActivePressInteractionOnTransition() {
325
327
  } catch (e) {
326
328
  return undefined;
327
329
  }
330
+ }
331
+ var CLEANUP_TIMEOUT = exports.CLEANUP_TIMEOUT = 60 * 1000;
332
+ function getInteractionTimeout(ufoName) {
333
+ try {
334
+ if (!config) {
335
+ return CLEANUP_TIMEOUT;
336
+ }
337
+ var _config10 = config,
338
+ interactionTimeout = _config10.interactionTimeout;
339
+ if (interactionTimeout != null && interactionTimeout[ufoName] != null) {
340
+ return interactionTimeout[ufoName];
341
+ }
342
+ if (interactionTimeout != null && interactionTimeout.__globalInteractionTimeout != null) {
343
+ return interactionTimeout.__globalInteractionTimeout;
344
+ } else {
345
+ return CLEANUP_TIMEOUT;
346
+ }
347
+ } catch (e) {
348
+ return CLEANUP_TIMEOUT;
349
+ }
328
350
  }
@@ -155,6 +155,9 @@ function getBundleEvalTimings(start) {
155
155
  function getSSRSuccess(type) {
156
156
  return type === 'page_load' ? ssr.getSSRSuccess() : undefined;
157
157
  }
158
+ function getSSRPhaseSuccess(type) {
159
+ return type === 'page_load' ? ssr.getSSRPhaseSuccess() : undefined;
160
+ }
158
161
  function getSSRFeatureFlags(type) {
159
162
  return type === 'page_load' ? ssr.getSSRFeatureFlags() : undefined;
160
163
  }
@@ -309,10 +312,15 @@ function getPPSMetrics(interaction) {
309
312
  return {};
310
313
  }
311
314
  function getSSRProperties(type) {
312
- return {
315
+ var ssrPhases = getSSRPhaseSuccess(type);
316
+ return _objectSpread(_objectSpread({
313
317
  'ssr:success': getSSRSuccess(type),
314
318
  'ssr:featureFlags': getSSRFeatureFlags(type)
315
- };
319
+ }, (ssrPhases === null || ssrPhases === void 0 ? void 0 : ssrPhases.earlyFlush) != null ? {
320
+ 'ssr:earlyflush:success': ssrPhases.earlyFlush
321
+ } : null), (ssrPhases === null || ssrPhases === void 0 ? void 0 : ssrPhases.prefetch) != null ? {
322
+ 'ssr:prefetch:success': ssrPhases.prefetch
323
+ } : null);
316
324
  }
317
325
  function getAssetsMetrics(interaction, SSRDoneTime) {
318
326
  try {
@@ -34,7 +34,7 @@ function _getVCMetrics() {
34
34
  }
35
35
  return _context.abrupt("return", {});
36
36
  case 3:
37
- if (!(0, _platformFeatureFlags.fg)('platform_ufo_enable_interactions_vc')) {
37
+ if (!((0, _platformFeatureFlags.fg)('platform_ufo_enable_interactions_vc') || (0, _platformFeatureFlags.fg)('platform_ufo_enable_interactivity_jsm'))) {
38
38
  _context.next = 8;
39
39
  break;
40
40
  }
@@ -758,10 +758,10 @@ function addNewInteraction(interactionId, ufoName, type, startTime, rate, labelS
758
758
  postInteractionLog.reset();
759
759
  }
760
760
  var previousTime = startTime;
761
- var timeoutTime = CLEANUP_TIMEOUT;
761
+ var timeoutTime = (0, _platformFeatureFlags.fg)('platform_ufo_enable_timeout_config') ? (0, _config.getInteractionTimeout)(ufoName) : CLEANUP_TIMEOUT;
762
762
  var timerID = setTimeout(function () {
763
763
  abort(interactionId, 'timeout');
764
- }, CLEANUP_TIMEOUT);
764
+ }, timeoutTime);
765
765
  function changeTimeout(newTime) {
766
766
  // we compare if the time left is lower than the new time to no
767
767
  // extend the timeout beyond the initial waiting time
@@ -856,7 +856,7 @@ function addNewInteraction(interactionId, ufoName, type, startTime, rate, labelS
856
856
  });
857
857
  }
858
858
  }
859
- if (type === 'press' && (0, _platformFeatureFlags.fg)('platform_ufo_enable_interactions_vc')) {
859
+ if (type === 'press' && ((0, _platformFeatureFlags.fg)('platform_ufo_enable_interactions_vc') || (0, _platformFeatureFlags.fg)('platform_ufo_enable_interactivity_jsm'))) {
860
860
  var _getConfig13;
861
861
  (0, _vc.getVCObserver)().start({
862
862
  startTime: startTime,
@@ -114,7 +114,7 @@ function init(analyticsWebClientAsync, config) {
114
114
  (0, _hiddenTiming.setupHiddenTimingCapture)();
115
115
  (0, _additionalPayload.startLighthouseObserver)();
116
116
  initialized = true;
117
- if ((0, _platformFeatureFlags.fg)('platform_ufo_enable_events_observer')) {
117
+ if ((0, _platformFeatureFlags.fg)('platform_ufo_enable_events_observer') || (0, _platformFeatureFlags.fg)('platform_ufo_enable_interactivity_jsm')) {
118
118
  if (typeof PerformanceObserver !== 'undefined') {
119
119
  var observer = (0, _interactionsPerformanceObserver.getPerformanceObserver)();
120
120
  observer.observe({
@@ -276,4 +276,5 @@ function UFOSegment(_ref) {
276
276
  }, /*#__PURE__*/_react.default.createElement(AsyncSegmentHighlight, {
277
277
  segmentName: segmentName
278
278
  }))));
279
- }
279
+ }
280
+ UFOSegment.displayName = 'UFOSegment';
@@ -7,6 +7,7 @@ Object.defineProperty(exports, "__esModule", {
7
7
  exports.configure = configure;
8
8
  exports.getSSRDoneTime = getSSRDoneTime;
9
9
  exports.getSSRFeatureFlags = getSSRFeatureFlags;
10
+ exports.getSSRPhaseSuccess = getSSRPhaseSuccess;
10
11
  exports.getSSRSuccess = getSSRSuccess;
11
12
  exports.getSSRTimings = getSSRTimings;
12
13
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
@@ -58,13 +59,17 @@ function getSSRSuccess() {
58
59
  var _config2;
59
60
  return !!((_config2 = config) !== null && _config2 !== void 0 && _config2.getDoneMark());
60
61
  }
62
+ function getSSRPhaseSuccess() {
63
+ var _config3, _config3$getSsrPhaseS;
64
+ return (_config3 = config) === null || _config3 === void 0 || (_config3$getSsrPhaseS = _config3.getSsrPhaseSuccess) === null || _config3$getSsrPhaseS === void 0 ? void 0 : _config3$getSsrPhaseS.call(_config3);
65
+ }
61
66
  function getSSRDoneTime() {
62
- var _config$getDoneMark, _config3;
63
- return (_config$getDoneMark = (_config3 = config) === null || _config3 === void 0 ? void 0 : _config3.getDoneMark()) !== null && _config$getDoneMark !== void 0 ? _config$getDoneMark : undefined;
67
+ var _config$getDoneMark, _config4;
68
+ return (_config$getDoneMark = (_config4 = config) === null || _config4 === void 0 ? void 0 : _config4.getDoneMark()) !== null && _config$getDoneMark !== void 0 ? _config$getDoneMark : undefined;
64
69
  }
65
70
  function getSSRFeatureFlags() {
66
- var _config4;
67
- if (!((_config4 = config) !== null && _config4 !== void 0 && _config4.getFeatureFlags)) {
71
+ var _config5;
72
+ if (!((_config5 = config) !== null && _config5 !== void 0 && _config5.getFeatureFlags)) {
68
73
  return undefined;
69
74
  }
70
75
  try {
@@ -313,4 +313,25 @@ export function getDoNotAbortActivePressInteractionOnTransition() {
313
313
  } catch (e) {
314
314
  return undefined;
315
315
  }
316
+ }
317
+ export const CLEANUP_TIMEOUT = 60 * 1000;
318
+ export function getInteractionTimeout(ufoName) {
319
+ try {
320
+ if (!config) {
321
+ return CLEANUP_TIMEOUT;
322
+ }
323
+ const {
324
+ interactionTimeout
325
+ } = config;
326
+ if (interactionTimeout != null && interactionTimeout[ufoName] != null) {
327
+ return interactionTimeout[ufoName];
328
+ }
329
+ if (interactionTimeout != null && interactionTimeout.__globalInteractionTimeout != null) {
330
+ return interactionTimeout.__globalInteractionTimeout;
331
+ } else {
332
+ return CLEANUP_TIMEOUT;
333
+ }
334
+ } catch (e) {
335
+ return CLEANUP_TIMEOUT;
336
+ }
316
337
  }
@@ -134,6 +134,9 @@ function getBundleEvalTimings(start) {
134
134
  function getSSRSuccess(type) {
135
135
  return type === 'page_load' ? ssr.getSSRSuccess() : undefined;
136
136
  }
137
+ function getSSRPhaseSuccess(type) {
138
+ return type === 'page_load' ? ssr.getSSRPhaseSuccess() : undefined;
139
+ }
137
140
  function getSSRFeatureFlags(type) {
138
141
  return type === 'page_load' ? ssr.getSSRFeatureFlags() : undefined;
139
142
  }
@@ -272,9 +275,16 @@ function getPPSMetrics(interaction) {
272
275
  return {};
273
276
  }
274
277
  function getSSRProperties(type) {
278
+ const ssrPhases = getSSRPhaseSuccess(type);
275
279
  return {
276
280
  'ssr:success': getSSRSuccess(type),
277
- 'ssr:featureFlags': getSSRFeatureFlags(type)
281
+ 'ssr:featureFlags': getSSRFeatureFlags(type),
282
+ ...((ssrPhases === null || ssrPhases === void 0 ? void 0 : ssrPhases.earlyFlush) != null ? {
283
+ 'ssr:earlyflush:success': ssrPhases.earlyFlush
284
+ } : null),
285
+ ...((ssrPhases === null || ssrPhases === void 0 ? void 0 : ssrPhases.prefetch) != null ? {
286
+ 'ssr:prefetch:success': ssrPhases.prefetch
287
+ } : null)
278
288
  };
279
289
  }
280
290
  function getAssetsMetrics(interaction, SSRDoneTime) {
@@ -11,7 +11,7 @@ async function getVCMetrics(interaction) {
11
11
  if (!(config !== null && config !== void 0 && (_config$vc = config.vc) !== null && _config$vc !== void 0 && _config$vc.enabled)) {
12
12
  return {};
13
13
  }
14
- if (fg('platform_ufo_enable_interactions_vc')) {
14
+ if (fg('platform_ufo_enable_interactions_vc') || fg('platform_ufo_enable_interactivity_jsm')) {
15
15
  if (interaction.type !== 'page_load' && interaction.type !== 'transition' && interaction.type !== 'press') {
16
16
  return {};
17
17
  }
@@ -1,7 +1,7 @@
1
1
  import { v4 as createUUID } from 'uuid';
2
2
  import { fg } from '@atlaskit/platform-feature-flags';
3
3
  import coinflip from '../coinflip';
4
- import { getAwaitBM3TTIList, getCapabilityRate, getConfig } from '../config';
4
+ import { getAwaitBM3TTIList, getCapabilityRate, getConfig, getInteractionTimeout } from '../config';
5
5
  import { experimentalVC, getExperimentalVCMetrics, onExperimentalInteractionComplete } from '../create-experimental-interaction-metrics-payload';
6
6
  import { clearActiveTrace } from '../experience-trace-id-context';
7
7
  import { allFeatureFlagsAccessed, currentFeatureFlagsAccessed } from '../feature-flags-accessed';
@@ -634,10 +634,10 @@ export function addNewInteraction(interactionId, ufoName, type, startTime, rate,
634
634
  postInteractionLog.reset();
635
635
  }
636
636
  let previousTime = startTime;
637
- let timeoutTime = CLEANUP_TIMEOUT;
637
+ let timeoutTime = fg('platform_ufo_enable_timeout_config') ? getInteractionTimeout(ufoName) : CLEANUP_TIMEOUT;
638
638
  const timerID = setTimeout(() => {
639
639
  abort(interactionId, 'timeout');
640
- }, CLEANUP_TIMEOUT);
640
+ }, timeoutTime);
641
641
  function changeTimeout(newTime) {
642
642
  // we compare if the time left is lower than the new time to no
643
643
  // extend the timeout beyond the initial waiting time
@@ -732,7 +732,7 @@ export function addNewInteraction(interactionId, ufoName, type, startTime, rate,
732
732
  });
733
733
  }
734
734
  }
735
- if (type === 'press' && fg('platform_ufo_enable_interactions_vc')) {
735
+ if (type === 'press' && (fg('platform_ufo_enable_interactions_vc') || fg('platform_ufo_enable_interactivity_jsm'))) {
736
736
  var _getConfig13, _getConfig13$experime;
737
737
  getVCObserver().start({
738
738
  startTime,
@@ -104,7 +104,7 @@ export function init(analyticsWebClientAsync, config) {
104
104
  setupHiddenTimingCapture();
105
105
  startLighthouseObserver();
106
106
  initialized = true;
107
- if (fg('platform_ufo_enable_events_observer')) {
107
+ if (fg('platform_ufo_enable_events_observer') || fg('platform_ufo_enable_interactivity_jsm')) {
108
108
  if (typeof PerformanceObserver !== 'undefined') {
109
109
  const observer = getPerformanceObserver();
110
110
  observer.observe({
@@ -246,4 +246,5 @@ export default function UFOSegment({
246
246
  }, /*#__PURE__*/React.createElement(AsyncSegmentHighlight, {
247
247
  segmentName: segmentName
248
248
  }))));
249
- }
249
+ }
250
+ UFOSegment.displayName = 'UFOSegment';
@@ -44,13 +44,17 @@ export function getSSRSuccess() {
44
44
  var _config2;
45
45
  return !!((_config2 = config) !== null && _config2 !== void 0 && _config2.getDoneMark());
46
46
  }
47
+ export function getSSRPhaseSuccess() {
48
+ var _config3, _config3$getSsrPhaseS;
49
+ return (_config3 = config) === null || _config3 === void 0 ? void 0 : (_config3$getSsrPhaseS = _config3.getSsrPhaseSuccess) === null || _config3$getSsrPhaseS === void 0 ? void 0 : _config3$getSsrPhaseS.call(_config3);
50
+ }
47
51
  export function getSSRDoneTime() {
48
- var _config$getDoneMark, _config3;
49
- return (_config$getDoneMark = (_config3 = config) === null || _config3 === void 0 ? void 0 : _config3.getDoneMark()) !== null && _config$getDoneMark !== void 0 ? _config$getDoneMark : undefined;
52
+ var _config$getDoneMark, _config4;
53
+ return (_config$getDoneMark = (_config4 = config) === null || _config4 === void 0 ? void 0 : _config4.getDoneMark()) !== null && _config$getDoneMark !== void 0 ? _config$getDoneMark : undefined;
50
54
  }
51
55
  export function getSSRFeatureFlags() {
52
- var _config4;
53
- if (!((_config4 = config) !== null && _config4 !== void 0 && _config4.getFeatureFlags)) {
56
+ var _config5;
57
+ if (!((_config5 = config) !== null && _config5 !== void 0 && _config5.getFeatureFlags)) {
54
58
  return undefined;
55
59
  }
56
60
  try {
@@ -303,4 +303,24 @@ export function getDoNotAbortActivePressInteractionOnTransition() {
303
303
  } catch (e) {
304
304
  return undefined;
305
305
  }
306
+ }
307
+ export var CLEANUP_TIMEOUT = 60 * 1000;
308
+ export function getInteractionTimeout(ufoName) {
309
+ try {
310
+ if (!config) {
311
+ return CLEANUP_TIMEOUT;
312
+ }
313
+ var _config10 = config,
314
+ interactionTimeout = _config10.interactionTimeout;
315
+ if (interactionTimeout != null && interactionTimeout[ufoName] != null) {
316
+ return interactionTimeout[ufoName];
317
+ }
318
+ if (interactionTimeout != null && interactionTimeout.__globalInteractionTimeout != null) {
319
+ return interactionTimeout.__globalInteractionTimeout;
320
+ } else {
321
+ return CLEANUP_TIMEOUT;
322
+ }
323
+ } catch (e) {
324
+ return CLEANUP_TIMEOUT;
325
+ }
306
326
  }
@@ -145,6 +145,9 @@ function getBundleEvalTimings(start) {
145
145
  function getSSRSuccess(type) {
146
146
  return type === 'page_load' ? ssr.getSSRSuccess() : undefined;
147
147
  }
148
+ function getSSRPhaseSuccess(type) {
149
+ return type === 'page_load' ? ssr.getSSRPhaseSuccess() : undefined;
150
+ }
148
151
  function getSSRFeatureFlags(type) {
149
152
  return type === 'page_load' ? ssr.getSSRFeatureFlags() : undefined;
150
153
  }
@@ -299,10 +302,15 @@ function getPPSMetrics(interaction) {
299
302
  return {};
300
303
  }
301
304
  function getSSRProperties(type) {
302
- return {
305
+ var ssrPhases = getSSRPhaseSuccess(type);
306
+ return _objectSpread(_objectSpread({
303
307
  'ssr:success': getSSRSuccess(type),
304
308
  'ssr:featureFlags': getSSRFeatureFlags(type)
305
- };
309
+ }, (ssrPhases === null || ssrPhases === void 0 ? void 0 : ssrPhases.earlyFlush) != null ? {
310
+ 'ssr:earlyflush:success': ssrPhases.earlyFlush
311
+ } : null), (ssrPhases === null || ssrPhases === void 0 ? void 0 : ssrPhases.prefetch) != null ? {
312
+ 'ssr:prefetch:success': ssrPhases.prefetch
313
+ } : null);
306
314
  }
307
315
  function getAssetsMetrics(interaction, SSRDoneTime) {
308
316
  try {
@@ -27,7 +27,7 @@ function _getVCMetrics() {
27
27
  }
28
28
  return _context.abrupt("return", {});
29
29
  case 3:
30
- if (!fg('platform_ufo_enable_interactions_vc')) {
30
+ if (!(fg('platform_ufo_enable_interactions_vc') || fg('platform_ufo_enable_interactivity_jsm'))) {
31
31
  _context.next = 8;
32
32
  break;
33
33
  }
@@ -11,7 +11,7 @@ function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length)
11
11
  import { v4 as createUUID } from 'uuid';
12
12
  import { fg } from '@atlaskit/platform-feature-flags';
13
13
  import coinflip from '../coinflip';
14
- import { getAwaitBM3TTIList, getCapabilityRate, getConfig } from '../config';
14
+ import { getAwaitBM3TTIList, getCapabilityRate, getConfig, getInteractionTimeout } from '../config';
15
15
  import { experimentalVC, getExperimentalVCMetrics, onExperimentalInteractionComplete } from '../create-experimental-interaction-metrics-payload';
16
16
  import { clearActiveTrace } from '../experience-trace-id-context';
17
17
  import { allFeatureFlagsAccessed, currentFeatureFlagsAccessed } from '../feature-flags-accessed';
@@ -713,10 +713,10 @@ export function addNewInteraction(interactionId, ufoName, type, startTime, rate,
713
713
  postInteractionLog.reset();
714
714
  }
715
715
  var previousTime = startTime;
716
- var timeoutTime = CLEANUP_TIMEOUT;
716
+ var timeoutTime = fg('platform_ufo_enable_timeout_config') ? getInteractionTimeout(ufoName) : CLEANUP_TIMEOUT;
717
717
  var timerID = setTimeout(function () {
718
718
  abort(interactionId, 'timeout');
719
- }, CLEANUP_TIMEOUT);
719
+ }, timeoutTime);
720
720
  function changeTimeout(newTime) {
721
721
  // we compare if the time left is lower than the new time to no
722
722
  // extend the timeout beyond the initial waiting time
@@ -811,7 +811,7 @@ export function addNewInteraction(interactionId, ufoName, type, startTime, rate,
811
811
  });
812
812
  }
813
813
  }
814
- if (type === 'press' && fg('platform_ufo_enable_interactions_vc')) {
814
+ if (type === 'press' && (fg('platform_ufo_enable_interactions_vc') || fg('platform_ufo_enable_interactivity_jsm'))) {
815
815
  var _getConfig13;
816
816
  getVCObserver().start({
817
817
  startTime: startTime,
@@ -105,7 +105,7 @@ export function init(analyticsWebClientAsync, config) {
105
105
  setupHiddenTimingCapture();
106
106
  startLighthouseObserver();
107
107
  initialized = true;
108
- if (fg('platform_ufo_enable_events_observer')) {
108
+ if (fg('platform_ufo_enable_events_observer') || fg('platform_ufo_enable_interactivity_jsm')) {
109
109
  if (typeof PerformanceObserver !== 'undefined') {
110
110
  var observer = getPerformanceObserver();
111
111
  observer.observe({
@@ -265,4 +265,5 @@ export default function UFOSegment(_ref) {
265
265
  }, /*#__PURE__*/React.createElement(AsyncSegmentHighlight, {
266
266
  segmentName: segmentName
267
267
  }))));
268
- }
268
+ }
269
+ UFOSegment.displayName = 'UFOSegment';
@@ -47,13 +47,17 @@ export function getSSRSuccess() {
47
47
  var _config2;
48
48
  return !!((_config2 = config) !== null && _config2 !== void 0 && _config2.getDoneMark());
49
49
  }
50
+ export function getSSRPhaseSuccess() {
51
+ var _config3, _config3$getSsrPhaseS;
52
+ return (_config3 = config) === null || _config3 === void 0 || (_config3$getSsrPhaseS = _config3.getSsrPhaseSuccess) === null || _config3$getSsrPhaseS === void 0 ? void 0 : _config3$getSsrPhaseS.call(_config3);
53
+ }
50
54
  export function getSSRDoneTime() {
51
- var _config$getDoneMark, _config3;
52
- return (_config$getDoneMark = (_config3 = config) === null || _config3 === void 0 ? void 0 : _config3.getDoneMark()) !== null && _config$getDoneMark !== void 0 ? _config$getDoneMark : undefined;
55
+ var _config$getDoneMark, _config4;
56
+ return (_config$getDoneMark = (_config4 = config) === null || _config4 === void 0 ? void 0 : _config4.getDoneMark()) !== null && _config$getDoneMark !== void 0 ? _config$getDoneMark : undefined;
53
57
  }
54
58
  export function getSSRFeatureFlags() {
55
- var _config4;
56
- if (!((_config4 = config) !== null && _config4 !== void 0 && _config4.getFeatureFlags)) {
59
+ var _config5;
60
+ if (!((_config5 = config) !== null && _config5 !== void 0 && _config5.getFeatureFlags)) {
57
61
  return undefined;
58
62
  }
59
63
  try {
@@ -30,6 +30,7 @@ type Rates = {
30
30
  type TTVCRevisions = 'fy25.01' | 'fy25.02' | 'fy25.03';
31
31
  export type Config = {
32
32
  readonly enabled?: boolean;
33
+ readonly interactionTimeout?: Record<string, number>;
33
34
  readonly doNotAbortActivePressInteraction?: string[];
34
35
  readonly doNotAbortActivePressInteractionOnTransition?: string[];
35
36
  readonly awaitBM3TTI?: string[];
@@ -132,4 +133,6 @@ export declare function getRemoveInteractionsUFOPrefixes(): boolean;
132
133
  export declare function getUfoNameOverrides(): UFONameOverride | undefined;
133
134
  export declare function getDoNotAbortActivePressInteraction(): string[] | undefined;
134
135
  export declare function getDoNotAbortActivePressInteractionOnTransition(): string[] | undefined;
136
+ export declare const CLEANUP_TIMEOUT: number;
137
+ export declare function getInteractionTimeout(ufoName: string): number;
135
138
  export {};
@@ -718,6 +718,8 @@ export declare function createPayloads(interactionId: string, interaction: Inter
718
718
  'metric:vc90'?: number | null | undefined;
719
719
  'metrics:navigation'?: undefined;
720
720
  'event:assets'?: undefined;
721
+ 'ssr:prefetch:success'?: boolean | undefined;
722
+ 'ssr:earlyflush:success'?: boolean | undefined;
721
723
  'ssr:success': boolean | undefined;
722
724
  'ssr:featureFlags': ssr.SSRFeatureFlags | undefined;
723
725
  'event:browser:name'?: string | undefined;
@@ -1464,6 +1466,8 @@ export declare function createPayloads(interactionId: string, interaction: Inter
1464
1466
  'metric:vc90'?: number | null | undefined;
1465
1467
  'metrics:navigation'?: undefined;
1466
1468
  'event:assets'?: undefined;
1469
+ 'ssr:prefetch:success'?: boolean | undefined;
1470
+ 'ssr:earlyflush:success'?: boolean | undefined;
1467
1471
  'ssr:success': boolean | undefined;
1468
1472
  'ssr:featureFlags': ssr.SSRFeatureFlags | undefined;
1469
1473
  'event:browser:name'?: string | undefined;
@@ -2231,6 +2235,8 @@ export declare function createPayloads(interactionId: string, interaction: Inter
2231
2235
  nextHopProtocol: string;
2232
2236
  };
2233
2237
  'event:assets'?: undefined;
2238
+ 'ssr:prefetch:success'?: boolean | undefined;
2239
+ 'ssr:earlyflush:success'?: boolean | undefined;
2234
2240
  'ssr:success': boolean | undefined;
2235
2241
  'ssr:featureFlags': ssr.SSRFeatureFlags | undefined;
2236
2242
  'event:browser:name'?: string | undefined;
@@ -2998,6 +3004,8 @@ export declare function createPayloads(interactionId: string, interaction: Inter
2998
3004
  nextHopProtocol: string;
2999
3005
  };
3000
3006
  'event:assets'?: undefined;
3007
+ 'ssr:prefetch:success'?: boolean | undefined;
3008
+ 'ssr:earlyflush:success'?: boolean | undefined;
3001
3009
  'ssr:success': boolean | undefined;
3002
3010
  'ssr:featureFlags': ssr.SSRFeatureFlags | undefined;
3003
3011
  'event:browser:name'?: string | undefined;
@@ -3747,6 +3755,8 @@ export declare function createPayloads(interactionId: string, interaction: Inter
3747
3755
  [key: string]: number;
3748
3756
  } | null;
3749
3757
  'event:assets'?: undefined;
3758
+ 'ssr:prefetch:success'?: boolean | undefined;
3759
+ 'ssr:earlyflush:success'?: boolean | undefined;
3750
3760
  'ssr:success': boolean | undefined;
3751
3761
  'ssr:featureFlags': ssr.SSRFeatureFlags | undefined;
3752
3762
  'event:browser:name'?: string | undefined;
@@ -4496,6 +4506,8 @@ export declare function createPayloads(interactionId: string, interaction: Inter
4496
4506
  [key: string]: number;
4497
4507
  } | null;
4498
4508
  'event:assets'?: undefined;
4509
+ 'ssr:prefetch:success'?: boolean | undefined;
4510
+ 'ssr:earlyflush:success'?: boolean | undefined;
4499
4511
  'ssr:success': boolean | undefined;
4500
4512
  'ssr:featureFlags': ssr.SSRFeatureFlags | undefined;
4501
4513
  'event:browser:name'?: string | undefined;
@@ -5266,6 +5278,8 @@ export declare function createPayloads(interactionId: string, interaction: Inter
5266
5278
  [key: string]: number;
5267
5279
  } | null;
5268
5280
  'event:assets'?: undefined;
5281
+ 'ssr:prefetch:success'?: boolean | undefined;
5282
+ 'ssr:earlyflush:success'?: boolean | undefined;
5269
5283
  'ssr:success': boolean | undefined;
5270
5284
  'ssr:featureFlags': ssr.SSRFeatureFlags | undefined;
5271
5285
  'event:browser:name'?: string | undefined;
@@ -6036,6 +6050,8 @@ export declare function createPayloads(interactionId: string, interaction: Inter
6036
6050
  [key: string]: number;
6037
6051
  } | null;
6038
6052
  'event:assets'?: undefined;
6053
+ 'ssr:prefetch:success'?: boolean | undefined;
6054
+ 'ssr:earlyflush:success'?: boolean | undefined;
6039
6055
  'ssr:success': boolean | undefined;
6040
6056
  'ssr:featureFlags': ssr.SSRFeatureFlags | undefined;
6041
6057
  'event:browser:name'?: string | undefined;
@@ -6782,6 +6798,8 @@ export declare function createPayloads(interactionId: string, interaction: Inter
6782
6798
  'metric:vc90'?: number | null | undefined;
6783
6799
  'metrics:navigation'?: undefined;
6784
6800
  'event:assets': import("../common").AssetsData;
6801
+ 'ssr:prefetch:success'?: boolean | undefined;
6802
+ 'ssr:earlyflush:success'?: boolean | undefined;
6785
6803
  'ssr:success': boolean | undefined;
6786
6804
  'ssr:featureFlags': ssr.SSRFeatureFlags | undefined;
6787
6805
  'event:browser:name'?: string | undefined;
@@ -7528,6 +7546,8 @@ export declare function createPayloads(interactionId: string, interaction: Inter
7528
7546
  'metric:vc90'?: number | null | undefined;
7529
7547
  'metrics:navigation'?: undefined;
7530
7548
  'event:assets': import("../common").AssetsData;
7549
+ 'ssr:prefetch:success'?: boolean | undefined;
7550
+ 'ssr:earlyflush:success'?: boolean | undefined;
7531
7551
  'ssr:success': boolean | undefined;
7532
7552
  'ssr:featureFlags': ssr.SSRFeatureFlags | undefined;
7533
7553
  'event:browser:name'?: string | undefined;
@@ -8295,6 +8315,8 @@ export declare function createPayloads(interactionId: string, interaction: Inter
8295
8315
  nextHopProtocol: string;
8296
8316
  };
8297
8317
  'event:assets': import("../common").AssetsData;
8318
+ 'ssr:prefetch:success'?: boolean | undefined;
8319
+ 'ssr:earlyflush:success'?: boolean | undefined;
8298
8320
  'ssr:success': boolean | undefined;
8299
8321
  'ssr:featureFlags': ssr.SSRFeatureFlags | undefined;
8300
8322
  'event:browser:name'?: string | undefined;
@@ -9062,6 +9084,8 @@ export declare function createPayloads(interactionId: string, interaction: Inter
9062
9084
  nextHopProtocol: string;
9063
9085
  };
9064
9086
  'event:assets': import("../common").AssetsData;
9087
+ 'ssr:prefetch:success'?: boolean | undefined;
9088
+ 'ssr:earlyflush:success'?: boolean | undefined;
9065
9089
  'ssr:success': boolean | undefined;
9066
9090
  'ssr:featureFlags': ssr.SSRFeatureFlags | undefined;
9067
9091
  'event:browser:name'?: string | undefined;
@@ -9811,6 +9835,8 @@ export declare function createPayloads(interactionId: string, interaction: Inter
9811
9835
  [key: string]: number;
9812
9836
  } | null;
9813
9837
  'event:assets': import("../common").AssetsData;
9838
+ 'ssr:prefetch:success'?: boolean | undefined;
9839
+ 'ssr:earlyflush:success'?: boolean | undefined;
9814
9840
  'ssr:success': boolean | undefined;
9815
9841
  'ssr:featureFlags': ssr.SSRFeatureFlags | undefined;
9816
9842
  'event:browser:name'?: string | undefined;
@@ -10560,6 +10586,8 @@ export declare function createPayloads(interactionId: string, interaction: Inter
10560
10586
  [key: string]: number;
10561
10587
  } | null;
10562
10588
  'event:assets': import("../common").AssetsData;
10589
+ 'ssr:prefetch:success'?: boolean | undefined;
10590
+ 'ssr:earlyflush:success'?: boolean | undefined;
10563
10591
  'ssr:success': boolean | undefined;
10564
10592
  'ssr:featureFlags': ssr.SSRFeatureFlags | undefined;
10565
10593
  'event:browser:name'?: string | undefined;
@@ -11330,6 +11358,8 @@ export declare function createPayloads(interactionId: string, interaction: Inter
11330
11358
  [key: string]: number;
11331
11359
  } | null;
11332
11360
  'event:assets': import("../common").AssetsData;
11361
+ 'ssr:prefetch:success'?: boolean | undefined;
11362
+ 'ssr:earlyflush:success'?: boolean | undefined;
11333
11363
  'ssr:success': boolean | undefined;
11334
11364
  'ssr:featureFlags': ssr.SSRFeatureFlags | undefined;
11335
11365
  'event:browser:name'?: string | undefined;
@@ -12100,6 +12130,8 @@ export declare function createPayloads(interactionId: string, interaction: Inter
12100
12130
  [key: string]: number;
12101
12131
  } | null;
12102
12132
  'event:assets': import("../common").AssetsData;
12133
+ 'ssr:prefetch:success'?: boolean | undefined;
12134
+ 'ssr:earlyflush:success'?: boolean | undefined;
12103
12135
  'ssr:success': boolean | undefined;
12104
12136
  'ssr:featureFlags': ssr.SSRFeatureFlags | undefined;
12105
12137
  'event:browser:name'?: string | undefined;
@@ -12856,6 +12888,8 @@ export declare function createExperimentalMetricsPayload(interactionId: string,
12856
12888
  'metric:vc90'?: number | null | undefined;
12857
12889
  'metrics:navigation'?: undefined;
12858
12890
  'event:assets'?: undefined;
12891
+ 'ssr:prefetch:success'?: boolean | undefined;
12892
+ 'ssr:earlyflush:success'?: boolean | undefined;
12859
12893
  'ssr:success': boolean | undefined;
12860
12894
  'ssr:featureFlags': ssr.SSRFeatureFlags | undefined;
12861
12895
  'event:browser:name'?: string | undefined;
@@ -13602,6 +13636,8 @@ export declare function createExperimentalMetricsPayload(interactionId: string,
13602
13636
  'metric:vc90'?: number | null | undefined;
13603
13637
  'metrics:navigation'?: undefined;
13604
13638
  'event:assets'?: undefined;
13639
+ 'ssr:prefetch:success'?: boolean | undefined;
13640
+ 'ssr:earlyflush:success'?: boolean | undefined;
13605
13641
  'ssr:success': boolean | undefined;
13606
13642
  'ssr:featureFlags': ssr.SSRFeatureFlags | undefined;
13607
13643
  'event:browser:name'?: string | undefined;
@@ -14369,6 +14405,8 @@ export declare function createExperimentalMetricsPayload(interactionId: string,
14369
14405
  nextHopProtocol: string;
14370
14406
  };
14371
14407
  'event:assets'?: undefined;
14408
+ 'ssr:prefetch:success'?: boolean | undefined;
14409
+ 'ssr:earlyflush:success'?: boolean | undefined;
14372
14410
  'ssr:success': boolean | undefined;
14373
14411
  'ssr:featureFlags': ssr.SSRFeatureFlags | undefined;
14374
14412
  'event:browser:name'?: string | undefined;
@@ -15136,6 +15174,8 @@ export declare function createExperimentalMetricsPayload(interactionId: string,
15136
15174
  nextHopProtocol: string;
15137
15175
  };
15138
15176
  'event:assets'?: undefined;
15177
+ 'ssr:prefetch:success'?: boolean | undefined;
15178
+ 'ssr:earlyflush:success'?: boolean | undefined;
15139
15179
  'ssr:success': boolean | undefined;
15140
15180
  'ssr:featureFlags': ssr.SSRFeatureFlags | undefined;
15141
15181
  'event:browser:name'?: string | undefined;
@@ -15885,6 +15925,8 @@ export declare function createExperimentalMetricsPayload(interactionId: string,
15885
15925
  [key: string]: number;
15886
15926
  } | null;
15887
15927
  'event:assets'?: undefined;
15928
+ 'ssr:prefetch:success'?: boolean | undefined;
15929
+ 'ssr:earlyflush:success'?: boolean | undefined;
15888
15930
  'ssr:success': boolean | undefined;
15889
15931
  'ssr:featureFlags': ssr.SSRFeatureFlags | undefined;
15890
15932
  'event:browser:name'?: string | undefined;
@@ -16634,6 +16676,8 @@ export declare function createExperimentalMetricsPayload(interactionId: string,
16634
16676
  [key: string]: number;
16635
16677
  } | null;
16636
16678
  'event:assets'?: undefined;
16679
+ 'ssr:prefetch:success'?: boolean | undefined;
16680
+ 'ssr:earlyflush:success'?: boolean | undefined;
16637
16681
  'ssr:success': boolean | undefined;
16638
16682
  'ssr:featureFlags': ssr.SSRFeatureFlags | undefined;
16639
16683
  'event:browser:name'?: string | undefined;
@@ -17404,6 +17448,8 @@ export declare function createExperimentalMetricsPayload(interactionId: string,
17404
17448
  [key: string]: number;
17405
17449
  } | null;
17406
17450
  'event:assets'?: undefined;
17451
+ 'ssr:prefetch:success'?: boolean | undefined;
17452
+ 'ssr:earlyflush:success'?: boolean | undefined;
17407
17453
  'ssr:success': boolean | undefined;
17408
17454
  'ssr:featureFlags': ssr.SSRFeatureFlags | undefined;
17409
17455
  'event:browser:name'?: string | undefined;
@@ -18174,6 +18220,8 @@ export declare function createExperimentalMetricsPayload(interactionId: string,
18174
18220
  [key: string]: number;
18175
18221
  } | null;
18176
18222
  'event:assets'?: undefined;
18223
+ 'ssr:prefetch:success'?: boolean | undefined;
18224
+ 'ssr:earlyflush:success'?: boolean | undefined;
18177
18225
  'ssr:success': boolean | undefined;
18178
18226
  'ssr:featureFlags': ssr.SSRFeatureFlags | undefined;
18179
18227
  'event:browser:name'?: string | undefined;
@@ -18920,6 +18968,8 @@ export declare function createExperimentalMetricsPayload(interactionId: string,
18920
18968
  'metric:vc90'?: number | null | undefined;
18921
18969
  'metrics:navigation'?: undefined;
18922
18970
  'event:assets': import("../common").AssetsData;
18971
+ 'ssr:prefetch:success'?: boolean | undefined;
18972
+ 'ssr:earlyflush:success'?: boolean | undefined;
18923
18973
  'ssr:success': boolean | undefined;
18924
18974
  'ssr:featureFlags': ssr.SSRFeatureFlags | undefined;
18925
18975
  'event:browser:name'?: string | undefined;
@@ -19666,6 +19716,8 @@ export declare function createExperimentalMetricsPayload(interactionId: string,
19666
19716
  'metric:vc90'?: number | null | undefined;
19667
19717
  'metrics:navigation'?: undefined;
19668
19718
  'event:assets': import("../common").AssetsData;
19719
+ 'ssr:prefetch:success'?: boolean | undefined;
19720
+ 'ssr:earlyflush:success'?: boolean | undefined;
19669
19721
  'ssr:success': boolean | undefined;
19670
19722
  'ssr:featureFlags': ssr.SSRFeatureFlags | undefined;
19671
19723
  'event:browser:name'?: string | undefined;
@@ -20433,6 +20485,8 @@ export declare function createExperimentalMetricsPayload(interactionId: string,
20433
20485
  nextHopProtocol: string;
20434
20486
  };
20435
20487
  'event:assets': import("../common").AssetsData;
20488
+ 'ssr:prefetch:success'?: boolean | undefined;
20489
+ 'ssr:earlyflush:success'?: boolean | undefined;
20436
20490
  'ssr:success': boolean | undefined;
20437
20491
  'ssr:featureFlags': ssr.SSRFeatureFlags | undefined;
20438
20492
  'event:browser:name'?: string | undefined;
@@ -21200,6 +21254,8 @@ export declare function createExperimentalMetricsPayload(interactionId: string,
21200
21254
  nextHopProtocol: string;
21201
21255
  };
21202
21256
  'event:assets': import("../common").AssetsData;
21257
+ 'ssr:prefetch:success'?: boolean | undefined;
21258
+ 'ssr:earlyflush:success'?: boolean | undefined;
21203
21259
  'ssr:success': boolean | undefined;
21204
21260
  'ssr:featureFlags': ssr.SSRFeatureFlags | undefined;
21205
21261
  'event:browser:name'?: string | undefined;
@@ -21949,6 +22005,8 @@ export declare function createExperimentalMetricsPayload(interactionId: string,
21949
22005
  [key: string]: number;
21950
22006
  } | null;
21951
22007
  'event:assets': import("../common").AssetsData;
22008
+ 'ssr:prefetch:success'?: boolean | undefined;
22009
+ 'ssr:earlyflush:success'?: boolean | undefined;
21952
22010
  'ssr:success': boolean | undefined;
21953
22011
  'ssr:featureFlags': ssr.SSRFeatureFlags | undefined;
21954
22012
  'event:browser:name'?: string | undefined;
@@ -22698,6 +22756,8 @@ export declare function createExperimentalMetricsPayload(interactionId: string,
22698
22756
  [key: string]: number;
22699
22757
  } | null;
22700
22758
  'event:assets': import("../common").AssetsData;
22759
+ 'ssr:prefetch:success'?: boolean | undefined;
22760
+ 'ssr:earlyflush:success'?: boolean | undefined;
22701
22761
  'ssr:success': boolean | undefined;
22702
22762
  'ssr:featureFlags': ssr.SSRFeatureFlags | undefined;
22703
22763
  'event:browser:name'?: string | undefined;
@@ -23468,6 +23528,8 @@ export declare function createExperimentalMetricsPayload(interactionId: string,
23468
23528
  [key: string]: number;
23469
23529
  } | null;
23470
23530
  'event:assets': import("../common").AssetsData;
23531
+ 'ssr:prefetch:success'?: boolean | undefined;
23532
+ 'ssr:earlyflush:success'?: boolean | undefined;
23471
23533
  'ssr:success': boolean | undefined;
23472
23534
  'ssr:featureFlags': ssr.SSRFeatureFlags | undefined;
23473
23535
  'event:browser:name'?: string | undefined;
@@ -24238,6 +24300,8 @@ export declare function createExperimentalMetricsPayload(interactionId: string,
24238
24300
  [key: string]: number;
24239
24301
  } | null;
24240
24302
  'event:assets': import("../common").AssetsData;
24303
+ 'ssr:prefetch:success'?: boolean | undefined;
24304
+ 'ssr:earlyflush:success'?: boolean | undefined;
24241
24305
  'ssr:success': boolean | undefined;
24242
24306
  'ssr:featureFlags': ssr.SSRFeatureFlags | undefined;
24243
24307
  'event:browser:name'?: string | undefined;
@@ -5,5 +5,8 @@ type Props = {
5
5
  mode?: 'list' | 'single';
6
6
  };
7
7
  /** A portion of the page we apply measurement to */
8
- export default function UFOSegment({ name: segmentName, children, mode }: Props): React.JSX.Element;
9
- export {};
8
+ declare function UFOSegment({ name: segmentName, children, mode }: Props): React.JSX.Element;
9
+ declare namespace UFOSegment {
10
+ var displayName: string;
11
+ }
12
+ export default UFOSegment;
@@ -11,12 +11,36 @@ export type SSRFeatureFlags = {
11
11
  [key: string]: FeatureFlagValue;
12
12
  };
13
13
  export type SSRConfig = {
14
+ /**
15
+ * Used to represent whether SSR as a whole was considered successful. You can consider this the success of the "render" phase success
16
+ */
14
17
  getDoneMark: () => number | null;
18
+ /**
19
+ * Used to represent whether certain phases within were successful.
20
+ * It is encouraged to send false even if the phase only partially failed and rely on ssr-side logging/metrics to disambiguate failure severity
21
+ */
22
+ getSsrPhaseSuccess?: () => {
23
+ /**
24
+ * The "prefetch" phase in SSR - where SSR fetches remote data necessary for rendering the page.
25
+ * If any of the fetches fail, this should be false, use server side logging/metrics to dive into more detail into the nature of the failure.
26
+ * UFO - which is client-side only - may not know the nature of the failure if SSR as a whole failed and a static fallback was given to the client.
27
+ */
28
+ prefetch?: boolean;
29
+ /**
30
+ * The "earlyFLush" phase in SSR - where SSR sends the first flush to the client.
31
+ * This is generally expected to be earlier than / independant of the prefetch data and may even be non-visual (eg: <link rel="preload" href="..."> tags).
32
+ */
33
+ earlyFlush?: boolean;
34
+ };
15
35
  getFeatureFlags: () => SSRFeatureFlags | null;
16
36
  getTimings?: () => ReportedTimings | null;
17
37
  };
18
38
  export declare function configure(ssrConfig: SSRConfig): void;
19
39
  export declare function getSSRTimings(): ReportedTimings;
20
40
  export declare function getSSRSuccess(): boolean;
41
+ export declare function getSSRPhaseSuccess(): {
42
+ prefetch?: boolean;
43
+ earlyFlush?: boolean;
44
+ } | undefined;
21
45
  export declare function getSSRDoneTime(): number | undefined;
22
46
  export declare function getSSRFeatureFlags(): SSRFeatureFlags | undefined;
@@ -1,7 +1,7 @@
1
1
  import { type UnbindFn } from 'bind-event-listener';
2
2
  import type { ComponentsLogType, VCAbortReasonType, VCEntryType, VCIgnoreReason, VCRatioType, VCRawDataType, VCResult } from '../../common/vc/types';
3
3
  import type { GetVCResultType, VCObserverInterface, VCObserverOptions } from '../types';
4
- import { VCRevisionDebugDetails } from './getVCRevisionDebugDetails';
4
+ import { type VCRevisionDebugDetails } from './getVCRevisionDebugDetails';
5
5
  import { Observers } from './observers';
6
6
  declare global {
7
7
  interface Window {
@@ -21,7 +21,7 @@ export declare class SSRPlaceholderHandlers {
21
21
  private EQUALITY_THRESHOLD;
22
22
  private enablePageLayoutPlaceholder;
23
23
  private disableSizeAndPositionCheck;
24
- constructor({ enablePageLayoutPlaceholder, disableSizeAndPositionCheck }: SSRPlaceholderHandlersConfig);
24
+ constructor({ enablePageLayoutPlaceholder, disableSizeAndPositionCheck, }: SSRPlaceholderHandlersConfig);
25
25
  private getPlaceholderId;
26
26
  private getPlaceholderReplacementId;
27
27
  clear(): void;
@@ -1,5 +1,5 @@
1
1
  import type { RevisionPayloadEntry, VCAbortReason } from '../../../common/vc/types';
2
- import { VCRevisionDebugDetails } from '../../vc-observer/getVCRevisionDebugDetails';
2
+ import type { VCRevisionDebugDetails } from '../../vc-observer/getVCRevisionDebugDetails';
3
3
  import type { VCObserverEntry } from '../types';
4
4
  import type { VCCalculator, VCCalculatorParam } from './types';
5
5
  declare global {
@@ -30,6 +30,7 @@ type Rates = {
30
30
  type TTVCRevisions = 'fy25.01' | 'fy25.02' | 'fy25.03';
31
31
  export type Config = {
32
32
  readonly enabled?: boolean;
33
+ readonly interactionTimeout?: Record<string, number>;
33
34
  readonly doNotAbortActivePressInteraction?: string[];
34
35
  readonly doNotAbortActivePressInteractionOnTransition?: string[];
35
36
  readonly awaitBM3TTI?: string[];
@@ -136,4 +137,6 @@ export declare function getRemoveInteractionsUFOPrefixes(): boolean;
136
137
  export declare function getUfoNameOverrides(): UFONameOverride | undefined;
137
138
  export declare function getDoNotAbortActivePressInteraction(): string[] | undefined;
138
139
  export declare function getDoNotAbortActivePressInteractionOnTransition(): string[] | undefined;
140
+ export declare const CLEANUP_TIMEOUT: number;
141
+ export declare function getInteractionTimeout(ufoName: string): number;
139
142
  export {};
@@ -718,6 +718,8 @@ export declare function createPayloads(interactionId: string, interaction: Inter
718
718
  'metric:vc90'?: number | null | undefined;
719
719
  'metrics:navigation'?: undefined;
720
720
  'event:assets'?: undefined;
721
+ 'ssr:prefetch:success'?: boolean | undefined;
722
+ 'ssr:earlyflush:success'?: boolean | undefined;
721
723
  'ssr:success': boolean | undefined;
722
724
  'ssr:featureFlags': ssr.SSRFeatureFlags | undefined;
723
725
  'event:browser:name'?: string | undefined;
@@ -1464,6 +1466,8 @@ export declare function createPayloads(interactionId: string, interaction: Inter
1464
1466
  'metric:vc90'?: number | null | undefined;
1465
1467
  'metrics:navigation'?: undefined;
1466
1468
  'event:assets'?: undefined;
1469
+ 'ssr:prefetch:success'?: boolean | undefined;
1470
+ 'ssr:earlyflush:success'?: boolean | undefined;
1467
1471
  'ssr:success': boolean | undefined;
1468
1472
  'ssr:featureFlags': ssr.SSRFeatureFlags | undefined;
1469
1473
  'event:browser:name'?: string | undefined;
@@ -2231,6 +2235,8 @@ export declare function createPayloads(interactionId: string, interaction: Inter
2231
2235
  nextHopProtocol: string;
2232
2236
  };
2233
2237
  'event:assets'?: undefined;
2238
+ 'ssr:prefetch:success'?: boolean | undefined;
2239
+ 'ssr:earlyflush:success'?: boolean | undefined;
2234
2240
  'ssr:success': boolean | undefined;
2235
2241
  'ssr:featureFlags': ssr.SSRFeatureFlags | undefined;
2236
2242
  'event:browser:name'?: string | undefined;
@@ -2998,6 +3004,8 @@ export declare function createPayloads(interactionId: string, interaction: Inter
2998
3004
  nextHopProtocol: string;
2999
3005
  };
3000
3006
  'event:assets'?: undefined;
3007
+ 'ssr:prefetch:success'?: boolean | undefined;
3008
+ 'ssr:earlyflush:success'?: boolean | undefined;
3001
3009
  'ssr:success': boolean | undefined;
3002
3010
  'ssr:featureFlags': ssr.SSRFeatureFlags | undefined;
3003
3011
  'event:browser:name'?: string | undefined;
@@ -3747,6 +3755,8 @@ export declare function createPayloads(interactionId: string, interaction: Inter
3747
3755
  [key: string]: number;
3748
3756
  } | null;
3749
3757
  'event:assets'?: undefined;
3758
+ 'ssr:prefetch:success'?: boolean | undefined;
3759
+ 'ssr:earlyflush:success'?: boolean | undefined;
3750
3760
  'ssr:success': boolean | undefined;
3751
3761
  'ssr:featureFlags': ssr.SSRFeatureFlags | undefined;
3752
3762
  'event:browser:name'?: string | undefined;
@@ -4496,6 +4506,8 @@ export declare function createPayloads(interactionId: string, interaction: Inter
4496
4506
  [key: string]: number;
4497
4507
  } | null;
4498
4508
  'event:assets'?: undefined;
4509
+ 'ssr:prefetch:success'?: boolean | undefined;
4510
+ 'ssr:earlyflush:success'?: boolean | undefined;
4499
4511
  'ssr:success': boolean | undefined;
4500
4512
  'ssr:featureFlags': ssr.SSRFeatureFlags | undefined;
4501
4513
  'event:browser:name'?: string | undefined;
@@ -5266,6 +5278,8 @@ export declare function createPayloads(interactionId: string, interaction: Inter
5266
5278
  [key: string]: number;
5267
5279
  } | null;
5268
5280
  'event:assets'?: undefined;
5281
+ 'ssr:prefetch:success'?: boolean | undefined;
5282
+ 'ssr:earlyflush:success'?: boolean | undefined;
5269
5283
  'ssr:success': boolean | undefined;
5270
5284
  'ssr:featureFlags': ssr.SSRFeatureFlags | undefined;
5271
5285
  'event:browser:name'?: string | undefined;
@@ -6036,6 +6050,8 @@ export declare function createPayloads(interactionId: string, interaction: Inter
6036
6050
  [key: string]: number;
6037
6051
  } | null;
6038
6052
  'event:assets'?: undefined;
6053
+ 'ssr:prefetch:success'?: boolean | undefined;
6054
+ 'ssr:earlyflush:success'?: boolean | undefined;
6039
6055
  'ssr:success': boolean | undefined;
6040
6056
  'ssr:featureFlags': ssr.SSRFeatureFlags | undefined;
6041
6057
  'event:browser:name'?: string | undefined;
@@ -6782,6 +6798,8 @@ export declare function createPayloads(interactionId: string, interaction: Inter
6782
6798
  'metric:vc90'?: number | null | undefined;
6783
6799
  'metrics:navigation'?: undefined;
6784
6800
  'event:assets': import("../common").AssetsData;
6801
+ 'ssr:prefetch:success'?: boolean | undefined;
6802
+ 'ssr:earlyflush:success'?: boolean | undefined;
6785
6803
  'ssr:success': boolean | undefined;
6786
6804
  'ssr:featureFlags': ssr.SSRFeatureFlags | undefined;
6787
6805
  'event:browser:name'?: string | undefined;
@@ -7528,6 +7546,8 @@ export declare function createPayloads(interactionId: string, interaction: Inter
7528
7546
  'metric:vc90'?: number | null | undefined;
7529
7547
  'metrics:navigation'?: undefined;
7530
7548
  'event:assets': import("../common").AssetsData;
7549
+ 'ssr:prefetch:success'?: boolean | undefined;
7550
+ 'ssr:earlyflush:success'?: boolean | undefined;
7531
7551
  'ssr:success': boolean | undefined;
7532
7552
  'ssr:featureFlags': ssr.SSRFeatureFlags | undefined;
7533
7553
  'event:browser:name'?: string | undefined;
@@ -8295,6 +8315,8 @@ export declare function createPayloads(interactionId: string, interaction: Inter
8295
8315
  nextHopProtocol: string;
8296
8316
  };
8297
8317
  'event:assets': import("../common").AssetsData;
8318
+ 'ssr:prefetch:success'?: boolean | undefined;
8319
+ 'ssr:earlyflush:success'?: boolean | undefined;
8298
8320
  'ssr:success': boolean | undefined;
8299
8321
  'ssr:featureFlags': ssr.SSRFeatureFlags | undefined;
8300
8322
  'event:browser:name'?: string | undefined;
@@ -9062,6 +9084,8 @@ export declare function createPayloads(interactionId: string, interaction: Inter
9062
9084
  nextHopProtocol: string;
9063
9085
  };
9064
9086
  'event:assets': import("../common").AssetsData;
9087
+ 'ssr:prefetch:success'?: boolean | undefined;
9088
+ 'ssr:earlyflush:success'?: boolean | undefined;
9065
9089
  'ssr:success': boolean | undefined;
9066
9090
  'ssr:featureFlags': ssr.SSRFeatureFlags | undefined;
9067
9091
  'event:browser:name'?: string | undefined;
@@ -9811,6 +9835,8 @@ export declare function createPayloads(interactionId: string, interaction: Inter
9811
9835
  [key: string]: number;
9812
9836
  } | null;
9813
9837
  'event:assets': import("../common").AssetsData;
9838
+ 'ssr:prefetch:success'?: boolean | undefined;
9839
+ 'ssr:earlyflush:success'?: boolean | undefined;
9814
9840
  'ssr:success': boolean | undefined;
9815
9841
  'ssr:featureFlags': ssr.SSRFeatureFlags | undefined;
9816
9842
  'event:browser:name'?: string | undefined;
@@ -10560,6 +10586,8 @@ export declare function createPayloads(interactionId: string, interaction: Inter
10560
10586
  [key: string]: number;
10561
10587
  } | null;
10562
10588
  'event:assets': import("../common").AssetsData;
10589
+ 'ssr:prefetch:success'?: boolean | undefined;
10590
+ 'ssr:earlyflush:success'?: boolean | undefined;
10563
10591
  'ssr:success': boolean | undefined;
10564
10592
  'ssr:featureFlags': ssr.SSRFeatureFlags | undefined;
10565
10593
  'event:browser:name'?: string | undefined;
@@ -11330,6 +11358,8 @@ export declare function createPayloads(interactionId: string, interaction: Inter
11330
11358
  [key: string]: number;
11331
11359
  } | null;
11332
11360
  'event:assets': import("../common").AssetsData;
11361
+ 'ssr:prefetch:success'?: boolean | undefined;
11362
+ 'ssr:earlyflush:success'?: boolean | undefined;
11333
11363
  'ssr:success': boolean | undefined;
11334
11364
  'ssr:featureFlags': ssr.SSRFeatureFlags | undefined;
11335
11365
  'event:browser:name'?: string | undefined;
@@ -12100,6 +12130,8 @@ export declare function createPayloads(interactionId: string, interaction: Inter
12100
12130
  [key: string]: number;
12101
12131
  } | null;
12102
12132
  'event:assets': import("../common").AssetsData;
12133
+ 'ssr:prefetch:success'?: boolean | undefined;
12134
+ 'ssr:earlyflush:success'?: boolean | undefined;
12103
12135
  'ssr:success': boolean | undefined;
12104
12136
  'ssr:featureFlags': ssr.SSRFeatureFlags | undefined;
12105
12137
  'event:browser:name'?: string | undefined;
@@ -12856,6 +12888,8 @@ export declare function createExperimentalMetricsPayload(interactionId: string,
12856
12888
  'metric:vc90'?: number | null | undefined;
12857
12889
  'metrics:navigation'?: undefined;
12858
12890
  'event:assets'?: undefined;
12891
+ 'ssr:prefetch:success'?: boolean | undefined;
12892
+ 'ssr:earlyflush:success'?: boolean | undefined;
12859
12893
  'ssr:success': boolean | undefined;
12860
12894
  'ssr:featureFlags': ssr.SSRFeatureFlags | undefined;
12861
12895
  'event:browser:name'?: string | undefined;
@@ -13602,6 +13636,8 @@ export declare function createExperimentalMetricsPayload(interactionId: string,
13602
13636
  'metric:vc90'?: number | null | undefined;
13603
13637
  'metrics:navigation'?: undefined;
13604
13638
  'event:assets'?: undefined;
13639
+ 'ssr:prefetch:success'?: boolean | undefined;
13640
+ 'ssr:earlyflush:success'?: boolean | undefined;
13605
13641
  'ssr:success': boolean | undefined;
13606
13642
  'ssr:featureFlags': ssr.SSRFeatureFlags | undefined;
13607
13643
  'event:browser:name'?: string | undefined;
@@ -14369,6 +14405,8 @@ export declare function createExperimentalMetricsPayload(interactionId: string,
14369
14405
  nextHopProtocol: string;
14370
14406
  };
14371
14407
  'event:assets'?: undefined;
14408
+ 'ssr:prefetch:success'?: boolean | undefined;
14409
+ 'ssr:earlyflush:success'?: boolean | undefined;
14372
14410
  'ssr:success': boolean | undefined;
14373
14411
  'ssr:featureFlags': ssr.SSRFeatureFlags | undefined;
14374
14412
  'event:browser:name'?: string | undefined;
@@ -15136,6 +15174,8 @@ export declare function createExperimentalMetricsPayload(interactionId: string,
15136
15174
  nextHopProtocol: string;
15137
15175
  };
15138
15176
  'event:assets'?: undefined;
15177
+ 'ssr:prefetch:success'?: boolean | undefined;
15178
+ 'ssr:earlyflush:success'?: boolean | undefined;
15139
15179
  'ssr:success': boolean | undefined;
15140
15180
  'ssr:featureFlags': ssr.SSRFeatureFlags | undefined;
15141
15181
  'event:browser:name'?: string | undefined;
@@ -15885,6 +15925,8 @@ export declare function createExperimentalMetricsPayload(interactionId: string,
15885
15925
  [key: string]: number;
15886
15926
  } | null;
15887
15927
  'event:assets'?: undefined;
15928
+ 'ssr:prefetch:success'?: boolean | undefined;
15929
+ 'ssr:earlyflush:success'?: boolean | undefined;
15888
15930
  'ssr:success': boolean | undefined;
15889
15931
  'ssr:featureFlags': ssr.SSRFeatureFlags | undefined;
15890
15932
  'event:browser:name'?: string | undefined;
@@ -16634,6 +16676,8 @@ export declare function createExperimentalMetricsPayload(interactionId: string,
16634
16676
  [key: string]: number;
16635
16677
  } | null;
16636
16678
  'event:assets'?: undefined;
16679
+ 'ssr:prefetch:success'?: boolean | undefined;
16680
+ 'ssr:earlyflush:success'?: boolean | undefined;
16637
16681
  'ssr:success': boolean | undefined;
16638
16682
  'ssr:featureFlags': ssr.SSRFeatureFlags | undefined;
16639
16683
  'event:browser:name'?: string | undefined;
@@ -17404,6 +17448,8 @@ export declare function createExperimentalMetricsPayload(interactionId: string,
17404
17448
  [key: string]: number;
17405
17449
  } | null;
17406
17450
  'event:assets'?: undefined;
17451
+ 'ssr:prefetch:success'?: boolean | undefined;
17452
+ 'ssr:earlyflush:success'?: boolean | undefined;
17407
17453
  'ssr:success': boolean | undefined;
17408
17454
  'ssr:featureFlags': ssr.SSRFeatureFlags | undefined;
17409
17455
  'event:browser:name'?: string | undefined;
@@ -18174,6 +18220,8 @@ export declare function createExperimentalMetricsPayload(interactionId: string,
18174
18220
  [key: string]: number;
18175
18221
  } | null;
18176
18222
  'event:assets'?: undefined;
18223
+ 'ssr:prefetch:success'?: boolean | undefined;
18224
+ 'ssr:earlyflush:success'?: boolean | undefined;
18177
18225
  'ssr:success': boolean | undefined;
18178
18226
  'ssr:featureFlags': ssr.SSRFeatureFlags | undefined;
18179
18227
  'event:browser:name'?: string | undefined;
@@ -18920,6 +18968,8 @@ export declare function createExperimentalMetricsPayload(interactionId: string,
18920
18968
  'metric:vc90'?: number | null | undefined;
18921
18969
  'metrics:navigation'?: undefined;
18922
18970
  'event:assets': import("../common").AssetsData;
18971
+ 'ssr:prefetch:success'?: boolean | undefined;
18972
+ 'ssr:earlyflush:success'?: boolean | undefined;
18923
18973
  'ssr:success': boolean | undefined;
18924
18974
  'ssr:featureFlags': ssr.SSRFeatureFlags | undefined;
18925
18975
  'event:browser:name'?: string | undefined;
@@ -19666,6 +19716,8 @@ export declare function createExperimentalMetricsPayload(interactionId: string,
19666
19716
  'metric:vc90'?: number | null | undefined;
19667
19717
  'metrics:navigation'?: undefined;
19668
19718
  'event:assets': import("../common").AssetsData;
19719
+ 'ssr:prefetch:success'?: boolean | undefined;
19720
+ 'ssr:earlyflush:success'?: boolean | undefined;
19669
19721
  'ssr:success': boolean | undefined;
19670
19722
  'ssr:featureFlags': ssr.SSRFeatureFlags | undefined;
19671
19723
  'event:browser:name'?: string | undefined;
@@ -20433,6 +20485,8 @@ export declare function createExperimentalMetricsPayload(interactionId: string,
20433
20485
  nextHopProtocol: string;
20434
20486
  };
20435
20487
  'event:assets': import("../common").AssetsData;
20488
+ 'ssr:prefetch:success'?: boolean | undefined;
20489
+ 'ssr:earlyflush:success'?: boolean | undefined;
20436
20490
  'ssr:success': boolean | undefined;
20437
20491
  'ssr:featureFlags': ssr.SSRFeatureFlags | undefined;
20438
20492
  'event:browser:name'?: string | undefined;
@@ -21200,6 +21254,8 @@ export declare function createExperimentalMetricsPayload(interactionId: string,
21200
21254
  nextHopProtocol: string;
21201
21255
  };
21202
21256
  'event:assets': import("../common").AssetsData;
21257
+ 'ssr:prefetch:success'?: boolean | undefined;
21258
+ 'ssr:earlyflush:success'?: boolean | undefined;
21203
21259
  'ssr:success': boolean | undefined;
21204
21260
  'ssr:featureFlags': ssr.SSRFeatureFlags | undefined;
21205
21261
  'event:browser:name'?: string | undefined;
@@ -21949,6 +22005,8 @@ export declare function createExperimentalMetricsPayload(interactionId: string,
21949
22005
  [key: string]: number;
21950
22006
  } | null;
21951
22007
  'event:assets': import("../common").AssetsData;
22008
+ 'ssr:prefetch:success'?: boolean | undefined;
22009
+ 'ssr:earlyflush:success'?: boolean | undefined;
21952
22010
  'ssr:success': boolean | undefined;
21953
22011
  'ssr:featureFlags': ssr.SSRFeatureFlags | undefined;
21954
22012
  'event:browser:name'?: string | undefined;
@@ -22698,6 +22756,8 @@ export declare function createExperimentalMetricsPayload(interactionId: string,
22698
22756
  [key: string]: number;
22699
22757
  } | null;
22700
22758
  'event:assets': import("../common").AssetsData;
22759
+ 'ssr:prefetch:success'?: boolean | undefined;
22760
+ 'ssr:earlyflush:success'?: boolean | undefined;
22701
22761
  'ssr:success': boolean | undefined;
22702
22762
  'ssr:featureFlags': ssr.SSRFeatureFlags | undefined;
22703
22763
  'event:browser:name'?: string | undefined;
@@ -23468,6 +23528,8 @@ export declare function createExperimentalMetricsPayload(interactionId: string,
23468
23528
  [key: string]: number;
23469
23529
  } | null;
23470
23530
  'event:assets': import("../common").AssetsData;
23531
+ 'ssr:prefetch:success'?: boolean | undefined;
23532
+ 'ssr:earlyflush:success'?: boolean | undefined;
23471
23533
  'ssr:success': boolean | undefined;
23472
23534
  'ssr:featureFlags': ssr.SSRFeatureFlags | undefined;
23473
23535
  'event:browser:name'?: string | undefined;
@@ -24238,6 +24300,8 @@ export declare function createExperimentalMetricsPayload(interactionId: string,
24238
24300
  [key: string]: number;
24239
24301
  } | null;
24240
24302
  'event:assets': import("../common").AssetsData;
24303
+ 'ssr:prefetch:success'?: boolean | undefined;
24304
+ 'ssr:earlyflush:success'?: boolean | undefined;
24241
24305
  'ssr:success': boolean | undefined;
24242
24306
  'ssr:featureFlags': ssr.SSRFeatureFlags | undefined;
24243
24307
  'event:browser:name'?: string | undefined;
@@ -5,5 +5,8 @@ type Props = {
5
5
  mode?: 'list' | 'single';
6
6
  };
7
7
  /** A portion of the page we apply measurement to */
8
- export default function UFOSegment({ name: segmentName, children, mode }: Props): React.JSX.Element;
9
- export {};
8
+ declare function UFOSegment({ name: segmentName, children, mode }: Props): React.JSX.Element;
9
+ declare namespace UFOSegment {
10
+ var displayName: string;
11
+ }
12
+ export default UFOSegment;
@@ -11,12 +11,36 @@ export type SSRFeatureFlags = {
11
11
  [key: string]: FeatureFlagValue;
12
12
  };
13
13
  export type SSRConfig = {
14
+ /**
15
+ * Used to represent whether SSR as a whole was considered successful. You can consider this the success of the "render" phase success
16
+ */
14
17
  getDoneMark: () => number | null;
18
+ /**
19
+ * Used to represent whether certain phases within were successful.
20
+ * It is encouraged to send false even if the phase only partially failed and rely on ssr-side logging/metrics to disambiguate failure severity
21
+ */
22
+ getSsrPhaseSuccess?: () => {
23
+ /**
24
+ * The "prefetch" phase in SSR - where SSR fetches remote data necessary for rendering the page.
25
+ * If any of the fetches fail, this should be false, use server side logging/metrics to dive into more detail into the nature of the failure.
26
+ * UFO - which is client-side only - may not know the nature of the failure if SSR as a whole failed and a static fallback was given to the client.
27
+ */
28
+ prefetch?: boolean;
29
+ /**
30
+ * The "earlyFLush" phase in SSR - where SSR sends the first flush to the client.
31
+ * This is generally expected to be earlier than / independant of the prefetch data and may even be non-visual (eg: <link rel="preload" href="..."> tags).
32
+ */
33
+ earlyFlush?: boolean;
34
+ };
15
35
  getFeatureFlags: () => SSRFeatureFlags | null;
16
36
  getTimings?: () => ReportedTimings | null;
17
37
  };
18
38
  export declare function configure(ssrConfig: SSRConfig): void;
19
39
  export declare function getSSRTimings(): ReportedTimings;
20
40
  export declare function getSSRSuccess(): boolean;
41
+ export declare function getSSRPhaseSuccess(): {
42
+ prefetch?: boolean;
43
+ earlyFlush?: boolean;
44
+ } | undefined;
21
45
  export declare function getSSRDoneTime(): number | undefined;
22
46
  export declare function getSSRFeatureFlags(): SSRFeatureFlags | undefined;
@@ -1,7 +1,7 @@
1
1
  import { type UnbindFn } from 'bind-event-listener';
2
2
  import type { ComponentsLogType, VCAbortReasonType, VCEntryType, VCIgnoreReason, VCRatioType, VCRawDataType, VCResult } from '../../common/vc/types';
3
3
  import type { GetVCResultType, VCObserverInterface, VCObserverOptions } from '../types';
4
- import { VCRevisionDebugDetails } from './getVCRevisionDebugDetails';
4
+ import { type VCRevisionDebugDetails } from './getVCRevisionDebugDetails';
5
5
  import { Observers } from './observers';
6
6
  declare global {
7
7
  interface Window {
@@ -21,7 +21,7 @@ export declare class SSRPlaceholderHandlers {
21
21
  private EQUALITY_THRESHOLD;
22
22
  private enablePageLayoutPlaceholder;
23
23
  private disableSizeAndPositionCheck;
24
- constructor({ enablePageLayoutPlaceholder, disableSizeAndPositionCheck }: SSRPlaceholderHandlersConfig);
24
+ constructor({ enablePageLayoutPlaceholder, disableSizeAndPositionCheck, }: SSRPlaceholderHandlersConfig);
25
25
  private getPlaceholderId;
26
26
  private getPlaceholderReplacementId;
27
27
  clear(): void;
@@ -1,5 +1,5 @@
1
1
  import type { RevisionPayloadEntry, VCAbortReason } from '../../../common/vc/types';
2
- import { VCRevisionDebugDetails } from '../../vc-observer/getVCRevisionDebugDetails';
2
+ import type { VCRevisionDebugDetails } from '../../vc-observer/getVCRevisionDebugDetails';
3
3
  import type { VCObserverEntry } from '../types';
4
4
  import type { VCCalculator, VCCalculatorParam } from './types';
5
5
  declare global {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@atlaskit/react-ufo",
3
- "version": "3.13.22",
3
+ "version": "3.13.24",
4
4
  "description": "Parts of React UFO that are publicly available",
5
5
  "author": "Atlassian Pty Ltd",
6
6
  "license": "Apache-2.0",
@@ -174,6 +174,12 @@
174
174
  },
175
175
  "platform_ufo_enable_interactions_vc": {
176
176
  "type": "boolean"
177
+ },
178
+ "platform_ufo_enable_timeout_config": {
179
+ "type": "boolean"
180
+ },
181
+ "platform_ufo_enable_interactivity_jsm": {
182
+ "type": "boolean"
177
183
  }
178
184
  }
179
185
  }