@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.
Files changed (77) hide show
  1. package/CHANGELOG.md +34 -0
  2. package/dist/cjs/analytics/{index.js → analytics-helper.js} +43 -4
  3. package/dist/cjs/analytics/performance.js +6 -5
  4. package/dist/cjs/channel.js +222 -224
  5. package/dist/cjs/{provider → document}/catchup.js +2 -2
  6. package/dist/cjs/document/document-service.js +617 -0
  7. package/dist/cjs/document/step-queue-state.js +51 -0
  8. package/dist/cjs/errors/error-code-mapper.js +86 -67
  9. package/dist/cjs/errors/error-types.js +251 -21
  10. package/dist/cjs/helpers/utils.js +1 -12
  11. package/dist/cjs/participants/participants-helper.js +51 -0
  12. package/dist/cjs/participants/participants-service.js +217 -0
  13. package/dist/cjs/participants/participants-state.js +53 -0
  14. package/dist/cjs/{provider/telepointers.js → participants/telepointers-helper.js} +6 -6
  15. package/dist/cjs/provider/commit-step.js +4 -4
  16. package/dist/cjs/provider/index.js +212 -774
  17. package/dist/cjs/types.js +3 -0
  18. package/dist/cjs/version-wrapper.js +1 -1
  19. package/dist/cjs/version.json +1 -1
  20. package/dist/es2019/analytics/{index.js → analytics-helper.js} +15 -4
  21. package/dist/es2019/analytics/performance.js +5 -6
  22. package/dist/es2019/channel.js +123 -116
  23. package/dist/es2019/{provider → document}/catchup.js +2 -2
  24. package/dist/es2019/document/document-service.js +495 -0
  25. package/dist/es2019/document/step-queue-state.js +30 -0
  26. package/dist/es2019/errors/error-code-mapper.js +87 -63
  27. package/dist/es2019/errors/error-types.js +143 -5
  28. package/dist/es2019/helpers/utils.js +0 -10
  29. package/dist/es2019/participants/participants-helper.js +25 -0
  30. package/dist/es2019/participants/participants-service.js +166 -0
  31. package/dist/es2019/participants/participants-state.js +28 -0
  32. package/dist/es2019/{provider/telepointers.js → participants/telepointers-helper.js} +2 -2
  33. package/dist/es2019/provider/commit-step.js +4 -4
  34. package/dist/es2019/provider/index.js +162 -637
  35. package/dist/es2019/types.js +4 -0
  36. package/dist/es2019/version-wrapper.js +1 -1
  37. package/dist/es2019/version.json +1 -1
  38. package/dist/esm/analytics/{index.js → analytics-helper.js} +43 -4
  39. package/dist/esm/analytics/performance.js +5 -6
  40. package/dist/esm/channel.js +224 -226
  41. package/dist/esm/{provider → document}/catchup.js +2 -2
  42. package/dist/esm/document/document-service.js +609 -0
  43. package/dist/esm/document/step-queue-state.js +43 -0
  44. package/dist/esm/errors/error-code-mapper.js +87 -64
  45. package/dist/esm/errors/error-types.js +243 -18
  46. package/dist/esm/helpers/utils.js +0 -10
  47. package/dist/esm/participants/participants-helper.js +43 -0
  48. package/dist/esm/participants/participants-service.js +209 -0
  49. package/dist/esm/participants/participants-state.js +45 -0
  50. package/dist/esm/{provider/telepointers.js → participants/telepointers-helper.js} +4 -4
  51. package/dist/esm/provider/commit-step.js +4 -4
  52. package/dist/esm/provider/index.js +212 -774
  53. package/dist/esm/types.js +4 -0
  54. package/dist/esm/version-wrapper.js +1 -1
  55. package/dist/esm/version.json +1 -1
  56. package/dist/types/analytics/{index.d.ts → analytics-helper.d.ts} +3 -1
  57. package/dist/types/analytics/performance.d.ts +3 -1
  58. package/dist/types/analytics/ufo.d.ts +1 -1
  59. package/dist/types/channel.d.ts +12 -5
  60. package/dist/types/document/document-service.d.ts +105 -0
  61. package/dist/types/document/step-queue-state.d.ts +16 -0
  62. package/dist/types/errors/error-code-mapper.d.ts +2 -36
  63. package/dist/types/errors/error-types.d.ts +439 -4
  64. package/dist/types/helpers/const.d.ts +2 -2
  65. package/dist/types/helpers/utils.d.ts +0 -6
  66. package/dist/types/index.d.ts +2 -1
  67. package/dist/types/participants/participants-helper.d.ts +15 -0
  68. package/dist/types/participants/participants-service.d.ts +70 -0
  69. package/dist/types/participants/participants-state.d.ts +13 -0
  70. package/dist/types/participants/telepointers-helper.d.ts +4 -0
  71. package/dist/types/provider/commit-step.d.ts +6 -6
  72. package/dist/types/provider/index.d.ts +80 -73
  73. package/dist/types/types.d.ts +47 -30
  74. package/package.json +4 -4
  75. package/report.api.md +172 -19
  76. package/dist/types/provider/telepointers.d.ts +0 -5
  77. /package/dist/types/{provider → document}/catchup.d.ts +0 -0
@@ -1,79 +1,102 @@
1
- import _typeof from "@babel/runtime/helpers/typeof";
2
- export var ErrorCodeMapper = {
3
- noPermissionError: {
4
- code: 'NO_PERMISSION_ERROR',
5
- message: 'User does not have permissions to access this document or document is not found'
6
- },
7
- documentNotFound: {
8
- code: 'DOCUMENT_NOT_FOUND',
9
- message: 'The requested document is not found'
10
- },
11
- hasToLogin: {
12
- code: 'HAS_TO_LOGIN',
13
- message: 'The user needs to login'
14
- },
15
- catchupFail: {
16
- code: 'CATCHUP_FAILED',
17
- message: 'Cannot fetch catchup from collab service'
18
- },
19
- serviceUnvailable: {
20
- code: 'SERVICE_UNAVAILABLE',
21
- message: 'Service is not available'
22
- },
23
- failToSave: {
24
- code: 'FAIL_TO_SAVE',
25
- message: 'Collab service is not able to save changes'
26
- },
27
- restoreError: {
28
- code: 'DOCUMENT_RESTORE_ERROR',
29
- message: 'Collab service unable to restore document'
30
- },
31
- internalError: {
32
- code: 'INTERNAL_SERVICE_ERROR',
33
- message: 'Collab service has experienced an internal server error'
34
- }
35
- };
1
+ import { NCS_ERROR_CODE } from './error-types';
2
+ import { INTERNAL_ERROR_CODE, PROVIDER_ERROR_CODE } from './error-types';
3
+
4
+ /*
5
+ * Maps internal collab provider errors to an emitted error format
6
+ */
36
7
  export var errorCodeMapper = function errorCodeMapper(error) {
37
- var _error$data;
8
+ var _error$data, _error$data2, _error$data3;
38
9
  switch ((_error$data = error.data) === null || _error$data === void 0 ? void 0 : _error$data.code) {
39
- case 'INSUFFICIENT_EDITING_PERMISSION':
10
+ case NCS_ERROR_CODE.HEAD_VERSION_UPDATE_FAILED:
11
+ case NCS_ERROR_CODE.VERSION_NUMBER_ALREADY_EXISTS:
12
+ // This should never be called with these errors
13
+ return;
14
+ case INTERNAL_ERROR_CODE.ADD_STEPS_ERROR:
15
+ case INTERNAL_ERROR_CODE.RECONNECTION_ERROR:
16
+ case INTERNAL_ERROR_CODE.CONNECTION_ERROR:
17
+ // These errors shouldn't be emitted, we're hoping the provider self-recovers over time
18
+ return;
19
+ case NCS_ERROR_CODE.INSUFFICIENT_EDITING_PERMISSION:
20
+ case INTERNAL_ERROR_CODE.TOKEN_PERMISSION_ERROR:
21
+ return {
22
+ code: PROVIDER_ERROR_CODE.NO_PERMISSION_ERROR,
23
+ message: 'User does not have permissions to access this document or document is not found',
24
+ reason: error.data.meta.reason,
25
+ recoverable: true,
26
+ status: 403
27
+ };
28
+ case NCS_ERROR_CODE.FORBIDDEN_USER_TOKEN:
29
+ return {
30
+ code: PROVIDER_ERROR_CODE.INVALID_USER_TOKEN,
31
+ message: 'The user token was invalid',
32
+ recoverable: true,
33
+ status: 403
34
+ };
35
+ case INTERNAL_ERROR_CODE.DOCUMENT_NOT_FOUND:
36
+ return {
37
+ code: PROVIDER_ERROR_CODE.DOCUMENT_NOT_FOUND,
38
+ message: 'The requested document is not found',
39
+ recoverable: true,
40
+ status: 404
41
+ };
42
+ case NCS_ERROR_CODE.TENANT_INSTANCE_MAINTENANCE:
43
+ case NCS_ERROR_CODE.LOCKED_DOCUMENT:
44
+ return {
45
+ code: PROVIDER_ERROR_CODE.LOCKED,
46
+ message: 'The document is currently not available, please try again later',
47
+ recoverable: true
48
+ };
49
+ case NCS_ERROR_CODE.DYNAMO_ERROR:
50
+ return {
51
+ code: PROVIDER_ERROR_CODE.FAIL_TO_SAVE,
52
+ message: 'Collab service is not able to save changes',
53
+ recoverable: false,
54
+ status: 500
55
+ };
56
+ case INTERNAL_ERROR_CODE.DOCUMENT_RESTORE_ERROR:
40
57
  return {
41
- status: 403,
42
- code: ErrorCodeMapper.noPermissionError.code,
43
- message: ErrorCodeMapper.noPermissionError.message,
44
- reason:
45
- // Typescript magic so it detects the union type
46
- _typeof(error.data.meta) === 'object' ? error.data.meta.reason : undefined
58
+ code: PROVIDER_ERROR_CODE.DOCUMENT_RESTORE_ERROR,
59
+ message: 'Collab service unable to restore document',
60
+ recoverable: false,
61
+ status: 500
47
62
  };
48
- case 'DOCUMENT_NOT_FOUND':
63
+ case NCS_ERROR_CODE.INIT_DATA_LOAD_FAILED:
49
64
  return {
50
- status: 404,
51
- code: ErrorCodeMapper.documentNotFound.code,
52
- message: ErrorCodeMapper.documentNotFound.message
65
+ code: PROVIDER_ERROR_CODE.INITIALISATION_ERROR,
66
+ message: "The initial document couldn't be loaded from the collab service",
67
+ recoverable: false,
68
+ status: 500
53
69
  };
54
- case 'FAILED_ON_S3':
55
- case 'DYNAMO_ERROR':
70
+ case INTERNAL_ERROR_CODE.RECONNECTION_NETWORK_ISSUE:
56
71
  return {
57
- status: 500,
58
- code: ErrorCodeMapper.failToSave.code,
59
- message: ErrorCodeMapper.failToSave.message
72
+ code: PROVIDER_ERROR_CODE.NETWORK_ISSUE,
73
+ message: "Couldn't reconnect to the collab service due to network issues",
74
+ recoverable: true,
75
+ status: 500
60
76
  };
61
- case 'DOCUMENT_RESTORE_ERROR':
77
+ case NCS_ERROR_CODE.NAMESPACE_INVALID:
78
+ case NCS_ERROR_CODE.INVALID_ACTIVATION_ID:
79
+ case NCS_ERROR_CODE.INVALID_DOCUMENT_ARI:
80
+ case NCS_ERROR_CODE.INVALID_CLOUD_ID:
62
81
  return {
63
- status: 500,
64
- code: ErrorCodeMapper.restoreError.code,
65
- message: ErrorCodeMapper.restoreError.message
82
+ code: PROVIDER_ERROR_CODE.INVALID_PROVIDER_CONFIGURATION,
83
+ message: 'Invalid provider configuration',
84
+ recoverable: false,
85
+ reason: (_error$data2 = error.data) === null || _error$data2 === void 0 ? void 0 : _error$data2.code,
86
+ status: 400
66
87
  };
67
- // Temporarily re-added so we don't emit errors to Confluence by default as they will disconnect the collab provider
68
- case 'CATCHUP_FAILED':
69
- case 'GET_QUERY_TIME_OUT':
70
- case 'INIT_DATA_LOAD_FAILED':
88
+ case NCS_ERROR_CODE.NAMESPACE_NOT_FOUND:
89
+ case NCS_ERROR_CODE.ERROR_MAPPING_ERROR:
90
+ case NCS_ERROR_CODE.EMPTY_BROADCAST:
91
+ case INTERNAL_ERROR_CODE.CATCHUP_FAILED:
71
92
  return {
72
- status: 500,
73
- code: ErrorCodeMapper.internalError.code,
74
- message: ErrorCodeMapper.internalError.message
93
+ code: PROVIDER_ERROR_CODE.INTERNAL_SERVICE_ERROR,
94
+ message: 'Collab Provider experienced an unrecoverable error',
95
+ recoverable: false,
96
+ reason: (_error$data3 = error.data) === null || _error$data3 === void 0 ? void 0 : _error$data3.code,
97
+ status: 500
75
98
  };
76
99
  default:
77
- break;
100
+ return;
78
101
  }
79
102
  };
@@ -1,34 +1,259 @@
1
- import _createClass from "@babel/runtime/helpers/createClass";
2
- import _classCallCheck from "@babel/runtime/helpers/classCallCheck";
3
1
  import _assertThisInitialized from "@babel/runtime/helpers/assertThisInitialized";
2
+ import _defineProperty from "@babel/runtime/helpers/defineProperty";
3
+ import _classCallCheck from "@babel/runtime/helpers/classCallCheck";
4
+ import _createClass from "@babel/runtime/helpers/createClass";
4
5
  import _inherits from "@babel/runtime/helpers/inherits";
5
6
  import _possibleConstructorReturn from "@babel/runtime/helpers/possibleConstructorReturn";
6
7
  import _getPrototypeOf from "@babel/runtime/helpers/getPrototypeOf";
7
8
  import _wrapNativeSuper from "@babel/runtime/helpers/wrapNativeSuper";
8
- import _defineProperty from "@babel/runtime/helpers/defineProperty";
9
9
  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
10
10
  function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
11
- export var NotConnectedError = /*#__PURE__*/function (_Error) {
12
- _inherits(NotConnectedError, _Error);
13
- var _super = _createSuper(NotConnectedError);
14
- function NotConnectedError(message) {
11
+ // Internal error codes (generated by collab provider)
12
+ export var INTERNAL_ERROR_CODE;
13
+ // NCS error coded (generated by NCS)
14
+ (function (INTERNAL_ERROR_CODE) {
15
+ INTERNAL_ERROR_CODE["TOKEN_PERMISSION_ERROR"] = "TOKEN_PERMISSION_ERROR";
16
+ INTERNAL_ERROR_CODE["RECONNECTION_NETWORK_ISSUE"] = "RECONNECTION_NETWORK_ISSUE";
17
+ INTERNAL_ERROR_CODE["CONNECTION_ERROR"] = "CONNECTION_ERROR";
18
+ INTERNAL_ERROR_CODE["RECONNECTION_ERROR"] = "RECONNECTION_ERROR";
19
+ INTERNAL_ERROR_CODE["DOCUMENT_NOT_FOUND"] = "DOCUMENT_NOT_FOUND";
20
+ INTERNAL_ERROR_CODE["CATCHUP_FAILED"] = "CATCHUP_FAILED";
21
+ INTERNAL_ERROR_CODE["DOCUMENT_RESTORE_ERROR"] = "DOCUMENT_RESTORE_ERROR";
22
+ INTERNAL_ERROR_CODE["ADD_STEPS_ERROR"] = "ADD_STEPS_ERROR";
23
+ })(INTERNAL_ERROR_CODE || (INTERNAL_ERROR_CODE = {}));
24
+ export var NCS_ERROR_CODE;
25
+
26
+ // TODO: Import emitted error codes from NCS
27
+
28
+ // NCS Errors
29
+ // - Step rejection errors
30
+ (function (NCS_ERROR_CODE) {
31
+ NCS_ERROR_CODE["HEAD_VERSION_UPDATE_FAILED"] = "HEAD_VERSION_UPDATE_FAILED";
32
+ NCS_ERROR_CODE["VERSION_NUMBER_ALREADY_EXISTS"] = "VERSION_NUMBER_ALREADY_EXISTS";
33
+ NCS_ERROR_CODE["INSUFFICIENT_EDITING_PERMISSION"] = "INSUFFICIENT_EDITING_PERMISSION";
34
+ NCS_ERROR_CODE["FORBIDDEN_USER_TOKEN"] = "FORBIDDEN_USER_TOKEN";
35
+ NCS_ERROR_CODE["DOCUMENT_NOT_FOUND"] = "DOCUMENT_NOT_FOUND";
36
+ NCS_ERROR_CODE["INIT_DATA_LOAD_FAILED"] = "INIT_DATA_LOAD_FAILED";
37
+ NCS_ERROR_CODE["ERROR_MAPPING_ERROR"] = "ERROR_MAPPING_ERROR";
38
+ NCS_ERROR_CODE["NAMESPACE_INVALID"] = "NAMESPACE_INVALID";
39
+ NCS_ERROR_CODE["NAMESPACE_NOT_FOUND"] = "NAMESPACE_NOT_FOUND";
40
+ NCS_ERROR_CODE["TENANT_INSTANCE_MAINTENANCE"] = "TENANT_INSTANCE_MAINTENANCE";
41
+ NCS_ERROR_CODE["LOCKED_DOCUMENT"] = "LOCKED_DOCUMENT";
42
+ NCS_ERROR_CODE["EMPTY_BROADCAST"] = "EMPTY_BROADCAST";
43
+ NCS_ERROR_CODE["DYNAMO_ERROR"] = "DYNAMO_ERROR";
44
+ NCS_ERROR_CODE["INVALID_ACTIVATION_ID"] = "INVALID_ACTIVATION_ID";
45
+ NCS_ERROR_CODE["INVALID_DOCUMENT_ARI"] = "INVALID_DOCUMENT_ARI";
46
+ NCS_ERROR_CODE["INVALID_CLOUD_ID"] = "INVALID_CLOUD_ID";
47
+ })(NCS_ERROR_CODE || (NCS_ERROR_CODE = {}));
48
+ // Emitted errors
49
+ export var PROVIDER_ERROR_CODE;
50
+
51
+ /*
52
+ * This is what a generic ProviderError type would look like:
53
+ * type ProviderError = {
54
+ * // Unique code, identifies the specific emitted error
55
+ * // Also exposed as a PROVIDER_ERROR_CODE enum to allow subscribers to use them
56
+ * code: PROVIDER_ERROR_CODE;
57
+ * // Informative message describing what went wrong
58
+ * message: string;
59
+ * // Flag indicating whether an error is recoverable or not
60
+ * // used by consumers to disable the provider and show an error message
61
+ * recoverable: boolean;
62
+ * // A reason code used to give more detail about why a certain error was thrown
63
+ * reason?: string;
64
+ * }
65
+ */
66
+
67
+ /**
68
+ * This occurs when the provided user token is considered invalid for the given document ARI.
69
+ * It happens during initialisation of the provider.
70
+ * It could mean the document has been deleted (hence not found).
71
+ * @message Message returned to editor, i.e User does not have permissions to access this document or document is not found
72
+ * @recoverable It is recoverable, as we will try to refresh the token.
73
+ */
74
+ (function (PROVIDER_ERROR_CODE) {
75
+ PROVIDER_ERROR_CODE["NO_PERMISSION_ERROR"] = "NO_PERMISSION_ERROR";
76
+ PROVIDER_ERROR_CODE["INVALID_USER_TOKEN"] = "INVALID_USER_TOKEN";
77
+ PROVIDER_ERROR_CODE["DOCUMENT_NOT_FOUND"] = "DOCUMENT_NOT_FOUND";
78
+ PROVIDER_ERROR_CODE["LOCKED"] = "LOCKED";
79
+ PROVIDER_ERROR_CODE["FAIL_TO_SAVE"] = "FAIL_TO_SAVE";
80
+ PROVIDER_ERROR_CODE["DOCUMENT_RESTORE_ERROR"] = "DOCUMENT_RESTORE_ERROR";
81
+ PROVIDER_ERROR_CODE["INITIALISATION_ERROR"] = "INITIALISATION_ERROR";
82
+ PROVIDER_ERROR_CODE["NETWORK_ISSUE"] = "NETWORK_ISSUE";
83
+ PROVIDER_ERROR_CODE["INVALID_PROVIDER_CONFIGURATION"] = "INVALID_PROVIDER_CONFIGURATION";
84
+ PROVIDER_ERROR_CODE["INTERNAL_SERVICE_ERROR"] = "INTERNAL_SERVICE_ERROR";
85
+ })(PROVIDER_ERROR_CODE || (PROVIDER_ERROR_CODE = {}));
86
+ // Custom Errors
87
+ var CustomError = /*#__PURE__*/function (_Error) {
88
+ _inherits(CustomError, _Error);
89
+ var _super = _createSuper(CustomError);
90
+ function CustomError(message, error) {
15
91
  var _this;
16
- _classCallCheck(this, NotConnectedError);
92
+ _classCallCheck(this, CustomError);
17
93
  _this = _super.call(this, message);
18
- _defineProperty(_assertThisInitialized(_this), "name", 'NotConnectedError');
94
+ if (typeof (error === null || error === void 0 ? void 0 : error.message) === 'string') {
95
+ _this.message = error.message;
96
+ }
19
97
  return _this;
20
98
  }
21
- return _createClass(NotConnectedError);
99
+ _createClass(CustomError, [{
100
+ key: "toJSON",
101
+ value: function toJSON() {
102
+ return {
103
+ name: this.name,
104
+ message: this.message
105
+ };
106
+ }
107
+ }]);
108
+ return CustomError;
22
109
  }( /*#__PURE__*/_wrapNativeSuper(Error));
23
- export var NotInitializedError = /*#__PURE__*/function (_Error2) {
24
- _inherits(NotInitializedError, _Error2);
25
- var _super2 = _createSuper(NotInitializedError);
26
- function NotInitializedError(message) {
110
+ export var NotConnectedError = /*#__PURE__*/function (_CustomError) {
111
+ _inherits(NotConnectedError, _CustomError);
112
+ var _super2 = _createSuper(NotConnectedError);
113
+ function NotConnectedError() {
27
114
  var _this2;
28
- _classCallCheck(this, NotInitializedError);
29
- _this2 = _super2.call(this, message);
30
- _defineProperty(_assertThisInitialized(_this2), "name", 'NotInitializedError');
115
+ _classCallCheck(this, NotConnectedError);
116
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
117
+ args[_key] = arguments[_key];
118
+ }
119
+ _this2 = _super2.call.apply(_super2, [this].concat(args));
120
+ _defineProperty(_assertThisInitialized(_this2), "name", 'NotConnectedError');
31
121
  return _this2;
32
122
  }
123
+ return _createClass(NotConnectedError);
124
+ }(CustomError);
125
+ export var NotInitializedError = /*#__PURE__*/function (_CustomError2) {
126
+ _inherits(NotInitializedError, _CustomError2);
127
+ var _super3 = _createSuper(NotInitializedError);
128
+ function NotInitializedError() {
129
+ var _this3;
130
+ _classCallCheck(this, NotInitializedError);
131
+ for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
132
+ args[_key2] = arguments[_key2];
133
+ }
134
+ _this3 = _super3.call.apply(_super3, [this].concat(args));
135
+ _defineProperty(_assertThisInitialized(_this3), "name", 'NotInitializedError');
136
+ return _this3;
137
+ }
33
138
  return _createClass(NotInitializedError);
34
- }( /*#__PURE__*/_wrapNativeSuper(Error));
139
+ }(CustomError);
140
+ export var ProviderInitialisationError = /*#__PURE__*/function (_CustomError3) {
141
+ _inherits(ProviderInitialisationError, _CustomError3);
142
+ var _super4 = _createSuper(ProviderInitialisationError);
143
+ function ProviderInitialisationError() {
144
+ var _this4;
145
+ _classCallCheck(this, ProviderInitialisationError);
146
+ for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {
147
+ args[_key3] = arguments[_key3];
148
+ }
149
+ _this4 = _super4.call.apply(_super4, [this].concat(args));
150
+ _defineProperty(_assertThisInitialized(_this4), "name", 'ProviderInitialisationError');
151
+ return _this4;
152
+ }
153
+ return _createClass(ProviderInitialisationError);
154
+ }(CustomError);
155
+ export var SendTransactionError = /*#__PURE__*/function (_CustomError4) {
156
+ _inherits(SendTransactionError, _CustomError4);
157
+ var _super5 = _createSuper(SendTransactionError);
158
+ function SendTransactionError() {
159
+ var _this5;
160
+ _classCallCheck(this, SendTransactionError);
161
+ for (var _len4 = arguments.length, args = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {
162
+ args[_key4] = arguments[_key4];
163
+ }
164
+ _this5 = _super5.call.apply(_super5, [this].concat(args));
165
+ _defineProperty(_assertThisInitialized(_this5), "name", 'SendTransactionError');
166
+ return _this5;
167
+ }
168
+ return _createClass(SendTransactionError);
169
+ }(CustomError);
170
+ export var DestroyError = /*#__PURE__*/function (_CustomError5) {
171
+ _inherits(DestroyError, _CustomError5);
172
+ var _super6 = _createSuper(DestroyError);
173
+ function DestroyError() {
174
+ var _this6;
175
+ _classCallCheck(this, DestroyError);
176
+ for (var _len5 = arguments.length, args = new Array(_len5), _key5 = 0; _key5 < _len5; _key5++) {
177
+ args[_key5] = arguments[_key5];
178
+ }
179
+ _this6 = _super6.call.apply(_super6, [this].concat(args));
180
+ _defineProperty(_assertThisInitialized(_this6), "name", 'DestroyError');
181
+ return _this6;
182
+ }
183
+ return _createClass(DestroyError);
184
+ }(CustomError);
185
+ export var SetTitleError = /*#__PURE__*/function (_CustomError6) {
186
+ _inherits(SetTitleError, _CustomError6);
187
+ var _super7 = _createSuper(SetTitleError);
188
+ function SetTitleError() {
189
+ var _this7;
190
+ _classCallCheck(this, SetTitleError);
191
+ for (var _len6 = arguments.length, args = new Array(_len6), _key6 = 0; _key6 < _len6; _key6++) {
192
+ args[_key6] = arguments[_key6];
193
+ }
194
+ _this7 = _super7.call.apply(_super7, [this].concat(args));
195
+ _defineProperty(_assertThisInitialized(_this7), "name", 'SetTitleError');
196
+ return _this7;
197
+ }
198
+ return _createClass(SetTitleError);
199
+ }(CustomError);
200
+ export var SetEditorWidthError = /*#__PURE__*/function (_CustomError7) {
201
+ _inherits(SetEditorWidthError, _CustomError7);
202
+ var _super8 = _createSuper(SetEditorWidthError);
203
+ function SetEditorWidthError() {
204
+ var _this8;
205
+ _classCallCheck(this, SetEditorWidthError);
206
+ for (var _len7 = arguments.length, args = new Array(_len7), _key7 = 0; _key7 < _len7; _key7++) {
207
+ args[_key7] = arguments[_key7];
208
+ }
209
+ _this8 = _super8.call.apply(_super8, [this].concat(args));
210
+ _defineProperty(_assertThisInitialized(_this8), "name", 'SetEditorWidthError');
211
+ return _this8;
212
+ }
213
+ return _createClass(SetEditorWidthError);
214
+ }(CustomError);
215
+ export var SetMetadataError = /*#__PURE__*/function (_CustomError8) {
216
+ _inherits(SetMetadataError, _CustomError8);
217
+ var _super9 = _createSuper(SetMetadataError);
218
+ function SetMetadataError() {
219
+ var _this9;
220
+ _classCallCheck(this, SetMetadataError);
221
+ for (var _len8 = arguments.length, args = new Array(_len8), _key8 = 0; _key8 < _len8; _key8++) {
222
+ args[_key8] = arguments[_key8];
223
+ }
224
+ _this9 = _super9.call.apply(_super9, [this].concat(args));
225
+ _defineProperty(_assertThisInitialized(_this9), "name", 'SetMetadataError');
226
+ return _this9;
227
+ }
228
+ return _createClass(SetMetadataError);
229
+ }(CustomError);
230
+ export var GetCurrentStateError = /*#__PURE__*/function (_CustomError9) {
231
+ _inherits(GetCurrentStateError, _CustomError9);
232
+ var _super10 = _createSuper(GetCurrentStateError);
233
+ function GetCurrentStateError() {
234
+ var _this10;
235
+ _classCallCheck(this, GetCurrentStateError);
236
+ for (var _len9 = arguments.length, args = new Array(_len9), _key9 = 0; _key9 < _len9; _key9++) {
237
+ args[_key9] = arguments[_key9];
238
+ }
239
+ _this10 = _super10.call.apply(_super10, [this].concat(args));
240
+ _defineProperty(_assertThisInitialized(_this10), "name", 'GetCurrentStateError');
241
+ return _this10;
242
+ }
243
+ return _createClass(GetCurrentStateError);
244
+ }(CustomError);
245
+ export var GetFinalAcknowledgedStateError = /*#__PURE__*/function (_CustomError10) {
246
+ _inherits(GetFinalAcknowledgedStateError, _CustomError10);
247
+ var _super11 = _createSuper(GetFinalAcknowledgedStateError);
248
+ function GetFinalAcknowledgedStateError() {
249
+ var _this11;
250
+ _classCallCheck(this, GetFinalAcknowledgedStateError);
251
+ for (var _len10 = arguments.length, args = new Array(_len10), _key10 = 0; _key10 < _len10; _key10++) {
252
+ args[_key10] = arguments[_key10];
253
+ }
254
+ _this11 = _super11.call.apply(_super11, [this].concat(args));
255
+ _defineProperty(_assertThisInitialized(_this11), "name", 'GetFinalAcknowledgedStateError');
256
+ return _this11;
257
+ }
258
+ return _createClass(GetFinalAcknowledgedStateError);
259
+ }(CustomError);
@@ -8,16 +8,6 @@ export var createLogger = function createLogger(prefix) {
8
8
  }
9
9
  };
10
10
  };
11
- var logger = createLogger('Helper:util', 'black');
12
- export var getParticipant = function getParticipant(userId) {
13
- logger('getParticipant: ', userId);
14
- return {
15
- userId: userId,
16
- name: userId,
17
- avatar: '',
18
- email: "".concat(userId.replace(/\s/g, '').toLocaleLowerCase(), "@atlassian.com")
19
- };
20
- };
21
11
  export function sleep(ms) {
22
12
  return new Promise(function (resolve) {
23
13
  setTimeout(resolve, ms);
@@ -0,0 +1,43 @@
1
+ import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
2
+ import _regeneratorRuntime from "@babel/runtime/regenerator";
3
+ export var PARTICIPANT_UPDATE_INTERVAL = 300 * 1000; // 300 seconds
4
+
5
+ export var createParticipantFromPayload = /*#__PURE__*/function () {
6
+ var _ref = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(payload, getUser) {
7
+ var _user, _user2, _user3;
8
+ var sessionId, timestamp, clientId, userId, user, participant;
9
+ return _regeneratorRuntime.wrap(function _callee$(_context) {
10
+ while (1) {
11
+ switch (_context.prev = _context.next) {
12
+ case 0:
13
+ sessionId = payload.sessionId, timestamp = payload.timestamp, clientId = payload.clientId, userId = payload.userId;
14
+ if (!getUser) {
15
+ _context.next = 5;
16
+ break;
17
+ }
18
+ _context.next = 4;
19
+ return getUser(userId);
20
+ case 4:
21
+ user = _context.sent;
22
+ case 5:
23
+ participant = {
24
+ name: ((_user = user) === null || _user === void 0 ? void 0 : _user.name) || '',
25
+ email: ((_user2 = user) === null || _user2 === void 0 ? void 0 : _user2.email) || '',
26
+ avatar: ((_user3 = user) === null || _user3 === void 0 ? void 0 : _user3.avatar) || '',
27
+ sessionId: sessionId,
28
+ lastActive: timestamp,
29
+ userId: userId,
30
+ clientId: clientId
31
+ };
32
+ return _context.abrupt("return", participant);
33
+ case 7:
34
+ case "end":
35
+ return _context.stop();
36
+ }
37
+ }
38
+ }, _callee);
39
+ }));
40
+ return function createParticipantFromPayload(_x, _x2) {
41
+ return _ref.apply(this, arguments);
42
+ };
43
+ }();