@atlaskit/collab-provider 8.4.0 → 8.5.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 +34 -0
- package/dist/cjs/analytics/{index.js → analytics-helper.js} +43 -4
- package/dist/cjs/analytics/performance.js +6 -5
- package/dist/cjs/channel.js +222 -224
- package/dist/cjs/{provider → document}/catchup.js +2 -2
- package/dist/cjs/document/document-service.js +617 -0
- package/dist/cjs/document/step-queue-state.js +51 -0
- package/dist/cjs/errors/error-code-mapper.js +86 -67
- package/dist/cjs/errors/error-types.js +251 -21
- package/dist/cjs/helpers/utils.js +1 -12
- package/dist/cjs/participants/participants-helper.js +51 -0
- package/dist/cjs/participants/participants-service.js +217 -0
- package/dist/cjs/participants/participants-state.js +53 -0
- package/dist/cjs/{provider/telepointers.js → participants/telepointers-helper.js} +6 -6
- package/dist/cjs/provider/commit-step.js +4 -4
- package/dist/cjs/provider/index.js +212 -774
- package/dist/cjs/types.js +3 -0
- package/dist/cjs/version-wrapper.js +1 -1
- package/dist/cjs/version.json +1 -1
- package/dist/es2019/analytics/{index.js → analytics-helper.js} +15 -4
- package/dist/es2019/analytics/performance.js +5 -6
- package/dist/es2019/channel.js +123 -116
- package/dist/es2019/{provider → document}/catchup.js +2 -2
- package/dist/es2019/document/document-service.js +495 -0
- package/dist/es2019/document/step-queue-state.js +30 -0
- package/dist/es2019/errors/error-code-mapper.js +87 -63
- package/dist/es2019/errors/error-types.js +143 -5
- package/dist/es2019/helpers/utils.js +0 -10
- package/dist/es2019/participants/participants-helper.js +25 -0
- package/dist/es2019/participants/participants-service.js +166 -0
- package/dist/es2019/participants/participants-state.js +28 -0
- package/dist/es2019/{provider/telepointers.js → participants/telepointers-helper.js} +2 -2
- package/dist/es2019/provider/commit-step.js +4 -4
- package/dist/es2019/provider/index.js +162 -637
- package/dist/es2019/types.js +4 -0
- package/dist/es2019/version-wrapper.js +1 -1
- package/dist/es2019/version.json +1 -1
- package/dist/esm/analytics/{index.js → analytics-helper.js} +43 -4
- package/dist/esm/analytics/performance.js +5 -6
- package/dist/esm/channel.js +224 -226
- package/dist/esm/{provider → document}/catchup.js +2 -2
- package/dist/esm/document/document-service.js +609 -0
- package/dist/esm/document/step-queue-state.js +43 -0
- package/dist/esm/errors/error-code-mapper.js +87 -64
- package/dist/esm/errors/error-types.js +243 -18
- package/dist/esm/helpers/utils.js +0 -10
- package/dist/esm/participants/participants-helper.js +43 -0
- package/dist/esm/participants/participants-service.js +209 -0
- package/dist/esm/participants/participants-state.js +45 -0
- package/dist/esm/{provider/telepointers.js → participants/telepointers-helper.js} +4 -4
- package/dist/esm/provider/commit-step.js +4 -4
- package/dist/esm/provider/index.js +212 -774
- package/dist/esm/types.js +4 -0
- package/dist/esm/version-wrapper.js +1 -1
- package/dist/esm/version.json +1 -1
- package/dist/types/analytics/{index.d.ts → analytics-helper.d.ts} +3 -1
- package/dist/types/analytics/performance.d.ts +3 -1
- package/dist/types/analytics/ufo.d.ts +1 -1
- package/dist/types/channel.d.ts +12 -5
- package/dist/types/document/document-service.d.ts +105 -0
- package/dist/types/document/step-queue-state.d.ts +16 -0
- package/dist/types/errors/error-code-mapper.d.ts +2 -36
- package/dist/types/errors/error-types.d.ts +439 -4
- package/dist/types/helpers/const.d.ts +2 -2
- package/dist/types/helpers/utils.d.ts +0 -6
- package/dist/types/index.d.ts +2 -1
- package/dist/types/participants/participants-helper.d.ts +15 -0
- package/dist/types/participants/participants-service.d.ts +70 -0
- package/dist/types/participants/participants-state.d.ts +13 -0
- package/dist/types/participants/telepointers-helper.d.ts +4 -0
- package/dist/types/provider/commit-step.d.ts +6 -6
- package/dist/types/provider/index.d.ts +80 -73
- package/dist/types/types.d.ts +47 -30
- package/package.json +4 -4
- package/report.api.md +172 -19
- package/dist/types/provider/telepointers.d.ts +0 -5
- /package/dist/types/{provider → document}/catchup.d.ts +0 -0
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,39 @@
|
|
|
1
1
|
# @atlaskit/collab-provider
|
|
2
2
|
|
|
3
|
+
## 8.5.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- [`2192c9417d7`](https://bitbucket.org/atlassian/atlassian-frontend/commits/2192c9417d7) - [ESS-3335] Review Collab Provider API error handling & types
|
|
8
|
+
- [`c75fcb75c4e`](https://bitbucket.org/atlassian/atlassian-frontend/commits/c75fcb75c4e) - ESS-3241 Added unit tests for document restore.
|
|
9
|
+
ESS-3238 Internal refactor of collab provider, split document code from provider to document service.
|
|
10
|
+
Remove unused userId field from CollabInitPayload, it is never sent as part of the CollabInitPayload.
|
|
11
|
+
- [`27b106a736b`](https://bitbucket.org/atlassian/atlassian-frontend/commits/27b106a736b) - ESS-3274 Refactor participant logic our of Provider class
|
|
12
|
+
- [`bdd8d88cad0`](https://bitbucket.org/atlassian/atlassian-frontend/commits/bdd8d88cad0) - [ESS-3332] Improved error mapping
|
|
13
|
+
- [`1d52016f25d`](https://bitbucket.org/atlassian/atlassian-frontend/commits/1d52016f25d) - Refactor collab-provider to accept a getAnalyticsClient Promise. And resolve when sending event.
|
|
14
|
+
Ticket: https://product-fabric.atlassian.net/browse/CCP-2863
|
|
15
|
+
- [`dfd96d6b48a`](https://bitbucket.org/atlassian/atlassian-frontend/commits/dfd96d6b48a) - [ESS-3333] Update to the structure of errors emitted on the collab provider
|
|
16
|
+
|
|
17
|
+
Upgrade instructions:
|
|
18
|
+
|
|
19
|
+
- Change the type of the errors emitted on the provider from `CollabEventError` to `ProviderError`
|
|
20
|
+
- Remove the reliance on the `status` field of the emitted errors, switch to using either the error code (exported as enum `PROVIDER_ERROR_CODE`) or the error flag `recoverable` indicating whether the provider can recover from the emitted error or not
|
|
21
|
+
|
|
22
|
+
The mapping from the old status codes to the error codes is:
|
|
23
|
+
|
|
24
|
+
- Status 403: PROVIDER_ERROR_CODE.NO_PERMISSION_ERROR, PROVIDER_ERROR_CODE.INVALID_USER_TOKEN
|
|
25
|
+
- Status 404: PROVIDER_ERROR_CODE.DOCUMENT_NOT_FOUND
|
|
26
|
+
- Status 423: PROVIDER_ERROR_CODE.LOCKED
|
|
27
|
+
- Status 500: PROVIDER_ERROR_CODE.FAIL_TO_SAVE, PROVIDER_ERROR_CODE.DOCUMENT_RESTORE_ERROR, PROVIDER_ERROR_CODE.INTERNAL_SERVICE_ERROR
|
|
28
|
+
|
|
29
|
+
- [`078a6d029f0`](https://bitbucket.org/atlassian/atlassian-frontend/commits/078a6d029f0) - ESS-3333 temporarily re-add error status to fix product fabric from breaking changes
|
|
30
|
+
|
|
31
|
+
### Patch Changes
|
|
32
|
+
|
|
33
|
+
- [`8217befcee0`](https://bitbucket.org/atlassian/atlassian-frontend/commits/8217befcee0) - logs the ignoring of steps for data versions older than current version in DocumentService.onStepsAdded()
|
|
34
|
+
- [`66f07c721c4`](https://bitbucket.org/atlassian/atlassian-frontend/commits/66f07c721c4) - Add JSDoc to provider errors that are emitted to editor
|
|
35
|
+
- Updated dependencies
|
|
36
|
+
|
|
3
37
|
## 8.4.0
|
|
4
38
|
|
|
5
39
|
### Minor Changes
|
|
@@ -5,6 +5,8 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
value: true
|
|
6
6
|
});
|
|
7
7
|
exports.default = void 0;
|
|
8
|
+
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
9
|
+
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
8
10
|
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
9
11
|
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
10
12
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
@@ -55,10 +57,11 @@ var triggerAnalyticsEvent = function triggerAnalyticsEvent(analyticsEvent, analy
|
|
|
55
57
|
}
|
|
56
58
|
};
|
|
57
59
|
var AnalyticsHelper = /*#__PURE__*/function () {
|
|
58
|
-
function AnalyticsHelper(documentAri, analyticsClient) {
|
|
60
|
+
function AnalyticsHelper(documentAri, analyticsClient, getAnalyticsClient) {
|
|
59
61
|
(0, _classCallCheck2.default)(this, AnalyticsHelper);
|
|
60
|
-
this.analyticsClient = analyticsClient;
|
|
61
62
|
this.documentAri = documentAri;
|
|
63
|
+
this.analyticsClient = analyticsClient;
|
|
64
|
+
this.getAnalyticsClient = getAnalyticsClient;
|
|
62
65
|
}
|
|
63
66
|
(0, _createClass2.default)(AnalyticsHelper, [{
|
|
64
67
|
key: "sendErrorEvent",
|
|
@@ -74,7 +77,7 @@ var AnalyticsHelper = /*#__PURE__*/function () {
|
|
|
74
77
|
error: error
|
|
75
78
|
}
|
|
76
79
|
};
|
|
77
|
-
|
|
80
|
+
this.sendEvent(errorAnalyticsEvent);
|
|
78
81
|
}
|
|
79
82
|
}, {
|
|
80
83
|
key: "sendActionEvent",
|
|
@@ -87,8 +90,44 @@ var AnalyticsHelper = /*#__PURE__*/function () {
|
|
|
87
90
|
eventStatus: status
|
|
88
91
|
}, attributes)
|
|
89
92
|
};
|
|
90
|
-
|
|
93
|
+
this.sendEvent(analyticsEvent);
|
|
91
94
|
}
|
|
95
|
+
}, {
|
|
96
|
+
key: "sendEvent",
|
|
97
|
+
value: function () {
|
|
98
|
+
var _sendEvent = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(event) {
|
|
99
|
+
return _regenerator.default.wrap(function _callee$(_context) {
|
|
100
|
+
while (1) {
|
|
101
|
+
switch (_context.prev = _context.next) {
|
|
102
|
+
case 0:
|
|
103
|
+
if (!(this.getAnalyticsClient && !this.analyticsClient)) {
|
|
104
|
+
_context.next = 9;
|
|
105
|
+
break;
|
|
106
|
+
}
|
|
107
|
+
_context.prev = 1;
|
|
108
|
+
_context.next = 4;
|
|
109
|
+
return this.getAnalyticsClient;
|
|
110
|
+
case 4:
|
|
111
|
+
this.analyticsClient = _context.sent;
|
|
112
|
+
_context.next = 9;
|
|
113
|
+
break;
|
|
114
|
+
case 7:
|
|
115
|
+
_context.prev = 7;
|
|
116
|
+
_context.t0 = _context["catch"](1);
|
|
117
|
+
case 9:
|
|
118
|
+
triggerAnalyticsEvent(event, this.analyticsClient);
|
|
119
|
+
case 10:
|
|
120
|
+
case "end":
|
|
121
|
+
return _context.stop();
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
}, _callee, this, [[1, 7]]);
|
|
125
|
+
}));
|
|
126
|
+
function sendEvent(_x) {
|
|
127
|
+
return _sendEvent.apply(this, arguments);
|
|
128
|
+
}
|
|
129
|
+
return sendEvent;
|
|
130
|
+
}()
|
|
92
131
|
}]);
|
|
93
132
|
return AnalyticsHelper;
|
|
94
133
|
}();
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.MEASURE_NAME = void 0;
|
|
6
|
+
exports.measureMap = exports.isPerformanceAPIAvailable = exports.MEASURE_NAME = void 0;
|
|
7
7
|
exports.startMeasure = startMeasure;
|
|
8
8
|
exports.stopMeasure = stopMeasure;
|
|
9
9
|
var MEASURE_NAME;
|
|
@@ -20,11 +20,12 @@ var isPerformanceAPIAvailable = function isPerformanceAPIAvailable() {
|
|
|
20
20
|
return !!performance[api];
|
|
21
21
|
});
|
|
22
22
|
};
|
|
23
|
-
|
|
23
|
+
exports.isPerformanceAPIAvailable = isPerformanceAPIAvailable;
|
|
24
24
|
var measureMap = new Map();
|
|
25
|
+
exports.measureMap = measureMap;
|
|
25
26
|
function startMeasure(measureName, analyticsHelper) {
|
|
26
27
|
try {
|
|
27
|
-
if (!
|
|
28
|
+
if (!isPerformanceAPIAvailable()) {
|
|
28
29
|
return;
|
|
29
30
|
}
|
|
30
31
|
performance.mark("".concat(measureName, "::start"));
|
|
@@ -36,7 +37,7 @@ function startMeasure(measureName, analyticsHelper) {
|
|
|
36
37
|
function stopMeasure(measureName, analyticsHelper, onMeasureComplete) {
|
|
37
38
|
var start;
|
|
38
39
|
try {
|
|
39
|
-
if (!
|
|
40
|
+
if (!isPerformanceAPIAvailable()) {
|
|
40
41
|
return;
|
|
41
42
|
}
|
|
42
43
|
|
|
@@ -74,7 +75,7 @@ function stopMeasure(measureName, analyticsHelper, onMeasureComplete) {
|
|
|
74
75
|
}
|
|
75
76
|
}
|
|
76
77
|
function clearMeasure(measureName) {
|
|
77
|
-
if (!
|
|
78
|
+
if (!isPerformanceAPIAvailable()) {
|
|
78
79
|
return;
|
|
79
80
|
}
|
|
80
81
|
measureMap.delete(measureName);
|