@atlaskit/collab-provider 9.37.6 → 9.37.7

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 CHANGED
@@ -1,5 +1,14 @@
1
1
  # @atlaskit/collab-provider
2
2
 
3
+ ## 9.37.7
4
+
5
+ ### Patch Changes
6
+
7
+ - [#137379](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/pull-requests/137379)
8
+ [`b635019594ddd`](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/commits/b635019594ddd) -
9
+ Adding new subProduct tag in collab provider analytics event
10
+ - Updated dependencies
11
+
3
12
  ## 9.37.6
4
13
 
5
14
  ### Patch Changes
@@ -10,7 +10,6 @@ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/
10
10
  var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
11
11
  var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
12
12
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
13
- var _platformFeatureFlags = require("@atlaskit/platform-feature-flags");
14
13
  var _const = require("../helpers/const");
15
14
  var _versionWrapper = require("../version-wrapper");
16
15
  var _singleton = require("../connectivity/singleton");
@@ -68,9 +67,10 @@ var triggerAnalyticsEvent = function triggerAnalyticsEvent(analyticsEvent, analy
68
67
  }
69
68
  };
70
69
  var AnalyticsHelper = exports.default = /*#__PURE__*/function () {
71
- function AnalyticsHelper(documentAri, analyticsClient, getAnalyticsClient) {
70
+ function AnalyticsHelper(documentAri, subProduct, analyticsClient, getAnalyticsClient) {
72
71
  (0, _classCallCheck2.default)(this, AnalyticsHelper);
73
72
  this.documentAri = documentAri;
73
+ this.subProduct = subProduct;
74
74
  this.analyticsClient = analyticsClient;
75
75
  this.getAnalyticsClient = getAnalyticsClient;
76
76
  }
@@ -86,11 +86,12 @@ var AnalyticsHelper = exports.default = /*#__PURE__*/function () {
86
86
  eventAction: _const.EVENT_ACTION.ERROR,
87
87
  attributes: _objectSpread({
88
88
  documentAri: this.documentAri,
89
+ subProduct: this.subProduct,
89
90
  errorMessage: errorMessage,
90
91
  errorName: error instanceof Error ? error.name : undefined,
91
92
  errorCode: (_data$code = (_data = error.data) === null || _data === void 0 ? void 0 : _data.code) !== null && _data$code !== void 0 ? _data$code : undefined,
92
93
  errorStatus: (_data$status = (_data2 = error.data) === null || _data2 === void 0 ? void 0 : _data2.status) !== null && _data$status !== void 0 ? _data$status : undefined,
93
- errorStack: error instanceof Error && loggableErrorName.includes(error.name) && (0, _platformFeatureFlags.getBooleanFF)('platform.editor.ncs.log-error-stacks') ? error.stack : undefined,
94
+ errorStack: error instanceof Error && loggableErrorName.includes(error.name) ? error.stack : undefined,
94
95
  originalErrorMessage: this.getUGCFreeErrorMessage(error)
95
96
  }, errorExtraAttributes),
96
97
  nonPrivacySafeAttributes: {
@@ -106,6 +107,7 @@ var AnalyticsHelper = exports.default = /*#__PURE__*/function () {
106
107
  eventAction: _const.EVENT_ACTION.ERROR,
107
108
  attributes: {
108
109
  documentAri: this.documentAri,
110
+ subProduct: this.subProduct,
109
111
  errorMessage: 'Error emitted',
110
112
  originalErrorMessage: error.message,
111
113
  errorCode: error.code,
@@ -122,6 +124,7 @@ var AnalyticsHelper = exports.default = /*#__PURE__*/function () {
122
124
  eventAction: action,
123
125
  attributes: _objectSpread({
124
126
  documentAri: this.documentAri,
127
+ subProduct: this.subProduct,
125
128
  eventStatus: status
126
129
  }, attributes)
127
130
  };
@@ -46,6 +46,7 @@ var Provider = exports.Provider = /*#__PURE__*/function (_Emitter) {
46
46
  (0, _inherits2.default)(Provider, _Emitter);
47
47
  var _super = _createSuper(Provider);
48
48
  function Provider(config) {
49
+ var _this$config$productI;
49
50
  var _this;
50
51
  (0, _classCallCheck2.default)(this, Provider);
51
52
  _this = _super.call(this);
@@ -272,7 +273,7 @@ var Provider = exports.Provider = /*#__PURE__*/function (_Emitter) {
272
273
  return _this.sessionId;
273
274
  });
274
275
  _this.config = config;
275
- _this.analyticsHelper = new _analyticsHelper.default(_this.config.documentAri, _this.config.analyticsClient, _this.config.getAnalyticsWebClient);
276
+ _this.analyticsHelper = new _analyticsHelper.default(_this.config.documentAri, (_this$config$productI = _this.config.productInfo) === null || _this$config$productI === void 0 ? void 0 : _this$config$productI.subProduct, _this.config.analyticsClient, _this.config.getAnalyticsWebClient);
276
277
  _this.channel = new _channel.Channel(config, _this.analyticsHelper);
277
278
  _this.isChannelInitialized = false;
278
279
  _this.initialDraft = _this.config.initialDraft;
@@ -5,7 +5,7 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.version = exports.nextMajorVersion = exports.name = void 0;
7
7
  var name = exports.name = "@atlaskit/collab-provider";
8
- var version = exports.version = "9.37.6";
8
+ var version = exports.version = "9.37.7";
9
9
  var nextMajorVersion = exports.nextMajorVersion = function nextMajorVersion() {
10
10
  return [Number(version.split('.')[0]) + 1, 0, 0].join('.');
11
11
  };
@@ -1,4 +1,3 @@
1
- import { getBooleanFF } from '@atlaskit/platform-feature-flags';
2
1
  import { EVENT_ACTION } from '../helpers/const';
3
2
  import { name as packageName, version as packageVersion } from '../version-wrapper';
4
3
  import { network } from '../connectivity/singleton';
@@ -55,8 +54,9 @@ const triggerAnalyticsEvent = (analyticsEvent, analyticsClient) => {
55
54
  }
56
55
  };
57
56
  export default class AnalyticsHelper {
58
- constructor(documentAri, analyticsClient, getAnalyticsClient) {
57
+ constructor(documentAri, subProduct, analyticsClient, getAnalyticsClient) {
59
58
  this.documentAri = documentAri;
59
+ this.subProduct = subProduct;
60
60
  this.analyticsClient = analyticsClient;
61
61
  this.getAnalyticsClient = getAnalyticsClient;
62
62
  }
@@ -70,11 +70,12 @@ export default class AnalyticsHelper {
70
70
  eventAction: EVENT_ACTION.ERROR,
71
71
  attributes: {
72
72
  documentAri: this.documentAri,
73
+ subProduct: this.subProduct,
73
74
  errorMessage,
74
75
  errorName: error instanceof Error ? error.name : undefined,
75
76
  errorCode: (_data$code = (_data = error.data) === null || _data === void 0 ? void 0 : _data.code) !== null && _data$code !== void 0 ? _data$code : undefined,
76
77
  errorStatus: (_data$status = (_data2 = error.data) === null || _data2 === void 0 ? void 0 : _data2.status) !== null && _data$status !== void 0 ? _data$status : undefined,
77
- errorStack: error instanceof Error && loggableErrorName.includes(error.name) && getBooleanFF('platform.editor.ncs.log-error-stacks') ? error.stack : undefined,
78
+ errorStack: error instanceof Error && loggableErrorName.includes(error.name) ? error.stack : undefined,
78
79
  originalErrorMessage: this.getUGCFreeErrorMessage(error),
79
80
  ...errorExtraAttributes
80
81
  },
@@ -89,6 +90,7 @@ export default class AnalyticsHelper {
89
90
  eventAction: EVENT_ACTION.ERROR,
90
91
  attributes: {
91
92
  documentAri: this.documentAri,
93
+ subProduct: this.subProduct,
92
94
  errorMessage: 'Error emitted',
93
95
  originalErrorMessage: error.message,
94
96
  errorCode: error.code,
@@ -103,6 +105,7 @@ export default class AnalyticsHelper {
103
105
  eventAction: action,
104
106
  attributes: {
105
107
  documentAri: this.documentAri,
108
+ subProduct: this.subProduct,
106
109
  eventStatus: status,
107
110
  ...attributes
108
111
  }
@@ -24,6 +24,7 @@ export const MAX_STEP_REJECTED_ERROR = 15;
24
24
  export const MAX_STEP_REJECTED_ERROR_AGGRESSIVE = 2;
25
25
  export class Provider extends Emitter {
26
26
  constructor(config) {
27
+ var _this$config$productI;
27
28
  super();
28
29
  _defineProperty(this, "isChannelInitialized", false);
29
30
  _defineProperty(this, "isProviderInitialized", false);
@@ -225,7 +226,7 @@ export class Provider extends Emitter {
225
226
  return this.sessionId;
226
227
  });
227
228
  this.config = config;
228
- this.analyticsHelper = new AnalyticsHelper(this.config.documentAri, this.config.analyticsClient, this.config.getAnalyticsWebClient);
229
+ this.analyticsHelper = new AnalyticsHelper(this.config.documentAri, (_this$config$productI = this.config.productInfo) === null || _this$config$productI === void 0 ? void 0 : _this$config$productI.subProduct, this.config.analyticsClient, this.config.getAnalyticsWebClient);
229
230
  this.channel = new Channel(config, this.analyticsHelper);
230
231
  this.isChannelInitialized = false;
231
232
  this.initialDraft = this.config.initialDraft;
@@ -1,5 +1,5 @@
1
1
  export const name = "@atlaskit/collab-provider";
2
- export const version = "9.37.6";
2
+ export const version = "9.37.7";
3
3
  export const nextMajorVersion = () => {
4
4
  return [Number(version.split('.')[0]) + 1, 0, 0].join('.');
5
5
  };
@@ -5,7 +5,6 @@ import _defineProperty from "@babel/runtime/helpers/defineProperty";
5
5
  import _regeneratorRuntime from "@babel/runtime/regenerator";
6
6
  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; }
7
7
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
8
- import { getBooleanFF } from '@atlaskit/platform-feature-flags';
9
8
  import { EVENT_ACTION } from '../helpers/const';
10
9
  import { name as packageName, version as packageVersion } from '../version-wrapper';
11
10
  import { network } from '../connectivity/singleton';
@@ -61,9 +60,10 @@ var triggerAnalyticsEvent = function triggerAnalyticsEvent(analyticsEvent, analy
61
60
  }
62
61
  };
63
62
  var AnalyticsHelper = /*#__PURE__*/function () {
64
- function AnalyticsHelper(documentAri, analyticsClient, getAnalyticsClient) {
63
+ function AnalyticsHelper(documentAri, subProduct, analyticsClient, getAnalyticsClient) {
65
64
  _classCallCheck(this, AnalyticsHelper);
66
65
  this.documentAri = documentAri;
66
+ this.subProduct = subProduct;
67
67
  this.analyticsClient = analyticsClient;
68
68
  this.getAnalyticsClient = getAnalyticsClient;
69
69
  }
@@ -79,11 +79,12 @@ var AnalyticsHelper = /*#__PURE__*/function () {
79
79
  eventAction: EVENT_ACTION.ERROR,
80
80
  attributes: _objectSpread({
81
81
  documentAri: this.documentAri,
82
+ subProduct: this.subProduct,
82
83
  errorMessage: errorMessage,
83
84
  errorName: error instanceof Error ? error.name : undefined,
84
85
  errorCode: (_data$code = (_data = error.data) === null || _data === void 0 ? void 0 : _data.code) !== null && _data$code !== void 0 ? _data$code : undefined,
85
86
  errorStatus: (_data$status = (_data2 = error.data) === null || _data2 === void 0 ? void 0 : _data2.status) !== null && _data$status !== void 0 ? _data$status : undefined,
86
- errorStack: error instanceof Error && loggableErrorName.includes(error.name) && getBooleanFF('platform.editor.ncs.log-error-stacks') ? error.stack : undefined,
87
+ errorStack: error instanceof Error && loggableErrorName.includes(error.name) ? error.stack : undefined,
87
88
  originalErrorMessage: this.getUGCFreeErrorMessage(error)
88
89
  }, errorExtraAttributes),
89
90
  nonPrivacySafeAttributes: {
@@ -99,6 +100,7 @@ var AnalyticsHelper = /*#__PURE__*/function () {
99
100
  eventAction: EVENT_ACTION.ERROR,
100
101
  attributes: {
101
102
  documentAri: this.documentAri,
103
+ subProduct: this.subProduct,
102
104
  errorMessage: 'Error emitted',
103
105
  originalErrorMessage: error.message,
104
106
  errorCode: error.code,
@@ -115,6 +117,7 @@ var AnalyticsHelper = /*#__PURE__*/function () {
115
117
  eventAction: action,
116
118
  attributes: _objectSpread({
117
119
  documentAri: this.documentAri,
120
+ subProduct: this.subProduct,
118
121
  eventStatus: status
119
122
  }, attributes)
120
123
  };
@@ -39,6 +39,7 @@ export var Provider = /*#__PURE__*/function (_Emitter) {
39
39
  _inherits(Provider, _Emitter);
40
40
  var _super = _createSuper(Provider);
41
41
  function Provider(config) {
42
+ var _this$config$productI;
42
43
  var _this;
43
44
  _classCallCheck(this, Provider);
44
45
  _this = _super.call(this);
@@ -265,7 +266,7 @@ export var Provider = /*#__PURE__*/function (_Emitter) {
265
266
  return _this.sessionId;
266
267
  });
267
268
  _this.config = config;
268
- _this.analyticsHelper = new AnalyticsHelper(_this.config.documentAri, _this.config.analyticsClient, _this.config.getAnalyticsWebClient);
269
+ _this.analyticsHelper = new AnalyticsHelper(_this.config.documentAri, (_this$config$productI = _this.config.productInfo) === null || _this$config$productI === void 0 ? void 0 : _this$config$productI.subProduct, _this.config.analyticsClient, _this.config.getAnalyticsWebClient);
269
270
  _this.channel = new Channel(config, _this.analyticsHelper);
270
271
  _this.isChannelInitialized = false;
271
272
  _this.initialDraft = _this.config.initialDraft;
@@ -1,5 +1,5 @@
1
1
  export var name = "@atlaskit/collab-provider";
2
- export var version = "9.37.6";
2
+ export var version = "9.37.7";
3
3
  export var nextMajorVersion = function nextMajorVersion() {
4
4
  return [Number(version.split('.')[0]) + 1, 0, 0].join('.');
5
5
  };
@@ -5,10 +5,11 @@ export default class AnalyticsHelper {
5
5
  analyticsClient: AnalyticsWebClient | undefined;
6
6
  getAnalyticsClient: Promise<AnalyticsWebClient> | undefined;
7
7
  documentAri: string;
8
- constructor(documentAri: string, analyticsClient?: AnalyticsWebClient, getAnalyticsClient?: Promise<AnalyticsWebClient>);
8
+ subProduct: string | undefined;
9
+ constructor(documentAri: string, subProduct?: string, analyticsClient?: AnalyticsWebClient, getAnalyticsClient?: Promise<AnalyticsWebClient>);
9
10
  sendErrorEvent(error: unknown, errorMessage: string): void;
10
11
  sendProviderErrorEvent(error: ProviderError): void;
11
- sendActionEvent(action: ActionAnalyticsEvent['eventAction'], status: EVENT_STATUS, attributes?: Omit<ActionAnalyticsEvent['attributes'], 'documentAri' | 'eventStatus'>): void;
12
+ sendActionEvent(action: ActionAnalyticsEvent['eventAction'], status: EVENT_STATUS, attributes?: Omit<ActionAnalyticsEvent['attributes'], 'documentAri' | 'subProduct' | 'eventStatus'>): void;
12
13
  private sendEvent;
13
14
  private getUGCFreeErrorMessage;
14
15
  }
@@ -52,210 +52,193 @@ export type ErrorAnalyticsEvent = {
52
52
  errorStack?: string;
53
53
  documentAri?: string;
54
54
  mappedError?: ProviderError;
55
+ subProduct?: string;
55
56
  } & DocumentUpdateErrorAttributes;
56
57
  nonPrivacySafeAttributes?: {
57
58
  error: unknown;
58
59
  };
59
60
  };
61
+ export type BaseActionAnalyticsEventAttributes = {
62
+ documentAri?: string;
63
+ subProduct?: string;
64
+ };
60
65
  type InvalidateTokenAnalyticsEvent = {
61
66
  eventAction: EVENT_ACTION.INVALIDATE_TOKEN;
62
67
  attributes: {
63
68
  eventStatus: EVENT_STATUS.SUCCESS;
64
69
  reason?: string;
65
70
  usedCachedToken?: boolean;
66
- };
71
+ } & BaseActionAnalyticsEventAttributes;
67
72
  };
68
73
  type AddStepsSuccessAnalyticsEvent = {
69
74
  eventAction: EVENT_ACTION.ADD_STEPS;
70
75
  attributes: {
71
- documentAri: string;
72
76
  eventStatus: EVENT_STATUS.SUCCESS;
73
77
  type: ADD_STEPS_TYPE.ACCEPTED;
74
78
  latency?: number;
75
79
  stepType?: {
76
80
  [key: string]: number;
77
81
  };
78
- };
82
+ } & BaseActionAnalyticsEventAttributes;
79
83
  };
80
84
  type AddStepsFailureAnalyticsEvent = {
81
85
  eventAction: EVENT_ACTION.ADD_STEPS;
82
86
  attributes: {
83
- documentAri: string;
84
87
  eventStatus: EVENT_STATUS.FAILURE;
85
88
  type: ADD_STEPS_TYPE.REJECTED | ADD_STEPS_TYPE.ERROR;
86
89
  latency?: number;
87
- };
90
+ } & BaseActionAnalyticsEventAttributes;
88
91
  };
89
92
  type ReInitDocFailAnalyticsEvent = {
90
93
  eventAction: EVENT_ACTION.REINITIALISE_DOCUMENT;
91
94
  attributes: {
92
- documentAri: string;
93
95
  eventStatus: EVENT_STATUS.FAILURE;
94
96
  numUnconfirmedSteps: number;
95
- };
97
+ } & BaseActionAnalyticsEventAttributes;
96
98
  };
97
99
  type ReInitDocSuccessAnalyticsEvent = {
98
100
  eventAction: EVENT_ACTION.REINITIALISE_DOCUMENT;
99
101
  attributes: {
100
- documentAri: string;
101
102
  eventStatus: EVENT_STATUS.SUCCESS;
102
103
  numUnconfirmedSteps: number;
103
- };
104
+ } & BaseActionAnalyticsEventAttributes;
104
105
  };
105
106
  type ConnectionSuccessAnalyticsEvent = {
106
107
  eventAction: EVENT_ACTION.CONNECTION;
107
108
  attributes: {
108
- documentAri: string;
109
109
  eventStatus: EVENT_STATUS.SUCCESS;
110
110
  latency?: number;
111
- };
111
+ } & BaseActionAnalyticsEventAttributes;
112
112
  };
113
113
  type ConnectionFailureAnalyticsEvent = {
114
114
  eventAction: EVENT_ACTION.CONNECTION;
115
115
  attributes: {
116
- documentAri: string;
117
116
  eventStatus: EVENT_STATUS.FAILURE;
118
117
  latency?: number;
119
- };
118
+ } & BaseActionAnalyticsEventAttributes;
120
119
  };
121
120
  type CatchUpSuccessAnalyticsEvent = {
122
121
  eventAction: EVENT_ACTION.CATCHUP;
123
122
  attributes: {
124
- documentAri: string;
125
123
  eventStatus: EVENT_STATUS.SUCCESS;
126
124
  latency?: number;
127
- };
125
+ } & BaseActionAnalyticsEventAttributes;
128
126
  };
129
127
  type CatchUpFailureAnalyticsEvent = {
130
128
  eventAction: EVENT_ACTION.CATCHUP;
131
129
  attributes: {
132
- documentAri: string;
133
130
  eventStatus: EVENT_STATUS.FAILURE;
134
131
  latency?: number;
135
- };
132
+ } & BaseActionAnalyticsEventAttributes;
136
133
  };
137
134
  type CatchUpDroppedStepsEvent = {
138
135
  eventAction: EVENT_ACTION.DROPPED_STEPS;
139
136
  attributes: {
140
- documentAri: string;
141
137
  numOfDroppedSteps: number;
142
- };
138
+ } & BaseActionAnalyticsEventAttributes;
143
139
  };
144
140
  type DocumentInitSuccessAnalyticsEvent = {
145
141
  eventAction: EVENT_ACTION.DOCUMENT_INIT;
146
142
  attributes: {
147
- documentAri: string;
148
143
  eventStatus: EVENT_STATUS.SUCCESS;
149
144
  latency?: number;
150
145
  resetReason?: string;
151
146
  hasTitle: boolean;
152
- };
147
+ } & BaseActionAnalyticsEventAttributes;
153
148
  };
154
149
  type UpdateParticipantsSuccessAnalyticsEvent = {
155
150
  eventAction: EVENT_ACTION.UPDATE_PARTICIPANTS;
156
151
  attributes: {
157
- documentAri?: string;
158
152
  eventStatus: EVENT_STATUS.SUCCESS;
159
153
  participants: number;
160
- };
154
+ } & BaseActionAnalyticsEventAttributes;
161
155
  };
162
156
  type CommitUnconfirmedStepsSuccessAnalyticsEvent = {
163
157
  eventAction: EVENT_ACTION.COMMIT_UNCONFIRMED_STEPS;
164
158
  attributes: {
165
- documentAri: string;
166
159
  eventStatus: EVENT_STATUS.SUCCESS;
167
160
  latency?: number;
168
161
  numUnconfirmedSteps?: number;
169
- };
162
+ } & BaseActionAnalyticsEventAttributes;
170
163
  };
171
164
  type CommitUnconfirmedStepsFailureAnalyticsEvent = {
172
165
  eventAction: EVENT_ACTION.COMMIT_UNCONFIRMED_STEPS;
173
166
  attributes: {
174
- documentAri: string;
175
167
  eventStatus: EVENT_STATUS.FAILURE;
176
168
  latency?: number;
177
169
  numUnconfirmedSteps?: number;
178
- };
170
+ } & BaseActionAnalyticsEventAttributes;
179
171
  };
180
172
  type PublishPageSuccessAnalyticsEvent = {
181
173
  eventAction: EVENT_ACTION.PUBLISH_PAGE;
182
174
  attributes: {
183
- documentAri: string;
184
175
  eventStatus: EVENT_STATUS.SUCCESS;
185
176
  latency?: number;
186
- };
177
+ } & BaseActionAnalyticsEventAttributes;
187
178
  };
188
179
  type PublishPageFailureAnalyticsEvent = {
189
180
  eventAction: EVENT_ACTION.PUBLISH_PAGE;
190
181
  attributes: {
191
- documentAri: string;
192
182
  eventStatus: EVENT_STATUS.FAILURE;
193
183
  latency?: number;
194
- };
184
+ } & BaseActionAnalyticsEventAttributes;
195
185
  };
196
186
  type GetCurrentStateSuccessAnalyticsEvent = {
197
187
  eventAction: EVENT_ACTION.GET_CURRENT_STATE;
198
188
  attributes: {
199
- documentAri: string;
200
189
  eventStatus: EVENT_STATUS.SUCCESS;
201
190
  latency?: number;
202
- };
191
+ } & BaseActionAnalyticsEventAttributes;
203
192
  };
204
193
  type GetCurrentStateFailureAnalyticsEvent = {
205
194
  eventAction: EVENT_ACTION.GET_CURRENT_STATE;
206
195
  attributes: {
207
- documentAri: string;
208
196
  eventStatus: EVENT_STATUS.FAILURE;
209
197
  latency?: number;
210
- };
198
+ } & BaseActionAnalyticsEventAttributes;
211
199
  };
212
200
  type SendStepsRetryAnalyticsEvent = {
213
201
  eventAction: EVENT_ACTION.SEND_STEPS_RETRY;
214
202
  attributes: {
215
- documentAri: string;
216
203
  eventStatus: EVENT_STATUS.INFO;
217
204
  count: number;
218
- };
205
+ } & BaseActionAnalyticsEventAttributes;
219
206
  };
220
207
  type CatchupAfterMaxSendStepsRetryAnalyticsEvent = {
221
208
  eventAction: EVENT_ACTION.CATCHUP_AFTER_MAX_SEND_STEPS_RETRY;
222
209
  attributes: {
223
- documentAri: string;
224
210
  eventStatus: EVENT_STATUS.INFO;
225
- };
211
+ } & BaseActionAnalyticsEventAttributes;
226
212
  };
227
213
  type WebsocketMessageVolumeMetricEvent = {
228
214
  eventAction: EVENT_ACTION.WEBSOCKET_MESSAGE_VOLUME_METRIC;
229
215
  attributes: {
230
- documentAri?: string;
231
216
  eventStatus: EVENT_STATUS.INFO;
232
217
  messageCount: number;
233
218
  messageSize: number;
234
- };
219
+ } & BaseActionAnalyticsEventAttributes;
235
220
  };
236
221
  type ProviderInitializedAnalyticsEvent = {
237
222
  eventAction: EVENT_ACTION.PROVIDER_INITIALIZED;
238
223
  attributes: {
239
- documentAri?: string;
240
224
  eventStatus: EVENT_STATUS.INFO;
241
225
  isPreinitializing: boolean;
242
226
  isBuffered?: boolean;
243
- };
227
+ } & BaseActionAnalyticsEventAttributes;
244
228
  };
245
229
  type ProviderSetupAnalyticsEvent = {
246
230
  eventAction: EVENT_ACTION.PROVIDER_SETUP;
247
231
  attributes: {
248
- documentAri?: string;
249
232
  eventStatus: EVENT_STATUS.INFO;
250
233
  isPreinitializing: boolean;
251
234
  hasState: boolean;
252
- };
235
+ } & BaseActionAnalyticsEventAttributes;
253
236
  };
254
237
  type ProviderHasUnconfirmedStepsAnalyticsEvent = {
255
238
  eventAction: EVENT_ACTION.HAS_UNCONFIRMED_STEPS;
256
239
  attributes: {
257
240
  numUnconfirmedSteps: number;
258
- };
241
+ } & BaseActionAnalyticsEventAttributes;
259
242
  };
260
243
  type UpdateDocumentAnalyticsEvent = {
261
244
  eventAction: EVENT_ACTION.UPDATE_DOCUMENT;
@@ -266,7 +249,7 @@ type UpdateDocumentAnalyticsEvent = {
266
249
  isDocTruthy: boolean;
267
250
  docHasContent: boolean;
268
251
  isDocContentValid: boolean;
269
- };
252
+ } & BaseActionAnalyticsEventAttributes;
270
253
  };
271
254
  export type ActionAnalyticsEvent = AddStepsSuccessAnalyticsEvent | AddStepsFailureAnalyticsEvent | ReInitDocFailAnalyticsEvent | ReInitDocSuccessAnalyticsEvent | ConnectionSuccessAnalyticsEvent | ConnectionFailureAnalyticsEvent | CatchUpSuccessAnalyticsEvent | CatchUpFailureAnalyticsEvent | DocumentInitSuccessAnalyticsEvent | UpdateParticipantsSuccessAnalyticsEvent | CommitUnconfirmedStepsSuccessAnalyticsEvent | CommitUnconfirmedStepsFailureAnalyticsEvent | PublishPageSuccessAnalyticsEvent | PublishPageFailureAnalyticsEvent | GetCurrentStateSuccessAnalyticsEvent | GetCurrentStateFailureAnalyticsEvent | InvalidateTokenAnalyticsEvent | SendStepsRetryAnalyticsEvent | CatchupAfterMaxSendStepsRetryAnalyticsEvent | CatchUpDroppedStepsEvent | WebsocketMessageVolumeMetricEvent | ProviderInitializedAnalyticsEvent | ProviderSetupAnalyticsEvent | ProviderHasUnconfirmedStepsAnalyticsEvent | UpdateDocumentAnalyticsEvent;
272
255
  export declare const ACK_MAX_TRY = 60;
@@ -5,10 +5,11 @@ export default class AnalyticsHelper {
5
5
  analyticsClient: AnalyticsWebClient | undefined;
6
6
  getAnalyticsClient: Promise<AnalyticsWebClient> | undefined;
7
7
  documentAri: string;
8
- constructor(documentAri: string, analyticsClient?: AnalyticsWebClient, getAnalyticsClient?: Promise<AnalyticsWebClient>);
8
+ subProduct: string | undefined;
9
+ constructor(documentAri: string, subProduct?: string, analyticsClient?: AnalyticsWebClient, getAnalyticsClient?: Promise<AnalyticsWebClient>);
9
10
  sendErrorEvent(error: unknown, errorMessage: string): void;
10
11
  sendProviderErrorEvent(error: ProviderError): void;
11
- sendActionEvent(action: ActionAnalyticsEvent['eventAction'], status: EVENT_STATUS, attributes?: Omit<ActionAnalyticsEvent['attributes'], 'documentAri' | 'eventStatus'>): void;
12
+ sendActionEvent(action: ActionAnalyticsEvent['eventAction'], status: EVENT_STATUS, attributes?: Omit<ActionAnalyticsEvent['attributes'], 'documentAri' | 'subProduct' | 'eventStatus'>): void;
12
13
  private sendEvent;
13
14
  private getUGCFreeErrorMessage;
14
15
  }
@@ -52,210 +52,193 @@ export type ErrorAnalyticsEvent = {
52
52
  errorStack?: string;
53
53
  documentAri?: string;
54
54
  mappedError?: ProviderError;
55
+ subProduct?: string;
55
56
  } & DocumentUpdateErrorAttributes;
56
57
  nonPrivacySafeAttributes?: {
57
58
  error: unknown;
58
59
  };
59
60
  };
61
+ export type BaseActionAnalyticsEventAttributes = {
62
+ documentAri?: string;
63
+ subProduct?: string;
64
+ };
60
65
  type InvalidateTokenAnalyticsEvent = {
61
66
  eventAction: EVENT_ACTION.INVALIDATE_TOKEN;
62
67
  attributes: {
63
68
  eventStatus: EVENT_STATUS.SUCCESS;
64
69
  reason?: string;
65
70
  usedCachedToken?: boolean;
66
- };
71
+ } & BaseActionAnalyticsEventAttributes;
67
72
  };
68
73
  type AddStepsSuccessAnalyticsEvent = {
69
74
  eventAction: EVENT_ACTION.ADD_STEPS;
70
75
  attributes: {
71
- documentAri: string;
72
76
  eventStatus: EVENT_STATUS.SUCCESS;
73
77
  type: ADD_STEPS_TYPE.ACCEPTED;
74
78
  latency?: number;
75
79
  stepType?: {
76
80
  [key: string]: number;
77
81
  };
78
- };
82
+ } & BaseActionAnalyticsEventAttributes;
79
83
  };
80
84
  type AddStepsFailureAnalyticsEvent = {
81
85
  eventAction: EVENT_ACTION.ADD_STEPS;
82
86
  attributes: {
83
- documentAri: string;
84
87
  eventStatus: EVENT_STATUS.FAILURE;
85
88
  type: ADD_STEPS_TYPE.REJECTED | ADD_STEPS_TYPE.ERROR;
86
89
  latency?: number;
87
- };
90
+ } & BaseActionAnalyticsEventAttributes;
88
91
  };
89
92
  type ReInitDocFailAnalyticsEvent = {
90
93
  eventAction: EVENT_ACTION.REINITIALISE_DOCUMENT;
91
94
  attributes: {
92
- documentAri: string;
93
95
  eventStatus: EVENT_STATUS.FAILURE;
94
96
  numUnconfirmedSteps: number;
95
- };
97
+ } & BaseActionAnalyticsEventAttributes;
96
98
  };
97
99
  type ReInitDocSuccessAnalyticsEvent = {
98
100
  eventAction: EVENT_ACTION.REINITIALISE_DOCUMENT;
99
101
  attributes: {
100
- documentAri: string;
101
102
  eventStatus: EVENT_STATUS.SUCCESS;
102
103
  numUnconfirmedSteps: number;
103
- };
104
+ } & BaseActionAnalyticsEventAttributes;
104
105
  };
105
106
  type ConnectionSuccessAnalyticsEvent = {
106
107
  eventAction: EVENT_ACTION.CONNECTION;
107
108
  attributes: {
108
- documentAri: string;
109
109
  eventStatus: EVENT_STATUS.SUCCESS;
110
110
  latency?: number;
111
- };
111
+ } & BaseActionAnalyticsEventAttributes;
112
112
  };
113
113
  type ConnectionFailureAnalyticsEvent = {
114
114
  eventAction: EVENT_ACTION.CONNECTION;
115
115
  attributes: {
116
- documentAri: string;
117
116
  eventStatus: EVENT_STATUS.FAILURE;
118
117
  latency?: number;
119
- };
118
+ } & BaseActionAnalyticsEventAttributes;
120
119
  };
121
120
  type CatchUpSuccessAnalyticsEvent = {
122
121
  eventAction: EVENT_ACTION.CATCHUP;
123
122
  attributes: {
124
- documentAri: string;
125
123
  eventStatus: EVENT_STATUS.SUCCESS;
126
124
  latency?: number;
127
- };
125
+ } & BaseActionAnalyticsEventAttributes;
128
126
  };
129
127
  type CatchUpFailureAnalyticsEvent = {
130
128
  eventAction: EVENT_ACTION.CATCHUP;
131
129
  attributes: {
132
- documentAri: string;
133
130
  eventStatus: EVENT_STATUS.FAILURE;
134
131
  latency?: number;
135
- };
132
+ } & BaseActionAnalyticsEventAttributes;
136
133
  };
137
134
  type CatchUpDroppedStepsEvent = {
138
135
  eventAction: EVENT_ACTION.DROPPED_STEPS;
139
136
  attributes: {
140
- documentAri: string;
141
137
  numOfDroppedSteps: number;
142
- };
138
+ } & BaseActionAnalyticsEventAttributes;
143
139
  };
144
140
  type DocumentInitSuccessAnalyticsEvent = {
145
141
  eventAction: EVENT_ACTION.DOCUMENT_INIT;
146
142
  attributes: {
147
- documentAri: string;
148
143
  eventStatus: EVENT_STATUS.SUCCESS;
149
144
  latency?: number;
150
145
  resetReason?: string;
151
146
  hasTitle: boolean;
152
- };
147
+ } & BaseActionAnalyticsEventAttributes;
153
148
  };
154
149
  type UpdateParticipantsSuccessAnalyticsEvent = {
155
150
  eventAction: EVENT_ACTION.UPDATE_PARTICIPANTS;
156
151
  attributes: {
157
- documentAri?: string;
158
152
  eventStatus: EVENT_STATUS.SUCCESS;
159
153
  participants: number;
160
- };
154
+ } & BaseActionAnalyticsEventAttributes;
161
155
  };
162
156
  type CommitUnconfirmedStepsSuccessAnalyticsEvent = {
163
157
  eventAction: EVENT_ACTION.COMMIT_UNCONFIRMED_STEPS;
164
158
  attributes: {
165
- documentAri: string;
166
159
  eventStatus: EVENT_STATUS.SUCCESS;
167
160
  latency?: number;
168
161
  numUnconfirmedSteps?: number;
169
- };
162
+ } & BaseActionAnalyticsEventAttributes;
170
163
  };
171
164
  type CommitUnconfirmedStepsFailureAnalyticsEvent = {
172
165
  eventAction: EVENT_ACTION.COMMIT_UNCONFIRMED_STEPS;
173
166
  attributes: {
174
- documentAri: string;
175
167
  eventStatus: EVENT_STATUS.FAILURE;
176
168
  latency?: number;
177
169
  numUnconfirmedSteps?: number;
178
- };
170
+ } & BaseActionAnalyticsEventAttributes;
179
171
  };
180
172
  type PublishPageSuccessAnalyticsEvent = {
181
173
  eventAction: EVENT_ACTION.PUBLISH_PAGE;
182
174
  attributes: {
183
- documentAri: string;
184
175
  eventStatus: EVENT_STATUS.SUCCESS;
185
176
  latency?: number;
186
- };
177
+ } & BaseActionAnalyticsEventAttributes;
187
178
  };
188
179
  type PublishPageFailureAnalyticsEvent = {
189
180
  eventAction: EVENT_ACTION.PUBLISH_PAGE;
190
181
  attributes: {
191
- documentAri: string;
192
182
  eventStatus: EVENT_STATUS.FAILURE;
193
183
  latency?: number;
194
- };
184
+ } & BaseActionAnalyticsEventAttributes;
195
185
  };
196
186
  type GetCurrentStateSuccessAnalyticsEvent = {
197
187
  eventAction: EVENT_ACTION.GET_CURRENT_STATE;
198
188
  attributes: {
199
- documentAri: string;
200
189
  eventStatus: EVENT_STATUS.SUCCESS;
201
190
  latency?: number;
202
- };
191
+ } & BaseActionAnalyticsEventAttributes;
203
192
  };
204
193
  type GetCurrentStateFailureAnalyticsEvent = {
205
194
  eventAction: EVENT_ACTION.GET_CURRENT_STATE;
206
195
  attributes: {
207
- documentAri: string;
208
196
  eventStatus: EVENT_STATUS.FAILURE;
209
197
  latency?: number;
210
- };
198
+ } & BaseActionAnalyticsEventAttributes;
211
199
  };
212
200
  type SendStepsRetryAnalyticsEvent = {
213
201
  eventAction: EVENT_ACTION.SEND_STEPS_RETRY;
214
202
  attributes: {
215
- documentAri: string;
216
203
  eventStatus: EVENT_STATUS.INFO;
217
204
  count: number;
218
- };
205
+ } & BaseActionAnalyticsEventAttributes;
219
206
  };
220
207
  type CatchupAfterMaxSendStepsRetryAnalyticsEvent = {
221
208
  eventAction: EVENT_ACTION.CATCHUP_AFTER_MAX_SEND_STEPS_RETRY;
222
209
  attributes: {
223
- documentAri: string;
224
210
  eventStatus: EVENT_STATUS.INFO;
225
- };
211
+ } & BaseActionAnalyticsEventAttributes;
226
212
  };
227
213
  type WebsocketMessageVolumeMetricEvent = {
228
214
  eventAction: EVENT_ACTION.WEBSOCKET_MESSAGE_VOLUME_METRIC;
229
215
  attributes: {
230
- documentAri?: string;
231
216
  eventStatus: EVENT_STATUS.INFO;
232
217
  messageCount: number;
233
218
  messageSize: number;
234
- };
219
+ } & BaseActionAnalyticsEventAttributes;
235
220
  };
236
221
  type ProviderInitializedAnalyticsEvent = {
237
222
  eventAction: EVENT_ACTION.PROVIDER_INITIALIZED;
238
223
  attributes: {
239
- documentAri?: string;
240
224
  eventStatus: EVENT_STATUS.INFO;
241
225
  isPreinitializing: boolean;
242
226
  isBuffered?: boolean;
243
- };
227
+ } & BaseActionAnalyticsEventAttributes;
244
228
  };
245
229
  type ProviderSetupAnalyticsEvent = {
246
230
  eventAction: EVENT_ACTION.PROVIDER_SETUP;
247
231
  attributes: {
248
- documentAri?: string;
249
232
  eventStatus: EVENT_STATUS.INFO;
250
233
  isPreinitializing: boolean;
251
234
  hasState: boolean;
252
- };
235
+ } & BaseActionAnalyticsEventAttributes;
253
236
  };
254
237
  type ProviderHasUnconfirmedStepsAnalyticsEvent = {
255
238
  eventAction: EVENT_ACTION.HAS_UNCONFIRMED_STEPS;
256
239
  attributes: {
257
240
  numUnconfirmedSteps: number;
258
- };
241
+ } & BaseActionAnalyticsEventAttributes;
259
242
  };
260
243
  type UpdateDocumentAnalyticsEvent = {
261
244
  eventAction: EVENT_ACTION.UPDATE_DOCUMENT;
@@ -266,7 +249,7 @@ type UpdateDocumentAnalyticsEvent = {
266
249
  isDocTruthy: boolean;
267
250
  docHasContent: boolean;
268
251
  isDocContentValid: boolean;
269
- };
252
+ } & BaseActionAnalyticsEventAttributes;
270
253
  };
271
254
  export type ActionAnalyticsEvent = AddStepsSuccessAnalyticsEvent | AddStepsFailureAnalyticsEvent | ReInitDocFailAnalyticsEvent | ReInitDocSuccessAnalyticsEvent | ConnectionSuccessAnalyticsEvent | ConnectionFailureAnalyticsEvent | CatchUpSuccessAnalyticsEvent | CatchUpFailureAnalyticsEvent | DocumentInitSuccessAnalyticsEvent | UpdateParticipantsSuccessAnalyticsEvent | CommitUnconfirmedStepsSuccessAnalyticsEvent | CommitUnconfirmedStepsFailureAnalyticsEvent | PublishPageSuccessAnalyticsEvent | PublishPageFailureAnalyticsEvent | GetCurrentStateSuccessAnalyticsEvent | GetCurrentStateFailureAnalyticsEvent | InvalidateTokenAnalyticsEvent | SendStepsRetryAnalyticsEvent | CatchupAfterMaxSendStepsRetryAnalyticsEvent | CatchUpDroppedStepsEvent | WebsocketMessageVolumeMetricEvent | ProviderInitializedAnalyticsEvent | ProviderSetupAnalyticsEvent | ProviderHasUnconfirmedStepsAnalyticsEvent | UpdateDocumentAnalyticsEvent;
272
255
  export declare const ACK_MAX_TRY = 60;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@atlaskit/collab-provider",
3
- "version": "9.37.6",
3
+ "version": "9.37.7",
4
4
  "description": "A provider for collaborative editing.",
5
5
  "publishConfig": {
6
6
  "registry": "https://registry.npmjs.org/"
@@ -34,7 +34,7 @@
34
34
  "dependencies": {
35
35
  "@atlaskit/analytics-gas-types": "^5.1.0",
36
36
  "@atlaskit/analytics-listeners": "^8.11.0",
37
- "@atlaskit/editor-common": "^88.8.0",
37
+ "@atlaskit/editor-common": "^88.9.0",
38
38
  "@atlaskit/editor-json-transformer": "^8.18.0",
39
39
  "@atlaskit/editor-prosemirror": "5.0.1",
40
40
  "@atlaskit/platform-feature-flags": "^0.3.0",
@@ -69,9 +69,6 @@
69
69
  "platform-feature-flags": {
70
70
  "platform.editor.live-pages-expand-divergence": {
71
71
  "type": "boolean"
72
- },
73
- "platform.editor.ncs.log-error-stacks": {
74
- "type": "boolean"
75
72
  }
76
73
  }
77
74
  }