@wireapp/core 46.43.0 → 46.45.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/lib/Account.d.ts CHANGED
@@ -335,7 +335,7 @@ export declare class Account extends TypedEventEmitter<Events> {
335
335
  private readonly initEngine;
336
336
  private readonly groupIdFromConversationId;
337
337
  isMLSActiveForClient: () => Promise<boolean>;
338
- private isMLSConversationRecoveryEnabled;
338
+ private readonly isMLSConversationRecoveryEnabled;
339
339
  }
340
340
  export {};
341
341
  //# sourceMappingURL=Account.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Account.d.ts","sourceRoot":"","sources":["../src/Account.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Account.d.ts","sourceRoot":"","sources":["../src/Account.ts"],"names":[],"mappings":"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"}
package/lib/Account.js CHANGED
@@ -897,7 +897,7 @@ class Account extends commons_1.TypedEventEmitter {
897
897
  }
898
898
  // Check if MLS is enabled for the public via backend feature flag
899
899
  const commonConfig = (await this.service?.team.getCommonFeatureConfig()) ?? {};
900
- return commonConfig[team_1.FEATURE_KEY.MLS]?.status === team_1.FeatureStatus.ENABLED;
900
+ return commonConfig[team_1.FEATURE_KEY.MLS]?.status === team_1.FEATURE_STATUS.ENABLED;
901
901
  };
902
902
  isMLSConversationRecoveryEnabled = async () => {
903
903
  const commonConfig = (await this.service?.team.getCommonFeatureConfig()) ?? {};
@@ -1 +1 @@
1
- {"version":3,"file":"ConversationService.d.ts","sourceRoot":"","sources":["../../../src/conversation/ConversationService/ConversationService.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ConversationService.d.ts","sourceRoot":"","sources":["../../../src/conversation/ConversationService/ConversationService.ts"],"names":[],"mappings":"AAmBA,OAAO,EACL,YAAY,EACZ,2BAA2B,EAC3B,WAAW,EACX,eAAe,EACf,oBAAoB,EACpB,mBAAmB,EACnB,eAAe,EACf,kBAAkB,EAKnB,MAAM,sCAAsC,CAAC;AAE9C,OAAO,EACL,YAAY,EAIZ,4BAA4B,EAE7B,MAAM,+BAA+B,CAAC;AAEvC,OAAO,EAAC,WAAW,EAAC,MAAM,8BAA8B,CAAC;AACzD,OAAO,EAAC,GAAG,EAAC,MAAM,oCAAoC,CAAC;AAGvD,OAAO,EAAC,SAAS,EAAC,MAAM,qBAAqB,CAAC;AAC9C,OAAO,EAAa,iBAAiB,EAAC,MAAM,kBAAkB,CAAC;AAY/D,OAAO,EACL,cAAc,EACd,8BAA8B,EAE9B,oBAAoB,EACpB,UAAU,EACX,MAAM,6BAA6B,CAAC;AAErC,OAAO,EAAC,YAAY,EAAuB,iBAAiB,EAAC,MAAM,qBAAqB,CAAC;AACzF,OAAO,EAAC,UAAU,EAAE,gBAAgB,EAAC,MAAM,8BAA8B,CAAC;AAS1E,OAAO,EAAkC,cAAc,EAAC,MAAM,kCAAkC,CAAC;AACjG,OAAO,EACL,mCAAmC,EACnC,wBAAwB,EACzB,MAAM,sEAAsE,CAAC;AAC9E,OAAO,EAAsB,kBAAkB,EAAC,MAAM,oBAAoB,CAAC;AAC3E,OAAO,EAAC,YAAY,EAAC,MAAM,sBAAsB,CAAC;AAIlD,OAAO,EAAC,sBAAsB,EAAC,MAAM,kDAAkD,CAAC;AAExF,KAAK,MAAM,GAAG;IACZ,wBAAwB,EAAE;QAAC,cAAc,EAAE,WAAW,CAAA;KAAC,CAAC;IACxD,CAAC,gBAAgB,CAAC,qBAAqB,CAAC,EAAE;QAAC,MAAM,EAAE,GAAG,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAC,CAAC;CACvE,CAAC;AAEF,qBAAa,mBAAoB,SAAQ,iBAAiB,CAAC,MAAM,CAAC;IAQ9D,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,cAAc;IAC/B,OAAO,CAAC,QAAQ,CAAC,YAAY;IAC7B,OAAO,CAAC,QAAQ,CAAC,yBAAyB;IAI1C,OAAO,CAAC,QAAQ,CAAC,sBAAsB;IACvC,OAAO,CAAC,QAAQ,CAAC,gCAAgC;IACjD,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC;IAhB/B,SAAgB,YAAY,EAAE,YAAY,CAAC;IAC3C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA6D;IAEpF,OAAO,CAAC,QAAQ,CAAC,2BAA2B,CAA0B;IACtE,OAAO,CAAC,sBAAsB,CAAwC;gBAGnD,SAAS,EAAE,SAAS,EACpB,cAAc,EAAE,cAAc,EAC9B,YAAY,EAAE,YAAY,EAC1B,yBAAyB,EAAE,CAC1C,cAAc,EAAE,WAAW,EAC3B,iBAAiB,CAAC,EAAE,kBAAkB,KACnC,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,EACf,sBAAsB,EAAE,sBAAsB,EAC9C,gCAAgC,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,EACxD,WAAW,CAAC,EAAE,UAAU,YAAA;IAgB3C,IAAI,UAAU,IAAI,UAAU,CAK3B;IAED;;;;;OAKG;IACU,2BAA2B,CAAC,cAAc,EAAE,WAAW,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAkBpG;;;;;;;;;;OAUG;IACU,yBAAyB,CAAC,gBAAgB,EAAE,eAAe;IAI3D,eAAe,CAAC,cAAc,EAAE,WAAW,GAAG,OAAO,CAAC,YAAY,CAAC;IAInE,sBAAsB,IAAI,OAAO,CAAC,eAAe,CAAC;IAIlD,gBAAgB,CAAC,eAAe,CAAC,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAQ/E,6BAA6B,CAAC,MAAM,EAAE,mCAAmC;IAIzE,0BAA0B,CACrC,cAAc,EAAE,WAAW,EAC3B,MAAM,EAAE,WAAW,GAClB,OAAO,CAAC,4BAA4B,CAAC;IAIxC;;;OAGG;IACU,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,oBAAoB,EAAE,wBAAwB,CAAC,GAAG,OAAO,CAAC,UAAU,CAAC;IAO5F,eAAe,CAAC,cAAc,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IAI3D,cAAc,CAAC,cAAc,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IAIjE;;;;OAIG;IACH,SAAgB,qBAAqB,mBAA0B,WAAW,KAAG,OAAO,CAAC,IAAI,CAAC,CAExF;IAEF;;;OAGG;IACH,SAAgB,+BAA+B,mBAA0B,WAAW,KAAG,OAAO,CAAC,IAAI,CAAC,CAElG;IAEF;;OAEG;IACH,gBAAgB,IAAI,OAAO;IAIpB,0BAA0B,CAC/B,cAAc,EAAE,WAAW,EAC3B,MAAM,EAAE,WAAW,EACnB,aAAa,EAAE,MAAM,GAAG,IAAI,GAC3B,OAAO,CAAC,IAAI,CAAC;IAaT,yBAAyB,CAC9B,cAAc,EAAE,WAAW,EAC3B,QAAQ,EAAE,OAAO,EACjB,gBAAgB,GAAE,MAAM,GAAG,IAAiB,GAC3C,OAAO,CAAC,IAAI,CAAC;IAaT,yBAAyB,CAC9B,cAAc,EAAE,WAAW,EAC3B,MAAM,EAAE,WAAW,EACnB,gBAAgB,EAAE,2BAA2B,GAAG,MAAM,GACrD,OAAO,CAAC,IAAI,CAAC;IAMhB;;;;OAIG;IAEH;;;OAGG;IACU,qBAAqB,CAChC,gBAAgB,EAAE,eAAe,EACjC,UAAU,EAAE,WAAW,EACvB,YAAY,EAAE,MAAM,GACnB,OAAO,CAAC,8BAA8B,CAAC;IAuB1C;;;;;;;;;OASG;YACW,2BAA2B;IA2BzC;;;OAGG;IACU,6BAA6B,CACxC,OAAO,EAAE,MAAM,EACf,YAAY,EAAE,WAAW,EAAE,EAC3B,UAAU,EAAE,WAAW,EACvB,YAAY,EAAE,MAAM,EACpB,uBAAuB,EAAE,WAAW,GACnC,OAAO,CAAC,8BAA8B,CAAC;YAiB5B,cAAc;IAyG5B;;;;;;OAMG;IACU,yBAAyB,CAAC,EACrC,cAAc,EACd,OAAO,EACP,cAAc,EACd,WAAkB,GACnB,EAAE,QAAQ,CAAC,cAAc,CAAC,GAAG;QAAC,WAAW,CAAC,EAAE,OAAO,CAAA;KAAC,GAAG,OAAO,CAAC,8BAA8B,CAAC;IA6ElF,8BAA8B,CAAC,EAC1C,OAAO,EACP,cAAc,EACd,gBAAgB,EAChB,WAAkB,GACnB,EAAE,iBAAiB,GAAG;QAAC,WAAW,CAAC,EAAE,OAAO,CAAA;KAAC,GAAG,OAAO,CAAC,YAAY,CAAC;IA0EzD,oBAAoB,CAAC,cAAc,EAAE,WAAW,EAAE,WAAW,UAAO,GAAG,OAAO,CAAC,IAAI,CAAC;YA6BnF,6BAA6B;YAU7B,wBAAwB;IAOtC,OAAO,CAAC,+BAA+B,CAyDrC;YAEY,oBAAoB;IAiElC;;;OAGG;IACU,qBAAqB,CAAC,OAAO,EAAE,MAAM;IAIlD;;;;OAIG;IACU,4BAA4B,CAAC,OAAO,EAAE,MAAM;IAI5C,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;YAIlD,YAAY;IAYb,gCAAgC;IAe7C;;;OAGG;YACW,kCAAkC;IA2BhD;;;OAGG;YACW,+BAA+B;IAqB7C;;;;;;;OAOG;YACW,gBAAgB;IAc9B;;;OAGG;IACG,sBAAsB,CAAC,MAAM,EAAE,WAAW;IAShD;;;;;;;OAOG;IACH,SAAgB,4BAA4B,YACjC,MAAM,YACL;QAAC,IAAI,EAAE,WAAW,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAC,eAChC,WAAW,4BAEvB,OAAO,CAAC,eAAe,CAAC,CAwDzB;IAEF;;;;;;;;OAQG;IACU,uBAAuB,CAAC,EACnC,OAAO,EACP,cAAc,EACd,UAAU,EACV,cAAc,GACf,EAAE;QACD,OAAO,EAAE,MAAM,CAAC;QAChB,cAAc,EAAE,WAAW,CAAC;QAC5B,UAAU,EAAE,WAAW,CAAC;QACxB,cAAc,EAAE,WAAW,EAAE,CAAC;KAC/B,GAAG,OAAO,CAAC,IAAI,CAAC;YAkCH,wBAAwB;YAsBxB,gCAAgC;YA0BhC,4BAA4B;IA2B1C,OAAO,CAAC,2BAA2B;IAmBnC;;;OAGG;YACW,uCAAuC;YA4BvC,wBAAwB;YAIxB,yBAAyB;IAKvC;;;;OAIG;IACU,WAAW,CAAC,KAAK,EAAE,YAAY,GAAG,OAAO,CAAC,kBAAkB,CAAC;CAoB3E"}
@@ -22,6 +22,7 @@ exports.ConversationService = void 0;
22
22
  const conversation_1 = require("@wireapp/api-client/lib/conversation");
23
23
  const data_1 = require("@wireapp/api-client/lib/conversation/data");
24
24
  const event_1 = require("@wireapp/api-client/lib/event");
25
+ const team_1 = require("@wireapp/api-client/lib/team");
25
26
  const bazinga64_1 = require("bazinga64");
26
27
  const commons_1 = require("@wireapp/commons");
27
28
  const core_crypto_1 = require("@wireapp/core-crypto");
@@ -131,7 +132,7 @@ class ConversationService extends commons_1.TypedEventEmitter {
131
132
  */
132
133
  async send(params) {
133
134
  function isMLS(params) {
134
- return params.protocol === conversation_1.ConversationProtocol.MLS;
135
+ return params.protocol === team_1.CONVERSATION_PROTOCOL.MLS;
135
136
  }
136
137
  return (0, messageSender_1.sendMessage)(() => (isMLS(params) ? this.sendMLSMessage(params) : this.proteusService.sendMessage(params)));
137
138
  }
@@ -363,6 +364,19 @@ class ConversationService extends commons_1.TypedEventEmitter {
363
364
  this.logger.warn("Tried to add users to MLS conversation but it's broken, resetting the conversation", error);
364
365
  return this.handleBrokenMLSConversation(conversationId, newGroupId => this.addUsersToMLSConversation({ qualifiedUsers, groupId: newGroupId, conversationId, shouldRetry: false }));
365
366
  }
367
+ if ((0, CoreCryptoMLSError_1.isMLSStaleMessageError)(error)) {
368
+ this.logger.info('Failed to add users to MLS conversation because of stale message, recovering by joining with external commit', {
369
+ error,
370
+ groupId,
371
+ });
372
+ await this.recoverMLSGroupFromEpochMismatch(conversationId);
373
+ return this.addUsersToMLSConversation({
374
+ groupId,
375
+ conversationId,
376
+ qualifiedUsers,
377
+ shouldRetry: false,
378
+ });
379
+ }
366
380
  if ((0, CoreCryptoMLSError_1.isMLSGroupOutOfSyncError)(error)) {
367
381
  this.logger.info('Failed to send MLS message because of group out of sync, recovering by adding missing users', {
368
382
  error,
@@ -402,6 +416,13 @@ class ConversationService extends commons_1.TypedEventEmitter {
402
416
  shouldRetry: false,
403
417
  }));
404
418
  }
419
+ if ((0, CoreCryptoMLSError_1.isMLSStaleMessageError)(error)) {
420
+ this.logger.info('Failed to remove users from MLS conversation because of stale message, recovering by joining with external commit', {
421
+ error,
422
+ groupId,
423
+ });
424
+ await this.recoverMLSGroupFromEpochMismatch(conversationId);
425
+ }
405
426
  if ((0, CoreCryptoMLSError_1.isMLSGroupOutOfSyncError)(error)) {
406
427
  this.logger.info('Failed to send MLS message because of group out of sync, recovering by adding missing users', {
407
428
  error,
@@ -413,14 +434,13 @@ class ConversationService extends commons_1.TypedEventEmitter {
413
434
  conversationId,
414
435
  qualifiedUsers: missingUsers,
415
436
  });
416
- return this.removeUsersFromMLSConversation({
417
- groupId,
418
- conversationId,
419
- qualifiedUserIds,
420
- shouldRetry: false,
421
- });
422
437
  }
423
- throw error;
438
+ return this.removeUsersFromMLSConversation({
439
+ groupId,
440
+ conversationId,
441
+ qualifiedUserIds,
442
+ shouldRetry: false,
443
+ });
424
444
  }
425
445
  }
426
446
  async joinByExternalCommit(conversationId, shouldRetry = true) {
@@ -437,6 +457,11 @@ class ConversationService extends commons_1.TypedEventEmitter {
437
457
  this.logger.info('Resetting MLS conversation due to broken mls conversation error', error);
438
458
  return this.handleBrokenMLSConversation(conversationId);
439
459
  }
460
+ if ((0, CoreCryptoMLSError_1.isMLSStaleMessageError)(error)) {
461
+ this.logger.info('Failed to join MLS conversation with external commit because of stale message, recovering by joining with external commit', { error, conversationId });
462
+ await this.recoverMLSGroupFromEpochMismatch(conversationId);
463
+ return;
464
+ }
440
465
  throw error;
441
466
  }
442
467
  }
@@ -473,6 +498,13 @@ class ConversationService extends commons_1.TypedEventEmitter {
473
498
  this.logger.info('Tried to update key material for a broken MLS conversation, initiating reset', error);
474
499
  return this.handleBrokenMLSConversation(conversation.qualified_id);
475
500
  }
501
+ if ((0, CoreCryptoMLSError_1.isMLSStaleMessageError)(error)) {
502
+ this.logger.info('Tried to update key material for a stale MLS conversation, recovering by joining with external commit', {
503
+ error,
504
+ groupId,
505
+ });
506
+ await this.recoverMLSGroupFromEpochMismatch(conversation.qualified_id);
507
+ }
476
508
  if ((0, CoreCryptoMLSError_1.isMLSGroupOutOfSyncError)(error)) {
477
509
  this.logger.info('Tried to update key material for an out of sync conversation, recovering by adding missing users', {
478
510
  error,
@@ -45,6 +45,7 @@ const client_1 = require("@wireapp/api-client/lib/client");
45
45
  const conversation_1 = require("@wireapp/api-client/lib/conversation");
46
46
  const event_1 = require("@wireapp/api-client/lib/event");
47
47
  const http_1 = require("@wireapp/api-client/lib/http");
48
+ const team_1 = require("@wireapp/api-client/lib/team");
48
49
  const http_status_codes_1 = require("http-status-codes");
49
50
  const api_client_1 = require("@wireapp/api-client");
50
51
  const core_crypto_1 = require("@wireapp/core-crypto");
@@ -108,7 +109,7 @@ describe('ConversationService', () => {
108
109
  }));
109
110
  jest
110
111
  .spyOn(client.api.user, 'getUserSupportedProtocols')
111
- .mockReturnValue(Promise.resolve([conversation_1.ConversationProtocol.MLS, conversation_1.ConversationProtocol.PROTEUS]));
112
+ .mockReturnValue(Promise.resolve([team_1.CONVERSATION_PROTOCOL.MLS, team_1.CONVERSATION_PROTOCOL.PROTEUS]));
112
113
  client.context = {
113
114
  clientType: client_1.ClientType.NONE,
114
115
  userId: PayloadHelper.getUUID(),
@@ -130,6 +131,7 @@ describe('ConversationService', () => {
130
131
  getClientIdsInGroup: jest.fn(),
131
132
  getKeyPackagesPayload: jest.fn(),
132
133
  addUsersToExistingConversation: jest.fn(),
134
+ removeClientsFromConversation: jest.fn(),
133
135
  resetKeyMaterialRenewal: jest.fn(),
134
136
  handleMLSWelcomeMessageEvent: jest.fn(),
135
137
  };
@@ -161,7 +163,7 @@ describe('ConversationService', () => {
161
163
  const sentTime = new Date().toISOString();
162
164
  mockedProteusService.sendMessage = jest.fn().mockResolvedValue({ sentAt: sentTime });
163
165
  const promise = conversationService.send({
164
- protocol: conversation_1.ConversationProtocol.PROTEUS,
166
+ protocol: team_1.CONVERSATION_PROTOCOL.PROTEUS,
165
167
  conversationId: { id: 'conv1', domain: '' },
166
168
  payload: message,
167
169
  });
@@ -170,6 +172,80 @@ describe('ConversationService', () => {
170
172
  });
171
173
  });
172
174
  });
175
+ describe('removeUsersFromMLSConversation', () => {
176
+ it('recovers and retries when stale-message occurs during remove users commit upload', async () => {
177
+ const [conversationService, { apiClient, mlsService }] = await buildConversationService();
178
+ const mockGroupId = 'groupId-stale-remove';
179
+ const mockConversationId = { id: PayloadHelper.getUUID(), domain: 'staging.zinfra.io' };
180
+ const qualifiedUserIds = [
181
+ { id: 'test-id-1', domain: 'test-domain' },
182
+ { id: 'test-id-2', domain: 'test-domain' },
183
+ ];
184
+ const staleMessageError = {
185
+ type: core_crypto_1.ErrorType.Mls,
186
+ context: {
187
+ type: core_crypto_1.MlsErrorType.MessageRejected,
188
+ context: {
189
+ reason: (0, CoreCryptoMLSError_1.serializeAbortReason)({ message: CoreCryptoMLSError_1.UPLOAD_COMMIT_BUNDLE_ABORT_REASONS.MLS_STALE_MESSAGE }),
190
+ },
191
+ },
192
+ };
193
+ // First removal attempt fails with stale, second succeeds
194
+ jest
195
+ .spyOn(mlsService, 'removeClientsFromConversation')
196
+ .mockRejectedValueOnce(staleMessageError)
197
+ .mockResolvedValueOnce(undefined);
198
+ const remoteEpoch = 6;
199
+ const localEpoch = 5;
200
+ jest.spyOn(mlsService, 'conversationExists').mockResolvedValueOnce(true);
201
+ jest.spyOn(mlsService, 'getEpoch').mockResolvedValueOnce(localEpoch);
202
+ jest.spyOn(apiClient.api.conversation, 'getConversation').mockResolvedValue({
203
+ qualified_id: mockConversationId,
204
+ protocol: team_1.CONVERSATION_PROTOCOL.MLS,
205
+ epoch: remoteEpoch,
206
+ group_id: mockGroupId,
207
+ });
208
+ await conversationService.removeUsersFromMLSConversation({
209
+ groupId: mockGroupId,
210
+ conversationId: mockConversationId,
211
+ qualifiedUserIds,
212
+ });
213
+ expect(conversationService.joinByExternalCommit).toHaveBeenCalledWith(mockConversationId);
214
+ expect(mlsService.removeClientsFromConversation).toHaveBeenCalledTimes(2);
215
+ expect(mlsService.resetKeyMaterialRenewal).toHaveBeenCalledWith(mockGroupId);
216
+ });
217
+ });
218
+ describe('joinByExternalCommit', () => {
219
+ it('retries join when stale-message occurs during external commit join', async () => {
220
+ const [conversationService, { apiClient, mlsService }] = await buildConversationService();
221
+ const conversationId = { id: 'conv-join-stale', domain: 'staging.zinfra.io' };
222
+ const staleMessageError = {
223
+ type: core_crypto_1.ErrorType.Mls,
224
+ context: {
225
+ type: core_crypto_1.MlsErrorType.MessageRejected,
226
+ context: {
227
+ reason: (0, CoreCryptoMLSError_1.serializeAbortReason)({ message: CoreCryptoMLSError_1.UPLOAD_COMMIT_BUNDLE_ABORT_REASONS.MLS_STALE_MESSAGE }),
228
+ },
229
+ },
230
+ };
231
+ jest
232
+ .spyOn(mlsService, 'joinByExternalCommit')
233
+ .mockRejectedValueOnce(staleMessageError)
234
+ .mockResolvedValueOnce(undefined);
235
+ const remoteEpoch = 10;
236
+ const localEpoch = 9;
237
+ jest.spyOn(mlsService, 'conversationExists').mockResolvedValueOnce(true);
238
+ jest.spyOn(mlsService, 'getEpoch').mockResolvedValueOnce(localEpoch);
239
+ jest.spyOn(apiClient.api.conversation, 'getConversation').mockResolvedValueOnce({
240
+ qualified_id: conversationId,
241
+ protocol: team_1.CONVERSATION_PROTOCOL.MLS,
242
+ epoch: remoteEpoch,
243
+ group_id: 'gid-join-stale',
244
+ });
245
+ await conversationService.joinByExternalCommit(conversationId);
246
+ expect(mlsService.joinByExternalCommit).toHaveBeenCalledTimes(2);
247
+ });
248
+ });
173
249
  describe('"send MLS"', () => {
174
250
  const groupId = PayloadHelper.getUUID();
175
251
  const messages = [
@@ -185,7 +261,7 @@ describe('ConversationService', () => {
185
261
  it(`calls callbacks when sending '${type}' message is starting and successful`, async () => {
186
262
  const [conversationService] = await buildConversationService();
187
263
  const promise = conversationService.send({
188
- protocol: conversation_1.ConversationProtocol.MLS,
264
+ protocol: team_1.CONVERSATION_PROTOCOL.MLS,
189
265
  groupId,
190
266
  payload: message,
191
267
  conversationId: { id: '', domain: '' },
@@ -194,6 +270,43 @@ describe('ConversationService', () => {
194
270
  expect(result.state).toBe(__1.MessageSendingState.OUTGOING_SENT);
195
271
  });
196
272
  });
273
+ it('rejoins a MLS group when stale-message error occurs during commit bundle upload', async () => {
274
+ const [conversationService, { apiClient, mlsService }] = await buildConversationService();
275
+ const mockGroupId = 'AAEAAH87aajaQ011i+rNLmwpy0sAZGl5YS53aXJlamxpbms=';
276
+ const mockConversationId = { id: 'mockConversationId', domain: 'staging.zinfra.io' };
277
+ const mockedMessage = MessageBuilder.buildTextMessage({ text: 'test' });
278
+ const staleMessageError = new conversation_1.MLSStaleMessageError('', http_1.BackendErrorLabel.MLS_STALE_MESSAGE, http_status_codes_1.StatusCodes.CONFLICT);
279
+ // First attempt to upload commit bundle fails with stale-message, second attempt succeeds
280
+ jest
281
+ .spyOn(mlsService, 'commitPendingProposals')
282
+ .mockRejectedValueOnce(staleMessageError)
283
+ .mockResolvedValueOnce(undefined);
284
+ const remoteEpoch = 5;
285
+ const localEpoch = 4;
286
+ jest.spyOn(mlsService, 'conversationExists').mockResolvedValueOnce(true);
287
+ jest.spyOn(mlsService, 'getEpoch').mockResolvedValueOnce(localEpoch);
288
+ jest.spyOn(apiClient.api.conversation, 'getConversation').mockResolvedValueOnce({
289
+ qualified_id: mockConversationId,
290
+ protocol: team_1.CONVERSATION_PROTOCOL.MLS,
291
+ epoch: remoteEpoch,
292
+ group_id: mockGroupId,
293
+ });
294
+ await conversationService.send({
295
+ protocol: team_1.CONVERSATION_PROTOCOL.MLS,
296
+ groupId: mockGroupId,
297
+ payload: mockedMessage,
298
+ conversationId: mockConversationId,
299
+ });
300
+ // Recovery via external commit should have been triggered
301
+ expect(conversationService.joinByExternalCommit).toHaveBeenCalledWith(mockConversationId);
302
+ expect(conversationService.emit).toHaveBeenCalledWith('MLSConversationRecovered', {
303
+ conversationId: mockConversationId,
304
+ });
305
+ // Because the failure happened before posting the message, postMlsMessage should be called only once (after recovery)
306
+ expect(apiClient.api.conversation.postMlsMessage).toHaveBeenCalledTimes(1);
307
+ // commitPendingProposals is called twice: first fails, second succeeds
308
+ expect(mlsService.commitPendingProposals).toHaveBeenCalledTimes(2);
309
+ });
197
310
  it('rejoins a MLS group when failed encrypting MLS message', async () => {
198
311
  const [conversationService, { apiClient, mlsService }] = await buildConversationService();
199
312
  const mockGroupId = 'AAEAAH87aajaQ011i+rNLmwpy0sAZGl5YS53aXJlamxpbms=';
@@ -207,12 +320,12 @@ describe('ConversationService', () => {
207
320
  jest.spyOn(mlsService, 'getEpoch').mockResolvedValueOnce(localEpoch);
208
321
  jest.spyOn(apiClient.api.conversation, 'getConversation').mockResolvedValueOnce({
209
322
  qualified_id: mockConversationId,
210
- protocol: conversation_1.ConversationProtocol.MLS,
323
+ protocol: team_1.CONVERSATION_PROTOCOL.MLS,
211
324
  epoch: remoteEpoch,
212
325
  group_id: mockGroupId,
213
326
  });
214
327
  await conversationService.send({
215
- protocol: conversation_1.ConversationProtocol.MLS,
328
+ protocol: team_1.CONVERSATION_PROTOCOL.MLS,
216
329
  groupId: mockGroupId,
217
330
  payload: mockedMessage,
218
331
  conversationId: mockConversationId,
@@ -239,7 +352,7 @@ describe('ConversationService', () => {
239
352
  .spyOn(conversationService, 'addUsersToMLSConversation')
240
353
  .mockResolvedValueOnce({ conversation: { members: { others: [] } } });
241
354
  await conversationService.send({
242
- protocol: conversation_1.ConversationProtocol.MLS,
355
+ protocol: team_1.CONVERSATION_PROTOCOL.MLS,
243
356
  groupId: mockGroupId,
244
357
  payload: mockedMessage,
245
358
  conversationId: mockConversationId,
@@ -260,7 +373,7 @@ describe('ConversationService', () => {
260
373
  return {
261
374
  group_id: 'group-id',
262
375
  qualified_id: { id: conversationId || 'conversation-id', domain: 'staging.zinfra.io' },
263
- protocol: conversation_1.ConversationProtocol.MLS,
376
+ protocol: team_1.CONVERSATION_PROTOCOL.MLS,
264
377
  epoch,
265
378
  };
266
379
  };
@@ -310,7 +423,7 @@ describe('ConversationService', () => {
310
423
  const remoteEpoch = 1;
311
424
  jest.spyOn(apiClient.api.conversation, 'getMLS1to1Conversation').mockResolvedValueOnce({
312
425
  qualified_id: mockConversationId,
313
- protocol: conversation_1.ConversationProtocol.MLS,
426
+ protocol: team_1.CONVERSATION_PROTOCOL.MLS,
314
427
  epoch: remoteEpoch,
315
428
  group_id: mockGroupId,
316
429
  });
@@ -329,14 +442,14 @@ describe('ConversationService', () => {
329
442
  const updatedEpoch = 2;
330
443
  jest.spyOn(apiClient.api.conversation, 'getMLS1to1Conversation').mockResolvedValueOnce({
331
444
  qualified_id: mockConversationId,
332
- protocol: conversation_1.ConversationProtocol.MLS,
445
+ protocol: team_1.CONVERSATION_PROTOCOL.MLS,
333
446
  epoch: remoteEpoch,
334
447
  group_id: mockGroupId,
335
448
  });
336
449
  // The 2nd request we make after joining the conversation with external commit
337
450
  jest.spyOn(apiClient.api.conversation, 'getMLS1to1Conversation').mockResolvedValueOnce({
338
451
  qualified_id: mockConversationId,
339
- protocol: conversation_1.ConversationProtocol.MLS,
452
+ protocol: team_1.CONVERSATION_PROTOCOL.MLS,
340
453
  epoch: updatedEpoch,
341
454
  group_id: mockGroupId,
342
455
  });
@@ -357,14 +470,14 @@ describe('ConversationService', () => {
357
470
  const updatedEpoch = 1;
358
471
  jest.spyOn(apiClient.api.conversation, 'getMLS1to1Conversation').mockResolvedValueOnce({
359
472
  qualified_id: mockConversationId,
360
- protocol: conversation_1.ConversationProtocol.MLS,
473
+ protocol: team_1.CONVERSATION_PROTOCOL.MLS,
361
474
  epoch: remoteEpoch,
362
475
  group_id: mockGroupId,
363
476
  });
364
477
  // The 2nd request we make after successfully registering a group
365
478
  jest.spyOn(apiClient.api.conversation, 'getMLS1to1Conversation').mockResolvedValueOnce({
366
479
  qualified_id: mockConversationId,
367
- protocol: conversation_1.ConversationProtocol.MLS,
480
+ protocol: team_1.CONVERSATION_PROTOCOL.MLS,
368
481
  epoch: updatedEpoch,
369
482
  group_id: mockGroupId,
370
483
  });
@@ -386,21 +499,21 @@ describe('ConversationService', () => {
386
499
  const updatedEpoch = 1;
387
500
  jest.spyOn(apiClient.api.conversation, 'getMLS1to1Conversation').mockResolvedValueOnce({
388
501
  qualified_id: mockConversationId,
389
- protocol: conversation_1.ConversationProtocol.MLS,
502
+ protocol: team_1.CONVERSATION_PROTOCOL.MLS,
390
503
  epoch: remoteEpoch,
391
504
  group_id: mockGroupId,
392
505
  });
393
506
  // The 2nd request we make when retrying to register the conversation
394
507
  jest.spyOn(apiClient.api.conversation, 'getMLS1to1Conversation').mockResolvedValueOnce({
395
508
  qualified_id: mockConversationId,
396
- protocol: conversation_1.ConversationProtocol.MLS,
509
+ protocol: team_1.CONVERSATION_PROTOCOL.MLS,
397
510
  epoch: remoteEpoch,
398
511
  group_id: mockGroupId,
399
512
  });
400
513
  // The 3rd request we make after successfully registering a group
401
514
  jest.spyOn(apiClient.api.conversation, 'getMLS1to1Conversation').mockResolvedValueOnce({
402
515
  qualified_id: mockConversationId,
403
- protocol: conversation_1.ConversationProtocol.MLS,
516
+ protocol: team_1.CONVERSATION_PROTOCOL.MLS,
404
517
  epoch: updatedEpoch,
405
518
  group_id: mockGroupId,
406
519
  });
@@ -429,7 +542,7 @@ describe('ConversationService', () => {
429
542
  jest.spyOn(mlsService, 'getEpoch').mockResolvedValueOnce(localEpoch);
430
543
  jest.spyOn(apiClient.api.conversation, 'getConversation').mockResolvedValueOnce({
431
544
  qualified_id: conversationId,
432
- protocol: conversation_1.ConversationProtocol.MLS,
545
+ protocol: team_1.CONVERSATION_PROTOCOL.MLS,
433
546
  epoch: remoteEpoch,
434
547
  group_id: mockGroupId,
435
548
  });
@@ -473,7 +586,7 @@ describe('ConversationService', () => {
473
586
  jest.spyOn(mlsService, 'handleMLSWelcomeMessageEvent').mockRejectedValueOnce(orphanWelcomeMessageError);
474
587
  jest.spyOn(apiClient.api.conversation, 'getConversation').mockResolvedValueOnce({
475
588
  qualified_id: conversationId,
476
- protocol: conversation_1.ConversationProtocol.MLS,
589
+ protocol: team_1.CONVERSATION_PROTOCOL.MLS,
477
590
  });
478
591
  await conversationService.handleEvent(mockMLSWelcomeMessageEvent);
479
592
  await new Promise(resolve => setImmediate(resolve));
@@ -549,7 +662,7 @@ describe('ConversationService', () => {
549
662
  .mockResolvedValueOnce({ keyPackages: [new Uint8Array(0)], failures: [] });
550
663
  jest.spyOn(apiClient.api.conversation, 'getConversation').mockResolvedValueOnce({
551
664
  qualified_id: mockConversationId,
552
- protocol: conversation_1.ConversationProtocol.MLS,
665
+ protocol: team_1.CONVERSATION_PROTOCOL.MLS,
553
666
  epoch: 1,
554
667
  group_id: mockGroupId,
555
668
  });
@@ -577,9 +690,9 @@ describe('ConversationService', () => {
577
690
  };
578
691
  jest.spyOn(apiClient.api.user, 'getUserSupportedProtocols').mockImplementation(id => {
579
692
  if (id === otherUsersToAdd[2]) {
580
- return Promise.resolve([conversation_1.ConversationProtocol.PROTEUS]);
693
+ return Promise.resolve([team_1.CONVERSATION_PROTOCOL.PROTEUS]);
581
694
  }
582
- return Promise.resolve([conversation_1.ConversationProtocol.MLS, conversation_1.ConversationProtocol.PROTEUS]);
695
+ return Promise.resolve([team_1.CONVERSATION_PROTOCOL.MLS, team_1.CONVERSATION_PROTOCOL.PROTEUS]);
583
696
  });
584
697
  jest.spyOn(mlsService, 'getKeyPackagesPayload').mockResolvedValueOnce({
585
698
  keyPackages: [new Uint8Array(0)],
@@ -587,7 +700,7 @@ describe('ConversationService', () => {
587
700
  });
588
701
  jest.spyOn(apiClient.api.conversation, 'getConversation').mockResolvedValueOnce({
589
702
  qualified_id: mockConversationId,
590
- protocol: conversation_1.ConversationProtocol.MLS,
703
+ protocol: team_1.CONVERSATION_PROTOCOL.MLS,
591
704
  epoch: 1,
592
705
  group_id: mockGroupId,
593
706
  });
@@ -599,6 +712,52 @@ describe('ConversationService', () => {
599
712
  });
600
713
  expect(failedToAdd).toEqual([keysClaimingFailure]);
601
714
  });
715
+ it('recovers and retries when stale-message occurs during add users commit upload', async () => {
716
+ const [conversationService, { apiClient, mlsService }] = await buildConversationService();
717
+ const mockGroupId = 'groupId-stale-add';
718
+ const mockConversationId = { id: PayloadHelper.getUUID(), domain: 'local.wire.com' };
719
+ const otherUsersToAdd = Array(2)
720
+ .fill(0)
721
+ .map(() => ({ id: PayloadHelper.getUUID(), domain: 'local.wire.com' }));
722
+ const qualifiedUsers = [...otherUsersToAdd];
723
+ const staleMessageError = {
724
+ type: core_crypto_1.ErrorType.Mls,
725
+ context: {
726
+ type: core_crypto_1.MlsErrorType.MessageRejected,
727
+ context: {
728
+ reason: (0, CoreCryptoMLSError_1.serializeAbortReason)({ message: CoreCryptoMLSError_1.UPLOAD_COMMIT_BUNDLE_ABORT_REASONS.MLS_STALE_MESSAGE }),
729
+ },
730
+ },
731
+ };
732
+ const getKPSpy = jest.spyOn(mlsService, 'getKeyPackagesPayload');
733
+ getKPSpy.mockResolvedValue({
734
+ keyPackages: [new Uint8Array(0)],
735
+ failures: [],
736
+ });
737
+ // Simulate commit upload failing once with stale, then succeeding
738
+ jest
739
+ .spyOn(mlsService, 'addUsersToExistingConversation')
740
+ .mockRejectedValueOnce(staleMessageError)
741
+ .mockResolvedValueOnce(undefined);
742
+ const remoteEpoch = 5;
743
+ const localEpoch = 4;
744
+ jest.spyOn(mlsService, 'conversationExists').mockResolvedValueOnce(true);
745
+ jest.spyOn(mlsService, 'getEpoch').mockResolvedValueOnce(localEpoch);
746
+ const getConvSpy = jest.spyOn(apiClient.api.conversation, 'getConversation');
747
+ getConvSpy.mockResolvedValue({
748
+ qualified_id: mockConversationId,
749
+ protocol: team_1.CONVERSATION_PROTOCOL.MLS,
750
+ epoch: remoteEpoch,
751
+ group_id: mockGroupId,
752
+ });
753
+ await conversationService.addUsersToMLSConversation({
754
+ qualifiedUsers,
755
+ groupId: mockGroupId,
756
+ conversationId: mockConversationId,
757
+ });
758
+ expect(conversationService.joinByExternalCommit).toHaveBeenCalledWith(mockConversationId);
759
+ expect(mlsService.addUsersToExistingConversation).toHaveBeenCalledTimes(2);
760
+ });
602
761
  });
603
762
  describe('tryEstablishingMLSGroup', () => {
604
763
  it('should add all the users to a MLS group after group was established by the self client', async () => {
@@ -656,7 +815,7 @@ describe('ConversationService', () => {
656
815
  const groupId = 'group-1';
657
816
  const qualified_id = { id: 'conv-1', domain: 'staging.zinfra.io' };
658
817
  jest.spyOn(apiClient.api.conversation, 'getConversationList').mockResolvedValueOnce({
659
- found: [{ group_id: groupId, qualified_id, protocol: conversation_1.ConversationProtocol.MLS, epoch: 1 }],
818
+ found: [{ group_id: groupId, qualified_id, protocol: team_1.CONVERSATION_PROTOCOL.MLS, epoch: 1 }],
660
819
  });
661
820
  const resetSpy = jest
662
821
  .spyOn(conversationService, 'handleBrokenMLSConversation')
@@ -685,7 +844,7 @@ describe('ConversationService', () => {
685
844
  { id: 'u2', domain: 'staging.zinfra.io' },
686
845
  ];
687
846
  jest.spyOn(apiClient.api.conversation, 'getConversationList').mockResolvedValueOnce({
688
- found: [{ group_id: groupId, qualified_id, protocol: conversation_1.ConversationProtocol.MLS, epoch: 1 }],
847
+ found: [{ group_id: groupId, qualified_id, protocol: team_1.CONVERSATION_PROTOCOL.MLS, epoch: 1 }],
689
848
  });
690
849
  const addUsersSpy = jest
691
850
  .spyOn(conversationService, 'addUsersToMLSConversation')
@@ -719,7 +878,7 @@ describe('ConversationService', () => {
719
878
  const groupId = 'group-dup';
720
879
  const qualified_id = { id: 'conv-dup', domain: 'staging.zinfra.io' };
721
880
  jest.spyOn(apiClient.api.conversation, 'getConversationList').mockResolvedValue({
722
- found: [{ group_id: groupId, qualified_id, protocol: conversation_1.ConversationProtocol.MLS, epoch: 1 }],
881
+ found: [{ group_id: groupId, qualified_id, protocol: team_1.CONVERSATION_PROTOCOL.MLS, epoch: 1 }],
723
882
  });
724
883
  // Make the recovery hang until we resolve it, to simulate overlapping calls
725
884
  let resolveDeferred;
@@ -746,13 +905,45 @@ describe('ConversationService', () => {
746
905
  await Promise.allSettled([p1, p2]);
747
906
  expect(resetSpy).toHaveBeenCalledTimes(1);
748
907
  });
908
+ it('handles stale-message by rejoining via external commit and emits recovery event', async () => {
909
+ const [conversationService, { apiClient, mlsService }] = await buildConversationService();
910
+ const groupId = 'group-stale';
911
+ const qualified_id = { id: 'conv-stale', domain: 'staging.zinfra.io' };
912
+ jest.spyOn(apiClient.api.conversation, 'getConversationList').mockResolvedValueOnce({
913
+ found: [{ group_id: groupId, qualified_id, protocol: team_1.CONVERSATION_PROTOCOL.MLS, epoch: 2 }],
914
+ });
915
+ const handler = getKeyMaterialFailureHandler(mlsService);
916
+ const staleMessageError = {
917
+ type: core_crypto_1.ErrorType.Mls,
918
+ context: {
919
+ type: core_crypto_1.MlsErrorType.MessageRejected,
920
+ context: {
921
+ reason: (0, CoreCryptoMLSError_1.serializeAbortReason)({ message: CoreCryptoMLSError_1.UPLOAD_COMMIT_BUNDLE_ABORT_REASONS.MLS_STALE_MESSAGE }),
922
+ },
923
+ },
924
+ };
925
+ const remoteEpoch = 3;
926
+ const localEpoch = 2;
927
+ jest.spyOn(mlsService, 'conversationExists').mockResolvedValueOnce(true);
928
+ jest.spyOn(mlsService, 'getEpoch').mockResolvedValueOnce(localEpoch);
929
+ jest.spyOn(apiClient.api.conversation, 'getConversation').mockResolvedValueOnce({
930
+ qualified_id,
931
+ protocol: team_1.CONVERSATION_PROTOCOL.MLS,
932
+ epoch: remoteEpoch,
933
+ group_id: groupId,
934
+ });
935
+ await handler({ error: staleMessageError, groupId });
936
+ // Expect a rejoin on stale and a recovery event
937
+ expect(conversationService.joinByExternalCommit).toHaveBeenCalledWith(qualified_id);
938
+ expect(conversationService.emit).toHaveBeenCalledWith('MLSConversationRecovered', { conversationId: qualified_id });
939
+ });
749
940
  });
750
941
  describe('groupIdConversationMap cache', () => {
751
942
  function makeConversation(group_id, id) {
752
943
  return {
753
944
  group_id,
754
945
  qualified_id: { id, domain: 'staging.zinfra.io' },
755
- protocol: conversation_1.ConversationProtocol.MLS,
946
+ protocol: team_1.CONVERSATION_PROTOCOL.MLS,
756
947
  epoch: 1,
757
948
  };
758
949
  }
@@ -1,5 +1,6 @@
1
- import { QualifiedUserClients, ConversationProtocol, MessageSendingStatus, Conversation } from '@wireapp/api-client/lib/conversation';
1
+ import { QualifiedUserClients, MessageSendingStatus, Conversation } from '@wireapp/api-client/lib/conversation';
2
2
  import { ConversationEvent, ConversationMemberJoinEvent } from '@wireapp/api-client/lib/event';
3
+ import { CONVERSATION_PROTOCOL } from '@wireapp/api-client/lib/team';
3
4
  import { QualifiedId } from '@wireapp/api-client/lib/user';
4
5
  import { GenericMessage } from '@wireapp/protocol-messaging';
5
6
  import { MessageSendingState } from '..';
@@ -48,7 +49,7 @@ export interface MessageSendingCallbacks {
48
49
  * The protocol to use to send the message (MLS or Proteus)
49
50
  */
50
51
  export type ProtocolParam = {
51
- protocol: ConversationProtocol;
52
+ protocol: CONVERSATION_PROTOCOL;
52
53
  };
53
54
  /**
54
55
  * The message to send to the conversation
@@ -62,7 +63,7 @@ export type SendMlsMessageParams = SendCommonParams & {
62
63
  * The groupId of the conversation to send the message to (Needed only for MLS)
63
64
  */
64
65
  groupId: string;
65
- protocol: ConversationProtocol.MLS;
66
+ protocol: CONVERSATION_PROTOCOL.MLS;
66
67
  };
67
68
  export type KeyPackageClaimUser = QualifiedId & {
68
69
  skipOwnClientId?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"ConversationService.types.d.ts","sourceRoot":"","sources":["../../../src/conversation/ConversationService/ConversationService.types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ConversationService.types.d.ts","sourceRoot":"","sources":["../../../src/conversation/ConversationService/ConversationService.types.ts"],"names":[],"mappings":"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"}
@@ -52,6 +52,7 @@ const event_1 = require("@wireapp/api-client/lib/event");
52
52
  const protocol_messaging_1 = require("@wireapp/protocol-messaging");
53
53
  const errors_1 = require("../../../errors");
54
54
  const testUtils_1 = require("../../../testUtils");
55
+ const team_1 = require("@wireapp/api-client/lib/team");
55
56
  jest.mock('./CryptoClient/CoreCryptoWrapper/PrekeysTracker', () => {
56
57
  return {
57
58
  PrekeyTracker: jest.fn().mockImplementation(() => {
@@ -346,7 +347,7 @@ describe('ProteusService', () => {
346
347
  const params = {
347
348
  conversationId: (0, testUtils_1.generateQualifiedId)('domain'),
348
349
  payload: message,
349
- protocol: conversation_1.ConversationProtocol.PROTEUS,
350
+ protocol: team_1.CONVERSATION_PROTOCOL.PROTEUS,
350
351
  targetMode: conversation_2.MessageTargetMode.USERS,
351
352
  };
352
353
  try {
@@ -371,7 +372,7 @@ describe('ProteusService', () => {
371
372
  MockedRecipients.getRecipientsForConversation.mockResolvedValue({});
372
373
  jest.spyOn(proteusService['messageService'], 'sendMessage').mockReturnValue(Promise.resolve({}));
373
374
  await proteusService.sendMessage({
374
- protocol: conversation_1.ConversationProtocol.PROTEUS,
375
+ protocol: team_1.CONVERSATION_PROTOCOL.PROTEUS,
375
376
  payload: message,
376
377
  targetMode: conversation_2.MessageTargetMode.USERS,
377
378
  userIds: recipients,
@@ -398,7 +399,7 @@ describe('ProteusService', () => {
398
399
  MockedRecipients.getRecipientsForConversation.mockResolvedValue({});
399
400
  jest.spyOn(proteusService['messageService'], 'sendMessage').mockResolvedValue({});
400
401
  await proteusService.sendMessage({
401
- protocol: conversation_1.ConversationProtocol.PROTEUS,
402
+ protocol: team_1.CONVERSATION_PROTOCOL.PROTEUS,
402
403
  conversationId: { id: 'conv1', domain: 'domain1' },
403
404
  payload: message,
404
405
  targetMode: conversation_2.MessageTargetMode.USERS,
@@ -426,7 +427,7 @@ describe('ProteusService', () => {
426
427
  jest.spyOn(proteusService['messageService'], 'sendMessage').mockReturnValue(Promise.resolve({}));
427
428
  await proteusService.sendMessage({
428
429
  conversationId: { id: 'conv1', domain: '' },
429
- protocol: conversation_1.ConversationProtocol.PROTEUS,
430
+ protocol: team_1.CONVERSATION_PROTOCOL.PROTEUS,
430
431
  payload: message,
431
432
  targetMode: conversation_2.MessageTargetMode.USERS_CLIENTS,
432
433
  userIds: recipients,
@@ -447,7 +448,7 @@ describe('ProteusService', () => {
447
448
  MockedRecipients.getRecipientsForConversation.mockResolvedValue({});
448
449
  jest.spyOn(proteusService['messageService'], 'sendMessage').mockReturnValue(Promise.resolve({}));
449
450
  await proteusService.sendMessage({
450
- protocol: conversation_1.ConversationProtocol.PROTEUS,
451
+ protocol: team_1.CONVERSATION_PROTOCOL.PROTEUS,
451
452
  conversationId: { id: 'conv1', domain: 'domain1' },
452
453
  payload: message,
453
454
  targetMode: conversation_2.MessageTargetMode.USERS_CLIENTS,
@@ -473,7 +474,7 @@ describe('ProteusService', () => {
473
474
  deleted: {},
474
475
  });
475
476
  const result = await proteusService.sendMessage({
476
- protocol: conversation_1.ConversationProtocol.PROTEUS,
477
+ protocol: team_1.CONVERSATION_PROTOCOL.PROTEUS,
477
478
  conversationId: (0, testUtils_1.generateQualifiedId)('domain'),
478
479
  payload: message,
479
480
  targetMode: conversation_2.MessageTargetMode.USERS_CLIENTS,
@@ -575,7 +576,7 @@ describe('ProteusService', () => {
575
576
  status_time: '',
576
577
  },
577
578
  },
578
- protocol: conversation_1.ConversationProtocol.PROTEUS,
579
+ protocol: team_1.CONVERSATION_PROTOCOL.PROTEUS,
579
580
  };
580
581
  it('adds all requested users to a new conversation', async () => {
581
582
  const [proteusService, { apiClient }] = await (0, ProteusService_mocks_1.buildProteusService)();
@@ -1,4 +1,5 @@
1
- import { QualifiedUserClients, MessageSendingStatus, ConversationProtocol, NewConversation } from '@wireapp/api-client/lib/conversation';
1
+ import { QualifiedUserClients, MessageSendingStatus, NewConversation } from '@wireapp/api-client/lib/conversation';
2
+ import { CONVERSATION_PROTOCOL } from '@wireapp/api-client/lib/team';
2
3
  import { QualifiedId } from '@wireapp/api-client/lib/user';
3
4
  import { AddUsersParams, MessageSendingOptions, SendCommonParams } from '../../../conversation';
4
5
  export interface NewClient {
@@ -17,7 +18,7 @@ export type SendProteusMessageParams = SendCommonParams & MessageSendingOptions
17
18
  */
18
19
  userIds?: QualifiedId[] | QualifiedUserClients;
19
20
  onClientMismatch?: (status: MessageSendingStatus, wasSent: boolean) => void | boolean | Promise<boolean>;
20
- protocol: ConversationProtocol.PROTEUS;
21
+ protocol: CONVERSATION_PROTOCOL.PROTEUS;
21
22
  };
22
23
  export type CreateProteusConversationParams = {
23
24
  conversationData: NewConversation | string;
@@ -1 +1 @@
1
- {"version":3,"file":"ProteusService.types.d.ts","sourceRoot":"","sources":["../../../../src/messagingProtocols/proteus/ProteusService/ProteusService.types.ts"],"names":[],"mappings":"AAmBA,OAAO,EACL,oBAAoB,EACpB,oBAAoB,EACpB,oBAAoB,EACpB,eAAe,EAChB,MAAM,sCAAsC,CAAC;AAC9C,OAAO,EAAC,WAAW,EAAC,MAAM,8BAA8B,CAAC;AAEzD,OAAO,EAAC,cAAc,EAAE,qBAAqB,EAAE,gBAAgB,EAAC,MAAM,uBAAuB,CAAC;AAE9F,MAAM,WAAW,SAAS;IACxB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,WAAW,CAAC;CACrB;AACD,MAAM,MAAM,oBAAoB,GAAG;IACjC,WAAW,CAAC,EAAE,CAAC,MAAM,EAAE,SAAS,KAAK,IAAI,CAAC;IAC1C,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,wBAAwB,GAAG,gBAAgB,GACrD,qBAAqB,GAAG;IACtB;;;;OAIG;IACH,OAAO,CAAC,EAAE,WAAW,EAAE,GAAG,oBAAoB,CAAC;IAC/C,gBAAgB,CAAC,EAAE,CAAC,MAAM,EAAE,oBAAoB,EAAE,OAAO,EAAE,OAAO,KAAK,IAAI,GAAG,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACzG,QAAQ,EAAE,oBAAoB,CAAC,OAAO,CAAC;CACxC,CAAC;AAEJ,MAAM,MAAM,+BAA+B,GAAG;IAC5C,gBAAgB,EAAE,eAAe,GAAG,MAAM,CAAC;IAC3C,YAAY,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;CAClC,CAAC;AAEF,MAAM,MAAM,mCAAmC,GAAG,IAAI,CAAC,cAAc,EAAE,SAAS,CAAC,CAAC"}
1
+ {"version":3,"file":"ProteusService.types.d.ts","sourceRoot":"","sources":["../../../../src/messagingProtocols/proteus/ProteusService/ProteusService.types.ts"],"names":[],"mappings":"AAmBA,OAAO,EAAC,oBAAoB,EAAE,oBAAoB,EAAE,eAAe,EAAC,MAAM,sCAAsC,CAAC;AACjH,OAAO,EAAC,qBAAqB,EAAC,MAAM,8BAA8B,CAAC;AACnE,OAAO,EAAC,WAAW,EAAC,MAAM,8BAA8B,CAAC;AAEzD,OAAO,EAAC,cAAc,EAAE,qBAAqB,EAAE,gBAAgB,EAAC,MAAM,uBAAuB,CAAC;AAE9F,MAAM,WAAW,SAAS;IACxB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,WAAW,CAAC;CACrB;AACD,MAAM,MAAM,oBAAoB,GAAG;IACjC,WAAW,CAAC,EAAE,CAAC,MAAM,EAAE,SAAS,KAAK,IAAI,CAAC;IAC1C,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,wBAAwB,GAAG,gBAAgB,GACrD,qBAAqB,GAAG;IACtB;;;;OAIG;IACH,OAAO,CAAC,EAAE,WAAW,EAAE,GAAG,oBAAoB,CAAC;IAC/C,gBAAgB,CAAC,EAAE,CAAC,MAAM,EAAE,oBAAoB,EAAE,OAAO,EAAE,OAAO,KAAK,IAAI,GAAG,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACzG,QAAQ,EAAE,qBAAqB,CAAC,OAAO,CAAC;CACzC,CAAC;AAEJ,MAAM,MAAM,+BAA+B,GAAG;IAC5C,gBAAgB,EAAE,eAAe,GAAG,MAAM,CAAC;IAC3C,YAAY,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;CAClC,CAAC;AAEF,MAAM,MAAM,mCAAmC,GAAG,IAAI,CAAC,cAAc,EAAE,SAAS,CAAC,CAAC"}
@@ -44,10 +44,10 @@ Object.defineProperty(exports, "__esModule", { value: true });
44
44
  /* eslint-disable import/order */
45
45
  const GenericMessageParams = __importStar(require("../Utility/getGenericMessageParams"));
46
46
  const client_1 = require("@wireapp/api-client/lib/client");
47
- const conversation_1 = require("@wireapp/api-client/lib/conversation");
48
- const conversation_2 = require("../../../conversation");
47
+ const conversation_1 = require("../../../conversation");
49
48
  const MessageBuilder_1 = require("../../../conversation/message/MessageBuilder");
50
49
  const ProteusService_mocks_1 = require("./ProteusService.mocks");
50
+ const team_1 = require("@wireapp/api-client/lib/team");
51
51
  jest.mock('../Utility/getGenericMessageParams', () => {
52
52
  return {
53
53
  getGenericMessageParams: jest.fn(),
@@ -89,9 +89,9 @@ describe('sendGenericMessage', () => {
89
89
  const payloadBundle = await proteusService.sendMessage({
90
90
  payload: message,
91
91
  conversationId: { id: 'conv1', domain: '' },
92
- protocol: conversation_1.ConversationProtocol.PROTEUS,
92
+ protocol: team_1.CONVERSATION_PROTOCOL.PROTEUS,
93
93
  });
94
- expect(payloadBundle.state).toBe(conversation_2.MessageSendingState.CANCELED);
94
+ expect(payloadBundle.state).toBe(conversation_1.MessageSendingState.CANCELED);
95
95
  });
96
96
  });
97
97
  });
@@ -1,5 +1,5 @@
1
- import { ConversationProtocol } from '@wireapp/api-client/lib/conversation';
2
1
  import { Self } from '@wireapp/api-client/lib/self/';
2
+ import { CONVERSATION_PROTOCOL } from '@wireapp/api-client/lib/team';
3
3
  import { APIClient } from '@wireapp/api-client';
4
4
  export declare class SelfService {
5
5
  private readonly apiClient;
@@ -16,6 +16,6 @@ export declare class SelfService {
16
16
  * Update self user's list of supported-protocols
17
17
  * @param supportedProtocols The list of supported protocols
18
18
  */
19
- putSupportedProtocols(supportedProtocols: ConversationProtocol[]): Promise<void>;
19
+ putSupportedProtocols(supportedProtocols: CONVERSATION_PROTOCOL[]): Promise<void>;
20
20
  }
21
21
  //# sourceMappingURL=SelfService.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"SelfService.d.ts","sourceRoot":"","sources":["../../src/self/SelfService.ts"],"names":[],"mappings":"AAmBA,OAAO,EAAC,oBAAoB,EAAC,MAAM,sCAAsC,CAAC;AAC1E,OAAO,EAAC,IAAI,EAAC,MAAM,+BAA+B,CAAC;AAEnD,OAAO,EAAC,SAAS,EAAC,MAAM,qBAAqB,CAAC;AAG9C,qBAAa,WAAW;IAGV,OAAO,CAAC,QAAQ,CAAC,SAAS;IAFtC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAqD;gBAE/C,SAAS,EAAE,SAAS;IAEpC,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAKvD,cAAc,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAMhD,OAAO,IAAI,OAAO,CAAC,MAAM,CAAC;IAK1B,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAKxB,WAAW,IAAI,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAKhD,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIpC,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAInD;;;OAGG;IACU,qBAAqB,CAAC,kBAAkB,EAAE,oBAAoB,EAAE;CAY9E"}
1
+ {"version":3,"file":"SelfService.d.ts","sourceRoot":"","sources":["../../src/self/SelfService.ts"],"names":[],"mappings":"AAmBA,OAAO,EAAC,IAAI,EAAC,MAAM,+BAA+B,CAAC;AACnD,OAAO,EAAC,qBAAqB,EAAC,MAAM,8BAA8B,CAAC;AAEnE,OAAO,EAAC,SAAS,EAAC,MAAM,qBAAqB,CAAC;AAG9C,qBAAa,WAAW;IAGV,OAAO,CAAC,QAAQ,CAAC,SAAS;IAFtC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAqD;gBAE/C,SAAS,EAAE,SAAS;IAEpC,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAKvD,cAAc,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAMhD,OAAO,IAAI,OAAO,CAAC,MAAM,CAAC;IAK1B,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAKxB,WAAW,IAAI,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAKhD,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIpC,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAInD;;;OAGG;IACU,qBAAqB,CAAC,kBAAkB,EAAE,qBAAqB,EAAE;CAY/E"}
@@ -18,7 +18,7 @@
18
18
  *
19
19
  */
20
20
  Object.defineProperty(exports, "__esModule", { value: true });
21
- const conversation_1 = require("@wireapp/api-client/lib/conversation");
21
+ const team_1 = require("@wireapp/api-client/lib/team");
22
22
  const api_client_1 = require("@wireapp/api-client");
23
23
  const SelfService_1 = require("./SelfService");
24
24
  const BASE_URL = 'mock-backend.wire.com';
@@ -33,7 +33,7 @@ describe('SelfService', () => {
33
33
  apiClient.backendFeatures.supportsMLS = true;
34
34
  it('updates the list of self supported protocols', async () => {
35
35
  const selfService = new SelfService_1.SelfService(apiClient);
36
- const supportedProtocols = [conversation_1.ConversationProtocol.PROTEUS, conversation_1.ConversationProtocol.MLS];
36
+ const supportedProtocols = [team_1.CONVERSATION_PROTOCOL.PROTEUS, team_1.CONVERSATION_PROTOCOL.MLS];
37
37
  jest.spyOn(apiClient.api.self, 'putSupportedProtocols').mockImplementation(jest.fn());
38
38
  await selfService.putSupportedProtocols(supportedProtocols);
39
39
  expect(apiClient.api.self.putSupportedProtocols).toHaveBeenCalledWith(supportedProtocols);
@@ -1,4 +1,4 @@
1
- import { ConversationProtocol } from '@wireapp/api-client/lib/conversation';
1
+ import { CONVERSATION_PROTOCOL } from '@wireapp/api-client/lib/team';
2
2
  import { QualifiedId, User } from '@wireapp/api-client/lib/user/';
3
3
  import { APIClient } from '@wireapp/api-client';
4
4
  export declare class UserService {
@@ -13,6 +13,6 @@ export declare class UserService {
13
13
  /**
14
14
  * Get the list of other user's supported protocols.
15
15
  */
16
- getUserSupportedProtocols(userId: QualifiedId): Promise<ConversationProtocol[]>;
16
+ getUserSupportedProtocols(userId: QualifiedId): Promise<CONVERSATION_PROTOCOL[]>;
17
17
  }
18
18
  //# sourceMappingURL=UserService.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"UserService.d.ts","sourceRoot":"","sources":["../../src/user/UserService.ts"],"names":[],"mappings":"AAmBA,OAAO,EAAC,oBAAoB,EAAC,MAAM,sCAAsC,CAAC;AAC1E,OAAO,EAAC,WAAW,EAAE,IAAI,EAAC,MAAM,+BAA+B,CAAC;AAEhE,OAAO,EAAC,SAAS,EAAC,MAAM,qBAAqB,CAAC;AAE9C,qBAAa,WAAW;IACtB,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAY;gBAE1B,SAAS,EAAE,SAAS;IAIzB,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IAI9C,QAAQ,CAAC,OAAO,EAAE,WAAW,EAAE;;;;;IAO5C;;OAEG;IACU,yBAAyB,CAAC,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,oBAAoB,EAAE,CAAC;CAS7F"}
1
+ {"version":3,"file":"UserService.d.ts","sourceRoot":"","sources":["../../src/user/UserService.ts"],"names":[],"mappings":"AAmBA,OAAO,EAAC,qBAAqB,EAAC,MAAM,8BAA8B,CAAC;AACnE,OAAO,EAAC,WAAW,EAAE,IAAI,EAAC,MAAM,+BAA+B,CAAC;AAEhE,OAAO,EAAC,SAAS,EAAC,MAAM,qBAAqB,CAAC;AAE9C,qBAAa,WAAW;IACtB,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAY;gBAE1B,SAAS,EAAE,SAAS;IAIzB,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IAI9C,QAAQ,CAAC,OAAO,EAAE,WAAW,EAAE;;;;;IAO5C;;OAEG;IACU,yBAAyB,CAAC,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,qBAAqB,EAAE,CAAC;CAS9F"}
@@ -19,7 +19,7 @@
19
19
  */
20
20
  Object.defineProperty(exports, "__esModule", { value: true });
21
21
  exports.UserService = void 0;
22
- const conversation_1 = require("@wireapp/api-client/lib/conversation");
22
+ const team_1 = require("@wireapp/api-client/lib/team");
23
23
  class UserService {
24
24
  apiClient;
25
25
  constructor(apiClient) {
@@ -40,10 +40,10 @@ class UserService {
40
40
  async getUserSupportedProtocols(userId) {
41
41
  // Clients that uses version below the one supporting MLS, are not aware of user's supported protocols, we default to Proteus in this case.
42
42
  if (!this.apiClient.backendFeatures.supportsMLS) {
43
- return [conversation_1.ConversationProtocol.PROTEUS];
43
+ return [team_1.CONVERSATION_PROTOCOL.PROTEUS];
44
44
  }
45
45
  const supportedProtocols = await this.apiClient.api.user.getUserSupportedProtocols(userId);
46
- return supportedProtocols.length > 0 ? supportedProtocols : [conversation_1.ConversationProtocol.PROTEUS];
46
+ return supportedProtocols.length > 0 ? supportedProtocols : [team_1.CONVERSATION_PROTOCOL.PROTEUS];
47
47
  }
48
48
  }
49
49
  exports.UserService = UserService;
@@ -1 +1 @@
1
- {"version":3,"file":"TypePredicateUtil.d.ts","sourceRoot":"","sources":["../../src/util/TypePredicateUtil.ts"],"names":[],"mappings":"AAmBA,OAAO,EACL,YAAY,EAEZ,eAAe,EACf,oBAAoB,EACpB,WAAW,EACZ,MAAM,uCAAuC,CAAC;AAC/C,OAAO,EAAC,WAAW,EAAC,MAAM,+BAA+B,CAAC;AAE1D,wBAAgB,aAAa,CAAC,GAAG,EAAE,GAAG,GAAG,GAAG,IAAI,MAAM,EAAE,CAEvD;AAMD,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,GAAG,GAAG,GAAG,IAAI,WAAW,EAAE,CAEjE;AAED,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,GAAG,GAAG,GAAG,IAAI,oBAAoB,CAS5E;AAED,wBAAgB,aAAa,CAAC,GAAG,EAAE,GAAG,GAAG,GAAG,IAAI,WAAW,CAM1D;AAED,wBAAgB,iBAAiB,CAAC,YAAY,EAAE,YAAY,GAAG,YAAY,IAAI,eAAe,CAG7F"}
1
+ {"version":3,"file":"TypePredicateUtil.d.ts","sourceRoot":"","sources":["../../src/util/TypePredicateUtil.ts"],"names":[],"mappings":"AAmBA,OAAO,EAAC,YAAY,EAAE,eAAe,EAAE,oBAAoB,EAAE,WAAW,EAAC,MAAM,uCAAuC,CAAC;AAEvH,OAAO,EAAC,WAAW,EAAC,MAAM,+BAA+B,CAAC;AAE1D,wBAAgB,aAAa,CAAC,GAAG,EAAE,GAAG,GAAG,GAAG,IAAI,MAAM,EAAE,CAEvD;AAMD,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,GAAG,GAAG,GAAG,IAAI,WAAW,EAAE,CAEjE;AAED,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,GAAG,GAAG,GAAG,IAAI,oBAAoB,CAS5E;AAED,wBAAgB,aAAa,CAAC,GAAG,EAAE,GAAG,GAAG,GAAG,IAAI,WAAW,CAM1D;AAED,wBAAgB,iBAAiB,CAAC,YAAY,EAAE,YAAY,GAAG,YAAY,IAAI,eAAe,CAG7F"}
@@ -23,7 +23,7 @@ exports.isQualifiedIdArray = isQualifiedIdArray;
23
23
  exports.isQualifiedUserClients = isQualifiedUserClients;
24
24
  exports.isUserClients = isUserClients;
25
25
  exports.isMLSConversation = isMLSConversation;
26
- const conversation_1 = require("@wireapp/api-client/lib/conversation/");
26
+ const team_1 = require("@wireapp/api-client/lib/team");
27
27
  function isStringArray(obj) {
28
28
  return Array.isArray(obj) && (obj.length === 0 || typeof obj[0] === 'string');
29
29
  }
@@ -52,5 +52,5 @@ function isUserClients(obj) {
52
52
  }
53
53
  function isMLSConversation(conversation) {
54
54
  const { protocol, epoch, group_id } = conversation;
55
- return protocol === conversation_1.ConversationProtocol.MLS && epoch !== undefined && group_id !== undefined;
55
+ return protocol === team_1.CONVERSATION_PROTOCOL.MLS && epoch !== undefined && group_id !== undefined;
56
56
  }
package/package.json CHANGED
@@ -11,7 +11,7 @@
11
11
  "./lib/cryptography/AssetCryptography/crypto.node": "./lib/cryptography/AssetCryptography/crypto.browser.js"
12
12
  },
13
13
  "dependencies": {
14
- "@wireapp/api-client": "^27.86.0",
14
+ "@wireapp/api-client": "^27.87.0",
15
15
  "@wireapp/commons": "^5.4.9",
16
16
  "@wireapp/core-crypto": "9.1.0",
17
17
  "@wireapp/cryptobox": "12.8.0",
@@ -61,6 +61,6 @@
61
61
  "test:coverage": "jest --coverage",
62
62
  "watch": "tsc --watch"
63
63
  },
64
- "version": "46.43.0",
65
- "gitHead": "54e8913dd88d97c1e6629115c84a8811a5b528bb"
64
+ "version": "46.45.0",
65
+ "gitHead": "031bc333d66a0228a3475dc0a10b5c3685784132"
66
66
  }