@atlaskit/react-ufo 3.6.2 → 3.6.4

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 (26) hide show
  1. package/CHANGELOG.md +19 -0
  2. package/dist/cjs/create-payload/index.js +15 -15
  3. package/dist/cjs/create-payload/utils/get-react-ufo-payload-version.js +13 -0
  4. package/dist/cjs/create-post-interaction-log-payload/index.js +2 -3
  5. package/dist/cjs/vc/vc-observer/observers/index.js +2 -4
  6. package/dist/cjs/vc/vc-observer-new/viewport-observer/intersection-observer/index.js +6 -6
  7. package/dist/es2019/create-payload/index.js +15 -15
  8. package/dist/es2019/create-payload/utils/get-react-ufo-payload-version.js +7 -0
  9. package/dist/es2019/create-post-interaction-log-payload/index.js +2 -3
  10. package/dist/es2019/vc/vc-observer/observers/index.js +2 -4
  11. package/dist/es2019/vc/vc-observer-new/viewport-observer/intersection-observer/index.js +6 -6
  12. package/dist/esm/create-payload/index.js +15 -15
  13. package/dist/esm/create-payload/utils/get-react-ufo-payload-version.js +7 -0
  14. package/dist/esm/create-post-interaction-log-payload/index.js +2 -3
  15. package/dist/esm/vc/vc-observer/observers/index.js +2 -4
  16. package/dist/esm/vc/vc-observer-new/viewport-observer/intersection-observer/index.js +6 -6
  17. package/dist/types/create-payload/utils/get-react-ufo-payload-version.d.ts +2 -0
  18. package/dist/types/create-post-interaction-log-payload/index.d.ts +0 -1
  19. package/dist/types-ts4.5/create-payload/utils/get-react-ufo-payload-version.d.ts +2 -0
  20. package/dist/types-ts4.5/create-post-interaction-log-payload/index.d.ts +0 -1
  21. package/package.json +1 -7
  22. package/dist/cjs/common/constants.js +0 -19
  23. package/dist/es2019/common/constants.js +0 -13
  24. package/dist/esm/common/constants.js +0 -13
  25. package/dist/types/common/constants.d.ts +0 -2
  26. package/dist/types-ts4.5/common/constants.d.ts +0 -2
package/CHANGELOG.md CHANGED
@@ -1,5 +1,24 @@
1
1
  # @atlaskit/ufo-interaction-ignore
2
2
 
3
+ ## 3.6.4
4
+
5
+ ### Patch Changes
6
+
7
+ - [#144654](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/pull-requests/144654)
8
+ [`f01bae7a69fc9`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/f01bae7a69fc9) -
9
+ remove withProfiling wrappers for intersection observer callbacks
10
+
11
+ ## 3.6.3
12
+
13
+ ### Patch Changes
14
+
15
+ - [#141647](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/pull-requests/141647)
16
+ [`66f1d049bd2ea`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/66f1d049bd2ea) -
17
+ cleanup ff platform_ufo_vc_fix_ignore_image_mutation
18
+ - [#143633](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/pull-requests/143633)
19
+ [`16db0c6d6329c`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/16db0c6d6329c) -
20
+ FF cleanup - enable-react-ufo-payload-segment-compressed
21
+
3
22
  ## 3.6.2
4
23
 
5
24
  ### Patch Changes
@@ -19,7 +19,6 @@ var _additionalPayload = require("../additional-payload");
19
19
  var _assets = require("../assets");
20
20
  var bundleEvalTiming = _interopRequireWildcard(require("../bundle-eval-timing"));
21
21
  var _coinflip = _interopRequireDefault(require("../coinflip"));
22
- var _constants = require("../common/constants");
23
22
  var _config = require("../config");
24
23
  var _createExperimentalInteractionMetricsPayload = require("../create-experimental-interaction-metrics-payload");
25
24
  var _customTimings = require("../custom-timings");
@@ -35,6 +34,7 @@ var ssr = _interopRequireWildcard(require("../ssr"));
35
34
  var _utils = require("./common/utils");
36
35
  var _getInteractionStatus = _interopRequireDefault(require("./utils/get-interaction-status"));
37
36
  var _getPageVisibilityUpToTtai = _interopRequireDefault(require("./utils/get-page-visibility-up-to-ttai"));
37
+ var _getReactUfoPayloadVersion = require("./utils/get-react-ufo-payload-version");
38
38
  var _getSsrDoneTimeValue = _interopRequireDefault(require("./utils/get-ssr-done-time-value"));
39
39
  var _getVcMetrics = _interopRequireDefault(require("./utils/get-vc-metrics"));
40
40
  var _excluded = ["labelStack", "time"],
@@ -393,7 +393,7 @@ var optimizeCustomData = (0, _selfMeasurements.withProfiling)(function optimizeC
393
393
  var label = (0, _utils.stringifyLabelStackFully)(labelStack);
394
394
  var value = (_result$get$data = (_result$get = result.get(label)) === null || _result$get === void 0 ? void 0 : _result$get.data) !== null && _result$get$data !== void 0 ? _result$get$data : {};
395
395
  result.set(label, {
396
- labelStack: (0, _utils.optimizeLabelStack)(labelStack, (0, _constants.getReactUFOVersion)(interaction.type)),
396
+ labelStack: (0, _utils.optimizeLabelStack)(labelStack, (0, _getReactUfoPayloadVersion.getReactUFOPayloadVersion)(interaction.type)),
397
397
  data: Object.assign(value, data)
398
398
  });
399
399
  return result;
@@ -410,7 +410,7 @@ var optimizeCustomData = (0, _selfMeasurements.withProfiling)(function optimizeC
410
410
  var label = (0, _utils.stringifyLabelStackFully)([]);
411
411
  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 : {};
412
412
  result.set(label, {
413
- labelStack: (0, _utils.optimizeLabelStack)([], (0, _constants.getReactUFOVersion)(interaction.type)),
413
+ labelStack: (0, _utils.optimizeLabelStack)([], (0, _getReactUfoPayloadVersion.getReactUFOPayloadVersion)(interaction.type)),
414
414
  data: Object.assign(labelValue, (0, _defineProperty2.default)({}, key, value))
415
415
  });
416
416
  }
@@ -723,7 +723,7 @@ function _createInteractionMetricsPayload() {
723
723
  pageVisibilityAtTTI = getPageVisibilityUpToTTI(interaction);
724
724
  pageVisibilityAtTTAI = (0, _getPageVisibilityUpToTtai.default)(interaction);
725
725
  segments = config.killswitchNestedSegments ? [] : knownSegments;
726
- segmentTree = (0, _constants.getReactUFOVersion)(interaction.type) === '2.0.0' ? (0, _utils.buildSegmentTree)(segments.map(function (segment) {
726
+ segmentTree = (0, _getReactUfoPayloadVersion.getReactUFOPayloadVersion)(interaction.type) === '2.0.0' ? (0, _utils.buildSegmentTree)(segments.map(function (segment) {
727
727
  return segment.labelStack;
728
728
  })) : {};
729
729
  isDetailedPayload = pageVisibilityAtTTAI === 'visible';
@@ -732,7 +732,7 @@ function _createInteractionMetricsPayload() {
732
732
  moreAccuratePageVisibilityAtTTI = calculatePageVisibilityFromTheStartOfPageLoad ? getMoreAccuratePageVisibilityUpToTTI(interaction) : null;
733
733
  moreAccuratePageVisibilityAtTTAI = calculatePageVisibilityFromTheStartOfPageLoad ? getMoreAccuratePageVisibilityUpToTTAI(interaction) : null;
734
734
  labelStack = interaction.labelStack ? {
735
- labelStack: (0, _utils.optimizeLabelStack)(interaction.labelStack, (0, _constants.getReactUFOVersion)(interaction.type))
735
+ labelStack: (0, _utils.optimizeLabelStack)(interaction.labelStack, (0, _getReactUfoPayloadVersion.getReactUFOPayloadVersion)(interaction.type))
736
736
  } : {}; // Page Load
737
737
  getInitialPageLoadSSRMetrics = function getInitialPageLoadSSRMetrics() {
738
738
  var _config$ssr;
@@ -761,14 +761,14 @@ function _createInteractionMetricsPayload() {
761
761
  var labelStack = _ref6.labelStack,
762
762
  others = (0, _objectWithoutProperties2.default)(_ref6, _excluded3);
763
763
  return _objectSpread(_objectSpread({}, others), {}, {
764
- labelStack: labelStack && (0, _utils.optimizeLabelStack)(labelStack, (0, _constants.getReactUFOVersion)(interaction.type))
764
+ labelStack: labelStack && (0, _utils.optimizeLabelStack)(labelStack, (0, _getReactUfoPayloadVersion.getReactUFOPayloadVersion)(interaction.type))
765
765
  });
766
766
  }),
767
767
  holdActive: (0, _toConsumableArray2.default)(interaction.holdActive.values()),
768
768
  redirects: optimizeRedirects(interaction.redirects, start),
769
- holdInfo: optimizeHoldInfo(experimental ? interaction.holdExpInfo : interaction.holdInfo, start, (0, _constants.getReactUFOVersion)(interaction.type)),
770
- spans: optimizeSpans(spans, start, (0, _constants.getReactUFOVersion)(interaction.type)),
771
- requestInfo: optimizeRequestInfo(interaction.requestInfo, start, (0, _constants.getReactUFOVersion)(interaction.type)),
769
+ holdInfo: optimizeHoldInfo(experimental ? interaction.holdExpInfo : interaction.holdInfo, start, (0, _getReactUfoPayloadVersion.getReactUFOPayloadVersion)(interaction.type)),
770
+ spans: optimizeSpans(spans, start, (0, _getReactUfoPayloadVersion.getReactUFOPayloadVersion)(interaction.type)),
771
+ requestInfo: optimizeRequestInfo(interaction.requestInfo, start, (0, _getReactUfoPayloadVersion.getReactUFOPayloadVersion)(interaction.type)),
772
772
  customTimings: optimizeCustomTimings(interaction.customTimings, start),
773
773
  bundleEvalTimings: objectToArray(getBundleEvalTimings(start)),
774
774
  resourceTimings: objectToArray(resourceTimings)
@@ -815,7 +815,7 @@ function _createInteractionMetricsPayload() {
815
815
  'event:sizeInKb': 0,
816
816
  'event:source': {
817
817
  name: 'react-ufo/web',
818
- version: (0, _constants.getReactUFOVersion)(interaction.type)
818
+ version: (0, _getReactUfoPayloadVersion.getReactUFOPayloadVersion)(interaction.type)
819
819
  },
820
820
  'event:region': config.region || 'unknown',
821
821
  'experience:key': experimental ? 'custom.experimental-interaction-metrics' : 'custom.interaction-metrics',
@@ -839,19 +839,19 @@ function _createInteractionMetricsPayload() {
839
839
  isPreviousInteractionAborted: isPreviousInteractionAborted,
840
840
  abortedByInteractionName: abortedByInteractionName,
841
841
  // performance
842
- apdex: optimizeApdex(interaction.apdex, (0, _constants.getReactUFOVersion)(interaction.type)),
842
+ apdex: optimizeApdex(interaction.apdex, (0, _getReactUfoPayloadVersion.getReactUFOPayloadVersion)(interaction.type)),
843
843
  end: Math.round(end),
844
844
  start: Math.round(start),
845
- segments: (0, _constants.getReactUFOVersion)(interaction.type) === '2.0.0' ? segmentTree : segments.map(function (_ref7) {
845
+ segments: (0, _getReactUfoPayloadVersion.getReactUFOPayloadVersion)(interaction.type) === '2.0.0' ? segmentTree : segments.map(function (_ref7) {
846
846
  var labelStack = _ref7.labelStack,
847
847
  others = (0, _objectWithoutProperties2.default)(_ref7, _excluded4);
848
848
  return _objectSpread(_objectSpread({}, others), {}, {
849
- labelStack: (0, _utils.optimizeLabelStack)(labelStack, (0, _constants.getReactUFOVersion)(interaction.type))
849
+ labelStack: (0, _utils.optimizeLabelStack)(labelStack, (0, _getReactUfoPayloadVersion.getReactUFOPayloadVersion)(interaction.type))
850
850
  });
851
851
  }),
852
- marks: optimizeMarks(interaction.marks, (0, _constants.getReactUFOVersion)(interaction.type)),
852
+ marks: optimizeMarks(interaction.marks, (0, _getReactUfoPayloadVersion.getReactUFOPayloadVersion)(interaction.type)),
853
853
  customData: optimizeCustomData(interaction),
854
- reactProfilerTimings: optimizeReactProfilerTimings(interaction.reactProfilerTimings, start, (0, _constants.getReactUFOVersion)(interaction.type))
854
+ reactProfilerTimings: optimizeReactProfilerTimings(interaction.reactProfilerTimings, start, (0, _getReactUfoPayloadVersion.getReactUFOPayloadVersion)(interaction.type))
855
855
  }, labelStack), pageLoadInteractionMetrics), getDetailedInteractionMetrics(resourceTimings)), getPageLoadDetailedInteractionMetrics()), getBm3TrackerTimings(interaction)), {}, {
856
856
  'metric:ttai': experimental ? regularTTAI || expTTAI : undefined,
857
857
  'metric:experimental:ttai': expTTAI
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.getReactUFOPayloadVersion = void 0;
7
+ var _selfMeasurements = require("../../self-measurements");
8
+ var getReactUFOPayloadVersion = exports.getReactUFOPayloadVersion = (0, _selfMeasurements.withProfiling)(function getReactUFOVersion(interactionType) {
9
+ if (interactionType !== 'page_load' && interactionType !== 'transition') {
10
+ return '1.0.1';
11
+ }
12
+ return '2.0.0';
13
+ });
@@ -8,9 +8,9 @@ exports.default = void 0;
8
8
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
9
9
  var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
10
10
  var _coinflip = _interopRequireDefault(require("../coinflip"));
11
- var _constants = require("../common/constants");
12
11
  var _config = require("../config");
13
12
  var _utils = require("../create-payload/common/utils");
13
+ var _getReactUfoPayloadVersion = require("../create-payload/utils/get-react-ufo-payload-version");
14
14
  var _hiddenTiming = require("../hidden-timing");
15
15
  var _selfMeasurements = require("../self-measurements");
16
16
  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; }
@@ -189,8 +189,7 @@ var createPostInteractionLogPayload = (0, _selfMeasurements.withProfiling)(funct
189
189
  'event:schema': '1.0.0',
190
190
  'event:source': {
191
191
  name: 'react-ufo/web',
192
- version: (0, _constants.getReactUFOVersion)(lastInteractionFinish.type),
193
- payloadSource: 'platform'
192
+ version: (0, _getReactUfoPayloadVersion.getReactUFOPayloadVersion)(lastInteractionFinish.type)
194
193
  },
195
194
  'event:region': config.region || 'unknown',
196
195
  'experience:key': 'custom.post-interaction-logs',
@@ -258,10 +258,8 @@ var Observers = exports.Observers = /*#__PURE__*/function () {
258
258
  if ((0, _isNonVisualStyleMutation.default)(mutation)) {
259
259
  ignoreReason = 'non-visual-style';
260
260
  }
261
- if ((0, _platformFeatureFlags.fg)('platform_ufo_vc_fix_ignore_image_mutation')) {
262
- if ((0, _vcUtils.isContainedWithinMediaWrapper)(mutation.target)) {
263
- ignoreReason = 'image';
264
- }
261
+ if ((0, _vcUtils.isContainedWithinMediaWrapper)(mutation.target)) {
262
+ ignoreReason = 'image';
265
263
  }
266
264
  _this2.observeElement(mutation.target, mutation, 'attr', ignoreReason, attributeName, oldValue, newValue);
267
265
  }
@@ -59,15 +59,15 @@ function createIntersectionObserver(args) {
59
59
  });
60
60
  var observer = new IntersectionObserver(intersectionObserverCallback);
61
61
  return {
62
- disconnect: (0, _selfMeasurements.withProfiling)(function disconnect() {
62
+ disconnect: function disconnect() {
63
63
  observer.disconnect();
64
- }, ['vc']),
65
- unobserve: (0, _selfMeasurements.withProfiling)(function unobserve(target) {
64
+ },
65
+ unobserve: function unobserve(target) {
66
66
  observer.unobserve(target);
67
- }, ['vc']),
68
- watchAndTag: (0, _selfMeasurements.withProfiling)(function watchAndTag(target, tagOrCallback) {
67
+ },
68
+ watchAndTag: function watchAndTag(target, tagOrCallback) {
69
69
  callbacksPerElement.set(target, tagOrCallback);
70
70
  observer.observe(target);
71
- }, ['vc'])
71
+ }
72
72
  };
73
73
  }
@@ -4,7 +4,6 @@ import { getLighthouseMetrics } from '../additional-payload';
4
4
  import { CHRReporter } from '../assets';
5
5
  import * as bundleEvalTiming from '../bundle-eval-timing';
6
6
  import coinflip from '../coinflip';
7
- import { getReactUFOVersion } from '../common/constants';
8
7
  import { getConfig, getExperimentalInteractionRate, getUfoNameOverrides } from '../config';
9
8
  import { getExperimentalVCMetrics } from '../create-experimental-interaction-metrics-payload';
10
9
  import { getBm3Timings } from '../custom-timings';
@@ -20,6 +19,7 @@ import * as ssr from '../ssr';
20
19
  import { buildSegmentTree, labelStackStartWith, optimizeLabelStack, sanitizeUfoName, stringifyLabelStackFully } from './common/utils';
21
20
  import getInteractionStatus from './utils/get-interaction-status';
22
21
  import getPageVisibilityUpToTTAI from './utils/get-page-visibility-up-to-ttai';
22
+ import { getReactUFOPayloadVersion } from './utils/get-react-ufo-payload-version';
23
23
  import getSSRDoneTimeValue from './utils/get-ssr-done-time-value';
24
24
  import getVCMetrics from './utils/get-vc-metrics';
25
25
  const getUfoNameOverride = withProfiling(function getUfoNameOverride(interaction) {
@@ -362,7 +362,7 @@ const optimizeCustomData = withProfiling(function optimizeCustomData(interaction
362
362
  const label = stringifyLabelStackFully(labelStack);
363
363
  const value = (_result$get$data = (_result$get = result.get(label)) === null || _result$get === void 0 ? void 0 : _result$get.data) !== null && _result$get$data !== void 0 ? _result$get$data : {};
364
364
  result.set(label, {
365
- labelStack: optimizeLabelStack(labelStack, getReactUFOVersion(interaction.type)),
365
+ labelStack: optimizeLabelStack(labelStack, getReactUFOPayloadVersion(interaction.type)),
366
366
  data: Object.assign(value, data)
367
367
  });
368
368
  return result;
@@ -374,7 +374,7 @@ const optimizeCustomData = withProfiling(function optimizeCustomData(interaction
374
374
  const label = stringifyLabelStackFully([]);
375
375
  const 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 : {};
376
376
  result.set(label, {
377
- labelStack: optimizeLabelStack([], getReactUFOVersion(interaction.type)),
377
+ labelStack: optimizeLabelStack([], getReactUFOPayloadVersion(interaction.type)),
378
378
  data: Object.assign(labelValue, {
379
379
  [key]: value
380
380
  })
@@ -699,14 +699,14 @@ async function createInteractionMetricsPayload(interaction, interactionId, exper
699
699
  const pageVisibilityAtTTI = getPageVisibilityUpToTTI(interaction);
700
700
  const pageVisibilityAtTTAI = getPageVisibilityUpToTTAI(interaction);
701
701
  const segments = config.killswitchNestedSegments ? [] : knownSegments;
702
- const segmentTree = getReactUFOVersion(interaction.type) === '2.0.0' ? buildSegmentTree(segments.map(segment => segment.labelStack)) : {};
702
+ const segmentTree = getReactUFOPayloadVersion(interaction.type) === '2.0.0' ? buildSegmentTree(segments.map(segment => segment.labelStack)) : {};
703
703
  const isDetailedPayload = pageVisibilityAtTTAI === 'visible';
704
704
  const isPageLoad = type === 'page_load';
705
705
  const calculatePageVisibilityFromTheStartOfPageLoad = config.enableBetterPageVisibilityApi && isPageLoad;
706
706
  const moreAccuratePageVisibilityAtTTI = calculatePageVisibilityFromTheStartOfPageLoad ? getMoreAccuratePageVisibilityUpToTTI(interaction) : null;
707
707
  const moreAccuratePageVisibilityAtTTAI = calculatePageVisibilityFromTheStartOfPageLoad ? getMoreAccuratePageVisibilityUpToTTAI(interaction) : null;
708
708
  const labelStack = interaction.labelStack ? {
709
- labelStack: optimizeLabelStack(interaction.labelStack, getReactUFOVersion(interaction.type))
709
+ labelStack: optimizeLabelStack(interaction.labelStack, getReactUFOPayloadVersion(interaction.type))
710
710
  } : {};
711
711
  // Page Load
712
712
  const getInitialPageLoadSSRMetrics = () => {
@@ -740,13 +740,13 @@ async function createInteractionMetricsPayload(interaction, interactionId, exper
740
740
  ...others
741
741
  }) => ({
742
742
  ...others,
743
- labelStack: labelStack && optimizeLabelStack(labelStack, getReactUFOVersion(interaction.type))
743
+ labelStack: labelStack && optimizeLabelStack(labelStack, getReactUFOPayloadVersion(interaction.type))
744
744
  })),
745
745
  holdActive: [...interaction.holdActive.values()],
746
746
  redirects: optimizeRedirects(interaction.redirects, start),
747
- holdInfo: optimizeHoldInfo(experimental ? interaction.holdExpInfo : interaction.holdInfo, start, getReactUFOVersion(interaction.type)),
748
- spans: optimizeSpans(spans, start, getReactUFOVersion(interaction.type)),
749
- requestInfo: optimizeRequestInfo(interaction.requestInfo, start, getReactUFOVersion(interaction.type)),
747
+ holdInfo: optimizeHoldInfo(experimental ? interaction.holdExpInfo : interaction.holdInfo, start, getReactUFOPayloadVersion(interaction.type)),
748
+ spans: optimizeSpans(spans, start, getReactUFOPayloadVersion(interaction.type)),
749
+ requestInfo: optimizeRequestInfo(interaction.requestInfo, start, getReactUFOPayloadVersion(interaction.type)),
750
750
  customTimings: optimizeCustomTimings(interaction.customTimings, start),
751
751
  bundleEvalTimings: objectToArray(getBundleEvalTimings(start)),
752
752
  resourceTimings: objectToArray(resourceTimings)
@@ -787,7 +787,7 @@ async function createInteractionMetricsPayload(interaction, interactionId, exper
787
787
  'event:sizeInKb': 0,
788
788
  'event:source': {
789
789
  name: 'react-ufo/web',
790
- version: getReactUFOVersion(interaction.type)
790
+ version: getReactUFOPayloadVersion(interaction.type)
791
791
  },
792
792
  'event:region': config.region || 'unknown',
793
793
  'experience:key': experimental ? 'custom.experimental-interaction-metrics' : 'custom.interaction-metrics',
@@ -823,19 +823,19 @@ async function createInteractionMetricsPayload(interaction, interactionId, exper
823
823
  isPreviousInteractionAborted,
824
824
  abortedByInteractionName,
825
825
  // performance
826
- apdex: optimizeApdex(interaction.apdex, getReactUFOVersion(interaction.type)),
826
+ apdex: optimizeApdex(interaction.apdex, getReactUFOPayloadVersion(interaction.type)),
827
827
  end: Math.round(end),
828
828
  start: Math.round(start),
829
- segments: getReactUFOVersion(interaction.type) === '2.0.0' ? segmentTree : segments.map(({
829
+ segments: getReactUFOPayloadVersion(interaction.type) === '2.0.0' ? segmentTree : segments.map(({
830
830
  labelStack,
831
831
  ...others
832
832
  }) => ({
833
833
  ...others,
834
- labelStack: optimizeLabelStack(labelStack, getReactUFOVersion(interaction.type))
834
+ labelStack: optimizeLabelStack(labelStack, getReactUFOPayloadVersion(interaction.type))
835
835
  })),
836
- marks: optimizeMarks(interaction.marks, getReactUFOVersion(interaction.type)),
836
+ marks: optimizeMarks(interaction.marks, getReactUFOPayloadVersion(interaction.type)),
837
837
  customData: optimizeCustomData(interaction),
838
- reactProfilerTimings: optimizeReactProfilerTimings(interaction.reactProfilerTimings, start, getReactUFOVersion(interaction.type)),
838
+ reactProfilerTimings: optimizeReactProfilerTimings(interaction.reactProfilerTimings, start, getReactUFOPayloadVersion(interaction.type)),
839
839
  ...labelStack,
840
840
  ...pageLoadInteractionMetrics,
841
841
  ...getDetailedInteractionMetrics(resourceTimings),
@@ -0,0 +1,7 @@
1
+ import { withProfiling } from '../../self-measurements';
2
+ export const getReactUFOPayloadVersion = withProfiling(function getReactUFOVersion(interactionType) {
3
+ if (interactionType !== 'page_load' && interactionType !== 'transition') {
4
+ return '1.0.1';
5
+ }
6
+ return '2.0.0';
7
+ });
@@ -1,7 +1,7 @@
1
1
  import coinflip from '../coinflip';
2
- import { getReactUFOVersion } from '../common/constants';
3
2
  import { getConfig, getPostInteractionRate } from '../config';
4
3
  import { isSegmentLabel, sanitizeUfoName } from '../create-payload/common/utils';
4
+ import { getReactUFOPayloadVersion } from '../create-payload/utils/get-react-ufo-payload-version';
5
5
  import { getPageVisibilityState } from '../hidden-timing';
6
6
  import { withProfiling } from '../self-measurements';
7
7
  const getParentStack = withProfiling(function getParentStack(labelStack) {
@@ -169,8 +169,7 @@ const createPostInteractionLogPayload = withProfiling(function createPostInterac
169
169
  'event:schema': '1.0.0',
170
170
  'event:source': {
171
171
  name: 'react-ufo/web',
172
- version: getReactUFOVersion(lastInteractionFinish.type),
173
- payloadSource: 'platform'
172
+ version: getReactUFOPayloadVersion(lastInteractionFinish.type)
174
173
  },
175
174
  'event:region': config.region || 'unknown',
176
175
  'experience:key': 'custom.post-interaction-logs',
@@ -228,10 +228,8 @@ export class Observers {
228
228
  if (isNonVisualStyleMutation(mutation)) {
229
229
  ignoreReason = 'non-visual-style';
230
230
  }
231
- if (fg('platform_ufo_vc_fix_ignore_image_mutation')) {
232
- if (isContainedWithinMediaWrapper(mutation.target)) {
233
- ignoreReason = 'image';
234
- }
231
+ if (isContainedWithinMediaWrapper(mutation.target)) {
232
+ ignoreReason = 'image';
235
233
  }
236
234
  this.observeElement(mutation.target, mutation, 'attr', ignoreReason, attributeName, oldValue, newValue);
237
235
  }
@@ -54,15 +54,15 @@ export function createIntersectionObserver(args) {
54
54
  });
55
55
  const observer = new IntersectionObserver(intersectionObserverCallback);
56
56
  return {
57
- disconnect: withProfiling(function disconnect() {
57
+ disconnect: () => {
58
58
  observer.disconnect();
59
- }, ['vc']),
60
- unobserve: withProfiling(function unobserve(target) {
59
+ },
60
+ unobserve: target => {
61
61
  observer.unobserve(target);
62
- }, ['vc']),
63
- watchAndTag: withProfiling(function watchAndTag(target, tagOrCallback) {
62
+ },
63
+ watchAndTag: (target, tagOrCallback) => {
64
64
  callbacksPerElement.set(target, tagOrCallback);
65
65
  observer.observe(target);
66
- }, ['vc'])
66
+ }
67
67
  };
68
68
  }
@@ -16,7 +16,6 @@ import { getLighthouseMetrics } from '../additional-payload';
16
16
  import { CHRReporter } from '../assets';
17
17
  import * as bundleEvalTiming from '../bundle-eval-timing';
18
18
  import coinflip from '../coinflip';
19
- import { getReactUFOVersion } from '../common/constants';
20
19
  import { getConfig, getExperimentalInteractionRate, getUfoNameOverrides } from '../config';
21
20
  import { getExperimentalVCMetrics } from '../create-experimental-interaction-metrics-payload';
22
21
  import { getBm3Timings } from '../custom-timings';
@@ -32,6 +31,7 @@ import * as ssr from '../ssr';
32
31
  import { buildSegmentTree, labelStackStartWith, optimizeLabelStack, sanitizeUfoName, stringifyLabelStackFully } from './common/utils';
33
32
  import getInteractionStatus from './utils/get-interaction-status';
34
33
  import getPageVisibilityUpToTTAI from './utils/get-page-visibility-up-to-ttai';
34
+ import { getReactUFOPayloadVersion } from './utils/get-react-ufo-payload-version';
35
35
  import getSSRDoneTimeValue from './utils/get-ssr-done-time-value';
36
36
  import getVCMetrics from './utils/get-vc-metrics';
37
37
  var getUfoNameOverride = withProfiling(function getUfoNameOverride(interaction) {
@@ -382,7 +382,7 @@ var optimizeCustomData = withProfiling(function optimizeCustomData(interaction)
382
382
  var label = stringifyLabelStackFully(labelStack);
383
383
  var value = (_result$get$data = (_result$get = result.get(label)) === null || _result$get === void 0 ? void 0 : _result$get.data) !== null && _result$get$data !== void 0 ? _result$get$data : {};
384
384
  result.set(label, {
385
- labelStack: optimizeLabelStack(labelStack, getReactUFOVersion(interaction.type)),
385
+ labelStack: optimizeLabelStack(labelStack, getReactUFOPayloadVersion(interaction.type)),
386
386
  data: Object.assign(value, data)
387
387
  });
388
388
  return result;
@@ -399,7 +399,7 @@ var optimizeCustomData = withProfiling(function optimizeCustomData(interaction)
399
399
  var label = stringifyLabelStackFully([]);
400
400
  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 : {};
401
401
  result.set(label, {
402
- labelStack: optimizeLabelStack([], getReactUFOVersion(interaction.type)),
402
+ labelStack: optimizeLabelStack([], getReactUFOPayloadVersion(interaction.type)),
403
403
  data: Object.assign(labelValue, _defineProperty({}, key, value))
404
404
  });
405
405
  }
@@ -712,7 +712,7 @@ function _createInteractionMetricsPayload() {
712
712
  pageVisibilityAtTTI = getPageVisibilityUpToTTI(interaction);
713
713
  pageVisibilityAtTTAI = getPageVisibilityUpToTTAI(interaction);
714
714
  segments = config.killswitchNestedSegments ? [] : knownSegments;
715
- segmentTree = getReactUFOVersion(interaction.type) === '2.0.0' ? buildSegmentTree(segments.map(function (segment) {
715
+ segmentTree = getReactUFOPayloadVersion(interaction.type) === '2.0.0' ? buildSegmentTree(segments.map(function (segment) {
716
716
  return segment.labelStack;
717
717
  })) : {};
718
718
  isDetailedPayload = pageVisibilityAtTTAI === 'visible';
@@ -721,7 +721,7 @@ function _createInteractionMetricsPayload() {
721
721
  moreAccuratePageVisibilityAtTTI = calculatePageVisibilityFromTheStartOfPageLoad ? getMoreAccuratePageVisibilityUpToTTI(interaction) : null;
722
722
  moreAccuratePageVisibilityAtTTAI = calculatePageVisibilityFromTheStartOfPageLoad ? getMoreAccuratePageVisibilityUpToTTAI(interaction) : null;
723
723
  labelStack = interaction.labelStack ? {
724
- labelStack: optimizeLabelStack(interaction.labelStack, getReactUFOVersion(interaction.type))
724
+ labelStack: optimizeLabelStack(interaction.labelStack, getReactUFOPayloadVersion(interaction.type))
725
725
  } : {}; // Page Load
726
726
  getInitialPageLoadSSRMetrics = function getInitialPageLoadSSRMetrics() {
727
727
  var _config$ssr;
@@ -750,14 +750,14 @@ function _createInteractionMetricsPayload() {
750
750
  var labelStack = _ref6.labelStack,
751
751
  others = _objectWithoutProperties(_ref6, _excluded3);
752
752
  return _objectSpread(_objectSpread({}, others), {}, {
753
- labelStack: labelStack && optimizeLabelStack(labelStack, getReactUFOVersion(interaction.type))
753
+ labelStack: labelStack && optimizeLabelStack(labelStack, getReactUFOPayloadVersion(interaction.type))
754
754
  });
755
755
  }),
756
756
  holdActive: _toConsumableArray(interaction.holdActive.values()),
757
757
  redirects: optimizeRedirects(interaction.redirects, start),
758
- holdInfo: optimizeHoldInfo(experimental ? interaction.holdExpInfo : interaction.holdInfo, start, getReactUFOVersion(interaction.type)),
759
- spans: optimizeSpans(spans, start, getReactUFOVersion(interaction.type)),
760
- requestInfo: optimizeRequestInfo(interaction.requestInfo, start, getReactUFOVersion(interaction.type)),
758
+ holdInfo: optimizeHoldInfo(experimental ? interaction.holdExpInfo : interaction.holdInfo, start, getReactUFOPayloadVersion(interaction.type)),
759
+ spans: optimizeSpans(spans, start, getReactUFOPayloadVersion(interaction.type)),
760
+ requestInfo: optimizeRequestInfo(interaction.requestInfo, start, getReactUFOPayloadVersion(interaction.type)),
761
761
  customTimings: optimizeCustomTimings(interaction.customTimings, start),
762
762
  bundleEvalTimings: objectToArray(getBundleEvalTimings(start)),
763
763
  resourceTimings: objectToArray(resourceTimings)
@@ -804,7 +804,7 @@ function _createInteractionMetricsPayload() {
804
804
  'event:sizeInKb': 0,
805
805
  'event:source': {
806
806
  name: 'react-ufo/web',
807
- version: getReactUFOVersion(interaction.type)
807
+ version: getReactUFOPayloadVersion(interaction.type)
808
808
  },
809
809
  'event:region': config.region || 'unknown',
810
810
  'experience:key': experimental ? 'custom.experimental-interaction-metrics' : 'custom.interaction-metrics',
@@ -828,19 +828,19 @@ function _createInteractionMetricsPayload() {
828
828
  isPreviousInteractionAborted: isPreviousInteractionAborted,
829
829
  abortedByInteractionName: abortedByInteractionName,
830
830
  // performance
831
- apdex: optimizeApdex(interaction.apdex, getReactUFOVersion(interaction.type)),
831
+ apdex: optimizeApdex(interaction.apdex, getReactUFOPayloadVersion(interaction.type)),
832
832
  end: Math.round(end),
833
833
  start: Math.round(start),
834
- segments: getReactUFOVersion(interaction.type) === '2.0.0' ? segmentTree : segments.map(function (_ref7) {
834
+ segments: getReactUFOPayloadVersion(interaction.type) === '2.0.0' ? segmentTree : segments.map(function (_ref7) {
835
835
  var labelStack = _ref7.labelStack,
836
836
  others = _objectWithoutProperties(_ref7, _excluded4);
837
837
  return _objectSpread(_objectSpread({}, others), {}, {
838
- labelStack: optimizeLabelStack(labelStack, getReactUFOVersion(interaction.type))
838
+ labelStack: optimizeLabelStack(labelStack, getReactUFOPayloadVersion(interaction.type))
839
839
  });
840
840
  }),
841
- marks: optimizeMarks(interaction.marks, getReactUFOVersion(interaction.type)),
841
+ marks: optimizeMarks(interaction.marks, getReactUFOPayloadVersion(interaction.type)),
842
842
  customData: optimizeCustomData(interaction),
843
- reactProfilerTimings: optimizeReactProfilerTimings(interaction.reactProfilerTimings, start, getReactUFOVersion(interaction.type))
843
+ reactProfilerTimings: optimizeReactProfilerTimings(interaction.reactProfilerTimings, start, getReactUFOPayloadVersion(interaction.type))
844
844
  }, labelStack), pageLoadInteractionMetrics), getDetailedInteractionMetrics(resourceTimings)), getPageLoadDetailedInteractionMetrics()), getBm3TrackerTimings(interaction)), {}, {
845
845
  'metric:ttai': experimental ? regularTTAI || expTTAI : undefined,
846
846
  'metric:experimental:ttai': expTTAI
@@ -0,0 +1,7 @@
1
+ import { withProfiling } from '../../self-measurements';
2
+ export var getReactUFOPayloadVersion = withProfiling(function getReactUFOVersion(interactionType) {
3
+ if (interactionType !== 'page_load' && interactionType !== 'transition') {
4
+ return '1.0.1';
5
+ }
6
+ return '2.0.0';
7
+ });
@@ -3,9 +3,9 @@ import _toConsumableArray from "@babel/runtime/helpers/toConsumableArray";
3
3
  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; }
4
4
  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) { _defineProperty(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; }
5
5
  import coinflip from '../coinflip';
6
- import { getReactUFOVersion } from '../common/constants';
7
6
  import { getConfig, getPostInteractionRate } from '../config';
8
7
  import { isSegmentLabel, sanitizeUfoName } from '../create-payload/common/utils';
8
+ import { getReactUFOPayloadVersion } from '../create-payload/utils/get-react-ufo-payload-version';
9
9
  import { getPageVisibilityState } from '../hidden-timing';
10
10
  import { withProfiling } from '../self-measurements';
11
11
  var getParentStack = withProfiling(function getParentStack(labelStack) {
@@ -182,8 +182,7 @@ var createPostInteractionLogPayload = withProfiling(function createPostInteracti
182
182
  'event:schema': '1.0.0',
183
183
  'event:source': {
184
184
  name: 'react-ufo/web',
185
- version: getReactUFOVersion(lastInteractionFinish.type),
186
- payloadSource: 'platform'
185
+ version: getReactUFOPayloadVersion(lastInteractionFinish.type)
187
186
  },
188
187
  'event:region': config.region || 'unknown',
189
188
  'experience:key': 'custom.post-interaction-logs',
@@ -251,10 +251,8 @@ export var Observers = /*#__PURE__*/function () {
251
251
  if (isNonVisualStyleMutation(mutation)) {
252
252
  ignoreReason = 'non-visual-style';
253
253
  }
254
- if (fg('platform_ufo_vc_fix_ignore_image_mutation')) {
255
- if (isContainedWithinMediaWrapper(mutation.target)) {
256
- ignoreReason = 'image';
257
- }
254
+ if (isContainedWithinMediaWrapper(mutation.target)) {
255
+ ignoreReason = 'image';
258
256
  }
259
257
  _this2.observeElement(mutation.target, mutation, 'attr', ignoreReason, attributeName, oldValue, newValue);
260
258
  }
@@ -53,15 +53,15 @@ export function createIntersectionObserver(args) {
53
53
  });
54
54
  var observer = new IntersectionObserver(intersectionObserverCallback);
55
55
  return {
56
- disconnect: withProfiling(function disconnect() {
56
+ disconnect: function disconnect() {
57
57
  observer.disconnect();
58
- }, ['vc']),
59
- unobserve: withProfiling(function unobserve(target) {
58
+ },
59
+ unobserve: function unobserve(target) {
60
60
  observer.unobserve(target);
61
- }, ['vc']),
62
- watchAndTag: withProfiling(function watchAndTag(target, tagOrCallback) {
61
+ },
62
+ watchAndTag: function watchAndTag(target, tagOrCallback) {
63
63
  callbacksPerElement.set(target, tagOrCallback);
64
64
  observer.observe(target);
65
- }, ['vc'])
65
+ }
66
66
  };
67
67
  }
@@ -0,0 +1,2 @@
1
+ import type { InteractionType } from '../../interaction-metrics';
2
+ export declare const getReactUFOPayloadVersion: (interactionType: InteractionType) => "1.0.1" | "2.0.0";
@@ -13,7 +13,6 @@ declare const createPostInteractionLogPayload: (args_0: PostInteractionLogOutput
13
13
  'event:source': {
14
14
  name: string;
15
15
  version: string;
16
- payloadSource: string;
17
16
  };
18
17
  'event:region': string;
19
18
  'experience:key': string;
@@ -0,0 +1,2 @@
1
+ import type { InteractionType } from '../../interaction-metrics';
2
+ export declare const getReactUFOPayloadVersion: (interactionType: InteractionType) => "1.0.1" | "2.0.0";
@@ -13,7 +13,6 @@ declare const createPostInteractionLogPayload: (args_0: PostInteractionLogOutput
13
13
  'event:source': {
14
14
  name: string;
15
15
  version: string;
16
- payloadSource: string;
17
16
  };
18
17
  'event:region': string;
19
18
  'experience:key': string;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@atlaskit/react-ufo",
3
- "version": "3.6.2",
3
+ "version": "3.6.4",
4
4
  "description": "Parts of React UFO that are publicly available",
5
5
  "author": "Atlassian Pty Ltd",
6
6
  "license": "Apache-2.0",
@@ -130,9 +130,6 @@
130
130
  "platform_ufo_canvas_heatmap_full_precision": {
131
131
  "type": "boolean"
132
132
  },
133
- "enable-react-ufo-payload-segment-compressed": {
134
- "type": "boolean"
135
- },
136
133
  "ufo_capture_stylesheet_metrics": {
137
134
  "type": "boolean"
138
135
  },
@@ -166,9 +163,6 @@
166
163
  "platform_ufo_disable_ttvc_v1": {
167
164
  "type": "boolean"
168
165
  },
169
- "platform_ufo_vc_fix_ignore_image_mutation": {
170
- "type": "boolean"
171
- },
172
166
  "platform_ufo_assets_check_for_nan": {
173
167
  "type": "boolean"
174
168
  },
@@ -1,19 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.getReactUFOVersion = void 0;
7
- var _platformFeatureFlags = require("@atlaskit/platform-feature-flags");
8
- var _selfMeasurements = require("../self-measurements");
9
- var getReactUFOVersion = exports.getReactUFOVersion = (0, _selfMeasurements.withProfiling)(function getReactUFOVersion(interactionType) {
10
- if (interactionType !== 'page_load' && interactionType !== 'transition') {
11
- return '1.0.1';
12
- }
13
-
14
- // eslint-disable-next-line @atlaskit/platform/ensure-feature-flag-prefix
15
- if (!(0, _platformFeatureFlags.fg)('enable-react-ufo-payload-segment-compressed')) {
16
- return '1.0.1';
17
- }
18
- return '2.0.0';
19
- });
@@ -1,13 +0,0 @@
1
- import { fg } from '@atlaskit/platform-feature-flags';
2
- import { withProfiling } from '../self-measurements';
3
- export const getReactUFOVersion = withProfiling(function getReactUFOVersion(interactionType) {
4
- if (interactionType !== 'page_load' && interactionType !== 'transition') {
5
- return '1.0.1';
6
- }
7
-
8
- // eslint-disable-next-line @atlaskit/platform/ensure-feature-flag-prefix
9
- if (!fg('enable-react-ufo-payload-segment-compressed')) {
10
- return '1.0.1';
11
- }
12
- return '2.0.0';
13
- });
@@ -1,13 +0,0 @@
1
- import { fg } from '@atlaskit/platform-feature-flags';
2
- import { withProfiling } from '../self-measurements';
3
- export var getReactUFOVersion = withProfiling(function getReactUFOVersion(interactionType) {
4
- if (interactionType !== 'page_load' && interactionType !== 'transition') {
5
- return '1.0.1';
6
- }
7
-
8
- // eslint-disable-next-line @atlaskit/platform/ensure-feature-flag-prefix
9
- if (!fg('enable-react-ufo-payload-segment-compressed')) {
10
- return '1.0.1';
11
- }
12
- return '2.0.0';
13
- });
@@ -1,2 +0,0 @@
1
- import type { InteractionType } from '../interaction-metrics';
2
- export declare const getReactUFOVersion: (interactionType: InteractionType) => "1.0.1" | "2.0.0";
@@ -1,2 +0,0 @@
1
- import type { InteractionType } from '../interaction-metrics';
2
- export declare const getReactUFOVersion: (interactionType: InteractionType) => "1.0.1" | "2.0.0";