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