@wireapp/core 38.15.1 → 39.0.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.map +1 -1
- package/lib/Account.js +3 -3
- package/lib/broadcast/BroadcastService.d.ts +2 -2
- package/lib/broadcast/BroadcastService.d.ts.map +1 -1
- package/lib/broadcast/BroadcastService.js +5 -12
- package/lib/client/ClientDatabaseRepository.d.ts +5 -5
- package/lib/client/ClientDatabaseRepository.d.ts.map +1 -1
- package/lib/client/ClientDatabaseRepository.js +9 -16
- package/lib/client/ClientService.d.ts.map +1 -1
- package/lib/client/ClientService.js +5 -7
- package/lib/connection/ConnectionService.d.ts +2 -2
- package/lib/connection/ConnectionService.d.ts.map +1 -1
- package/lib/connection/ConnectionService.js +2 -2
- package/lib/conversation/ConversationService/ConversationService.d.ts +1 -1
- package/lib/conversation/ConversationService/ConversationService.d.ts.map +1 -1
- package/lib/conversation/ConversationService/ConversationService.test.js +1 -1
- package/lib/conversation/ConversationService/ConversationService.types.d.ts +2 -6
- package/lib/conversation/ConversationService/ConversationService.types.d.ts.map +1 -1
- package/lib/conversation/ConversationService/Utility/getConversationQualifiedMembers.d.ts +1 -1
- package/lib/conversation/ConversationService/Utility/getConversationQualifiedMembers.d.ts.map +1 -1
- package/lib/conversation/message/MessageService.d.ts +5 -31
- package/lib/conversation/message/MessageService.d.ts.map +1 -1
- package/lib/conversation/message/MessageService.js +9 -151
- package/lib/conversation/message/MessageService.test.js +107 -156
- package/lib/messagingProtocols/proteus/ProteusService/ProteusService.d.ts +7 -11
- package/lib/messagingProtocols/proteus/ProteusService/ProteusService.d.ts.map +1 -1
- package/lib/messagingProtocols/proteus/ProteusService/ProteusService.js +16 -35
- package/lib/messagingProtocols/proteus/ProteusService/ProteusService.mocks.d.ts +1 -1
- package/lib/messagingProtocols/proteus/ProteusService/ProteusService.mocks.d.ts.map +1 -1
- package/lib/messagingProtocols/proteus/ProteusService/ProteusService.mocks.js +1 -2
- package/lib/messagingProtocols/proteus/ProteusService/ProteusService.test.js +55 -94
- package/lib/messagingProtocols/proteus/ProteusService/ProteusService.types.d.ts +5 -8
- package/lib/messagingProtocols/proteus/ProteusService/ProteusService.types.d.ts.map +1 -1
- package/lib/messagingProtocols/proteus/Utility/Recipients.d.ts +4 -10
- package/lib/messagingProtocols/proteus/Utility/Recipients.d.ts.map +1 -1
- package/lib/messagingProtocols/proteus/Utility/Recipients.js +2 -13
- package/lib/messagingProtocols/proteus/Utility/SessionHandler/SessionHandler.d.ts +8 -11
- package/lib/messagingProtocols/proteus/Utility/SessionHandler/SessionHandler.d.ts.map +1 -1
- package/lib/messagingProtocols/proteus/Utility/SessionHandler/SessionHandler.js +54 -75
- package/lib/messagingProtocols/proteus/Utility/SessionHandler/SessionHandler.test.js +26 -33
- package/lib/messagingProtocols/proteus/Utility/getGenericMessageParams.d.ts +5 -14
- package/lib/messagingProtocols/proteus/Utility/getGenericMessageParams.d.ts.map +1 -1
- package/lib/messagingProtocols/proteus/Utility/getGenericMessageParams.js +3 -35
- package/lib/user/UserService.d.ts +1 -16
- package/lib/user/UserService.d.ts.map +1 -1
- package/lib/user/UserService.js +1 -43
- package/package.json +3 -3
package/lib/Account.d.ts.map
CHANGED
|
@@ -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":"AAmBA,OAAO,EACL,YAAY,EAGZ,OAAO,EACP,MAAM,EAEN,SAAS,EACV,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAuB,UAAU,EAAE,gBAAgB,EAAC,MAAM,iCAAiC,CAAC;AACnG,OAAO,KAAK,MAAM,MAAM,+BAA+B,CAAC;AAOxD,OAAO,EAAC,SAAS,EAAE,eAAe,EAAC,MAAM,qBAAqB,CAAC;AAC/D,OAAO,EAAC,UAAU,EAAe,MAAM,uBAAuB,CAAC;AAE/D,OAAO,EAAC,cAAc,EAAC,MAAM,YAAY,CAAC;AAE1C,OAAO,EAAC,gBAAgB,EAAC,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAC,UAAU,EAAE,aAAa,EAAC,MAAM,WAAW,CAAC;AACpD,OAAO,EAAC,iBAAiB,EAAC,MAAM,eAAe,CAAC;AAChD,OAAO,EAAC,YAAY,EAAE,mBAAmB,EAAC,MAAM,iBAAiB,CAAC;AAElE,OAAO,EAAC,YAAY,EAAC,MAAM,UAAU,CAAC;AACtC,OAAO,EAAC,kBAAkB,EAAC,MAAM,eAAe,CAAC;AACjD,OAAO,EAAC,UAAU,EAAC,MAAM,0BAA0B,CAAC;AACpD,OAAO,EAAC,YAAY,EAAE,oBAAoB,EAAC,MAAM,gCAAgC,CAAC;AAClF,OAAO,EAAC,SAAS,EAAE,cAAc,EAAC,MAAM,8BAA8B,CAAC;AAEvE,OAAO,EAAC,mBAAmB,EAAE,mBAAmB,EAAE,kBAAkB,EAAC,MAAM,iBAAiB,CAAC;AAC7F,OAAO,EAAC,WAAW,EAAC,MAAM,SAAS,CAAC;AAEpC,OAAO,EAAC,WAAW,EAAC,MAAM,SAAS,CAAC;AACpC,OAAO,EAAC,WAAW,EAAC,MAAM,SAAS,CAAC;AACpC,OAAO,EAAC,iBAAiB,EAAC,MAAM,0BAA0B,CAAC;AAE3D,MAAM,MAAM,qBAAqB,GAAG,mBAAmB,CAAC;AAExD,oBAAY,MAAM;IAChB;;;OAGG;IACH,WAAW,gBAAgB;CAC5B;AAED,oBAAY,eAAe;IACzB,8EAA8E;IAC9E,MAAM,WAAW;IACjB,oCAAoC;IACpC,UAAU,eAAe;IACzB,mFAAmF;IACnF,wBAAwB,6BAA6B;IACrD,oGAAoG;IACpG,IAAI,SAAS;CACd;AAED,MAAM,MAAM,aAAa,GAAG,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,KAAK,SAAS,GAAG,OAAO,CAAC,UAAU,GAAG,SAAS,CAAC,CAAC;AAEjH,UAAU,cAAc;IACtB,8FAA8F;IAC9F,WAAW,CAAC,EAAE,aAAa,CAAC;IAE5B;;;;;;;;OAQG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,oBAAoB,CAAC,EAAE,oBAAoB,CAAC;CAC7C;AAED,KAAK,WAAW,GAAG;IACjB,2FAA2F;IAC3F,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAQF,KAAK,MAAM,GAAG;IACZ,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,SAAS,CAAC;CACjC,CAAC;AAEF,qBAAa,OAAQ,SAAQ,iBAAiB,CAAC,MAAM,CAAC;IACpD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAY;IACtC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAiB;IACxC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAgB;IAC5C,OAAO,CAAC,WAAW,CAAC,CAAa;IACjC,OAAO,CAAC,EAAE,CAAC,CAAe;IAC1B,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAuB;IAEtD,OAAO,CAAC,EAAE;QACf,GAAG,CAAC,EAAE,UAAU,CAAC;QACjB,OAAO,EAAE,cAAc,CAAC;QACxB,OAAO,EAAE,cAAc,CAAC;QACxB,KAAK,EAAE,YAAY,CAAC;QACpB,SAAS,EAAE,gBAAgB,CAAC;QAC5B,MAAM,EAAE,aAAa,CAAC;QACtB,UAAU,EAAE,iBAAiB,CAAC;QAC9B,YAAY,EAAE,mBAAmB,CAAC;QAClC,KAAK,EAAE,YAAY,CAAC;QACpB,WAAW,EAAE,kBAAkB,CAAC;QAChC,YAAY,EAAE,mBAAmB,CAAC;QAClC,IAAI,EAAE,WAAW,CAAC;QAClB,IAAI,EAAE,WAAW,CAAC;QAClB,IAAI,EAAE,WAAW,CAAC;KACnB,CAAC;IACK,eAAe,EAAE,eAAe,CAAC;IAExC;;;OAGG;gBAED,SAAS,GAAE,SAA2B,EACtC,EAAC,WAA6B,EAAE,SAAa,EAAE,oBAAoB,EAAC,GAAE,cAAmB;IAyB3F;;;;;;;;;;OAUG;IACU,aAAa,CAAC,iBAAiB,EAAE,MAAM,EAAE,EAAE,aAAa,CAAC,EAAE,OAAO;IAM/E,OAAO,CAAC,aAAa;IAKrB,IAAI,QAAQ,IAAI,MAAM,CAErB;IAED,IAAI,MAAM,IAAI,MAAM,CAEnB;IAED;;;;;OAKG;IACU,QAAQ,CAAC,YAAY,EAAE,YAAY,EAAE,UAAU,EAAE,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC;IAM3F;;;;OAIG;IACU,IAAI,CAAC,UAAU,EAAE,UAAU,EAAE,EAAC,MAAM,EAAC,GAAE,WAAgB,GAAG,OAAO,CAAC,OAAO,CAAC;IAMvF;;;;;OAKG;IACU,KAAK,CAAC,SAAS,EAAE,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC;IAU1D;;OAEG;IACU,cAAc,CACzB,SAAS,EAAE,SAAS,EACpB,UAAU,GAAE,UAA8B,EAC1C,WAAW,CAAC,EAAE,UAAU,GACvB,OAAO,CAAC,gBAAgB,CAAC;IAwB5B;;;;OAIG;IACU,UAAU,CAAC,MAAM,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,GAAG,SAAS,CAAC;YAoC3E,iBAAiB;IAoB/B;;;;;;OAMG;IACH,qBAAqB,CAAC,YAAY,EAAE,YAAY;IAInC,YAAY,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAsD1D,OAAO,CAAC,YAAY;IAKpB;;;OAGG;IACU,MAAM,CAAC,SAAS,GAAE,OAAe,GAAG,OAAO,CAAC,IAAI,CAAC;IAS9D;;OAEG;YACW,IAAI;IAOlB;;;;;;OAMG;IACI,MAAM,CAAC,EACZ,OAAkB,EAClB,wBAAmC,EACnC,4BAAuC,EACvC,qBAAgC,EAChC,MAAc,GACf,GAAE;QACD;;;;WAIG;QACH,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,mBAAmB,EAAE,MAAM,EAAE,kBAAkB,KAAK,IAAI,CAAC;QAE7E;;WAEG;QACH,4BAA4B,CAAC,EAAE,CAAC,EAAC,IAAI,EAAE,KAAK,EAAC,EAAE;YAAC,IAAI,EAAE,MAAM,CAAC;YAAC,KAAK,EAAE,MAAM,CAAA;SAAC,KAAK,IAAI,CAAC;QAEtF;;WAEG;QACH,wBAAwB,CAAC,EAAE,CAAC,KAAK,EAAE,eAAe,KAAK,IAAI,CAAC;QAE5D;;;;;;WAMG;QACH,qBAAqB,CAAC,EAAE,CAAC,cAAc,EAAE,MAAM,KAAK,IAAI,CAAC;QAEzD;;WAEG;QACH,MAAM,CAAC,EAAE,OAAO,CAAC;KACb,GAAG,MAAM,IAAI;IA2FnB,OAAO,CAAC,cAAc;IAKtB,OAAO,CAAC,kBAAkB;YAIZ,UAAU;CAqBzB"}
|
package/lib/Account.js
CHANGED
|
@@ -173,6 +173,8 @@ class Account extends TypedEventEmitter_1.TypedEventEmitter {
|
|
|
173
173
|
if (!this.service || !this.apiClient.context || !this.storeEngine) {
|
|
174
174
|
throw new Error('Services are not set or context not initialized.');
|
|
175
175
|
}
|
|
176
|
+
// we reset the services to re-instantiate a new CryptoClient instance
|
|
177
|
+
await this.initServices(this.apiClient.context);
|
|
176
178
|
const initialPreKeys = await this.service.proteus.createClient(entropyData);
|
|
177
179
|
await this.service.proteus.initClient(this.storeEngine, this.apiClient.context);
|
|
178
180
|
const client = await this.service.client.register(loginData, clientInfo, initialPreKeys);
|
|
@@ -261,8 +263,6 @@ class Account extends TypedEventEmitter_1.TypedEventEmitter {
|
|
|
261
263
|
? new mls_1.MLSService(this.apiClient, cryptoClient.getNativeClient(), Object.assign(Object.assign({}, (_b = this.cryptoProtocolConfig) === null || _b === void 0 ? void 0 : _b.mls), { nbKeyPackages: this.nbPrekeys }))
|
|
262
264
|
: undefined;
|
|
263
265
|
const proteusService = new proteus_1.ProteusService(this.apiClient, cryptoClient, {
|
|
264
|
-
// We can use qualified ids to send messages as long as the backend supports federated endpoints
|
|
265
|
-
useQualifiedIds: this.backendFeatures.federationEndpoints,
|
|
266
266
|
onNewClient: payload => this.emit(EVENTS.NEW_SESSION, payload),
|
|
267
267
|
nbPrekeys: this.nbPrekeys,
|
|
268
268
|
});
|
|
@@ -275,7 +275,7 @@ class Account extends TypedEventEmitter_1.TypedEventEmitter {
|
|
|
275
275
|
const selfService = new self_1.SelfService(this.apiClient);
|
|
276
276
|
const teamService = new team_1.TeamService(this.apiClient);
|
|
277
277
|
const broadcastService = new broadcast_1.BroadcastService(this.apiClient, proteusService);
|
|
278
|
-
const userService = new user_1.UserService(this.apiClient
|
|
278
|
+
const userService = new user_1.UserService(this.apiClient);
|
|
279
279
|
this.service = {
|
|
280
280
|
mls: mlsService,
|
|
281
281
|
proteus: proteusService,
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ClientMismatch, MessageSendingStatus, QualifiedUserClients
|
|
1
|
+
import { ClientMismatch, MessageSendingStatus, QualifiedUserClients } from '@wireapp/api-client/lib/conversation';
|
|
2
2
|
import { UserPreKeyBundleMap } from '@wireapp/api-client/lib/user/';
|
|
3
3
|
import { APIClient } from '@wireapp/api-client';
|
|
4
4
|
import { GenericMessage } from '@wireapp/protocol-messaging';
|
|
@@ -16,6 +16,6 @@ export declare class BroadcastService {
|
|
|
16
16
|
* @param onlyDirectConnections=false Will generate a bundle only for directly connected users (users the self user has conversation with). Allows avoiding broadcasting messages to too many people
|
|
17
17
|
*/
|
|
18
18
|
getPreKeyBundlesFromTeam(teamId: string, skipOwnClients?: boolean, onlyDirectConnections?: boolean): Promise<UserPreKeyBundleMap>;
|
|
19
|
-
broadcastGenericMessage(genericMessage: GenericMessage, recipients:
|
|
19
|
+
broadcastGenericMessage(genericMessage: GenericMessage, recipients: QualifiedUserClients, onClientMismatch?: (mismatch: ClientMismatch | MessageSendingStatus) => void | boolean | Promise<boolean>): Promise<ClientMismatch | MessageSendingStatus>;
|
|
20
20
|
}
|
|
21
21
|
//# sourceMappingURL=BroadcastService.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BroadcastService.d.ts","sourceRoot":"","sources":["../../src/broadcast/BroadcastService.ts"],"names":[],"mappings":"AAmBA,OAAO,
|
|
1
|
+
{"version":3,"file":"BroadcastService.d.ts","sourceRoot":"","sources":["../../src/broadcast/BroadcastService.ts"],"names":[],"mappings":"AAmBA,OAAO,EAAC,cAAc,EAAE,oBAAoB,EAAE,oBAAoB,EAAC,MAAM,sCAAsC,CAAC;AAChH,OAAO,EAAC,mBAAmB,EAAC,MAAM,+BAA+B,CAAC;AAElE,OAAO,EAAC,SAAS,EAAC,MAAM,qBAAqB,CAAC;AAC9C,OAAO,EAAC,cAAc,EAAC,MAAM,6BAA6B,CAAC;AAK3D,OAAO,EAAC,cAAc,EAAC,MAAM,+BAA+B,CAAC;AAE7D,qBAAa,gBAAgB;IAGf,OAAO,CAAC,QAAQ,CAAC,SAAS;IAAa,OAAO,CAAC,QAAQ,CAAC,cAAc;IAFlF,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAiB;gBAEnB,SAAS,EAAE,SAAS,EAAmB,cAAc,EAAE,cAAc;IAIlG;;;;;;OAMG;IACU,wBAAwB,CACnC,MAAM,EAAE,MAAM,EACd,cAAc,UAAQ,EACtB,qBAAqB,UAAQ,GAC5B,OAAO,CAAC,mBAAmB,CAAC;IAyBlB,uBAAuB,CAClC,cAAc,EAAE,cAAc,EAC9B,UAAU,EAAE,oBAAoB,EAChC,gBAAgB,CAAC,EAAE,CAAC,QAAQ,EAAE,cAAc,GAAG,oBAAoB,KAAK,IAAI,GAAG,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;CAY5G"}
|
|
@@ -23,7 +23,6 @@ const protocol_messaging_1 = require("@wireapp/protocol-messaging");
|
|
|
23
23
|
const messageSender_1 = require("../conversation/message/messageSender");
|
|
24
24
|
const MessageService_1 = require("../conversation/message/MessageService");
|
|
25
25
|
const UserClientsUtil_1 = require("../conversation/message/UserClientsUtil");
|
|
26
|
-
const util_1 = require("../util");
|
|
27
26
|
class BroadcastService {
|
|
28
27
|
constructor(apiClient, proteusService) {
|
|
29
28
|
this.apiClient = apiClient;
|
|
@@ -57,19 +56,13 @@ class BroadcastService {
|
|
|
57
56
|
return bundleMap;
|
|
58
57
|
}, {});
|
|
59
58
|
}
|
|
60
|
-
async broadcastGenericMessage(genericMessage, recipients,
|
|
59
|
+
async broadcastGenericMessage(genericMessage, recipients, onClientMismatch) {
|
|
61
60
|
const plainTextArray = protocol_messaging_1.GenericMessage.encode(genericMessage).finish();
|
|
62
61
|
const send = () => {
|
|
63
|
-
return (
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
})
|
|
68
|
-
: this.messageService.sendMessage(this.apiClient.validatedClientId, recipients, plainTextArray, {
|
|
69
|
-
sendAsProtobuf,
|
|
70
|
-
reportMissing: Object.keys(recipients),
|
|
71
|
-
onClientMismatch,
|
|
72
|
-
});
|
|
62
|
+
return this.messageService.sendMessage(this.apiClient.validatedClientId, recipients, plainTextArray, {
|
|
63
|
+
reportMissing: (0, UserClientsUtil_1.flattenQualifiedUserClients)(recipients).map(({ userId }) => userId),
|
|
64
|
+
onClientMismatch,
|
|
65
|
+
});
|
|
73
66
|
};
|
|
74
67
|
return (0, messageSender_1.sendMessage)(send);
|
|
75
68
|
}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { RegisteredClient } from '@wireapp/api-client/lib/client/';
|
|
2
|
+
import { QualifiedId } from '@wireapp/api-client/lib/user';
|
|
2
3
|
import { CRUDEngine } from '@wireapp/store-engine';
|
|
3
4
|
import { MetaClient } from './ClientService';
|
|
4
5
|
export declare enum DatabaseStores {
|
|
@@ -6,21 +7,20 @@ export declare enum DatabaseStores {
|
|
|
6
7
|
}
|
|
7
8
|
export declare class ClientDatabaseRepository {
|
|
8
9
|
private readonly storeEngine;
|
|
9
|
-
private readonly useQualifiedIds;
|
|
10
10
|
static readonly STORES: typeof DatabaseStores;
|
|
11
11
|
static KEYS: {
|
|
12
12
|
LOCAL_IDENTITY: string;
|
|
13
13
|
};
|
|
14
|
-
constructor(storeEngine: CRUDEngine
|
|
14
|
+
constructor(storeEngine: CRUDEngine);
|
|
15
15
|
getLocalClient(): Promise<MetaClient>;
|
|
16
16
|
getClient(sessionId: string): Promise<MetaClient>;
|
|
17
17
|
deleteLocalClient(): Promise<string>;
|
|
18
18
|
deleteClient(sessionId: string): Promise<string>;
|
|
19
|
-
createClientList(userId:
|
|
19
|
+
createClientList(userId: QualifiedId, clientList: RegisteredClient[]): Promise<MetaClient[]>;
|
|
20
20
|
createLocalClient(client: RegisteredClient, domain?: string): Promise<MetaClient>;
|
|
21
21
|
updateLocalClient(client: RegisteredClient, domain?: string): Promise<MetaClient>;
|
|
22
|
-
updateClient(userId:
|
|
23
|
-
createClient(userId:
|
|
22
|
+
updateClient(userId: QualifiedId, client: RegisteredClient): Promise<MetaClient>;
|
|
23
|
+
createClient(userId: QualifiedId, client: RegisteredClient): Promise<MetaClient>;
|
|
24
24
|
private transformClient;
|
|
25
25
|
private transformLocalClient;
|
|
26
26
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ClientDatabaseRepository.d.ts","sourceRoot":"","sources":["../../src/client/ClientDatabaseRepository.ts"],"names":[],"mappings":"AAmBA,OAAO,EAAC,gBAAgB,EAAC,MAAM,iCAAiC,CAAC;
|
|
1
|
+
{"version":3,"file":"ClientDatabaseRepository.d.ts","sourceRoot":"","sources":["../../src/client/ClientDatabaseRepository.ts"],"names":[],"mappings":"AAmBA,OAAO,EAAC,gBAAgB,EAAC,MAAM,iCAAiC,CAAC;AACjE,OAAO,EAAC,WAAW,EAAC,MAAM,8BAA8B,CAAC;AAEzD,OAAO,EAAC,UAAU,EAAC,MAAM,uBAAuB,CAAC;AAEjD,OAAO,EAAC,UAAU,EAAC,MAAM,iBAAiB,CAAC;AAI3C,oBAAY,cAAc;IACxB,OAAO,YAAY;CACpB;AAED,qBAAa,wBAAwB;IAOvB,OAAO,CAAC,QAAQ,CAAC,WAAW;IANxC,gBAAuB,MAAM,wBAAkB;IAE/C,OAAc,IAAI;;MAEhB;gBAE2B,WAAW,EAAE,UAAU;IAE7C,cAAc,IAAI,OAAO,CAAC,UAAU,CAAC;IAIrC,SAAS,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;IAIjD,iBAAiB,IAAI,OAAO,CAAC,MAAM,CAAC;IAIpC,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAIhD,gBAAgB,CAAC,MAAM,EAAE,WAAW,EAAE,UAAU,EAAE,gBAAgB,EAAE,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;IAQtF,iBAAiB,CAAC,MAAM,EAAE,gBAAgB,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;IAUjF,iBAAiB,CAAC,MAAM,EAAE,gBAAgB,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;IAUjF,YAAY,CAAC,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAAC,UAAU,CAAC;IAahF,YAAY,CAAC,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAAC,UAAU,CAAC;IAa7F,OAAO,CAAC,eAAe;IAcvB,OAAO,CAAC,oBAAoB;CAO7B"}
|
|
@@ -25,9 +25,8 @@ var DatabaseStores;
|
|
|
25
25
|
DatabaseStores["CLIENTS"] = "clients";
|
|
26
26
|
})(DatabaseStores = exports.DatabaseStores || (exports.DatabaseStores = {}));
|
|
27
27
|
class ClientDatabaseRepository {
|
|
28
|
-
constructor(storeEngine
|
|
28
|
+
constructor(storeEngine) {
|
|
29
29
|
this.storeEngine = storeEngine;
|
|
30
|
-
this.useQualifiedIds = useQualifiedIds;
|
|
31
30
|
}
|
|
32
31
|
getLocalClient() {
|
|
33
32
|
return this.getClient(ClientDatabaseRepository.KEYS.LOCAL_IDENTITY);
|
|
@@ -41,10 +40,10 @@ class ClientDatabaseRepository {
|
|
|
41
40
|
deleteClient(sessionId) {
|
|
42
41
|
return this.storeEngine.delete(ClientDatabaseRepository.STORES.CLIENTS, sessionId);
|
|
43
42
|
}
|
|
44
|
-
createClientList(userId, clientList
|
|
43
|
+
createClientList(userId, clientList) {
|
|
45
44
|
const createClientTasks = [];
|
|
46
45
|
for (const client of clientList) {
|
|
47
|
-
createClientTasks.push(this.createClient(userId, client
|
|
46
|
+
createClientTasks.push(this.createClient(userId, client));
|
|
48
47
|
}
|
|
49
48
|
return Promise.all(createClientTasks);
|
|
50
49
|
}
|
|
@@ -58,34 +57,28 @@ class ClientDatabaseRepository {
|
|
|
58
57
|
await this.storeEngine.update(ClientDatabaseRepository.STORES.CLIENTS, ClientDatabaseRepository.KEYS.LOCAL_IDENTITY, transformedClient);
|
|
59
58
|
return transformedClient;
|
|
60
59
|
}
|
|
61
|
-
async updateClient(userId, client
|
|
62
|
-
const transformedClient = this.transformClient(userId, client, false
|
|
60
|
+
async updateClient(userId, client) {
|
|
61
|
+
const transformedClient = this.transformClient(userId, client, false);
|
|
63
62
|
await this.storeEngine.update(ClientDatabaseRepository.STORES.CLIENTS, (0, SessionHandler_1.constructSessionId)({
|
|
64
63
|
userId,
|
|
65
64
|
clientId: client.id,
|
|
66
|
-
domain,
|
|
67
|
-
useQualifiedIds: this.useQualifiedIds,
|
|
68
65
|
}), transformedClient);
|
|
69
66
|
return transformedClient;
|
|
70
67
|
}
|
|
71
|
-
async createClient(userId, client
|
|
72
|
-
const transformedClient = this.transformClient(userId, client, false
|
|
68
|
+
async createClient(userId, client) {
|
|
69
|
+
const transformedClient = this.transformClient(userId, client, false);
|
|
73
70
|
await this.storeEngine.create(ClientDatabaseRepository.STORES.CLIENTS, (0, SessionHandler_1.constructSessionId)({
|
|
74
71
|
userId,
|
|
75
72
|
clientId: client.id,
|
|
76
|
-
domain,
|
|
77
|
-
useQualifiedIds: this.useQualifiedIds,
|
|
78
73
|
}), transformedClient);
|
|
79
74
|
return transformedClient;
|
|
80
75
|
}
|
|
81
|
-
transformClient(userId, client, verified
|
|
82
|
-
return Object.assign(Object.assign({}, client), { domain, meta: {
|
|
76
|
+
transformClient(userId, client, verified) {
|
|
77
|
+
return Object.assign(Object.assign({}, client), { domain: userId.domain, meta: {
|
|
83
78
|
is_verified: verified,
|
|
84
79
|
primary_key: (0, SessionHandler_1.constructSessionId)({
|
|
85
80
|
userId,
|
|
86
81
|
clientId: client.id,
|
|
87
|
-
domain,
|
|
88
|
-
useQualifiedIds: this.useQualifiedIds,
|
|
89
82
|
}),
|
|
90
83
|
} });
|
|
91
84
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ClientService.d.ts","sourceRoot":"","sources":["../../src/client/ClientService.ts"],"names":[],"mappings":"AAmBA,OAAO,EAAC,SAAS,EAAC,MAAM,+BAA+B,CAAC;AACxD,OAAO,EAAkC,gBAAgB,EAAC,MAAM,iCAAiC,CAAC;AAMlG,OAAO,EAAC,SAAS,EAAC,MAAM,qBAAqB,CAAC;AAC9C,OAAO,EAAC,UAAU,EAAC,MAAM,uBAAuB,CAAC;AAEjD,OAAO,KAAK,EAAC,cAAc,EAAC,MAAM,+BAA+B,CAAC;AAClE,OAAO,EAAC,cAAc,EAAC,MAAM,2DAA2D,CAAC;AAEzF,OAAO,EAAC,UAAU,EAAoD,MAAM,IAAI,CAAC;AAEjF,MAAM,WAAW,UAAW,SAAQ,gBAAgB;IAClD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE;QACJ,WAAW,CAAC,EAAE,OAAO,CAAC;QACtB,WAAW,EAAE,MAAM,CAAC;KACrB,CAAC;CACH;AAED,qBAAa,aAAa;IAStB,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,cAAc;IAC/B,OAAO,CAAC,QAAQ,CAAC,WAAW;IAV9B,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA2B;IACpD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA0B;IAClD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAGpB;gBAGgB,SAAS,EAAE,SAAS,EACpB,cAAc,EAAE,cAAc,EAC9B,WAAW,EAAE,UAAU;IAMnC,UAAU,IAAI,OAAO,CAAC,gBAAgB,EAAE,CAAC;IAIhD;;;;;;;OAOG;IACU,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAMhF;;;OAGG;IACU,iBAAiB,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;YASpD,cAAc;IAQ5B;;;;;;OAMG;IACU,UAAU,IAAI,OAAO,CAAC,gBAAgB,GAAG,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"ClientService.d.ts","sourceRoot":"","sources":["../../src/client/ClientService.ts"],"names":[],"mappings":"AAmBA,OAAO,EAAC,SAAS,EAAC,MAAM,+BAA+B,CAAC;AACxD,OAAO,EAAkC,gBAAgB,EAAC,MAAM,iCAAiC,CAAC;AAMlG,OAAO,EAAC,SAAS,EAAC,MAAM,qBAAqB,CAAC;AAC9C,OAAO,EAAC,UAAU,EAAC,MAAM,uBAAuB,CAAC;AAEjD,OAAO,KAAK,EAAC,cAAc,EAAC,MAAM,+BAA+B,CAAC;AAClE,OAAO,EAAC,cAAc,EAAC,MAAM,2DAA2D,CAAC;AAEzF,OAAO,EAAC,UAAU,EAAoD,MAAM,IAAI,CAAC;AAEjF,MAAM,WAAW,UAAW,SAAQ,gBAAgB;IAClD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE;QACJ,WAAW,CAAC,EAAE,OAAO,CAAC;QACtB,WAAW,EAAE,MAAM,CAAC;KACrB,CAAC;CACH;AAED,qBAAa,aAAa;IAStB,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,cAAc;IAC/B,OAAO,CAAC,QAAQ,CAAC,WAAW;IAV9B,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA2B;IACpD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA0B;IAClD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAGpB;gBAGgB,SAAS,EAAE,SAAS,EACpB,cAAc,EAAE,cAAc,EAC9B,WAAW,EAAE,UAAU;IAMnC,UAAU,IAAI,OAAO,CAAC,gBAAgB,EAAE,CAAC;IAIhD;;;;;;;OAOG;IACU,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAMhF;;;OAGG;IACU,iBAAiB,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;YASpD,cAAc;IAQ5B;;;;;;OAMG;IACU,UAAU,IAAI,OAAO,CAAC,gBAAgB,GAAG,SAAS,CAAC;IA0BhE,OAAO,CAAC,iBAAiB;IAIZ,kBAAkB,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;IAU3C,QAAQ,CACnB,SAAS,EAAE,SAAS,EACpB,UAAU,EAAE,UAAU,EACtB,EAAC,OAAO,EAAE,UAAU,EAAC,EAAE,cAAc,GACpC,OAAO,CAAC,gBAAgB,CAAC;CA4B7B"}
|
|
@@ -36,7 +36,7 @@ class ClientService {
|
|
|
36
36
|
logger: console,
|
|
37
37
|
markdown: false,
|
|
38
38
|
});
|
|
39
|
-
this.database = new _1.ClientDatabaseRepository(this.storeEngine
|
|
39
|
+
this.database = new _1.ClientDatabaseRepository(this.storeEngine);
|
|
40
40
|
this.backend = new _1.ClientBackendRepository(this.apiClient);
|
|
41
41
|
}
|
|
42
42
|
getClients() {
|
|
@@ -98,14 +98,12 @@ class ClientService {
|
|
|
98
98
|
if (notFoundOnBackend && this.storeEngine) {
|
|
99
99
|
this.logger.log('Could not find valid client on backend');
|
|
100
100
|
const shouldDeleteWholeDatabase = loadedClient.type === client_1.ClientType.TEMPORARY;
|
|
101
|
+
this.logger.log('Deleting previous identity');
|
|
102
|
+
await this.proteusService.wipe(this.storeEngine);
|
|
101
103
|
if (shouldDeleteWholeDatabase) {
|
|
102
|
-
this.logger.log('Last client was temporary - Deleting database');
|
|
104
|
+
this.logger.log('Last client was temporary - Deleting content database');
|
|
103
105
|
await this.storeEngine.clearTables();
|
|
104
106
|
}
|
|
105
|
-
else {
|
|
106
|
-
this.logger.log('Last client was permanent - Deleting previous identity');
|
|
107
|
-
await this.proteusService.wipe(this.storeEngine);
|
|
108
|
-
}
|
|
109
107
|
}
|
|
110
108
|
}
|
|
111
109
|
return undefined;
|
|
@@ -117,7 +115,7 @@ class ClientService {
|
|
|
117
115
|
var _a;
|
|
118
116
|
const registeredClients = await this.backend.getClients();
|
|
119
117
|
const filteredClients = registeredClients.filter(client => client.id !== this.apiClient.context.clientId);
|
|
120
|
-
return this.database.createClientList(this.apiClient.context.userId,
|
|
118
|
+
return this.database.createClientList({ id: this.apiClient.context.userId, domain: (_a = this.apiClient.context.domain) !== null && _a !== void 0 ? _a : '' }, filteredClients);
|
|
121
119
|
}
|
|
122
120
|
// TODO: Split functionality into "create" and "register" client
|
|
123
121
|
async register(loginData, clientInfo, { prekeys, lastPrekey }) {
|
|
@@ -5,8 +5,8 @@ export declare class ConnectionService {
|
|
|
5
5
|
private readonly apiClient;
|
|
6
6
|
constructor(apiClient: APIClient);
|
|
7
7
|
getConnections(): Promise<Connection[]>;
|
|
8
|
-
acceptConnection(userId:
|
|
9
|
-
ignoreConnection(userId:
|
|
8
|
+
acceptConnection(userId: QualifiedId): Promise<Connection>;
|
|
9
|
+
ignoreConnection(userId: QualifiedId): Promise<Connection>;
|
|
10
10
|
createConnection(userId: QualifiedId): Promise<Connection>;
|
|
11
11
|
}
|
|
12
12
|
//# sourceMappingURL=ConnectionService.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ConnectionService.d.ts","sourceRoot":"","sources":["../../src/connection/ConnectionService.ts"],"names":[],"mappings":"AAmBA,OAAO,EAAC,UAAU,EAAmB,MAAM,qCAAqC,CAAC;AACjF,OAAO,EAAC,WAAW,EAAC,MAAM,8BAA8B,CAAC;AAEzD,OAAO,EAAC,SAAS,EAAC,MAAM,qBAAqB,CAAC;AAE9C,qBAAa,iBAAiB;IAChB,OAAO,CAAC,QAAQ,CAAC,SAAS;gBAAT,SAAS,EAAE,SAAS;IAE1C,cAAc,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;IAIvC,gBAAgB,CAAC,MAAM,EAAE,
|
|
1
|
+
{"version":3,"file":"ConnectionService.d.ts","sourceRoot":"","sources":["../../src/connection/ConnectionService.ts"],"names":[],"mappings":"AAmBA,OAAO,EAAC,UAAU,EAAmB,MAAM,qCAAqC,CAAC;AACjF,OAAO,EAAC,WAAW,EAAC,MAAM,8BAA8B,CAAC;AAEzD,OAAO,EAAC,SAAS,EAAC,MAAM,qBAAqB,CAAC;AAE9C,qBAAa,iBAAiB;IAChB,OAAO,CAAC,QAAQ,CAAC,SAAS;gBAAT,SAAS,EAAE,SAAS;IAE1C,cAAc,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;IAIvC,gBAAgB,CAAC,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC;IAM1D,gBAAgB,CAAC,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC;IAM1D,gBAAgB,CAAC,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC;CAGlE"}
|
|
@@ -25,7 +25,7 @@ class ConnectionService {
|
|
|
25
25
|
this.apiClient = apiClient;
|
|
26
26
|
}
|
|
27
27
|
getConnections() {
|
|
28
|
-
return this.apiClient.api.connection.
|
|
28
|
+
return this.apiClient.api.connection.getConnectionList();
|
|
29
29
|
}
|
|
30
30
|
acceptConnection(userId) {
|
|
31
31
|
return this.apiClient.api.connection.putConnection(userId, {
|
|
@@ -38,7 +38,7 @@ class ConnectionService {
|
|
|
38
38
|
});
|
|
39
39
|
}
|
|
40
40
|
createConnection(userId) {
|
|
41
|
-
return this.apiClient.api.connection.postConnection(userId
|
|
41
|
+
return this.apiClient.api.connection.postConnection(userId);
|
|
42
42
|
}
|
|
43
43
|
}
|
|
44
44
|
exports.ConnectionService = ConnectionService;
|
|
@@ -23,7 +23,7 @@ export declare class ConversationService {
|
|
|
23
23
|
* @param {string} conversationId
|
|
24
24
|
* @param {string} conversationDomain? - If given will send the message to the new qualified endpoint
|
|
25
25
|
*/
|
|
26
|
-
fetchAllParticipantsClients(conversationId: QualifiedId
|
|
26
|
+
fetchAllParticipantsClients(conversationId: QualifiedId): Promise<UserClients | QualifiedUserClients>;
|
|
27
27
|
/**
|
|
28
28
|
* Create a group conversation.
|
|
29
29
|
*
|
|
@@ -1 +1 @@
|
|
|
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,WAAW,EAEX,mBAAmB,EACpB,MAAM,sCAAsC,CAAC;AAE9C,OAAO,EAAC,4BAA4B,EAAC,MAAM,+BAA+B,CAAC;AAC3E,OAAO,EAAC,WAAW,EAAC,MAAM,8BAA8B,CAAC;AACzD,OAAO,EAAC,GAAG,EAAC,MAAM,oCAAoC,CAAC;AAIvD,OAAO,EAAC,SAAS,EAAC,MAAM,qBAAqB,CAAC;AAI9C,OAAO,EAAC,cAAc,EAAE,aAAa,EAAE,oBAAoB,EAAE,UAAU,EAAC,MAAM,6BAA6B,CAAC;AAE5G,OAAO,EAAC,YAAY,EAAuB,iBAAiB,EAAC,MAAM,qBAAqB,CAAC;AAEzF,OAAO,EAAC,UAAU,EAAuB,MAAM,8BAA8B,CAAC;AAC9E,OAAO,EAAkC,cAAc,EAAC,MAAM,kCAAkC,CAAC;AACjG,OAAO,EACL,mCAAmC,EACnC,wBAAwB,EACzB,MAAM,sEAAsE,CAAC;AAG9E,OAAO,EAAC,UAAU,EAAC,MAAM,YAAY,CAAC;AAGtC,qBAAa,mBAAmB;IAK5B,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,cAAc;IAC/B,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC;IAN/B,SAAgB,YAAY,EAAE,YAAY,CAAC;IAC3C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAgD;gBAGpD,SAAS,EAAE,SAAS,EACpB,cAAc,EAAE,cAAc,EAC9B,WAAW,CAAC,wBAAY;IAK3C,IAAI,UAAU,IAAI,UAAU,CAK3B;IAED;;;;;OAKG;IACU,2BAA2B,
|
|
1
|
+
{"version":3,"file":"ConversationService.d.ts","sourceRoot":"","sources":["../../../src/conversation/ConversationService/ConversationService.ts"],"names":[],"mappings":"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"}
|
|
@@ -208,7 +208,7 @@ describe('ConversationService', () => {
|
|
|
208
208
|
{ domain: 'test-domain', id: 'test-id-1' },
|
|
209
209
|
{ domain: 'test-domain', id: 'test-id-2' },
|
|
210
210
|
]);
|
|
211
|
-
const fetchedMembers = await conversationService.fetchAllParticipantsClients('convid');
|
|
211
|
+
const fetchedMembers = await conversationService.fetchAllParticipantsClients({ id: 'convid', domain: '' });
|
|
212
212
|
expect(fetchedMembers).toEqual(members);
|
|
213
213
|
});
|
|
214
214
|
});
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { QualifiedUserClients, ClientMismatch, ConversationProtocol, MessageSendingStatus,
|
|
1
|
+
import { QualifiedUserClients, ClientMismatch, ConversationProtocol, MessageSendingStatus, Conversation } from '@wireapp/api-client/lib/conversation';
|
|
2
2
|
import { ConversationEvent } from '@wireapp/api-client/lib/event';
|
|
3
3
|
import { QualifiedId } from '@wireapp/api-client/lib/user';
|
|
4
4
|
import { GenericMessage } from '@wireapp/protocol-messaging';
|
|
@@ -15,11 +15,7 @@ export interface MessageSendingOptions {
|
|
|
15
15
|
* 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
|
|
16
16
|
* When given a QualifiedUserClients the method will only send to the clients listed in the userIds. This could lead to ClientMismatch (since the given list of devices might not be the freshest one and new clients could have been created)
|
|
17
17
|
*/
|
|
18
|
-
userIds?:
|
|
19
|
-
/**
|
|
20
|
-
* Will send the message as a protobuf payload
|
|
21
|
-
*/
|
|
22
|
-
sendAsProtobuf?: boolean;
|
|
18
|
+
userIds?: QualifiedId[] | QualifiedUserClients;
|
|
23
19
|
nativePush?: boolean;
|
|
24
20
|
/**
|
|
25
21
|
* Will be called whenever there is a clientmismatch returned from the server. Needs to be combined with a userIds of type QualifiedUserClients
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ConversationService.types.d.ts","sourceRoot":"","sources":["../../../src/conversation/ConversationService/ConversationService.types.ts"],"names":[],"mappings":"AAmBA,OAAO,EACL,oBAAoB,EACpB,cAAc,EACd,oBAAoB,EACpB,oBAAoB,EACpB,
|
|
1
|
+
{"version":3,"file":"ConversationService.types.d.ts","sourceRoot":"","sources":["../../../src/conversation/ConversationService/ConversationService.types.ts"],"names":[],"mappings":"AAmBA,OAAO,EACL,oBAAoB,EACpB,cAAc,EACd,oBAAoB,EACpB,oBAAoB,EACpB,YAAY,EACb,MAAM,sCAAsC,CAAC;AAC9C,OAAO,EAAC,iBAAiB,EAAC,MAAM,+BAA+B,CAAC;AAChE,OAAO,EAAC,WAAW,EAAC,MAAM,8BAA8B,CAAC;AAEzD,OAAO,EAAC,cAAc,EAAC,MAAM,6BAA6B,CAAC;AAE3D,OAAO,EAAC,mBAAmB,EAAC,MAAM,IAAI,CAAC;AAEvC,oBAAY,iBAAiB;IAC3B,IAAI,IAAA;IACJ,KAAK,IAAA;IACL,aAAa,IAAA;CACd;AAED,MAAM,WAAW,qBAAqB;IACpC;;;;;OAKG;IACH,OAAO,CAAC,EAAE,WAAW,EAAE,GAAG,oBAAoB,CAAC;IAE/C,UAAU,CAAC,EAAE,OAAO,CAAC;IAErB;;OAEG;IACH,gBAAgB,CAAC,EAAE,uBAAuB,CAAC,kBAAkB,CAAC,CAAC;IAE/D;;;;;OAKG;IACH,UAAU,CAAC,EAAE,iBAAiB,CAAC;CAChC;AAED,MAAM,WAAW,uBAAuB;IACtC;;;;;;OAMG;IACH,gBAAgB,CAAC,EAAE,CACjB,MAAM,EAAE,cAAc,GAAG,oBAAoB,EAC7C,OAAO,EAAE,OAAO,KACb,IAAI,GAAG,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CACxC;AAED;;;;GAIG;AAEH;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG;IAC1B,QAAQ,EAAE,oBAAoB,CAAC;CAChC,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,gBAAgB,GAAG,aAAa,GAAG;IAC7C,OAAO,EAAE,cAAc,CAAC;CACzB,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG,gBAAgB,GAAG;IACpD;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,oBAAoB,CAAC,GAAG,CAAC;CACpC,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG,WAAW,GAAG;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAC,CAAC;AAE9D,MAAM,MAAM,cAAc,GAAG;IAC3B,cAAc,EAAE,WAAW,CAAC;IAC5B,gBAAgB,EAAE,WAAW,EAAE,CAAC;IAChC,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,cAAc,EAAE,WAAW,CAAC;IAC5B,gBAAgB,EAAE,WAAW,EAAE,CAAC;IAChC,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG;IAAC,MAAM,EAAE,iBAAiB,EAAE,CAAC;IAAC,YAAY,EAAE,YAAY,CAAA;CAAC,CAAC;AAEtF,MAAM,MAAM,UAAU,GAAG;IACvB,iCAAiC;IACjC,EAAE,EAAE,MAAM,CAAC;IACX,8EAA8E;IAC9E,MAAM,EAAE,MAAM,CAAC;IACf,2FAA2F;IAC3F,KAAK,EAAE,mBAAmB,CAAC;IAC3B,4MAA4M;IAC5M,YAAY,CAAC,EAAE,oBAAoB,CAAC;CACrC,CAAC"}
|
|
@@ -2,7 +2,7 @@ import { APIClient } from '@wireapp/api-client/lib/APIClient';
|
|
|
2
2
|
import { QualifiedId } from '@wireapp/api-client/lib/user';
|
|
3
3
|
interface Params {
|
|
4
4
|
apiClient: APIClient;
|
|
5
|
-
conversationId:
|
|
5
|
+
conversationId: QualifiedId;
|
|
6
6
|
}
|
|
7
7
|
declare const getConversationQualifiedMembers: ({ apiClient, conversationId }: Params) => Promise<QualifiedId[]>;
|
|
8
8
|
export { getConversationQualifiedMembers };
|
package/lib/conversation/ConversationService/Utility/getConversationQualifiedMembers.d.ts.map
CHANGED
|
@@ -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,
|
|
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,QAAQ,WAAW,EAAE,CAWzG,CAAC;AAEF,OAAO,EAAC,+BAA+B,EAAC,CAAC"}
|
|
@@ -1,32 +1,11 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { QualifiedId, QualifiedUserPreKeyBundleMap
|
|
1
|
+
import { MessageSendingStatus, QualifiedUserClients } from '@wireapp/api-client/lib/conversation';
|
|
2
|
+
import { QualifiedId, QualifiedUserPreKeyBundleMap } from '@wireapp/api-client/lib/user';
|
|
3
3
|
import { APIClient } from '@wireapp/api-client';
|
|
4
4
|
import type { ProteusService } from '../../messagingProtocols/proteus';
|
|
5
5
|
export declare class MessageService {
|
|
6
6
|
private readonly apiClient;
|
|
7
7
|
private readonly proteusService;
|
|
8
8
|
constructor(apiClient: APIClient, proteusService: ProteusService);
|
|
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?: QualifiedId;
|
|
23
|
-
reportMissing?: boolean | string[];
|
|
24
|
-
sendAsProtobuf?: boolean;
|
|
25
|
-
nativePush?: boolean;
|
|
26
|
-
onClientMismatch?: (mismatch: ClientMismatch) => void | boolean | Promise<boolean>;
|
|
27
|
-
}): Promise<ClientMismatch & {
|
|
28
|
-
canceled?: boolean;
|
|
29
|
-
}>;
|
|
30
9
|
/**
|
|
31
10
|
* Sends a message to a federated backend.
|
|
32
11
|
*
|
|
@@ -39,7 +18,7 @@ export declare class MessageService {
|
|
|
39
18
|
* @param options.onClientMismatch? Called when a mismatch happens on the server
|
|
40
19
|
* @return the MessageSendingStatus returned by the backend
|
|
41
20
|
*/
|
|
42
|
-
|
|
21
|
+
sendMessage(sendingClientId: string, recipients: QualifiedUserClients | QualifiedUserPreKeyBundleMap, plainText: Uint8Array, options?: {
|
|
43
22
|
assetData?: Uint8Array;
|
|
44
23
|
conversationId?: QualifiedId;
|
|
45
24
|
reportMissing?: boolean | QualifiedId[];
|
|
@@ -48,12 +27,8 @@ export declare class MessageService {
|
|
|
48
27
|
}): Promise<MessageSendingStatus & {
|
|
49
28
|
canceled?: boolean;
|
|
50
29
|
}>;
|
|
51
|
-
private
|
|
52
|
-
private sendOTRMessage;
|
|
53
|
-
private generateExternalPayload;
|
|
54
|
-
private shouldSendAsExternal;
|
|
30
|
+
private sendOtrMessage;
|
|
55
31
|
private isClientMismatchError;
|
|
56
|
-
private reencryptAfterMismatch;
|
|
57
32
|
/**
|
|
58
33
|
* 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)
|
|
59
34
|
*
|
|
@@ -62,7 +37,6 @@ export declare class MessageService {
|
|
|
62
37
|
* @param {Uint8Array} plainText The text that should be encrypted for the missing clients
|
|
63
38
|
* @return resolves with a new message payload that can be sent
|
|
64
39
|
*/
|
|
65
|
-
private
|
|
66
|
-
private sendOTRProtobufMessage;
|
|
40
|
+
private reencryptAfterMismatch;
|
|
67
41
|
}
|
|
68
42
|
//# sourceMappingURL=MessageService.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MessageService.d.ts","sourceRoot":"","sources":["../../../src/conversation/message/MessageService.ts"],"names":[],"mappings":"AAmBA,OAAO,
|
|
1
|
+
{"version":3,"file":"MessageService.d.ts","sourceRoot":"","sources":["../../../src/conversation/message/MessageService.ts"],"names":[],"mappings":"AAmBA,OAAO,EAEL,oBAAoB,EAEpB,oBAAoB,EACrB,MAAM,sCAAsC,CAAC;AAC9C,OAAO,EAAC,WAAW,EAAE,4BAA4B,EAAC,MAAM,8BAA8B,CAAC;AAOvF,OAAO,EAAC,SAAS,EAAC,MAAM,qBAAqB,CAAC;AAI9C,OAAO,KAAK,EAAC,cAAc,EAAC,MAAM,kCAAkC,CAAC;AAKrE,qBAAa,cAAc;IACb,OAAO,CAAC,QAAQ,CAAC,SAAS;IAAa,OAAO,CAAC,QAAQ,CAAC,cAAc;gBAArD,SAAS,EAAE,SAAS,EAAmB,cAAc,EAAE,cAAc;IAElG;;;;;;;;;;;OAWG;IACU,WAAW,CACtB,eAAe,EAAE,MAAM,EACvB,UAAU,EAAE,oBAAoB,GAAG,4BAA4B,EAC/D,SAAS,EAAE,UAAU,EACrB,OAAO,GAAE;QACP,SAAS,CAAC,EAAE,UAAU,CAAC;QACvB,cAAc,CAAC,EAAE,WAAW,CAAC;QAC7B,aAAa,CAAC,EAAE,OAAO,GAAG,WAAW,EAAE,CAAC;QACxC,UAAU,CAAC,EAAE,OAAO,CAAC;QACrB,gBAAgB,CAAC,EAAE,CAAC,QAAQ,EAAE,oBAAoB,KAAK,IAAI,GAAG,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;KACrF,GACL,OAAO,CAAC,oBAAoB,GAAG;QAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;KAAC,CAAC;YAwBzC,cAAc;IAiE5B,OAAO,CAAC,qBAAqB;IAI7B;;;;;;;OAOG;YACW,sBAAsB;CAoBrC"}
|