@wireapp/core 46.46.6-beta.14.f6fd03fe6 → 46.46.6

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 (195) hide show
  1. package/lib/Account.d.ts +156 -51
  2. package/lib/Account.d.ts.map +1 -1
  3. package/lib/Account.js +503 -127
  4. package/lib/Account.test.js +158 -147
  5. package/lib/broadcast/AvailabilityType.d.ts +1 -1
  6. package/lib/broadcast/AvailabilityType.d.ts.map +1 -1
  7. package/lib/broadcast/BroadcastService.d.ts +1 -1
  8. package/lib/broadcast/BroadcastService.d.ts.map +1 -1
  9. package/lib/broadcast/BroadcastService.js +1 -1
  10. package/lib/client/ClientService.d.ts +4 -3
  11. package/lib/client/ClientService.d.ts.map +1 -1
  12. package/lib/client/ClientService.js +19 -5
  13. package/lib/conversation/AbortReason.d.ts +1 -1
  14. package/lib/conversation/AbortReason.d.ts.map +1 -1
  15. package/lib/conversation/AssetService/AssetService.d.ts +12 -30
  16. package/lib/conversation/AssetService/AssetService.d.ts.map +1 -1
  17. package/lib/conversation/AssetService/AssetService.js +1 -10
  18. package/lib/conversation/AssetService/AssetService.test.js +8 -3
  19. package/lib/conversation/ClientActionType.d.ts +1 -1
  20. package/lib/conversation/ClientActionType.d.ts.map +1 -1
  21. package/lib/conversation/ClientActionType.js +1 -1
  22. package/lib/conversation/ConversationService/ConversationService.d.ts +98 -14
  23. package/lib/conversation/ConversationService/ConversationService.d.ts.map +1 -1
  24. package/lib/conversation/ConversationService/ConversationService.js +314 -101
  25. package/lib/conversation/ConversationService/ConversationService.test.js +441 -47
  26. package/lib/conversation/ConversationService/ConversationService.types.d.ts +5 -4
  27. package/lib/conversation/ConversationService/ConversationService.types.d.ts.map +1 -1
  28. package/lib/conversation/ConversationService/Utility/getConversationQualifiedMembers.d.ts.map +1 -1
  29. package/lib/conversation/ConversationService/Utility/getConversationQualifiedMembers.js +6 -3
  30. package/lib/conversation/SubconversationService/SubconversationService.d.ts.map +1 -1
  31. package/lib/conversation/SubconversationService/SubconversationService.js +158 -11
  32. package/lib/conversation/SubconversationService/SubconversationService.test.js +8 -2
  33. package/lib/conversation/content/AssetContent.d.ts +1 -1
  34. package/lib/conversation/content/AssetContent.d.ts.map +1 -1
  35. package/lib/conversation/content/ButtonActionConfirmationContent.d.ts +1 -1
  36. package/lib/conversation/content/ButtonActionConfirmationContent.d.ts.map +1 -1
  37. package/lib/conversation/content/ButtonActionContent.d.ts +1 -1
  38. package/lib/conversation/content/ButtonActionContent.d.ts.map +1 -1
  39. package/lib/conversation/content/ClearedContent.d.ts +1 -1
  40. package/lib/conversation/content/ClearedContent.d.ts.map +1 -1
  41. package/lib/conversation/content/ClientActionContent.d.ts +1 -1
  42. package/lib/conversation/content/ClientActionContent.d.ts.map +1 -1
  43. package/lib/conversation/content/CompositeContent.d.ts +1 -1
  44. package/lib/conversation/content/CompositeContent.d.ts.map +1 -1
  45. package/lib/conversation/content/ConfirmationContent.d.ts +1 -1
  46. package/lib/conversation/content/ConfirmationContent.d.ts.map +1 -1
  47. package/lib/conversation/content/DeletedContent.d.ts +1 -1
  48. package/lib/conversation/content/DeletedContent.d.ts.map +1 -1
  49. package/lib/conversation/content/HiddenContent.d.ts +1 -1
  50. package/lib/conversation/content/HiddenContent.d.ts.map +1 -1
  51. package/lib/conversation/content/KnockContent.d.ts +1 -1
  52. package/lib/conversation/content/KnockContent.d.ts.map +1 -1
  53. package/lib/conversation/content/LinkPreviewContent.d.ts +1 -1
  54. package/lib/conversation/content/LinkPreviewContent.d.ts.map +1 -1
  55. package/lib/conversation/content/MentionContent.d.ts +1 -1
  56. package/lib/conversation/content/MentionContent.d.ts.map +1 -1
  57. package/lib/conversation/content/MultipartContent.d.ts +1 -1
  58. package/lib/conversation/content/MultipartContent.d.ts.map +1 -1
  59. package/lib/conversation/content/QuoteContent.d.ts +1 -1
  60. package/lib/conversation/content/QuoteContent.d.ts.map +1 -1
  61. package/lib/conversation/content/TweetContent.d.ts +1 -1
  62. package/lib/conversation/content/TweetContent.d.ts.map +1 -1
  63. package/lib/conversation/content/index.d.ts +1 -1
  64. package/lib/conversation/content/index.d.ts.map +1 -1
  65. package/lib/conversation/content/index.js +1 -1
  66. package/lib/conversation/message/MessageBuilder.d.ts +1 -1
  67. package/lib/conversation/message/MessageBuilder.d.ts.map +1 -1
  68. package/lib/conversation/message/MessageBuilder.js +1 -1
  69. package/lib/conversation/message/MessageService.d.ts.map +1 -1
  70. package/lib/conversation/message/MessageService.js +1 -1
  71. package/lib/conversation/message/MessageService.test.js +7 -1
  72. package/lib/conversation/message/MessageToProtoMapper.d.ts +1 -1
  73. package/lib/conversation/message/MessageToProtoMapper.d.ts.map +1 -1
  74. package/lib/conversation/message/MessageToProtoMapper.js +1 -1
  75. package/lib/conversation/message/messageSender.js +2 -2
  76. package/lib/cryptography/AssetCryptography/EncryptedAsset.d.ts +2 -2
  77. package/lib/cryptography/AssetCryptography/EncryptedAsset.d.ts.map +1 -1
  78. package/lib/messagingProtocols/common.types.d.ts +9 -0
  79. package/lib/messagingProtocols/common.types.d.ts.map +1 -1
  80. package/lib/messagingProtocols/mls/E2EIdentityService/E2EIService.types.d.ts +2 -2
  81. package/lib/messagingProtocols/mls/E2EIdentityService/E2EIService.types.d.ts.map +1 -1
  82. package/lib/messagingProtocols/mls/E2EIdentityService/E2EIService.types.js +2 -1
  83. package/lib/messagingProtocols/mls/E2EIdentityService/E2EIServiceExternal.d.ts +1 -1
  84. package/lib/messagingProtocols/mls/E2EIdentityService/E2EIServiceExternal.d.ts.map +1 -1
  85. package/lib/messagingProtocols/mls/E2EIdentityService/E2EIServiceExternal.js +13 -11
  86. package/lib/messagingProtocols/mls/E2EIdentityService/E2EIServiceExternal.test.js +21 -16
  87. package/lib/messagingProtocols/mls/E2EIdentityService/E2EIServiceInternal.d.ts +9 -3
  88. package/lib/messagingProtocols/mls/E2EIdentityService/E2EIServiceInternal.d.ts.map +1 -1
  89. package/lib/messagingProtocols/mls/E2EIdentityService/E2EIServiceInternal.js +31 -12
  90. package/lib/messagingProtocols/mls/E2EIdentityService/Helper/index.d.ts +6 -0
  91. package/lib/messagingProtocols/mls/E2EIdentityService/Helper/index.d.ts.map +1 -1
  92. package/lib/messagingProtocols/mls/E2EIdentityService/Helper/index.js +19 -1
  93. package/lib/messagingProtocols/mls/EventHandler/events/messageAdd/IncomingProposalsQueue/IncomingProposalsQueue.d.ts +7 -0
  94. package/lib/messagingProtocols/mls/EventHandler/events/messageAdd/IncomingProposalsQueue/IncomingProposalsQueue.d.ts.map +1 -0
  95. package/lib/messagingProtocols/mls/EventHandler/events/messageAdd/IncomingProposalsQueue/IncomingProposalsQueue.js +48 -0
  96. package/lib/messagingProtocols/mls/EventHandler/events/messageAdd/IncomingProposalsQueue/index.d.ts +2 -0
  97. package/lib/messagingProtocols/mls/EventHandler/events/messageAdd/{IncomingMessagesQueue → IncomingProposalsQueue}/index.d.ts.map +1 -1
  98. package/lib/messagingProtocols/mls/EventHandler/events/messageAdd/{IncomingMessagesQueue → IncomingProposalsQueue}/index.js +1 -1
  99. package/lib/messagingProtocols/mls/EventHandler/events/messageAdd/index.d.ts +0 -1
  100. package/lib/messagingProtocols/mls/EventHandler/events/messageAdd/index.d.ts.map +1 -1
  101. package/lib/messagingProtocols/mls/EventHandler/events/messageAdd/index.js +0 -1
  102. package/lib/messagingProtocols/mls/EventHandler/events/messageAdd/messageAdd.d.ts.map +1 -1
  103. package/lib/messagingProtocols/mls/EventHandler/events/messageAdd/messageAdd.js +23 -14
  104. package/lib/messagingProtocols/mls/EventHandler/events/welcomeMessage/welcomeMessage.d.ts.map +1 -1
  105. package/lib/messagingProtocols/mls/EventHandler/events/welcomeMessage/welcomeMessage.js +5 -2
  106. package/lib/messagingProtocols/mls/EventHandler/events/welcomeMessage/welcomeMessage.test.js +13 -3
  107. package/lib/messagingProtocols/mls/MLSService/CoreCryptoMLSError.d.ts +38 -2
  108. package/lib/messagingProtocols/mls/MLSService/CoreCryptoMLSError.d.ts.map +1 -1
  109. package/lib/messagingProtocols/mls/MLSService/CoreCryptoMLSError.js +41 -6
  110. package/lib/messagingProtocols/mls/MLSService/CoreCryptoMLSError.test.d.ts +2 -0
  111. package/lib/messagingProtocols/mls/MLSService/CoreCryptoMLSError.test.d.ts.map +1 -0
  112. package/lib/messagingProtocols/mls/MLSService/CoreCryptoMLSError.test.js +124 -0
  113. package/lib/messagingProtocols/mls/MLSService/MLSService.d.ts +38 -34
  114. package/lib/messagingProtocols/mls/MLSService/MLSService.d.ts.map +1 -1
  115. package/lib/messagingProtocols/mls/MLSService/MLSService.js +267 -208
  116. package/lib/messagingProtocols/mls/MLSService/MLSService.test.js +157 -160
  117. package/lib/messagingProtocols/mls/MLSService/commitBundleUtil.js +3 -3
  118. package/lib/messagingProtocols/mls/MLSService/commitBundleUtil.test.js +5 -5
  119. package/lib/messagingProtocols/mls/conversationRejoinQueue.js +2 -2
  120. package/lib/messagingProtocols/mls/recovery/MlsErrorMapper.d.ts +78 -0
  121. package/lib/messagingProtocols/mls/recovery/MlsErrorMapper.d.ts.map +1 -0
  122. package/lib/messagingProtocols/mls/recovery/MlsErrorMapper.js +173 -0
  123. package/lib/messagingProtocols/mls/recovery/MlsErrorMapper.test.d.ts +2 -0
  124. package/lib/messagingProtocols/mls/recovery/MlsErrorMapper.test.d.ts.map +1 -0
  125. package/lib/messagingProtocols/mls/recovery/MlsErrorMapper.test.js +117 -0
  126. package/lib/messagingProtocols/mls/recovery/MlsRecoveryOrchestrator.d.ts +167 -0
  127. package/lib/messagingProtocols/mls/recovery/MlsRecoveryOrchestrator.d.ts.map +1 -0
  128. package/lib/messagingProtocols/mls/recovery/MlsRecoveryOrchestrator.js +317 -0
  129. package/lib/messagingProtocols/mls/recovery/MlsRecoveryOrchestrator.test.d.ts +2 -0
  130. package/lib/messagingProtocols/mls/recovery/MlsRecoveryOrchestrator.test.d.ts.map +1 -0
  131. package/lib/messagingProtocols/mls/recovery/MlsRecoveryOrchestrator.test.js +248 -0
  132. package/lib/messagingProtocols/mls/recovery/index.d.ts +5 -0
  133. package/lib/messagingProtocols/mls/recovery/index.d.ts.map +1 -0
  134. package/lib/messagingProtocols/mls/recovery/index.js +28 -0
  135. package/lib/messagingProtocols/mls/types.d.ts +0 -8
  136. package/lib/messagingProtocols/mls/types.d.ts.map +1 -1
  137. package/lib/messagingProtocols/proteus/EventHandler/events/otrMessageAdd/otrMessageAdd.d.ts.map +1 -1
  138. package/lib/messagingProtocols/proteus/EventHandler/events/otrMessageAdd/otrMessageAdd.js +7 -1
  139. package/lib/messagingProtocols/proteus/ProteusService/CryptoClient/CoreCryptoWrapper/CoreCryptoWrapper.d.ts +8 -15
  140. package/lib/messagingProtocols/proteus/ProteusService/CryptoClient/CoreCryptoWrapper/CoreCryptoWrapper.d.ts.map +1 -1
  141. package/lib/messagingProtocols/proteus/ProteusService/CryptoClient/CoreCryptoWrapper/CoreCryptoWrapper.js +97 -62
  142. package/lib/messagingProtocols/proteus/ProteusService/CryptoClient/CryptoClient.types.d.ts +0 -6
  143. package/lib/messagingProtocols/proteus/ProteusService/CryptoClient/CryptoClient.types.d.ts.map +1 -1
  144. package/lib/messagingProtocols/proteus/ProteusService/DecryptionErrorGenerator/DecryptionErrorGenerator.d.ts +1 -6
  145. package/lib/messagingProtocols/proteus/ProteusService/DecryptionErrorGenerator/DecryptionErrorGenerator.d.ts.map +1 -1
  146. package/lib/messagingProtocols/proteus/ProteusService/DecryptionErrorGenerator/DecryptionErrorGenerator.js +19 -22
  147. package/lib/messagingProtocols/proteus/ProteusService/ProteusService.d.ts +5 -3
  148. package/lib/messagingProtocols/proteus/ProteusService/ProteusService.d.ts.map +1 -1
  149. package/lib/messagingProtocols/proteus/ProteusService/ProteusService.js +11 -24
  150. package/lib/messagingProtocols/proteus/ProteusService/ProteusService.mocks.d.ts +1 -0
  151. package/lib/messagingProtocols/proteus/ProteusService/ProteusService.mocks.d.ts.map +1 -1
  152. package/lib/messagingProtocols/proteus/ProteusService/ProteusService.mocks.js +11 -2
  153. package/lib/messagingProtocols/proteus/ProteusService/ProteusService.test.js +13 -9
  154. package/lib/messagingProtocols/proteus/ProteusService/ProteusService.types.d.ts +3 -2
  155. package/lib/messagingProtocols/proteus/ProteusService/ProteusService.types.d.ts.map +1 -1
  156. package/lib/messagingProtocols/proteus/ProteusService/WithMockedGenerics.test.js +11 -4
  157. package/lib/messagingProtocols/proteus/ProteusService/cryptoMigrationStateStore.d.ts +0 -4
  158. package/lib/messagingProtocols/proteus/ProteusService/cryptoMigrationStateStore.d.ts.map +1 -1
  159. package/lib/messagingProtocols/proteus/ProteusService/cryptoMigrationStateStore.js +0 -5
  160. package/lib/messagingProtocols/proteus/ProteusService/identityClearer.d.ts +2 -1
  161. package/lib/messagingProtocols/proteus/ProteusService/identityClearer.d.ts.map +1 -1
  162. package/lib/messagingProtocols/proteus/ProteusService/identityClearer.js +8 -2
  163. package/lib/messagingProtocols/proteus/Utility/SessionHandler/SessionHandler.test.js +4 -0
  164. package/lib/messagingProtocols/proteus/Utility/getGenericMessageParams.d.ts +1 -1
  165. package/lib/messagingProtocols/proteus/Utility/getGenericMessageParams.d.ts.map +1 -1
  166. package/lib/messagingProtocols/proteus/Utility/getGenericMessageParams.js +1 -1
  167. package/lib/notification/NotificationService.d.ts +20 -6
  168. package/lib/notification/NotificationService.d.ts.map +1 -1
  169. package/lib/notification/NotificationService.js +23 -14
  170. package/lib/notification/NotificationService.test.js +8 -0
  171. package/lib/secretStore/secretKeyGenerator.d.ts +1 -0
  172. package/lib/secretStore/secretKeyGenerator.d.ts.map +1 -1
  173. package/lib/secretStore/secretKeyGenerator.js +3 -1
  174. package/lib/self/SelfService.d.ts +2 -2
  175. package/lib/self/SelfService.d.ts.map +1 -1
  176. package/lib/self/SelfService.test.js +5 -2
  177. package/lib/team/TeamService.d.ts +5 -2
  178. package/lib/team/TeamService.d.ts.map +1 -1
  179. package/lib/team/TeamService.js +12 -2
  180. package/lib/test/StoreHelper.d.ts +2 -0
  181. package/lib/test/StoreHelper.d.ts.map +1 -0
  182. package/lib/test/StoreHelper.js +27 -0
  183. package/lib/user/UserService.d.ts +2 -2
  184. package/lib/user/UserService.d.ts.map +1 -1
  185. package/lib/user/UserService.js +3 -3
  186. package/lib/util/TypePredicateUtil.d.ts.map +1 -1
  187. package/lib/util/TypePredicateUtil.js +2 -2
  188. package/package.json +3 -3
  189. package/lib/messagingProtocols/mls/EventHandler/events/messageAdd/IncomingMessagesQueue/IncomingMesssagesQueue.d.ts +0 -4
  190. package/lib/messagingProtocols/mls/EventHandler/events/messageAdd/IncomingMessagesQueue/IncomingMesssagesQueue.d.ts.map +0 -1
  191. package/lib/messagingProtocols/mls/EventHandler/events/messageAdd/IncomingMessagesQueue/IncomingMesssagesQueue.js +0 -69
  192. package/lib/messagingProtocols/mls/EventHandler/events/messageAdd/IncomingMessagesQueue/index.d.ts +0 -2
  193. package/lib/messagingProtocols/mls/EventHandler/events/messageAdd/messageAdd.test.d.ts +0 -2
  194. package/lib/messagingProtocols/mls/EventHandler/events/messageAdd/messageAdd.test.d.ts.map +0 -1
  195. package/lib/messagingProtocols/mls/EventHandler/events/messageAdd/messageAdd.test.js +0 -98
@@ -1,7 +1,8 @@
1
- import { GenericMessage } from '@pydio/protocol-messaging';
2
- import { QualifiedUserClients, ConversationProtocol, MessageSendingStatus, Conversation } from '@wireapp/api-client/lib/conversation';
1
+ import { QualifiedUserClients, MessageSendingStatus, Conversation } from '@wireapp/api-client/lib/conversation';
3
2
  import { ConversationEvent, ConversationMemberJoinEvent } from '@wireapp/api-client/lib/event';
3
+ import { CONVERSATION_PROTOCOL } from '@wireapp/api-client/lib/team';
4
4
  import { QualifiedId } from '@wireapp/api-client/lib/user';
5
+ import { GenericMessage } from '@wireapp/protocol-messaging';
5
6
  import { MessageSendingState } from '..';
6
7
  export declare enum MessageTargetMode {
7
8
  NONE = 0,
@@ -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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"}
@@ -1 +1 @@
1
- {"version":3,"file":"getConversationQualifiedMembers.d.ts","sourceRoot":"","sources":["../../../../src/conversation/ConversationService/Utility/getConversationQualifiedMembers.ts"],"names":[],"mappings":"AAmBA,OAAO,EAAC,SAAS,EAAC,MAAM,mCAAmC,CAAC;AAC5D,OAAO,EAAC,WAAW,EAAC,MAAM,8BAA8B,CAAC;AAEzD,UAAU,MAAM;IACd,SAAS,EAAE,SAAS,CAAC;IACrB,cAAc,EAAE,WAAW,CAAC;CAC7B;AACD,QAAA,MAAM,+BAA+B,kCAAuC,MAAM,KAAG,OAAO,CAAC,WAAW,EAAE,CAWzG,CAAC;AAEF,OAAO,EAAC,+BAA+B,EAAC,CAAC"}
1
+ {"version":3,"file":"getConversationQualifiedMembers.d.ts","sourceRoot":"","sources":["../../../../src/conversation/ConversationService/Utility/getConversationQualifiedMembers.ts"],"names":[],"mappings":"AAmBA,OAAO,EAAC,SAAS,EAAC,MAAM,mCAAmC,CAAC;AAC5D,OAAO,EAAC,WAAW,EAAC,MAAM,8BAA8B,CAAC;AAEzD,UAAU,MAAM;IACd,SAAS,EAAE,SAAS,CAAC;IACrB,cAAc,EAAE,WAAW,CAAC;CAC7B;AAED,QAAA,MAAM,+BAA+B,kCAAuC,MAAM,KAAG,OAAO,CAAC,WAAW,EAAE,CAgBzG,CAAC;AAEF,OAAO,EAAC,+BAA+B,EAAC,CAAC"}
@@ -26,9 +26,12 @@ const getConversationQualifiedMembers = async ({ apiClient, conversationId }) =>
26
26
  * yourself in the list of users if you want to sync a message also to your
27
27
  * other clients.
28
28
  */
29
- return conversation.members.others
29
+ const filteredConversations = conversation.members.others
30
30
  .filter(member => !!member.qualified_id)
31
- .map(member => member.qualified_id)
32
- .concat(conversation.members.self.qualified_id);
31
+ .map(member => member.qualified_id);
32
+ if (conversation.members.self?.qualified_id) {
33
+ filteredConversations.push(conversation.members.self.qualified_id);
34
+ }
35
+ return filteredConversations;
33
36
  };
34
37
  exports.getConversationQualifiedMembers = getConversationQualifiedMembers;
@@ -1 +1 @@
1
- {"version":3,"file":"SubconversationService.d.ts","sourceRoot":"","sources":["../../../src/conversation/SubconversationService/SubconversationService.ts"],"names":[],"mappings":"AAmBA,OAAO,EAAC,kBAAkB,EAAkB,MAAM,sCAAsC,CAAC;AACzF,OAAO,EAAC,WAAW,EAAC,MAAM,8BAA8B,CAAC;AAGzD,OAAO,EAAC,SAAS,EAAC,MAAM,qBAAqB,CAAC;AAC9C,OAAO,EAAa,iBAAiB,EAAC,MAAM,kBAAkB,CAAC;AAI/D,OAAO,EAAC,UAAU,EAAC,MAAM,8BAA8B,CAAC;AACxD,OAAO,EAAC,YAAY,EAAC,MAAM,sBAAsB,CAAC;AAGlD,KAAK,MAAM,GAAG;IACZ,wBAAwB,EAAE;QAAC,cAAc,EAAE,WAAW,CAAA;KAAC,CAAC;CACzD,CAAC;AAEF,MAAM,WAAW,8BAA8B;IAC7C,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,OAAO,CAAC;CACrB;AAID,qBAAa,sBAAuB,SAAQ,iBAAiB,CAAC,MAAM,CAAC;IAIjE,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,YAAY;IAC7B,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC;IAL/B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAgE;gBAGpE,SAAS,EAAE,SAAS,EACpB,YAAY,EAAE,YAAY,EAC1B,WAAW,CAAC,EAAE,UAAU,YAAA;IAK3C,IAAI,UAAU,IAAI,UAAU,CAK3B;IAED;;;;;;OAMG;IACU,6BAA6B,CACxC,cAAc,EAAE,WAAW,EAC3B,OAAO,EAAE,MAAM,EACf,WAAW,UAAO,GACjB,OAAO,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAC,CAAC;IAiD5C;;;;OAIG;IACU,8BAA8B,CAAC,cAAc,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IAyB1E,oCAAoC,IAAI,OAAO,CAAC,IAAI,CAAC;IAQrD,2BAA2B,CACtC,oBAAoB,EAAE,WAAW,EACjC,yBAAyB,EAAE,MAAM,EACjC,kBAAkB,UAAQ,GACzB,OAAO,CAAC;QACT,OAAO,EAAE,8BAA8B,EAAE,CAAC;QAC1C,KAAK,EAAE,MAAM,CAAC;QACd,SAAS,EAAE,MAAM,CAAC;QAClB,SAAS,EAAE,MAAM,CAAC;KACnB,GAAG,IAAI,CAAC;IAoCI,uBAAuB,CAClC,oBAAoB,EAAE,WAAW,EACjC,yBAAyB,EAAE,MAAM,EACjC,yBAAyB,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,WAAW,GAAG,SAAS,EACvE,aAAa,EAAE,CAAC,IAAI,EAAE;QACpB,OAAO,EAAE,8BAA8B,EAAE,CAAC;QAC1C,KAAK,EAAE,MAAM,CAAC;QACd,SAAS,EAAE,MAAM,CAAC;QAClB,SAAS,EAAE,MAAM,CAAC;KACnB,KAAK,IAAI,GACT,OAAO,CAAC,MAAM,IAAI,CAAC;IAiDT,yCAAyC,CACpD,cAAc,EAAE,WAAW,EAC3B,cAAc,EAAE;QAAC,IAAI,EAAE,WAAW,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAC,GACpD,OAAO,CAAC,IAAI,CAAC;YAgCF,mCAAmC;YAMnC,4BAA4B;YAI5B,+BAA+B;YAO/B,8BAA8B;IAwBrC,yBAAyB,yBACR,WAAW,qBACd,kBAAkB,KACpC,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAO5B;IAEK,iCAAiC,sBACnB,kBAAkB,KACpC,OAAO,CACR;QACE,oBAAoB,EAAE,WAAW,CAAC;QAClC,iBAAiB,EAAE,kBAAkB,CAAC;QACtC,OAAO,EAAE,MAAM,CAAC;KACjB,EAAE,CACJ,CAOC;IAEK,0BAA0B,yBACT,WAAW,qBACd,kBAAkB,WAC5B,MAAM,qBAOf;IAEK,2BAA2B,yBACV,WAAW,qBACd,kBAAkB,mBAMrC;CACH"}
1
+ {"version":3,"file":"SubconversationService.d.ts","sourceRoot":"","sources":["../../../src/conversation/SubconversationService/SubconversationService.ts"],"names":[],"mappings":"AAmBA,OAAO,EAAC,kBAAkB,EAAkB,MAAM,sCAAsC,CAAC;AACzF,OAAO,EAAC,WAAW,EAAC,MAAM,8BAA8B,CAAC;AAGzD,OAAO,EAAC,SAAS,EAAC,MAAM,qBAAqB,CAAC;AAC9C,OAAO,EAAa,iBAAiB,EAAC,MAAM,kBAAkB,CAAC;AAI/D,OAAO,EAAC,UAAU,EAAmB,MAAM,8BAA8B,CAAC;AAC1E,OAAO,EAAC,YAAY,EAAC,MAAM,sBAAsB,CAAC;AAGlD,KAAK,MAAM,GAAG;IACZ,wBAAwB,EAAE;QAAC,cAAc,EAAE,WAAW,CAAA;KAAC,CAAC;CACzD,CAAC;AAEF,MAAM,WAAW,8BAA8B;IAC7C,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,OAAO,CAAC;CACrB;AAID,qBAAa,sBAAuB,SAAQ,iBAAiB,CAAC,MAAM,CAAC;IAIjE,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,YAAY;IAC7B,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC;IAL/B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAgE;gBAGpE,SAAS,EAAE,SAAS,EACpB,YAAY,EAAE,YAAY,EAC1B,WAAW,CAAC,EAAE,UAAU,YAAA;IAK3C,IAAI,UAAU,IAAI,UAAU,CAK3B;IAED;;;;;;OAMG;IACU,6BAA6B,CACxC,cAAc,EAAE,WAAW,EAC3B,OAAO,EAAE,MAAM,EACf,WAAW,UAAO,GACjB,OAAO,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAC,CAAC;IAmD5C;;;;OAIG;IACU,8BAA8B,CAAC,cAAc,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IA0C1E,oCAAoC,IAAI,OAAO,CAAC,IAAI,CAAC;IAYrD,2BAA2B,CACtC,oBAAoB,EAAE,WAAW,EACjC,yBAAyB,EAAE,MAAM,EACjC,kBAAkB,UAAQ,GACzB,OAAO,CAAC;QACT,OAAO,EAAE,8BAA8B,EAAE,CAAC;QAC1C,KAAK,EAAE,MAAM,CAAC;QACd,SAAS,EAAE,MAAM,CAAC;QAClB,SAAS,EAAE,MAAM,CAAC;KACnB,GAAG,IAAI,CAAC;IAqDI,uBAAuB,CAClC,oBAAoB,EAAE,WAAW,EACjC,yBAAyB,EAAE,MAAM,EACjC,yBAAyB,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,WAAW,GAAG,SAAS,EACvE,aAAa,EAAE,CAAC,IAAI,EAAE;QACpB,OAAO,EAAE,8BAA8B,EAAE,CAAC;QAC1C,KAAK,EAAE,MAAM,CAAC;QACd,SAAS,EAAE,MAAM,CAAC;QAClB,SAAS,EAAE,MAAM,CAAC;KACnB,KAAK,IAAI,GACT,OAAO,CAAC,MAAM,IAAI,CAAC;IAqET,yCAAyC,CACpD,cAAc,EAAE,WAAW,EAC3B,cAAc,EAAE;QAAC,IAAI,EAAE,WAAW,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAC,GACpD,OAAO,CAAC,IAAI,CAAC;YA2DF,mCAAmC;YAgBnC,4BAA4B;YAU5B,+BAA+B;YAiB/B,8BAA8B;IAkCrC,yBAAyB,yBACR,WAAW,qBACd,kBAAkB,KACpC,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAW5B;IAEK,iCAAiC,sBACnB,kBAAkB,KACpC,OAAO,CACR;QACE,oBAAoB,EAAE,WAAW,CAAC;QAClC,iBAAiB,EAAE,kBAAkB,CAAC;QACtC,OAAO,EAAE,MAAM,CAAC;KACjB,EAAE,CACJ,CAWC;IAEK,0BAA0B,yBACT,WAAW,qBACd,kBAAkB,WAC5B,MAAM,qBAYf;IAEK,2BAA2B,yBACV,WAAW,qBACd,kBAAkB,mBAUrC;CACH"}
@@ -23,6 +23,7 @@ const conversation_1 = require("@wireapp/api-client/lib/conversation");
23
23
  const TimeUtil_1 = require("@wireapp/commons/lib/util/TimeUtil");
24
24
  const commons_1 = require("@wireapp/commons");
25
25
  const subconversationUtil_1 = require("./subconversationUtil");
26
+ const mls_1 = require("../../messagingProtocols/mls");
26
27
  const fullyQualifiedClientIdUtils_1 = require("../../util/fullyQualifiedClientIdUtils");
27
28
  const MLS_CONVERSATION_KEY_LENGTH = 32;
28
29
  class SubconversationService extends commons_1.TypedEventEmitter {
@@ -51,7 +52,10 @@ class SubconversationService extends commons_1.TypedEventEmitter {
51
52
  */
52
53
  async joinConferenceSubconversation(conversationId, groupId, shouldRetry = true) {
53
54
  try {
55
+ this.logger.info('Joining conference subconversation', { conversationId, groupId });
54
56
  const { group_id: subconversationGroupId, epoch: subconversationEpoch, epoch_timestamp: subconversationEpochTimestamp, subconv_id: subconversationId, } = await this.getConferenceSubconversation(conversationId);
57
+ // We store the mapping between the subconversation and the parent conversation
58
+ await this.saveSubconversationGroupId(conversationId, subconversationId, subconversationGroupId);
55
59
  if (subconversationEpoch === 0) {
56
60
  const doesConversationExistsLocally = await this.mlsService.conversationExists(subconversationGroupId);
57
61
  if (doesConversationExistsLocally) {
@@ -75,11 +79,10 @@ class SubconversationService extends commons_1.TypedEventEmitter {
75
79
  await this.joinSubconversationByExternalCommit(conversationId, conversation_1.SUBCONVERSATION_ID.CONFERENCE);
76
80
  }
77
81
  const epoch = Number(await this.mlsService.getEpoch(subconversationGroupId));
78
- // We store the mapping between the subconversation and the parent conversation
79
- await this.saveSubconversationGroupId(conversationId, subconversationId, subconversationGroupId);
80
82
  return { groupId: subconversationGroupId, epoch };
81
83
  }
82
84
  catch (error) {
85
+ this.logger.error('Failed to join conference subconversation', { conversationId, groupId, error, shouldRetry });
83
86
  if (shouldRetry) {
84
87
  return this.joinConferenceSubconversation(conversationId, groupId, false);
85
88
  }
@@ -92,87 +95,159 @@ class SubconversationService extends commons_1.TypedEventEmitter {
92
95
  * @param conversationId Id of the parent conversation which subconversation we want to leave
93
96
  */
94
97
  async leaveConferenceSubconversation(conversationId) {
98
+ this.logger.info('Leaving conference subconversation', { conversationId });
95
99
  const subconversationGroupId = await this.getSubconversationGroupId(conversationId, conversation_1.SUBCONVERSATION_ID.CONFERENCE);
96
100
  if (!subconversationGroupId) {
101
+ this.logger.warn('No subconversation groupId found when leaving conference subconversation', { conversationId });
97
102
  return;
98
103
  }
99
104
  const doesGroupExistLocally = await this.mlsService.conversationExists(subconversationGroupId);
100
105
  if (!doesGroupExistLocally) {
101
106
  // If the subconversation was known by a client but is does not exist locally, we can remove it from the store.
107
+ this.logger.info('Subconversation not found locally; clearing stored mapping', {
108
+ conversationId,
109
+ subconversationId: conversation_1.SUBCONVERSATION_ID.CONFERENCE,
110
+ subconversationGroupId,
111
+ });
102
112
  return this.clearSubconversationGroupId(conversationId, conversation_1.SUBCONVERSATION_ID.CONFERENCE);
103
113
  }
104
114
  try {
105
115
  await this.apiClient.api.conversation.deleteSubconversationSelf(conversationId, conversation_1.SUBCONVERSATION_ID.CONFERENCE);
106
116
  }
107
117
  catch (error) {
108
- this.logger.error(`Failed to leave conference subconversation:`, error);
118
+ this.logger.error('Failed to leave conference subconversation', {
119
+ conversationId,
120
+ subconversationId: conversation_1.SUBCONVERSATION_ID.CONFERENCE,
121
+ subconversationGroupId,
122
+ error,
123
+ });
109
124
  }
110
125
  await this.mlsService.wipeConversation(subconversationGroupId);
111
126
  // once we've left the subconversation, we can remove it from the store
127
+ this.logger.info('Clearing stored mapping after leaving conference subconversation', {
128
+ conversationId,
129
+ subconversationId: conversation_1.SUBCONVERSATION_ID.CONFERENCE,
130
+ subconversationGroupId,
131
+ });
112
132
  await this.clearSubconversationGroupId(conversationId, conversation_1.SUBCONVERSATION_ID.CONFERENCE);
113
133
  }
114
134
  async leaveStaleConferenceSubconversations() {
135
+ this.logger.info('Leaving all stale conference subconversations');
115
136
  const conversationIds = await this.getAllGroupIdsBySubconversationId(conversation_1.SUBCONVERSATION_ID.CONFERENCE);
116
137
  for (const { parentConversationId } of conversationIds) {
138
+ this.logger.debug('Leaving stale conference subconversation for parent conversation', {
139
+ parentConversationId,
140
+ });
117
141
  await this.leaveConferenceSubconversation(parentConversationId);
118
142
  }
119
143
  }
120
144
  async getSubconversationEpochInfo(parentConversationId, parentConversationGroupId, shouldAdvanceEpoch = false) {
145
+ this.logger.info('Getting subconversation epoch info', {
146
+ parentConversationId,
147
+ parentConversationGroupId,
148
+ shouldAdvanceEpoch,
149
+ });
121
150
  const subconversationGroupId = await this.getSubconversationGroupId(parentConversationId, conversation_1.SUBCONVERSATION_ID.CONFERENCE);
122
151
  // this method should not be called if the subconversation (and its parent conversation) is not established
123
152
  if (!subconversationGroupId) {
124
- this.logger.error(`Could not obtain epoch info for conference subconversation of conversation ${JSON.stringify(parentConversationId)}: parent or subconversation group ID is missing`);
153
+ this.logger.error('Could not obtain epoch info for conference subconversation: missing groupId', {
154
+ parentConversationId,
155
+ });
125
156
  return null;
126
157
  }
127
158
  //we don't want to react to avs callbacks when conversation was not yet established
128
159
  const doesMLSGroupExist = await this.mlsService.conversationExists(subconversationGroupId);
129
160
  if (!doesMLSGroupExist) {
161
+ this.logger.debug('Subconversation MLS group does not exist locally; skipping epoch info', {
162
+ parentConversationId,
163
+ parentConversationGroupId,
164
+ subconversationGroupId,
165
+ });
130
166
  return null;
131
167
  }
132
168
  const members = await this.generateSubconversationMembers(subconversationGroupId, parentConversationGroupId);
133
169
  if (shouldAdvanceEpoch) {
170
+ this.logger.info('Advancing epoch and renewing key material for subconversation', { subconversationGroupId });
134
171
  await this.mlsService.renewKeyMaterial(subconversationGroupId);
135
172
  }
136
173
  const epoch = Number(await this.mlsService.getEpoch(subconversationGroupId));
137
174
  const secretKey = await this.mlsService.exportSecretKey(subconversationGroupId, MLS_CONVERSATION_KEY_LENGTH);
175
+ this.logger.debug('Obtained subconversation epoch info', {
176
+ parentConversationId,
177
+ parentConversationGroupId,
178
+ subconversationGroupId,
179
+ epoch,
180
+ membersCount: members.length,
181
+ keyLength: MLS_CONVERSATION_KEY_LENGTH,
182
+ });
138
183
  return { members, epoch, keyLength: MLS_CONVERSATION_KEY_LENGTH, secretKey };
139
184
  }
140
185
  async subscribeToEpochUpdates(parentConversationId, parentConversationGroupId, findConversationByGroupId, onEpochUpdate) {
186
+ this.logger.info('Subscribing to subconversation epoch updates', {
187
+ parentConversationId,
188
+ parentConversationGroupId,
189
+ });
141
190
  const { epoch: initialEpoch, groupId: subconversationGroupId } = await this.joinConferenceSubconversation(parentConversationId, parentConversationGroupId);
142
191
  const forwardNewEpoch = async ({ groupId }) => {
192
+ this.logger.debug('Received MLS NEW_EPOCH event', { eventGroupId: groupId, subconversationGroupId });
143
193
  if (groupId !== subconversationGroupId) {
144
194
  // if the epoch update did not happen in the subconversation directly, check if it happened in the parent conversation
145
195
  const parentConversationId = findConversationByGroupId(groupId);
146
196
  if (!parentConversationId) {
197
+ this.logger.debug('Ignoring NEW_EPOCH event: could not map to parent conversation');
147
198
  return;
148
199
  }
149
200
  const foundSubconversationGroupId = await this.getSubconversationGroupId(parentConversationId, conversation_1.SUBCONVERSATION_ID.CONFERENCE);
150
201
  // if the conference subconversation of parent conversation is not known, ignore the epoch update
151
202
  if (foundSubconversationGroupId !== subconversationGroupId) {
203
+ this.logger.debug('Ignoring NEW_EPOCH event: not related to subscribed subconversation', {
204
+ eventGroupId: groupId,
205
+ foundSubconversationGroupId,
206
+ expectedSubconversationGroupId: subconversationGroupId,
207
+ });
152
208
  return;
153
209
  }
154
210
  }
155
211
  const subconversationEpochInfo = await this.getSubconversationEpochInfo(parentConversationId, parentConversationGroupId);
156
212
  if (!subconversationEpochInfo) {
213
+ this.logger.debug('No subconversation epoch info available; skipping callback', {
214
+ parentConversationId,
215
+ parentConversationGroupId,
216
+ });
157
217
  return;
158
218
  }
159
219
  const newSubconversationEpoch = Number(await this.mlsService.getEpoch(subconversationGroupId));
220
+ this.logger.info('Forwarding epoch update to subscriber', {
221
+ subconversationGroupId,
222
+ epoch: newSubconversationEpoch,
223
+ });
160
224
  return onEpochUpdate({
161
225
  ...subconversationEpochInfo,
162
226
  epoch: newSubconversationEpoch,
163
227
  });
164
228
  };
165
- this.mlsService.on('newEpoch', forwardNewEpoch);
229
+ this.mlsService.on(mls_1.MLSServiceEvents.NEW_EPOCH, forwardNewEpoch);
166
230
  await forwardNewEpoch({ groupId: subconversationGroupId, epoch: initialEpoch });
167
- return () => this.mlsService.off('newEpoch', forwardNewEpoch);
231
+ this.logger.info('Subscribed to MLS NEW_EPOCH events for subconversation', { subconversationGroupId });
232
+ return () => this.mlsService.off(mls_1.MLSServiceEvents.NEW_EPOCH, forwardNewEpoch);
168
233
  }
169
234
  async removeClientFromConferenceSubconversation(conversationId, clientToRemove) {
235
+ this.logger.info('Removing client from conference subconversation', {
236
+ conversationId,
237
+ user: clientToRemove.user,
238
+ clientId: clientToRemove.clientId,
239
+ });
170
240
  const subconversationGroupId = await this.getSubconversationGroupId(conversationId, conversation_1.SUBCONVERSATION_ID.CONFERENCE);
171
241
  if (!subconversationGroupId) {
242
+ this.logger.warn('Cannot remove client: subconversation groupId missing', { conversationId });
172
243
  return;
173
244
  }
174
245
  const doesMLSGroupExist = await this.mlsService.conversationExists(subconversationGroupId);
175
246
  if (!doesMLSGroupExist) {
247
+ this.logger.debug('Cannot remove client: subconversation MLS group does not exist locally', {
248
+ conversationId,
249
+ subconversationGroupId,
250
+ });
176
251
  return;
177
252
  }
178
253
  const { user: { id: userId, domain }, clientId, } = clientToRemove;
@@ -180,23 +255,70 @@ class SubconversationService extends commons_1.TypedEventEmitter {
180
255
  const subconversationMembers = await this.mlsService.getClientIds(subconversationGroupId);
181
256
  const isSubconversationMember = subconversationMembers.some(({ userId, clientId, domain }) => (0, fullyQualifiedClientIdUtils_1.constructFullyQualifiedClientId)(userId, clientId, domain) === clientToRemoveQualifiedId);
182
257
  if (!isSubconversationMember) {
258
+ this.logger.info('Client is not a member of the subconversation; nothing to remove', {
259
+ conversationId,
260
+ subconversationGroupId,
261
+ clientToRemoveQualifiedId,
262
+ });
183
263
  return;
184
264
  }
185
- return void this.mlsService.removeClientsFromConversation(subconversationGroupId, [clientToRemoveQualifiedId]);
265
+ this.logger.info('Removing client from subconversation', {
266
+ subconversationGroupId,
267
+ clientToRemoveQualifiedId,
268
+ });
269
+ try {
270
+ await this.mlsService.removeClientsFromConversation(subconversationGroupId, [clientToRemoveQualifiedId]);
271
+ }
272
+ catch (error) {
273
+ this.logger.error('Failed to remove client from subconversation', {
274
+ subconversationGroupId,
275
+ clientToRemoveQualifiedId,
276
+ error,
277
+ });
278
+ }
186
279
  }
187
280
  async joinSubconversationByExternalCommit(conversationId, subconversation) {
188
- await this.mlsService.joinByExternalCommit(() => this.apiClient.api.conversation.getSubconversationGroupInfo(conversationId, subconversation));
281
+ try {
282
+ this.logger.info('Joining subconversation by external commit', { conversationId, subconversation });
283
+ await this.mlsService.joinByExternalCommit(() => this.apiClient.api.conversation.getSubconversationGroupInfo(conversationId, subconversation));
284
+ }
285
+ catch (error) {
286
+ this.logger.error('Failed to join subconversation by external commit', {
287
+ conversationId,
288
+ subconversation,
289
+ error,
290
+ });
291
+ throw error;
292
+ }
189
293
  }
190
294
  async getConferenceSubconversation(conversationId) {
191
- return this.apiClient.api.conversation.getSubconversation(conversationId, conversation_1.SUBCONVERSATION_ID.CONFERENCE);
295
+ this.logger.debug('Fetching conference subconversation metadata', { conversationId });
296
+ try {
297
+ return await this.apiClient.api.conversation.getSubconversation(conversationId, conversation_1.SUBCONVERSATION_ID.CONFERENCE);
298
+ }
299
+ catch (error) {
300
+ this.logger.error('Failed to fetch conference subconversation metadata', { conversationId, error });
301
+ throw error;
302
+ }
192
303
  }
193
304
  async deleteConferenceSubconversation(conversationId, data) {
194
- return this.apiClient.api.conversation.deleteSubconversation(conversationId, conversation_1.SUBCONVERSATION_ID.CONFERENCE, data);
305
+ this.logger.info('Deleting conference subconversation', { conversationId, data });
306
+ try {
307
+ return await this.apiClient.api.conversation.deleteSubconversation(conversationId, conversation_1.SUBCONVERSATION_ID.CONFERENCE, data);
308
+ }
309
+ catch (error) {
310
+ this.logger.error('Failed to delete conference subconversation', { conversationId, data, error });
311
+ throw error;
312
+ }
195
313
  }
196
314
  async generateSubconversationMembers(subconversationGroupId, parentGroupId) {
315
+ this.logger.debug('Generating subconversation members info', {
316
+ subconversationGroupId,
317
+ parentGroupId,
318
+ });
197
319
  const subconversationMemberIds = await this.mlsService.getClientIds(subconversationGroupId);
198
320
  const parentMemberIds = await this.mlsService.getClientIds(parentGroupId);
199
- return parentMemberIds.map(parentMember => {
321
+ const members = parentMemberIds.map(parentMember => {
200
322
  const isSubconversationMember = subconversationMemberIds.some(({ userId, clientId, domain }) => (0, fullyQualifiedClientIdUtils_1.constructFullyQualifiedClientId)(userId, clientId, domain) ===
201
323
  (0, fullyQualifiedClientIdUtils_1.constructFullyQualifiedClientId)(parentMember.userId, parentMember.clientId, parentMember.domain));
202
324
  return {
@@ -207,20 +329,45 @@ class SubconversationService extends commons_1.TypedEventEmitter {
207
329
  in_subconv: isSubconversationMember,
208
330
  };
209
331
  });
332
+ this.logger.debug('Generated subconversation members info', {
333
+ subconversationGroupId,
334
+ parentGroupId,
335
+ membersCount: members.length,
336
+ });
337
+ return members;
210
338
  }
211
339
  getSubconversationGroupId = async (parentConversationId, subconversationId) => {
212
340
  const foundSubconversation = await this.coreDatabase.get('subconversations', (0, subconversationUtil_1.generateSubconversationStoreKey)(parentConversationId, subconversationId));
341
+ this.logger.debug('Loaded subconversation groupId from store', {
342
+ parentConversationId,
343
+ subconversationId,
344
+ found: Boolean(foundSubconversation?.groupId),
345
+ });
213
346
  return foundSubconversation?.groupId;
214
347
  };
215
348
  getAllGroupIdsBySubconversationId = async (subconversationId) => {
349
+ this.logger.debug('Retrieving all subconversations by subconversationId', { subconversationId });
216
350
  const allSubconversations = await this.coreDatabase.getAll('subconversations');
217
351
  const foundSubconversations = allSubconversations.filter(subconversation => subconversation.subconversationId === subconversationId);
352
+ this.logger.debug('Found subconversations by id', {
353
+ subconversationId,
354
+ count: foundSubconversations.length,
355
+ });
218
356
  return foundSubconversations;
219
357
  };
220
358
  saveSubconversationGroupId = async (parentConversationId, subconversationId, groupId) => {
359
+ this.logger.debug('Saving subconversation groupId mapping', {
360
+ parentConversationId,
361
+ subconversationId,
362
+ groupId,
363
+ });
221
364
  return this.coreDatabase.put('subconversations', { parentConversationId, subconversationId, groupId }, (0, subconversationUtil_1.generateSubconversationStoreKey)(parentConversationId, subconversationId));
222
365
  };
223
366
  clearSubconversationGroupId = async (parentConversationId, subconversationId) => {
367
+ this.logger.debug('Clearing subconversation groupId mapping', {
368
+ parentConversationId,
369
+ subconversationId,
370
+ });
224
371
  return this.coreDatabase.delete('subconversations', (0, subconversationUtil_1.generateSubconversationStoreKey)(parentConversationId, subconversationId));
225
372
  };
226
373
  }
@@ -22,6 +22,7 @@ const conversation_1 = require("@wireapp/api-client/lib/conversation");
22
22
  const http_1 = require("@wireapp/api-client/lib/http");
23
23
  const api_client_1 = require("@wireapp/api-client");
24
24
  const SubconversationService_1 = require("./SubconversationService");
25
+ const mls_1 = require("../../messagingProtocols/mls");
25
26
  const CoreDB_1 = require("../../storage/CoreDB");
26
27
  const fullyQualifiedClientIdUtils_1 = require("../../util/fullyQualifiedClientIdUtils");
27
28
  const getSubconversationResponse = ({ epoch, epochTimestamp, parentConversationId, groupId, members = [], subconversationId = conversation_1.SUBCONVERSATION_ID.CONFERENCE, }) => {
@@ -35,8 +36,10 @@ const getSubconversationResponse = ({ epoch, epochTimestamp, parentConversationI
35
36
  epoch_timestamp: epochTimestamp,
36
37
  };
37
38
  };
39
+ const apiClients = [];
38
40
  const buildSubconversationService = async (isFederated = false) => {
39
41
  const apiClient = new api_client_1.APIClient({ urls: api_client_1.APIClient.BACKEND.STAGING });
42
+ apiClients.push(apiClient);
40
43
  apiClient.backendFeatures.isFederated = isFederated;
41
44
  const mlsService = {
42
45
  conversationExists: jest.fn(),
@@ -57,6 +60,9 @@ const buildSubconversationService = async (isFederated = false) => {
57
60
  return [subconversationService, { apiClient, mlsService, coreDatabase }];
58
61
  };
59
62
  describe('SubconversationService', () => {
63
+ afterAll(() => {
64
+ apiClients.forEach(client => client.disconnect());
65
+ });
60
66
  describe('joinConferenceSubconversation', () => {
61
67
  afterEach(() => {
62
68
  jest.useRealTimers();
@@ -313,11 +319,11 @@ describe('SubconversationService', () => {
313
319
  const onEpochUpdateCallback = jest.fn();
314
320
  const unsubscribe = await subconversationService.subscribeToEpochUpdates(parentConversationId, parentConversationGroupId, findConversationByGroupId, onEpochUpdateCallback);
315
321
  expect(mlsService.getEpoch).toHaveBeenCalledWith(subconversationGroupId);
316
- expect(mlsService.on).toHaveBeenCalledWith('newEpoch', expect.any(Function));
322
+ expect(mlsService.on).toHaveBeenCalledWith(mls_1.MLSServiceEvents.NEW_EPOCH, expect.any(Function));
317
323
  expect(subconversationService.getSubconversationEpochInfo).toHaveBeenCalledWith(parentConversationId, parentConversationGroupId);
318
324
  expect(onEpochUpdateCallback).toHaveBeenCalledWith(mockedEpochInfo);
319
325
  unsubscribe();
320
- expect(mlsService.off).toHaveBeenCalledWith('newEpoch', expect.any(Function));
326
+ expect(mlsService.off).toHaveBeenCalledWith(mls_1.MLSServiceEvents.NEW_EPOCH, expect.any(Function));
321
327
  });
322
328
  });
323
329
  describe('removeClientFromConferenceSubconversation', () => {
@@ -1,4 +1,4 @@
1
- import { Asset } from '@pydio/protocol-messaging';
1
+ import { Asset } from '@wireapp/protocol-messaging';
2
2
  import { AbortReason, AssetTransferState } from '..';
3
3
  import { EncryptedAssetUploaded } from '../../cryptography';
4
4
  import { FileContent, FileMetaDataContent, ImageContent, LegalHoldStatus } from '.';
@@ -1 +1 @@
1
- {"version":3,"file":"AssetContent.d.ts","sourceRoot":"","sources":["../../../src/conversation/content/AssetContent.ts"],"names":[],"mappings":"AAmBA,OAAO,EAAC,KAAK,EAAC,MAAM,2BAA2B,CAAC;AAEhD,OAAO,EAAC,WAAW,EAAE,kBAAkB,EAAC,MAAM,IAAI,CAAC;AACnD,OAAO,EAAC,sBAAsB,EAAC,MAAM,oBAAoB,CAAC;AAE1D,OAAO,EAAC,WAAW,EAAE,mBAAmB,EAAE,YAAY,EAAE,eAAe,EAAC,MAAM,GAAG,CAAC;AAElF,MAAM,MAAM,aAAa,GAAG,KAAK,CAAC,cAAc,CAAC;AACjD,MAAM,MAAM,aAAa,GAAG,KAAK,CAAC,cAAc,CAAC;AACjD,MAAM,MAAM,OAAO,GAAG,KAAK,CAAC,QAAQ,CAAC;AACrC,MAAM,MAAM,QAAQ,GAAG,KAAK,CAAC,SAAS,CAAC;AAEvC,MAAM,WAAW,SAAS;IACxB,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC,eAAe,CAAC,EAAE,eAAe,CAAC;CACnC;AAGD,MAAM,WAAW,YAAa,SAAQ,SAAS;IAC7C,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,MAAM,CAAC,EAAE,kBAAkB,CAAC;IAC5B,QAAQ,CAAC,EAAE,UAAU,CAAC;CACvB;AAED,MAAM,WAAW,UAAW,SAAQ,KAAK,CAAC,WAAW;IACnD,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,UAAU,GAAG,MAAM,CAAC;IAC5B,MAAM,EAAE,UAAU,GAAG,MAAM,CAAC;CAC7B;AAED,MAAM,WAAW,aAAc,SAAQ,IAAI,CAAC,KAAK,CAAC,cAAc,EAAE,oBAAoB,CAAC;IACrF,kBAAkB,CAAC,EAAE,UAAU,GAAG,MAAM,GAAG,IAAI,CAAC;CACjD;AAED,MAAM,WAAW,iBAAkB,SAAQ,SAAS;IAClD,KAAK,EAAE,sBAAsB,CAAC;IAC9B,KAAK,EAAE,YAAY,CAAC;CACrB;AAED,MAAM,WAAW,gBAAiB,SAAQ,SAAS;IACjD,KAAK,EAAE,sBAAsB,CAAC;IAC9B,IAAI,EAAE,WAAW,CAAC;IAClB,QAAQ,EAAE,mBAAmB,CAAC;CAC/B;AAED,MAAM,WAAW,wBAAyB,SAAQ,SAAS;IACzD,QAAQ,EAAE,mBAAmB,CAAC;CAC/B;AAED,MAAM,WAAW,qBAAsB,SAAQ,SAAS;IACtD,MAAM,EAAE,WAAW,CAAC;CACrB"}
1
+ {"version":3,"file":"AssetContent.d.ts","sourceRoot":"","sources":["../../../src/conversation/content/AssetContent.ts"],"names":[],"mappings":"AAmBA,OAAO,EAAC,KAAK,EAAC,MAAM,6BAA6B,CAAC;AAElD,OAAO,EAAC,WAAW,EAAE,kBAAkB,EAAC,MAAM,IAAI,CAAC;AACnD,OAAO,EAAC,sBAAsB,EAAC,MAAM,oBAAoB,CAAC;AAE1D,OAAO,EAAC,WAAW,EAAE,mBAAmB,EAAE,YAAY,EAAE,eAAe,EAAC,MAAM,GAAG,CAAC;AAElF,MAAM,MAAM,aAAa,GAAG,KAAK,CAAC,cAAc,CAAC;AACjD,MAAM,MAAM,aAAa,GAAG,KAAK,CAAC,cAAc,CAAC;AACjD,MAAM,MAAM,OAAO,GAAG,KAAK,CAAC,QAAQ,CAAC;AACrC,MAAM,MAAM,QAAQ,GAAG,KAAK,CAAC,SAAS,CAAC;AAEvC,MAAM,WAAW,SAAS;IACxB,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC,eAAe,CAAC,EAAE,eAAe,CAAC;CACnC;AAGD,MAAM,WAAW,YAAa,SAAQ,SAAS;IAC7C,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,MAAM,CAAC,EAAE,kBAAkB,CAAC;IAC5B,QAAQ,CAAC,EAAE,UAAU,CAAC;CACvB;AAED,MAAM,WAAW,UAAW,SAAQ,KAAK,CAAC,WAAW;IACnD,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,UAAU,GAAG,MAAM,CAAC;IAC5B,MAAM,EAAE,UAAU,GAAG,MAAM,CAAC;CAC7B;AAED,MAAM,WAAW,aAAc,SAAQ,IAAI,CAAC,KAAK,CAAC,cAAc,EAAE,oBAAoB,CAAC;IACrF,kBAAkB,CAAC,EAAE,UAAU,GAAG,MAAM,GAAG,IAAI,CAAC;CACjD;AAED,MAAM,WAAW,iBAAkB,SAAQ,SAAS;IAClD,KAAK,EAAE,sBAAsB,CAAC;IAC9B,KAAK,EAAE,YAAY,CAAC;CACrB;AAED,MAAM,WAAW,gBAAiB,SAAQ,SAAS;IACjD,KAAK,EAAE,sBAAsB,CAAC;IAC9B,IAAI,EAAE,WAAW,CAAC;IAClB,QAAQ,EAAE,mBAAmB,CAAC;CAC/B;AAED,MAAM,WAAW,wBAAyB,SAAQ,SAAS;IACzD,QAAQ,EAAE,mBAAmB,CAAC;CAC/B;AAED,MAAM,WAAW,qBAAsB,SAAQ,SAAS;IACtD,MAAM,EAAE,WAAW,CAAC;CACrB"}
@@ -1,3 +1,3 @@
1
- import { IButtonActionConfirmation } from '@pydio/protocol-messaging';
1
+ import { IButtonActionConfirmation } from '@wireapp/protocol-messaging';
2
2
  export { IButtonActionConfirmation as ButtonActionConfirmationContent };
3
3
  //# sourceMappingURL=ButtonActionConfirmationContent.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ButtonActionConfirmationContent.d.ts","sourceRoot":"","sources":["../../../src/conversation/content/ButtonActionConfirmationContent.ts"],"names":[],"mappings":"AAmBA,OAAO,EAAC,yBAAyB,EAAC,MAAM,2BAA2B,CAAC;AACpE,OAAO,EAAC,yBAAyB,IAAI,+BAA+B,EAAC,CAAC"}
1
+ {"version":3,"file":"ButtonActionConfirmationContent.d.ts","sourceRoot":"","sources":["../../../src/conversation/content/ButtonActionConfirmationContent.ts"],"names":[],"mappings":"AAmBA,OAAO,EAAC,yBAAyB,EAAC,MAAM,6BAA6B,CAAC;AACtE,OAAO,EAAC,yBAAyB,IAAI,+BAA+B,EAAC,CAAC"}
@@ -1,3 +1,3 @@
1
- import { IButtonAction } from '@pydio/protocol-messaging';
1
+ import { IButtonAction } from '@wireapp/protocol-messaging';
2
2
  export { IButtonAction as ButtonActionContent };
3
3
  //# sourceMappingURL=ButtonActionContent.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ButtonActionContent.d.ts","sourceRoot":"","sources":["../../../src/conversation/content/ButtonActionContent.ts"],"names":[],"mappings":"AAmBA,OAAO,EAAC,aAAa,EAAC,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAC,aAAa,IAAI,mBAAmB,EAAC,CAAC"}
1
+ {"version":3,"file":"ButtonActionContent.d.ts","sourceRoot":"","sources":["../../../src/conversation/content/ButtonActionContent.ts"],"names":[],"mappings":"AAmBA,OAAO,EAAC,aAAa,EAAC,MAAM,6BAA6B,CAAC;AAC1D,OAAO,EAAC,aAAa,IAAI,mBAAmB,EAAC,CAAC"}
@@ -1,3 +1,3 @@
1
- import { ICleared } from '@pydio/protocol-messaging';
1
+ import { ICleared } from '@wireapp/protocol-messaging';
2
2
  export { ICleared as ClearedContent };
3
3
  //# sourceMappingURL=ClearedContent.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ClearedContent.d.ts","sourceRoot":"","sources":["../../../src/conversation/content/ClearedContent.ts"],"names":[],"mappings":"AAmBA,OAAO,EAAC,QAAQ,EAAC,MAAM,2BAA2B,CAAC;AACnD,OAAO,EAAC,QAAQ,IAAI,cAAc,EAAC,CAAC"}
1
+ {"version":3,"file":"ClearedContent.d.ts","sourceRoot":"","sources":["../../../src/conversation/content/ClearedContent.ts"],"names":[],"mappings":"AAmBA,OAAO,EAAC,QAAQ,EAAC,MAAM,6BAA6B,CAAC;AACrD,OAAO,EAAC,QAAQ,IAAI,cAAc,EAAC,CAAC"}
@@ -1,3 +1,3 @@
1
- import { IGenericMessage } from '@pydio/protocol-messaging';
1
+ import { IGenericMessage } from '@wireapp/protocol-messaging';
2
2
  export type ClientActionContent = Required<Pick<IGenericMessage, 'clientAction'>>;
3
3
  //# sourceMappingURL=ClientActionContent.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ClientActionContent.d.ts","sourceRoot":"","sources":["../../../src/conversation/content/ClientActionContent.ts"],"names":[],"mappings":"AAmBA,OAAO,EAAC,eAAe,EAAC,MAAM,2BAA2B,CAAC;AAE1D,MAAM,MAAM,mBAAmB,GAAG,QAAQ,CAAC,IAAI,CAAC,eAAe,EAAE,cAAc,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"ClientActionContent.d.ts","sourceRoot":"","sources":["../../../src/conversation/content/ClientActionContent.ts"],"names":[],"mappings":"AAmBA,OAAO,EAAC,eAAe,EAAC,MAAM,6BAA6B,CAAC;AAE5D,MAAM,MAAM,mBAAmB,GAAG,QAAQ,CAAC,IAAI,CAAC,eAAe,EAAE,cAAc,CAAC,CAAC,CAAC"}
@@ -1,3 +1,3 @@
1
- import { IComposite } from '@pydio/protocol-messaging';
1
+ import { IComposite } from '@wireapp/protocol-messaging';
2
2
  export { IComposite as CompositeContent };
3
3
  //# sourceMappingURL=CompositeContent.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"CompositeContent.d.ts","sourceRoot":"","sources":["../../../src/conversation/content/CompositeContent.ts"],"names":[],"mappings":"AAmBA,OAAO,EAAC,UAAU,EAAC,MAAM,2BAA2B,CAAC;AACrD,OAAO,EAAC,UAAU,IAAI,gBAAgB,EAAC,CAAC"}
1
+ {"version":3,"file":"CompositeContent.d.ts","sourceRoot":"","sources":["../../../src/conversation/content/CompositeContent.ts"],"names":[],"mappings":"AAmBA,OAAO,EAAC,UAAU,EAAC,MAAM,6BAA6B,CAAC;AACvD,OAAO,EAAC,UAAU,IAAI,gBAAgB,EAAC,CAAC"}
@@ -1,3 +1,3 @@
1
- import { IConfirmation } from '@pydio/protocol-messaging';
1
+ import { IConfirmation } from '@wireapp/protocol-messaging';
2
2
  export { IConfirmation as ConfirmationContent };
3
3
  //# sourceMappingURL=ConfirmationContent.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ConfirmationContent.d.ts","sourceRoot":"","sources":["../../../src/conversation/content/ConfirmationContent.ts"],"names":[],"mappings":"AAmBA,OAAO,EAAC,aAAa,EAAC,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAC,aAAa,IAAI,mBAAmB,EAAC,CAAC"}
1
+ {"version":3,"file":"ConfirmationContent.d.ts","sourceRoot":"","sources":["../../../src/conversation/content/ConfirmationContent.ts"],"names":[],"mappings":"AAmBA,OAAO,EAAC,aAAa,EAAC,MAAM,6BAA6B,CAAC;AAC1D,OAAO,EAAC,aAAa,IAAI,mBAAmB,EAAC,CAAC"}
@@ -1,3 +1,3 @@
1
- import { IMessageDelete } from '@pydio/protocol-messaging';
1
+ import { IMessageDelete } from '@wireapp/protocol-messaging';
2
2
  export { IMessageDelete as DeletedContent };
3
3
  //# sourceMappingURL=DeletedContent.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"DeletedContent.d.ts","sourceRoot":"","sources":["../../../src/conversation/content/DeletedContent.ts"],"names":[],"mappings":"AAmBA,OAAO,EAAC,cAAc,EAAC,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAC,cAAc,IAAI,cAAc,EAAC,CAAC"}
1
+ {"version":3,"file":"DeletedContent.d.ts","sourceRoot":"","sources":["../../../src/conversation/content/DeletedContent.ts"],"names":[],"mappings":"AAmBA,OAAO,EAAC,cAAc,EAAC,MAAM,6BAA6B,CAAC;AAC3D,OAAO,EAAC,cAAc,IAAI,cAAc,EAAC,CAAC"}
@@ -1,3 +1,3 @@
1
- import { IMessageHide } from '@pydio/protocol-messaging';
1
+ import { IMessageHide } from '@wireapp/protocol-messaging';
2
2
  export { IMessageHide as HiddenContent };
3
3
  //# sourceMappingURL=HiddenContent.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"HiddenContent.d.ts","sourceRoot":"","sources":["../../../src/conversation/content/HiddenContent.ts"],"names":[],"mappings":"AAmBA,OAAO,EAAC,YAAY,EAAC,MAAM,2BAA2B,CAAC;AACvD,OAAO,EAAC,YAAY,IAAI,aAAa,EAAC,CAAC"}
1
+ {"version":3,"file":"HiddenContent.d.ts","sourceRoot":"","sources":["../../../src/conversation/content/HiddenContent.ts"],"names":[],"mappings":"AAmBA,OAAO,EAAC,YAAY,EAAC,MAAM,6BAA6B,CAAC;AACzD,OAAO,EAAC,YAAY,IAAI,aAAa,EAAC,CAAC"}
@@ -1,3 +1,3 @@
1
- import { IKnock } from '@pydio/protocol-messaging';
1
+ import { IKnock } from '@wireapp/protocol-messaging';
2
2
  export { IKnock as KnockContent };
3
3
  //# sourceMappingURL=KnockContent.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"KnockContent.d.ts","sourceRoot":"","sources":["../../../src/conversation/content/KnockContent.ts"],"names":[],"mappings":"AAmBA,OAAO,EAAC,MAAM,EAAC,MAAM,2BAA2B,CAAC;AACjD,OAAO,EAAC,MAAM,IAAI,YAAY,EAAC,CAAC"}
1
+ {"version":3,"file":"KnockContent.d.ts","sourceRoot":"","sources":["../../../src/conversation/content/KnockContent.ts"],"names":[],"mappings":"AAmBA,OAAO,EAAC,MAAM,EAAC,MAAM,6BAA6B,CAAC;AACnD,OAAO,EAAC,MAAM,IAAI,YAAY,EAAC,CAAC"}
@@ -1,4 +1,4 @@
1
- import { ILinkPreview } from '@pydio/protocol-messaging';
1
+ import { ILinkPreview } from '@wireapp/protocol-messaging';
2
2
  import { ImageAssetContent, ImageContent, LegalHoldStatus } from '.';
3
3
  export interface LinkPreviewContent extends Omit<ILinkPreview, 'image'> {
4
4
  expectsReadConfirmation?: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"LinkPreviewContent.d.ts","sourceRoot":"","sources":["../../../src/conversation/content/LinkPreviewContent.ts"],"names":[],"mappings":"AAmBA,OAAO,EAAC,YAAY,EAAC,MAAM,2BAA2B,CAAC;AAEvD,OAAO,EAAC,iBAAiB,EAAE,YAAY,EAAE,eAAe,EAAC,MAAM,GAAG,CAAC;AAEnE,MAAM,WAAW,kBAAmB,SAAQ,IAAI,CAAC,YAAY,EAAE,OAAO,CAAC;IACrE,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC,eAAe,CAAC,EAAE,eAAe,CAAC;IAClC,KAAK,EAAE,YAAY,CAAC;CACrB;AAED,MAAM,WAAW,0BAA2B,SAAQ,IAAI,CAAC,kBAAkB,EAAE,OAAO,CAAC;IACnF,aAAa,CAAC,EAAE,iBAAiB,CAAC;CACnC"}
1
+ {"version":3,"file":"LinkPreviewContent.d.ts","sourceRoot":"","sources":["../../../src/conversation/content/LinkPreviewContent.ts"],"names":[],"mappings":"AAmBA,OAAO,EAAC,YAAY,EAAC,MAAM,6BAA6B,CAAC;AAEzD,OAAO,EAAC,iBAAiB,EAAE,YAAY,EAAE,eAAe,EAAC,MAAM,GAAG,CAAC;AAEnE,MAAM,WAAW,kBAAmB,SAAQ,IAAI,CAAC,YAAY,EAAE,OAAO,CAAC;IACrE,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC,eAAe,CAAC,EAAE,eAAe,CAAC;IAClC,KAAK,EAAE,YAAY,CAAC;CACrB;AAED,MAAM,WAAW,0BAA2B,SAAQ,IAAI,CAAC,kBAAkB,EAAE,OAAO,CAAC;IACnF,aAAa,CAAC,EAAE,iBAAiB,CAAC;CACnC"}
@@ -1,3 +1,3 @@
1
- import { IMention } from '@pydio/protocol-messaging';
1
+ import { IMention } from '@wireapp/protocol-messaging';
2
2
  export { IMention as MentionContent };
3
3
  //# sourceMappingURL=MentionContent.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"MentionContent.d.ts","sourceRoot":"","sources":["../../../src/conversation/content/MentionContent.ts"],"names":[],"mappings":"AAmBA,OAAO,EAAC,QAAQ,EAAC,MAAM,2BAA2B,CAAC;AACnD,OAAO,EAAC,QAAQ,IAAI,cAAc,EAAC,CAAC"}
1
+ {"version":3,"file":"MentionContent.d.ts","sourceRoot":"","sources":["../../../src/conversation/content/MentionContent.ts"],"names":[],"mappings":"AAmBA,OAAO,EAAC,QAAQ,EAAC,MAAM,6BAA6B,CAAC;AACrD,OAAO,EAAC,QAAQ,IAAI,cAAc,EAAC,CAAC"}
@@ -1,4 +1,4 @@
1
- import { IMultipart, IAttachment, ICellAsset, IAsset } from '@pydio/protocol-messaging';
1
+ import { IMultipart, IAttachment, ICellAsset, IAsset } from '@wireapp/protocol-messaging';
2
2
  export { IMultipart as MultiPartContent };
3
3
  export { IAttachment as MultiPartAttachment };
4
4
  export { ICellAsset as MultiPartCellAsset };
@@ -1 +1 @@
1
- {"version":3,"file":"MultipartContent.d.ts","sourceRoot":"","sources":["../../../src/conversation/content/MultipartContent.ts"],"names":[],"mappings":"AAmBA,OAAO,EAAC,UAAU,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,EAAC,MAAM,2BAA2B,CAAC;AACtF,OAAO,EAAC,UAAU,IAAI,gBAAgB,EAAC,CAAC;AACxC,OAAO,EAAC,WAAW,IAAI,mBAAmB,EAAC,CAAC;AAC5C,OAAO,EAAC,UAAU,IAAI,kBAAkB,EAAC,CAAC;AAC1C,OAAO,EAAC,MAAM,IAAI,cAAc,EAAC,CAAC"}
1
+ {"version":3,"file":"MultipartContent.d.ts","sourceRoot":"","sources":["../../../src/conversation/content/MultipartContent.ts"],"names":[],"mappings":"AAmBA,OAAO,EAAC,UAAU,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,EAAC,MAAM,6BAA6B,CAAC;AACxF,OAAO,EAAC,UAAU,IAAI,gBAAgB,EAAC,CAAC;AACxC,OAAO,EAAC,WAAW,IAAI,mBAAmB,EAAC,CAAC;AAC5C,OAAO,EAAC,UAAU,IAAI,kBAAkB,EAAC,CAAC;AAC1C,OAAO,EAAC,MAAM,IAAI,cAAc,EAAC,CAAC"}
@@ -1,4 +1,4 @@
1
- import { IQuote } from '@pydio/protocol-messaging';
1
+ import { IQuote } from '@wireapp/protocol-messaging';
2
2
  import { AssetContent, LocationContent, MultiPartContent, TextContent } from '.';
3
3
  export { IQuote as QuoteContent };
4
4
  export interface QuoteMessageContent {