@wireapp/core 17.22.1 → 17.24.2

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 (41) hide show
  1. package/CHANGELOG.md +46 -0
  2. package/package.json +2 -2
  3. package/src/main/Account.d.ts +10 -1
  4. package/src/main/Account.js +8 -2
  5. package/src/main/Account.js.map +1 -1
  6. package/src/main/Account.ts +15 -2
  7. package/src/main/broadcast/BroadcastService.js +3 -4
  8. package/src/main/broadcast/BroadcastService.js.map +1 -1
  9. package/src/main/broadcast/BroadcastService.ts +3 -5
  10. package/src/main/conversation/ConversationService.d.ts +4 -6
  11. package/src/main/conversation/ConversationService.js +26 -59
  12. package/src/main/conversation/ConversationService.js.map +1 -1
  13. package/src/main/conversation/ConversationService.test.node.js +0 -38
  14. package/src/main/conversation/ConversationService.test.node.js.map +1 -1
  15. package/src/main/conversation/ConversationService.test.node.ts +1 -50
  16. package/src/main/conversation/ConversationService.ts +32 -116
  17. package/src/main/conversation/message/MessageService.d.ts +42 -12
  18. package/src/main/conversation/message/MessageService.js +147 -275
  19. package/src/main/conversation/message/MessageService.js.map +1 -1
  20. package/src/main/conversation/message/MessageService.test.node.js +117 -10
  21. package/src/main/conversation/message/MessageService.test.node.js.map +1 -1
  22. package/src/main/conversation/message/MessageService.test.node.ts +183 -40
  23. package/src/main/conversation/message/MessageService.ts +209 -354
  24. package/src/main/conversation/message/UserClientsUtil.d.ts +22 -0
  25. package/src/main/conversation/message/UserClientsUtil.js +38 -0
  26. package/src/main/conversation/message/UserClientsUtil.js.map +1 -0
  27. package/src/main/conversation/message/UserClientsUtil.ts +44 -0
  28. package/src/main/conversation/message/UserClientsUtils.test.node.d.ts +1 -0
  29. package/src/main/conversation/message/UserClientsUtils.test.node.js +42 -0
  30. package/src/main/conversation/message/UserClientsUtils.test.node.js.map +1 -0
  31. package/src/main/conversation/message/UserClientsUtils.test.node.ts +44 -0
  32. package/src/main/cryptography/CryptographyService.d.ts +6 -1
  33. package/src/main/cryptography/CryptographyService.js +14 -2
  34. package/src/main/cryptography/CryptographyService.js.map +1 -1
  35. package/src/main/cryptography/CryptographyService.test.node.js +2 -2
  36. package/src/main/cryptography/CryptographyService.test.node.js.map +1 -1
  37. package/src/main/cryptography/CryptographyService.test.node.ts +5 -4
  38. package/src/main/cryptography/CryptographyService.ts +22 -4
  39. package/src/main/util/TypePredicateUtil.js +3 -9
  40. package/src/main/util/TypePredicateUtil.js.map +1 -1
  41. package/src/main/util/TypePredicateUtil.ts +3 -9
@@ -1 +1 @@
1
- {"version":3,"file":"ConversationService.test.node.js","sourceRoot":"","sources":["ConversationService.test.node.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ConversationService.test.node.js","sourceRoot":"","sources":["ConversationService.test.node.ts"],"names":[],"mappings":"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"}
@@ -19,8 +19,7 @@
19
19
 
20
20
  import {APIClient} from '@wireapp/api-client';
21
21
  import {ClientType} from '@wireapp/api-client/src/client';
22
- import {UserPreKeyBundleMap} from '@wireapp/api-client/src/user';
23
- import {GenericMessage, LegalHoldStatus, Text} from '@wireapp/protocol-messaging';
22
+ import {LegalHoldStatus} from '@wireapp/protocol-messaging';
24
23
  import {MemoryEngine} from '@wireapp/store-engine';
25
24
  import {PayloadBundleSource, PayloadBundleState, PayloadBundleType} from '.';
26
25
 
@@ -29,31 +28,6 @@ import * as PayloadHelper from '../test/PayloadHelper';
29
28
  import {MentionContent, QuoteContent} from './content';
30
29
  import {OtrMessage} from './message/OtrMessage';
31
30
 
32
- const createMessage = (content: string) => {
33
- const customTextMessage = GenericMessage.create({
34
- messageId: PayloadHelper.getUUID(),
35
- text: Text.create({content}),
36
- });
37
-
38
- return GenericMessage.encode(customTextMessage).finish();
39
- };
40
-
41
- const generatePreKeyBundle = (userCount: number, clientsPerUser: number): UserPreKeyBundleMap => {
42
- const prekeyBundle: UserPreKeyBundleMap = {};
43
- for (let userIndex = 0; userIndex < userCount; userIndex++) {
44
- const userId = PayloadHelper.getUUID();
45
- prekeyBundle[userId] = {};
46
- for (let clientIndex = 0; clientIndex < clientsPerUser; clientIndex++) {
47
- const clientId = PayloadHelper.getUUID();
48
- prekeyBundle[userId][clientId] = {
49
- id: -1,
50
- key: '',
51
- };
52
- }
53
- }
54
- return prekeyBundle;
55
- };
56
-
57
31
  describe('ConversationService', () => {
58
32
  let account: Account;
59
33
 
@@ -63,29 +37,6 @@ describe('ConversationService', () => {
63
37
  await account.initServices(new MemoryEngine());
64
38
  });
65
39
 
66
- describe("'shouldSendAsExternal'", () => {
67
- it('returns true for a big payload', () => {
68
- const preKeyBundles = generatePreKeyBundle(128, 4);
69
-
70
- const longMessage =
71
- 'Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Duis autem';
72
- const plainText = createMessage(longMessage);
73
-
74
- const shouldSendAsExternal = account.service!.conversation['shouldSendAsExternal'](plainText, preKeyBundles);
75
- expect(shouldSendAsExternal).toBe(true);
76
- });
77
-
78
- it('returns false for a small payload', async () => {
79
- const preKeyBundles = generatePreKeyBundle(2, 1);
80
-
81
- const shortMessage = PayloadHelper.getUUID();
82
- const plainText = createMessage(shortMessage);
83
-
84
- const shouldSendAsExternal = account.service!.conversation['shouldSendAsExternal'](plainText, preKeyBundles);
85
- expect(shouldSendAsExternal).toBe(false);
86
- });
87
- });
88
-
89
40
  describe('"send"', () => {
90
41
  const baseMessage = {
91
42
  conversation: PayloadHelper.getUUID(),
@@ -50,7 +50,6 @@ import {
50
50
  MessageHide,
51
51
  Reaction,
52
52
  } from '@wireapp/protocol-messaging';
53
- import {Encoder} from 'bazinga64';
54
53
 
55
54
  import {
56
55
  AssetService,
@@ -62,7 +61,7 @@ import {
62
61
  PayloadBundleType,
63
62
  } from '../conversation/';
64
63
  import type {AssetContent, ClearedContent, DeletedContent, HiddenContent, RemoteData} from '../conversation/content/';
65
- import type {CryptographyService, EncryptedAsset} from '../cryptography/';
64
+ import type {CryptographyService} from '../cryptography/';
66
65
  import * as AssetCryptography from '../cryptography/AssetCryptography.node';
67
66
  import {isStringArray, isQualifiedIdArray, isQualifiedUserClients, isUserClients} from '../util/TypePredicateUtil';
68
67
  import {MessageBuilder} from './message/MessageBuilder';
@@ -103,12 +102,12 @@ export class ConversationService {
103
102
 
104
103
  constructor(
105
104
  private readonly apiClient: APIClient,
106
- private readonly cryptographyService: CryptographyService,
105
+ cryptographyService: CryptographyService,
107
106
  private readonly assetService: AssetService,
108
107
  ) {
109
108
  this.messageTimer = new MessageTimer();
110
109
  this.messageBuilder = new MessageBuilder(this.apiClient, this.assetService);
111
- this.messageService = new MessageService(this.apiClient, this.cryptographyService);
110
+ this.messageService = new MessageService(this.apiClient, cryptographyService);
112
111
  }
113
112
 
114
113
  private createEphemeral(originalGenericMessage: GenericMessage, expireAfterMillis: number): GenericMessage {
@@ -227,55 +226,6 @@ export class ConversationService {
227
226
  return this.apiClient.conversation.api.getConversation(userId);
228
227
  }
229
228
 
230
- private async sendExternalGenericMessage(
231
- sendingClientId: string,
232
- conversationId: string,
233
- asset: EncryptedAsset,
234
- preKeyBundles: UserPreKeyBundleMap,
235
- sendAsProtobuf?: boolean,
236
- ): Promise<ClientMismatch | undefined> {
237
- if (preKeyBundles.none) {
238
- const {cipherText, keyBytes, sha256} = asset;
239
- const messageId = MessageBuilder.createId();
240
-
241
- const externalMessage = {
242
- otrKey: new Uint8Array(keyBytes),
243
- sha256: new Uint8Array(sha256),
244
- };
245
-
246
- const base64CipherText = Encoder.toBase64(cipherText).asString;
247
-
248
- const genericMessage = GenericMessage.create({
249
- [GenericMessageType.EXTERNAL]: externalMessage,
250
- messageId,
251
- });
252
-
253
- const plainTextArray = GenericMessage.encode(genericMessage).finish();
254
-
255
- const recipients = await this.cryptographyService.encrypt(plainTextArray, preKeyBundles);
256
-
257
- if (sendAsProtobuf) {
258
- return this.messageService.sendOTRProtobufMessage(
259
- sendingClientId,
260
- recipients,
261
- conversationId,
262
- plainTextArray,
263
- cipherText,
264
- );
265
- }
266
- return this.messageService.sendOTRMessage(
267
- sendingClientId,
268
- recipients,
269
- conversationId,
270
- plainTextArray,
271
- base64CipherText,
272
- );
273
-
274
- // todo: add federated sending here
275
- }
276
- return undefined;
277
- }
278
-
279
229
  private async getQualifiedRecipientsForConversation(
280
230
  conversationId: QualifiedId,
281
231
  userIds?: QualifiedId[] | QualifiedUserClients,
@@ -287,13 +237,24 @@ export class ConversationService {
287
237
  return this.getQualifiedPreKeyBundle(recipientIds);
288
238
  }
289
239
 
240
+ private async getRecipientsForConversation(
241
+ conversationId: string,
242
+ userIds?: string[] | UserClients,
243
+ ): Promise<UserClients | UserPreKeyBundleMap> {
244
+ if (isUserClients(userIds)) {
245
+ return userIds;
246
+ }
247
+ return this.getPreKeyBundleMap(conversationId, userIds);
248
+ }
249
+
290
250
  /**
291
- * Sends a message to a federated environment.
251
+ * Sends a message to a conversation
292
252
  *
293
253
  * @param sendingClientId The clientId from which the message is sent
294
254
  * @param conversationId The conversation in which to send the message
295
- * @param conversationDomain The domain where the conversation lives
296
255
  * @param genericMessage The payload of the message to send
256
+ * @param options.domain? The federated domain the server runs on. Should only be set for federation enabled envs
257
+ * @param options.sendAsProtobuf? Will send the message as a protobuf payload
297
258
  * @param options.userIds? can be either a QualifiedId[] or QualfiedUserClients or undefined. The type has some effect on the behavior of the method.
298
259
  * When given undefined the method will fetch both the members of the conversations and their devices. No ClientMismatch can happen in that case
299
260
  * When given a QualifiedId[] the method will fetch the freshest list of devices for those users (since they are not given by the consumer). As a consequence no ClientMismatch error will trigger and we will ignore missing clients when sending
@@ -301,24 +262,6 @@ export class ConversationService {
301
262
  * @param options.onClientMismatch? Will be called whenever there is a clientmismatch returned from the server. Needs to be combined with a userIds of type QualifiedUserClients
302
263
  * @return Resolves with the message sending status from backend
303
264
  */
304
- private async sendFederatedGenericMessage(
305
- sendingClientId: string,
306
- conversationId: QualifiedId,
307
- genericMessage: GenericMessage,
308
- options: {
309
- userIds?: QualifiedId[] | QualifiedUserClients;
310
- onClientMismatch?: (mismatch: MessageSendingStatus) => Promise<boolean | undefined>;
311
- } = {},
312
- ): Promise<MessageSendingStatus> {
313
- const plainTextArray = GenericMessage.encode(genericMessage).finish();
314
- const recipients = await this.getQualifiedRecipientsForConversation(conversationId, options.userIds);
315
-
316
- return this.messageService.sendFederatedOTRMessage(sendingClientId, conversationId, recipients, plainTextArray, {
317
- reportMissing: isQualifiedUserClients(options.userIds), // we want to check mismatch in case the consumer gave an exact list of users/devices
318
- onClientMismatch: options.onClientMismatch,
319
- });
320
- }
321
-
322
265
  private async sendGenericMessage(
323
266
  sendingClientId: string,
324
267
  conversationId: string,
@@ -331,42 +274,29 @@ export class ConversationService {
331
274
  } = {},
332
275
  ): Promise<ClientMismatch | MessageSendingStatus | undefined> {
333
276
  const {domain, userIds} = options;
277
+ const plainText = GenericMessage.encode(genericMessage).finish();
334
278
  if (domain) {
335
279
  if (isStringArray(userIds) || isUserClients(userIds)) {
336
- throw new Error('Invalid userIds option for sending');
280
+ throw new Error('Invalid userIds option for sending to federated backend');
337
281
  }
338
-
339
- return this.sendFederatedGenericMessage(
340
- this.apiClient.validatedClientId,
341
- {id: conversationId, domain},
342
- genericMessage,
343
- {userIds, onClientMismatch: options.onClientMismatch},
344
- );
282
+ const recipients = await this.getQualifiedRecipientsForConversation({id: conversationId, domain}, userIds);
283
+ return this.messageService.sendFederatedMessage(sendingClientId, recipients, plainText, {
284
+ conversationId: {id: conversationId, domain},
285
+ reportMissing: isQualifiedUserClients(options.userIds), // we want to check mismatch in case the consumer gave an exact list of users/devices
286
+ onClientMismatch: options.onClientMismatch,
287
+ });
345
288
  }
346
289
 
347
- if (isQualifiedIdArray(userIds) || isQualifiedUserClients(userIds)) {
290
+ if (!isStringArray(userIds) && !isUserClients(userIds)) {
348
291
  throw new Error('Invalid userIds option for sending');
349
292
  }
350
-
351
- const plainTextArray = GenericMessage.encode(genericMessage).finish();
352
- const preKeyBundles = await this.getPreKeyBundleMap(conversationId, userIds);
353
-
354
- if (this.shouldSendAsExternal(plainTextArray, preKeyBundles)) {
355
- const encryptedAsset = await AssetCryptography.encryptAsset({plainText: plainTextArray});
356
- return this.sendExternalGenericMessage(
357
- this.apiClient.validatedClientId,
358
- conversationId,
359
- encryptedAsset,
360
- preKeyBundles,
361
- options.sendAsProtobuf,
362
- );
363
- }
364
-
365
- const recipients = await this.cryptographyService.encrypt(plainTextArray, preKeyBundles);
366
-
367
- return options.sendAsProtobuf
368
- ? this.messageService.sendOTRProtobufMessage(sendingClientId, recipients, conversationId, plainTextArray)
369
- : this.messageService.sendOTRMessage(sendingClientId, recipients, conversationId, plainTextArray);
293
+ const recipients = await this.getRecipientsForConversation(conversationId, userIds);
294
+ return this.messageService.sendMessage(sendingClientId, recipients, plainText, {
295
+ conversationId,
296
+ sendAsProtobuf: options.sendAsProtobuf,
297
+ reportMissing: isUserClients(options.userIds), // we want to check mismatch in case the consumer gave an exact list of users/devices
298
+ onClientMismatch: options.onClientMismatch,
299
+ });
370
300
  }
371
301
 
372
302
  private generateButtonActionGenericMessage(payloadBundle: ButtonActionMessage): GenericMessage {
@@ -746,20 +676,6 @@ export class ConversationService {
746
676
  };
747
677
  }
748
678
 
749
- private shouldSendAsExternal(plainText: Uint8Array, preKeyBundles: UserPreKeyBundleMap): boolean {
750
- const EXTERNAL_MESSAGE_THRESHOLD_BYTES = 200 * 1024;
751
-
752
- let clientCount = 0;
753
- for (const user in preKeyBundles) {
754
- clientCount += Object.keys(preKeyBundles[user]).length;
755
- }
756
-
757
- const messageInBytes = new Uint8Array(plainText).length;
758
- const estimatedPayloadInBytes = clientCount * messageInBytes;
759
-
760
- return estimatedPayloadInBytes > EXTERNAL_MESSAGE_THRESHOLD_BYTES;
761
- }
762
-
763
679
  public leaveConversation(conversationId: string): Promise<ConversationMemberLeaveEvent> {
764
680
  return this.apiClient.conversation.api.deleteMember(conversationId, this.apiClient.context!.userId);
765
681
  }
@@ -1,23 +1,53 @@
1
1
  import { APIClient } from '@wireapp/api-client';
2
- import { ClientMismatch, MessageSendingStatus, OTRRecipients, QualifiedUserClients } from '@wireapp/api-client/src/conversation';
2
+ import { ClientMismatch, MessageSendingStatus, QualifiedUserClients, UserClients } from '@wireapp/api-client/src/conversation';
3
3
  import { CryptographyService } from '../../cryptography';
4
- import { QualifiedId, QualifiedUserPreKeyBundleMap } from '@wireapp/api-client/src/user';
4
+ import { QualifiedId, QualifiedUserPreKeyBundleMap, UserPreKeyBundleMap } from '@wireapp/api-client/src/user';
5
5
  export declare class MessageService {
6
6
  private readonly apiClient;
7
7
  private readonly cryptographyService;
8
8
  constructor(apiClient: APIClient, cryptographyService: CryptographyService);
9
- sendOTRMessage(sendingClientId: string, recipients: OTRRecipients<Uint8Array>, conversationId: string | null, plainTextArray: Uint8Array, base64CipherText?: string): Promise<ClientMismatch>;
10
- private isClientMismatchError;
11
- private checkFederatedClientsMismatch;
12
- sendFederatedOTRMessage(sendingClientId: string, { id: conversationId, domain }: QualifiedId, recipients: QualifiedUserClients | QualifiedUserPreKeyBundleMap, plainTextArray: Uint8Array, options?: {
9
+ /**
10
+ * Sends a message to a non-federated backend.
11
+ *
12
+ * @param sendingClientId The clientId of the current user
13
+ * @param recipients The list of recipients to send the message to
14
+ * @param plainText The plainText data to send
15
+ * @param options.conversationId? the conversation to send the message to. Will broadcast if not set
16
+ * @param options.reportMissing? trigger a mismatch error when there are missing recipients in the payload
17
+ * @param options.sendAsProtobuf?
18
+ * @param options.onClientMismatch? Called when a mismatch happens on the server
19
+ * @return the ClientMismatch status returned by the backend
20
+ */
21
+ sendMessage(sendingClientId: string, recipients: UserClients | UserPreKeyBundleMap, plainText: Uint8Array, options?: {
22
+ conversationId?: string;
23
+ reportMissing?: boolean;
24
+ sendAsProtobuf?: boolean;
25
+ onClientMismatch?: (mismatch: ClientMismatch) => Promise<boolean | undefined>;
26
+ }): Promise<ClientMismatch>;
27
+ /**
28
+ * Sends a message to a federated backend.
29
+ *
30
+ * @param sendingClientId The clientId of the current user
31
+ * @param recipients The list of recipients to send the message to
32
+ * @param plainText The plainText data to send
33
+ * @param options.conversationId? the conversation to send the message to. Will broadcast if not set
34
+ * @param options.reportMissing? trigger a mismatch error when there are missing recipients in the payload
35
+ * @param options.sendAsProtobuf?
36
+ * @param options.onClientMismatch? Called when a mismatch happens on the server
37
+ * @return the MessageSendingStatus returned by the backend
38
+ */
39
+ sendFederatedMessage(sendingClientId: string, recipients: QualifiedUserClients | QualifiedUserPreKeyBundleMap, plainText: Uint8Array, options: {
13
40
  assetData?: Uint8Array;
41
+ conversationId?: QualifiedId;
14
42
  reportMissing?: boolean;
15
43
  onClientMismatch?: (mismatch: MessageSendingStatus) => Promise<boolean | undefined>;
16
44
  }): Promise<MessageSendingStatus>;
17
- sendOTRProtobufMessage(sendingClientId: string, recipients: OTRRecipients<Uint8Array>, conversationId: string | null, plainTextArray: Uint8Array, assetData?: Uint8Array): Promise<ClientMismatch>;
18
- private onClientMismatch;
19
- private onClientProtobufMismatch;
20
- private deleteExtraQualifiedClients;
45
+ private sendFederatedOtrMessage;
46
+ private sendOTRMessage;
47
+ private generateExternalPayload;
48
+ private shouldSendAsExternal;
49
+ private isClientMismatchError;
50
+ private reencryptAfterMismatch;
21
51
  /**
22
52
  * Will re-encrypt a message when there were some missing clients in the initial send (typically when the server replies with a client mismatch error)
23
53
  *
@@ -26,6 +56,6 @@ export declare class MessageService {
26
56
  * @param {Uint8Array} plainText The text that should be encrypted for the missing clients
27
57
  * @return resolves with a new message payload that can be sent
28
58
  */
29
- private onFederatedMismatch;
30
- private addMissingQualifiedClients;
59
+ private reencryptAfterFederatedMismatch;
60
+ private sendOTRProtobufMessage;
31
61
  }