@atlaskit/collab-provider 8.2.0 → 8.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +49 -0
- package/dist/cjs/analytics/index.js +67 -9
- package/dist/cjs/analytics/performance.js +46 -35
- package/dist/cjs/analytics/ufo.js +33 -0
- package/dist/cjs/channel.js +307 -162
- package/dist/cjs/connectivity/network.js +53 -0
- package/dist/cjs/connectivity/reconnect-helper.js +48 -0
- package/dist/cjs/connectivity/singleton.js +15 -0
- package/dist/cjs/disconnected-reason-mapper.js +19 -2
- package/dist/cjs/{error-code-mapper.js → errors/error-code-mapper.js} +17 -2
- package/dist/cjs/errors/error-types.js +43 -0
- package/dist/cjs/helpers/const.js +4 -11
- package/dist/cjs/provider/catchup.js +8 -12
- package/dist/cjs/provider/commit-step.js +70 -0
- package/dist/cjs/provider/index.js +503 -566
- package/dist/cjs/provider/telepointers.js +78 -0
- package/dist/cjs/version-wrapper.js +1 -1
- package/dist/cjs/version.json +1 -1
- package/dist/es2019/analytics/index.js +58 -8
- package/dist/es2019/analytics/performance.js +47 -35
- package/dist/es2019/analytics/ufo.js +22 -0
- package/dist/es2019/channel.js +192 -93
- package/dist/es2019/connectivity/network.js +34 -0
- package/dist/es2019/connectivity/reconnect-helper.js +29 -0
- package/dist/es2019/connectivity/singleton.js +7 -0
- package/dist/es2019/disconnected-reason-mapper.js +17 -1
- package/dist/es2019/{error-code-mapper.js → errors/error-code-mapper.js} +17 -2
- package/dist/es2019/errors/error-types.js +13 -0
- package/dist/es2019/helpers/const.js +3 -8
- package/dist/es2019/provider/catchup.js +5 -12
- package/dist/es2019/provider/commit-step.js +57 -0
- package/dist/es2019/provider/index.js +428 -515
- package/dist/es2019/provider/telepointers.js +65 -0
- package/dist/es2019/version-wrapper.js +1 -1
- package/dist/es2019/version.json +1 -1
- package/dist/esm/analytics/index.js +68 -9
- package/dist/esm/analytics/performance.js +47 -35
- package/dist/esm/analytics/ufo.js +25 -0
- package/dist/esm/channel.js +308 -165
- package/dist/esm/connectivity/network.js +45 -0
- package/dist/esm/connectivity/reconnect-helper.js +42 -0
- package/dist/esm/connectivity/singleton.js +7 -0
- package/dist/esm/disconnected-reason-mapper.js +17 -1
- package/dist/esm/{error-code-mapper.js → errors/error-code-mapper.js} +17 -2
- package/dist/esm/errors/error-types.js +34 -0
- package/dist/esm/helpers/const.js +3 -8
- package/dist/esm/provider/catchup.js +8 -12
- package/dist/esm/provider/commit-step.js +62 -0
- package/dist/esm/provider/index.js +504 -567
- package/dist/esm/provider/telepointers.js +69 -0
- package/dist/esm/version-wrapper.js +1 -1
- package/dist/esm/version.json +1 -1
- package/dist/types/analytics/index.d.ts +8 -2
- package/dist/types/analytics/performance.d.ts +6 -5
- package/dist/types/analytics/ufo.d.ts +3 -0
- package/dist/types/channel.d.ts +16 -5
- package/dist/types/connectivity/network.d.ts +17 -0
- package/dist/types/connectivity/reconnect-helper.d.ts +8 -0
- package/dist/types/connectivity/singleton.d.ts +3 -0
- package/dist/types/disconnected-reason-mapper.d.ts +1 -0
- package/dist/types/{error-code-mapper.d.ts → errors/error-code-mapper.d.ts} +6 -2
- package/dist/types/errors/error-types.d.ts +8 -0
- package/dist/types/helpers/const.d.ts +133 -26
- package/dist/types/provider/commit-step.d.ts +14 -0
- package/dist/types/provider/index.d.ts +24 -6
- package/dist/types/provider/telepointers.d.ts +5 -0
- package/dist/types/socket-io-provider.d.ts +3 -2
- package/dist/types/types.d.ts +44 -12
- package/package.json +5 -6
- package/report.api.md +49 -3
- package/.vscode/settings.json +0 -3
- package/error-code-mapper/package.json +0 -15
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,54 @@
|
|
|
1
1
|
# @atlaskit/collab-provider
|
|
2
2
|
|
|
3
|
+
## 8.4.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- [`eae755e434a`](https://bitbucket.org/atlassian/atlassian-frontend/commits/eae755e434a) - [ESS-3269] Don't return an empty document if something goes wrong when returning the final acknowledge state from the collab provider
|
|
8
|
+
- [`ca548613b49`](https://bitbucket.org/atlassian/atlassian-frontend/commits/ca548613b49) - ESS-3218 Add new configuration option throwOnNotConnected, which will throw not connected errors when attempting to save data whilst client is offline.
|
|
9
|
+
- [`329d3bb4e05`](https://bitbucket.org/atlassian/atlassian-frontend/commits/329d3bb4e05) - ESS-2962: added canCache flag in Config for Collab-provider. Channel now stores token locally if canCache flag is passed. Uses local token for reconnections if connection is lost for errors other that 401 and 403.
|
|
10
|
+
- [`1b9c38c7f48`](https://bitbucket.org/atlassian/atlassian-frontend/commits/1b9c38c7f48) - [ESS-3269] Added error handling and metrics for retrieving the current state
|
|
11
|
+
|
|
12
|
+
### Patch Changes
|
|
13
|
+
|
|
14
|
+
- [`2a076027203`](https://bitbucket.org/atlassian/atlassian-frontend/commits/2a076027203) - NO-ISSUE fix the permission error on permissionTokenRefresh
|
|
15
|
+
- [`bde10feab09`](https://bitbucket.org/atlassian/atlassian-frontend/commits/bde10feab09) - Avoid using callbacks when initialising socket connection
|
|
16
|
+
- [`f9a6a671d14`](https://bitbucket.org/atlassian/atlassian-frontend/commits/f9a6a671d14) - add comment to indicate that disconnect handler will be called when Firefox reload
|
|
17
|
+
- Updated dependencies
|
|
18
|
+
|
|
19
|
+
## 8.3.0
|
|
20
|
+
|
|
21
|
+
### Minor Changes
|
|
22
|
+
|
|
23
|
+
- [`1d36e909618`](https://bitbucket.org/atlassian/atlassian-frontend/commits/1d36e909618) - Log error on document restore
|
|
24
|
+
- [`0529b1b833c`](https://bitbucket.org/atlassian/atlassian-frontend/commits/0529b1b833c) - Trigger catch up call on process steps failing
|
|
25
|
+
- [`4f005660ce2`](https://bitbucket.org/atlassian/atlassian-frontend/commits/4f005660ce2) - Log step commit errors to analytics
|
|
26
|
+
- [`6034004a812`](https://bitbucket.org/atlassian/atlassian-frontend/commits/6034004a812) - Log errors on reconnection failure
|
|
27
|
+
- [`a261b2a9e6a`](https://bitbucket.org/atlassian/atlassian-frontend/commits/a261b2a9e6a) - [ESS-3183] Catch any errors in Presence functionality so an uncaught error there doesn't impact regular operation of the collab provider
|
|
28
|
+
- [`7f35ae7d99c`](https://bitbucket.org/atlassian/atlassian-frontend/commits/7f35ae7d99c) - [ESS-2815] Added network status to analytics events
|
|
29
|
+
- [`80feb6de229`](https://bitbucket.org/atlassian/atlassian-frontend/commits/80feb6de229) - [ESS-2815] Emit an error to consumers if the reconnections fails 8 times due to the network issues
|
|
30
|
+
- [`611d9c643c6`](https://bitbucket.org/atlassian/atlassian-frontend/commits/611d9c643c6) - [ESS-3183] Retry syncing unconfirmed steps
|
|
31
|
+
|
|
32
|
+
### Patch Changes
|
|
33
|
+
|
|
34
|
+
- [`fccc5952d49`](https://bitbucket.org/atlassian/atlassian-frontend/commits/fccc5952d49) - Revert emitting errors to Confluence by default
|
|
35
|
+
- [`0d25bcca6bb`](https://bitbucket.org/atlassian/atlassian-frontend/commits/0d25bcca6bb) - Added more comprehensive error handling for performance/analytics/ufo events in collab provider
|
|
36
|
+
- [`e97495c5748`](https://bitbucket.org/atlassian/atlassian-frontend/commits/e97495c5748) - Extract emitTelepointer logic from Provider
|
|
37
|
+
- [`260d1355cc6`](https://bitbucket.org/atlassian/atlassian-frontend/commits/260d1355cc6) - Reconnect collab provider immediately when browser emits online event.
|
|
38
|
+
- [`5725fb45955`](https://bitbucket.org/atlassian/atlassian-frontend/commits/5725fb45955) - Introduce a file for UFO.
|
|
39
|
+
|
|
40
|
+
Introduce a file for commit step logic, which was already separate from the provider class
|
|
41
|
+
|
|
42
|
+
- [`2b648e4db70`](https://bitbucket.org/atlassian/atlassian-frontend/commits/2b648e4db70) - NO-ISSUE Remove the analytics fall-back after validating acks work as expected
|
|
43
|
+
- [`35c5e7dd9d5`](https://bitbucket.org/atlassian/atlassian-frontend/commits/35c5e7dd9d5) - NO-ISSUE deduplicate the analytics types dependency (again)
|
|
44
|
+
- [`1c255047a29`](https://bitbucket.org/atlassian/atlassian-frontend/commits/1c255047a29) - improve catchup error handling
|
|
45
|
+
- [`c9ad25cf224`](https://bitbucket.org/atlassian/atlassian-frontend/commits/c9ad25cf224) - [ESS-3183] Create abstraction around sending analytics events for errors or action events
|
|
46
|
+
- [`607a34f4426`](https://bitbucket.org/atlassian/atlassian-frontend/commits/607a34f4426) - Pass through the analytics web client in places it was missing
|
|
47
|
+
- [`efb112b06ab`](https://bitbucket.org/atlassian/atlassian-frontend/commits/efb112b06ab) - Move disonnected reason mapper
|
|
48
|
+
- [`9e6ceda8977`](https://bitbucket.org/atlassian/atlassian-frontend/commits/9e6ceda8977) - Provide the reason for a page reset
|
|
49
|
+
- [`6956eedc944`](https://bitbucket.org/atlassian/atlassian-frontend/commits/6956eedc944) - Tighten type definitions on analytics events
|
|
50
|
+
- Updated dependencies
|
|
51
|
+
|
|
3
52
|
## 8.2.0
|
|
4
53
|
|
|
5
54
|
### Minor Changes
|
|
@@ -4,34 +4,92 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
|
|
|
4
4
|
Object.defineProperty(exports, "__esModule", {
|
|
5
5
|
value: true
|
|
6
6
|
});
|
|
7
|
-
exports.
|
|
7
|
+
exports.default = void 0;
|
|
8
|
+
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
9
|
+
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
8
10
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
9
11
|
var _const = require("../helpers/const");
|
|
10
12
|
var _versionWrapper = require("../version-wrapper");
|
|
13
|
+
var _singleton = require("../connectivity/singleton");
|
|
11
14
|
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
12
15
|
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
16
|
+
var EVENT_SUBJECT = 'collab';
|
|
17
|
+
var COLLAB_SERVICE;
|
|
18
|
+
(function (COLLAB_SERVICE) {
|
|
19
|
+
COLLAB_SERVICE["NCS"] = "ncs";
|
|
20
|
+
COLLAB_SERVICE["SYNCHRONY"] = "synchrony";
|
|
21
|
+
})(COLLAB_SERVICE || (COLLAB_SERVICE = {}));
|
|
13
22
|
var triggerAnalyticsEvent = function triggerAnalyticsEvent(analyticsEvent, analyticsClient) {
|
|
14
23
|
if (!analyticsClient) {
|
|
15
24
|
return;
|
|
16
25
|
}
|
|
17
26
|
var payload = {
|
|
18
|
-
actionSubject:
|
|
27
|
+
actionSubject: EVENT_SUBJECT,
|
|
19
28
|
attributes: _objectSpread({
|
|
20
29
|
packageName: _versionWrapper.name,
|
|
21
30
|
packageVersion: _versionWrapper.version,
|
|
22
|
-
collabService:
|
|
31
|
+
collabService: COLLAB_SERVICE.NCS,
|
|
32
|
+
network: {
|
|
33
|
+
status: _singleton.network.getStatus()
|
|
34
|
+
}
|
|
23
35
|
}, analyticsEvent.attributes),
|
|
24
36
|
tags: ['editor'],
|
|
25
37
|
action: analyticsEvent.eventAction,
|
|
26
38
|
source: 'unknown' // Adds zero analytics value, but event validation throws an error if you don't add it :-(
|
|
27
39
|
};
|
|
28
40
|
|
|
41
|
+
if (analyticsEvent.eventAction === _const.EVENT_ACTION.ERROR) {
|
|
42
|
+
payload.nonPrivacySafeAttributes = analyticsEvent.nonPrivacySafeAttributes;
|
|
43
|
+
}
|
|
44
|
+
|
|
29
45
|
// Let the browser figure out
|
|
30
46
|
// when it should send those events
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
47
|
+
try {
|
|
48
|
+
var requestIdleCallbackFunction = window.requestIdleCallback;
|
|
49
|
+
var runItLater = typeof requestIdleCallbackFunction === 'function' ? requestIdleCallbackFunction : window.requestAnimationFrame;
|
|
50
|
+
runItLater(function () {
|
|
51
|
+
analyticsClient.sendOperationalEvent(payload);
|
|
52
|
+
});
|
|
53
|
+
} catch (error) {
|
|
54
|
+
// silently fail for now https://product-fabric.atlassian.net/browse/ESS-3112
|
|
55
|
+
}
|
|
36
56
|
};
|
|
37
|
-
|
|
57
|
+
var AnalyticsHelper = /*#__PURE__*/function () {
|
|
58
|
+
function AnalyticsHelper(documentAri, analyticsClient) {
|
|
59
|
+
(0, _classCallCheck2.default)(this, AnalyticsHelper);
|
|
60
|
+
this.analyticsClient = analyticsClient;
|
|
61
|
+
this.documentAri = documentAri;
|
|
62
|
+
}
|
|
63
|
+
(0, _createClass2.default)(AnalyticsHelper, [{
|
|
64
|
+
key: "sendErrorEvent",
|
|
65
|
+
value: function sendErrorEvent(error, errorMessage) {
|
|
66
|
+
var errorAnalyticsEvent = {
|
|
67
|
+
eventAction: _const.EVENT_ACTION.ERROR,
|
|
68
|
+
attributes: {
|
|
69
|
+
documentAri: this.documentAri,
|
|
70
|
+
errorMessage: errorMessage,
|
|
71
|
+
errorName: error instanceof Error ? error.name : undefined
|
|
72
|
+
},
|
|
73
|
+
nonPrivacySafeAttributes: {
|
|
74
|
+
error: error
|
|
75
|
+
}
|
|
76
|
+
};
|
|
77
|
+
triggerAnalyticsEvent(errorAnalyticsEvent, this.analyticsClient);
|
|
78
|
+
}
|
|
79
|
+
}, {
|
|
80
|
+
key: "sendActionEvent",
|
|
81
|
+
value: function sendActionEvent(action, status, attributes // This breaks discriminated unions, because there is no obvious field to discriminate against any more
|
|
82
|
+
) {
|
|
83
|
+
var analyticsEvent = {
|
|
84
|
+
eventAction: action,
|
|
85
|
+
attributes: _objectSpread({
|
|
86
|
+
documentAri: this.documentAri,
|
|
87
|
+
eventStatus: status
|
|
88
|
+
}, attributes)
|
|
89
|
+
};
|
|
90
|
+
triggerAnalyticsEvent(analyticsEvent, this.analyticsClient);
|
|
91
|
+
}
|
|
92
|
+
}]);
|
|
93
|
+
return AnalyticsHelper;
|
|
94
|
+
}();
|
|
95
|
+
exports.default = AnalyticsHelper;
|
|
@@ -4,7 +4,6 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.MEASURE_NAME = void 0;
|
|
7
|
-
exports.clearMeasure = clearMeasure;
|
|
8
7
|
exports.startMeasure = startMeasure;
|
|
9
8
|
exports.stopMeasure = stopMeasure;
|
|
10
9
|
var MEASURE_NAME;
|
|
@@ -12,8 +11,9 @@ exports.MEASURE_NAME = MEASURE_NAME;
|
|
|
12
11
|
(function (MEASURE_NAME) {
|
|
13
12
|
MEASURE_NAME["SOCKET_CONNECT"] = "socketConnect";
|
|
14
13
|
MEASURE_NAME["DOCUMENT_INIT"] = "documentInit";
|
|
15
|
-
MEASURE_NAME["CONVERT_PM_TO_ADF"] = "convertPMToADF";
|
|
16
14
|
MEASURE_NAME["COMMIT_UNCONFIRMED_STEPS"] = "commitUnconfirmedSteps";
|
|
15
|
+
MEASURE_NAME["PUBLISH_PAGE"] = "publishPage";
|
|
16
|
+
MEASURE_NAME["GET_CURRENT_STATE"] = "getCurrentState";
|
|
17
17
|
})(MEASURE_NAME || (exports.MEASURE_NAME = MEASURE_NAME = {}));
|
|
18
18
|
var isPerformanceAPIAvailable = function isPerformanceAPIAvailable() {
|
|
19
19
|
return typeof window !== 'undefined' && 'performance' in window && ['measure', 'clearMeasures', 'clearMarks', 'getEntriesByName', 'getEntriesByType'].every(function (api) {
|
|
@@ -22,45 +22,56 @@ var isPerformanceAPIAvailable = function isPerformanceAPIAvailable() {
|
|
|
22
22
|
};
|
|
23
23
|
var hasPerformanceAPIAvailable = isPerformanceAPIAvailable();
|
|
24
24
|
var measureMap = new Map();
|
|
25
|
-
function startMeasure(measureName) {
|
|
26
|
-
|
|
27
|
-
|
|
25
|
+
function startMeasure(measureName, analyticsHelper) {
|
|
26
|
+
try {
|
|
27
|
+
if (!hasPerformanceAPIAvailable) {
|
|
28
|
+
return;
|
|
29
|
+
}
|
|
30
|
+
performance.mark("".concat(measureName, "::start"));
|
|
31
|
+
measureMap.set(measureName, performance.now());
|
|
32
|
+
} catch (error) {
|
|
33
|
+
analyticsHelper === null || analyticsHelper === void 0 ? void 0 : analyticsHelper.sendErrorEvent(error, 'Error while measuring performance when marking the start');
|
|
28
34
|
}
|
|
29
|
-
performance.mark("".concat(measureName, "::start"));
|
|
30
|
-
measureMap.set(measureName, performance.now());
|
|
31
35
|
}
|
|
32
|
-
function stopMeasure(measureName, onMeasureComplete) {
|
|
33
|
-
|
|
34
|
-
return;
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
// `startMeasure` is not called with `measureName` before.
|
|
38
|
-
if (!measureMap.get(measureName)) {
|
|
39
|
-
return;
|
|
40
|
-
}
|
|
41
|
-
performance.mark("".concat(measureName, "::end"));
|
|
42
|
-
var start = onMeasureComplete ? measureMap.get(measureName) : undefined;
|
|
36
|
+
function stopMeasure(measureName, analyticsHelper, onMeasureComplete) {
|
|
37
|
+
var start;
|
|
43
38
|
try {
|
|
39
|
+
if (!hasPerformanceAPIAvailable) {
|
|
40
|
+
return;
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
// `startMeasure` is not called with `measureName` before.
|
|
44
|
+
if (!measureMap.get(measureName)) {
|
|
45
|
+
return;
|
|
46
|
+
}
|
|
47
|
+
performance.mark("".concat(measureName, "::end"));
|
|
48
|
+
start = onMeasureComplete ? measureMap.get(measureName) : undefined;
|
|
44
49
|
performance.measure(measureName, "".concat(measureName, "::start"), "".concat(measureName, "::end"));
|
|
45
|
-
} catch (
|
|
46
|
-
|
|
47
|
-
clearMeasure(measureName);
|
|
48
|
-
var measure;
|
|
49
|
-
if (entry) {
|
|
50
|
-
measure = {
|
|
51
|
-
duration: entry.duration,
|
|
52
|
-
startTime: entry.startTime
|
|
53
|
-
};
|
|
54
|
-
} else if (start) {
|
|
55
|
-
measure = {
|
|
56
|
-
duration: performance.now() - start,
|
|
57
|
-
startTime: start
|
|
58
|
-
};
|
|
50
|
+
} catch (error) {
|
|
51
|
+
analyticsHelper === null || analyticsHelper === void 0 ? void 0 : analyticsHelper.sendErrorEvent(error, 'Error while measuring performance when marking the end');
|
|
59
52
|
}
|
|
60
|
-
|
|
61
|
-
|
|
53
|
+
try {
|
|
54
|
+
var entry = performance.getEntriesByName(measureName).pop();
|
|
55
|
+
clearMeasure(measureName);
|
|
56
|
+
var measure;
|
|
57
|
+
if (entry) {
|
|
58
|
+
measure = {
|
|
59
|
+
duration: entry.duration,
|
|
60
|
+
startTime: entry.startTime
|
|
61
|
+
};
|
|
62
|
+
} else if (start) {
|
|
63
|
+
measure = {
|
|
64
|
+
duration: performance.now() - start,
|
|
65
|
+
startTime: start
|
|
66
|
+
};
|
|
67
|
+
}
|
|
68
|
+
if (measure && onMeasureComplete) {
|
|
69
|
+
onMeasureComplete(measure.duration, measure.startTime);
|
|
70
|
+
}
|
|
71
|
+
return measure;
|
|
72
|
+
} catch (error) {
|
|
73
|
+
analyticsHelper === null || analyticsHelper === void 0 ? void 0 : analyticsHelper.sendErrorEvent(error, 'Error while measuring performance when completing the measurement');
|
|
62
74
|
}
|
|
63
|
-
return measure;
|
|
64
75
|
}
|
|
65
76
|
function clearMeasure(measureName) {
|
|
66
77
|
if (!hasPerformanceAPIAvailable) {
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.createDocInitExp = void 0;
|
|
8
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
9
|
+
var _ufo = require("@atlaskit/ufo");
|
|
10
|
+
var createDocumentInitExperience = function createDocumentInitExperience() {
|
|
11
|
+
return new _ufo.UFOExperience('collab-provider.document-init', {
|
|
12
|
+
type: _ufo.ExperienceTypes.Load,
|
|
13
|
+
performanceType: _ufo.ExperiencePerformanceTypes.Custom,
|
|
14
|
+
performanceConfig: {
|
|
15
|
+
histogram: (0, _defineProperty2.default)({}, _ufo.ExperiencePerformanceTypes.Custom, {
|
|
16
|
+
duration: '250_500_1000_1500_2000_3000_4000'
|
|
17
|
+
})
|
|
18
|
+
}
|
|
19
|
+
});
|
|
20
|
+
};
|
|
21
|
+
var withErrorHandling = function withErrorHandling(createExperience, analyticsHelper) {
|
|
22
|
+
var initExperience;
|
|
23
|
+
try {
|
|
24
|
+
initExperience = createExperience();
|
|
25
|
+
} catch (error) {
|
|
26
|
+
analyticsHelper === null || analyticsHelper === void 0 ? void 0 : analyticsHelper.sendErrorEvent(error, 'Error while initialising a UFO experience');
|
|
27
|
+
}
|
|
28
|
+
return initExperience;
|
|
29
|
+
};
|
|
30
|
+
var createDocInitExp = function createDocInitExp(analyticsHelper) {
|
|
31
|
+
return withErrorHandling(createDocumentInitExperience, analyticsHelper);
|
|
32
|
+
};
|
|
33
|
+
exports.createDocInitExp = createDocInitExp;
|