@wireapp/core 46.46.6-beta.10.d7a6c4c53 → 46.46.6-beta.14.f6fd03fe6
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 +51 -168
- package/lib/Account.d.ts.map +1 -1
- package/lib/Account.js +127 -517
- package/lib/Account.test.js +147 -158
- package/lib/broadcast/AvailabilityType.d.ts +1 -1
- package/lib/broadcast/AvailabilityType.d.ts.map +1 -1
- package/lib/broadcast/BroadcastService.d.ts +1 -1
- package/lib/broadcast/BroadcastService.d.ts.map +1 -1
- package/lib/broadcast/BroadcastService.js +1 -1
- package/lib/client/ClientService.d.ts +3 -4
- package/lib/client/ClientService.d.ts.map +1 -1
- package/lib/client/ClientService.js +5 -19
- package/lib/conversation/AbortReason.d.ts +1 -1
- package/lib/conversation/AbortReason.d.ts.map +1 -1
- package/lib/conversation/AssetService/AssetService.d.ts +30 -12
- package/lib/conversation/AssetService/AssetService.d.ts.map +1 -1
- package/lib/conversation/AssetService/AssetService.js +10 -1
- package/lib/conversation/AssetService/AssetService.test.js +3 -8
- package/lib/conversation/ClientActionType.d.ts +1 -1
- package/lib/conversation/ClientActionType.d.ts.map +1 -1
- package/lib/conversation/ClientActionType.js +1 -1
- package/lib/conversation/ConversationService/ConversationService.d.ts +14 -98
- package/lib/conversation/ConversationService/ConversationService.d.ts.map +1 -1
- package/lib/conversation/ConversationService/ConversationService.js +101 -314
- package/lib/conversation/ConversationService/ConversationService.test.js +47 -441
- package/lib/conversation/ConversationService/ConversationService.types.d.ts +4 -5
- package/lib/conversation/ConversationService/ConversationService.types.d.ts.map +1 -1
- package/lib/conversation/ConversationService/Utility/getConversationQualifiedMembers.d.ts.map +1 -1
- package/lib/conversation/ConversationService/Utility/getConversationQualifiedMembers.js +3 -6
- package/lib/conversation/SubconversationService/SubconversationService.d.ts.map +1 -1
- package/lib/conversation/SubconversationService/SubconversationService.js +11 -158
- package/lib/conversation/SubconversationService/SubconversationService.test.js +2 -8
- package/lib/conversation/content/AssetContent.d.ts +1 -1
- package/lib/conversation/content/AssetContent.d.ts.map +1 -1
- package/lib/conversation/content/ButtonActionConfirmationContent.d.ts +1 -1
- package/lib/conversation/content/ButtonActionConfirmationContent.d.ts.map +1 -1
- package/lib/conversation/content/ButtonActionContent.d.ts +1 -1
- package/lib/conversation/content/ButtonActionContent.d.ts.map +1 -1
- package/lib/conversation/content/ClearedContent.d.ts +1 -1
- package/lib/conversation/content/ClearedContent.d.ts.map +1 -1
- package/lib/conversation/content/ClientActionContent.d.ts +1 -1
- package/lib/conversation/content/ClientActionContent.d.ts.map +1 -1
- package/lib/conversation/content/CompositeContent.d.ts +1 -1
- package/lib/conversation/content/CompositeContent.d.ts.map +1 -1
- package/lib/conversation/content/ConfirmationContent.d.ts +1 -1
- package/lib/conversation/content/ConfirmationContent.d.ts.map +1 -1
- package/lib/conversation/content/DeletedContent.d.ts +1 -1
- package/lib/conversation/content/DeletedContent.d.ts.map +1 -1
- package/lib/conversation/content/HiddenContent.d.ts +1 -1
- package/lib/conversation/content/HiddenContent.d.ts.map +1 -1
- package/lib/conversation/content/KnockContent.d.ts +1 -1
- package/lib/conversation/content/KnockContent.d.ts.map +1 -1
- package/lib/conversation/content/LinkPreviewContent.d.ts +1 -1
- package/lib/conversation/content/LinkPreviewContent.d.ts.map +1 -1
- package/lib/conversation/content/MentionContent.d.ts +1 -1
- package/lib/conversation/content/MentionContent.d.ts.map +1 -1
- package/lib/conversation/content/MultipartContent.d.ts +1 -1
- package/lib/conversation/content/MultipartContent.d.ts.map +1 -1
- package/lib/conversation/content/QuoteContent.d.ts +1 -1
- package/lib/conversation/content/QuoteContent.d.ts.map +1 -1
- package/lib/conversation/content/TweetContent.d.ts +1 -1
- package/lib/conversation/content/TweetContent.d.ts.map +1 -1
- package/lib/conversation/content/index.d.ts +1 -1
- package/lib/conversation/content/index.d.ts.map +1 -1
- package/lib/conversation/content/index.js +1 -1
- package/lib/conversation/message/MessageBuilder.d.ts +1 -1
- package/lib/conversation/message/MessageBuilder.d.ts.map +1 -1
- package/lib/conversation/message/MessageBuilder.js +1 -1
- package/lib/conversation/message/MessageService.d.ts.map +1 -1
- package/lib/conversation/message/MessageService.js +1 -1
- package/lib/conversation/message/MessageService.test.js +1 -7
- package/lib/conversation/message/MessageToProtoMapper.d.ts +1 -1
- package/lib/conversation/message/MessageToProtoMapper.d.ts.map +1 -1
- package/lib/conversation/message/MessageToProtoMapper.js +1 -1
- package/lib/conversation/message/messageSender.js +2 -2
- package/lib/cryptography/AssetCryptography/EncryptedAsset.d.ts +2 -2
- package/lib/cryptography/AssetCryptography/EncryptedAsset.d.ts.map +1 -1
- package/lib/messagingProtocols/common.types.d.ts +0 -9
- package/lib/messagingProtocols/common.types.d.ts.map +1 -1
- package/lib/messagingProtocols/mls/E2EIdentityService/E2EIService.types.d.ts +2 -2
- package/lib/messagingProtocols/mls/E2EIdentityService/E2EIService.types.d.ts.map +1 -1
- package/lib/messagingProtocols/mls/E2EIdentityService/E2EIService.types.js +1 -2
- package/lib/messagingProtocols/mls/E2EIdentityService/E2EIServiceExternal.d.ts +1 -1
- package/lib/messagingProtocols/mls/E2EIdentityService/E2EIServiceExternal.d.ts.map +1 -1
- package/lib/messagingProtocols/mls/E2EIdentityService/E2EIServiceExternal.js +11 -13
- package/lib/messagingProtocols/mls/E2EIdentityService/E2EIServiceExternal.test.js +16 -21
- package/lib/messagingProtocols/mls/E2EIdentityService/E2EIServiceInternal.d.ts +3 -9
- package/lib/messagingProtocols/mls/E2EIdentityService/E2EIServiceInternal.d.ts.map +1 -1
- package/lib/messagingProtocols/mls/E2EIdentityService/E2EIServiceInternal.js +12 -31
- package/lib/messagingProtocols/mls/E2EIdentityService/Helper/index.d.ts +0 -6
- package/lib/messagingProtocols/mls/E2EIdentityService/Helper/index.d.ts.map +1 -1
- package/lib/messagingProtocols/mls/E2EIdentityService/Helper/index.js +1 -19
- package/lib/messagingProtocols/mls/EventHandler/events/messageAdd/IncomingMessagesQueue/IncomingMesssagesQueue.d.ts +4 -0
- package/lib/messagingProtocols/mls/EventHandler/events/messageAdd/IncomingMessagesQueue/IncomingMesssagesQueue.d.ts.map +1 -0
- package/lib/messagingProtocols/mls/EventHandler/events/messageAdd/IncomingMessagesQueue/IncomingMesssagesQueue.js +69 -0
- package/lib/messagingProtocols/mls/EventHandler/events/messageAdd/IncomingMessagesQueue/index.d.ts +2 -0
- package/lib/messagingProtocols/mls/EventHandler/events/messageAdd/{IncomingProposalsQueue → IncomingMessagesQueue}/index.d.ts.map +1 -1
- package/lib/messagingProtocols/mls/EventHandler/events/messageAdd/{IncomingProposalsQueue → IncomingMessagesQueue}/index.js +1 -1
- package/lib/messagingProtocols/mls/EventHandler/events/messageAdd/index.d.ts +1 -0
- package/lib/messagingProtocols/mls/EventHandler/events/messageAdd/index.d.ts.map +1 -1
- package/lib/messagingProtocols/mls/EventHandler/events/messageAdd/index.js +1 -0
- package/lib/messagingProtocols/mls/EventHandler/events/messageAdd/messageAdd.d.ts.map +1 -1
- package/lib/messagingProtocols/mls/EventHandler/events/messageAdd/messageAdd.js +14 -23
- package/lib/messagingProtocols/mls/EventHandler/events/messageAdd/messageAdd.test.d.ts +2 -0
- package/lib/messagingProtocols/mls/EventHandler/events/messageAdd/messageAdd.test.d.ts.map +1 -0
- package/lib/messagingProtocols/mls/EventHandler/events/messageAdd/messageAdd.test.js +98 -0
- package/lib/messagingProtocols/mls/EventHandler/events/welcomeMessage/welcomeMessage.d.ts.map +1 -1
- package/lib/messagingProtocols/mls/EventHandler/events/welcomeMessage/welcomeMessage.js +2 -5
- package/lib/messagingProtocols/mls/EventHandler/events/welcomeMessage/welcomeMessage.test.js +3 -13
- package/lib/messagingProtocols/mls/MLSService/CoreCryptoMLSError.d.ts +2 -38
- package/lib/messagingProtocols/mls/MLSService/CoreCryptoMLSError.d.ts.map +1 -1
- package/lib/messagingProtocols/mls/MLSService/CoreCryptoMLSError.js +6 -41
- package/lib/messagingProtocols/mls/MLSService/MLSService.d.ts +34 -38
- package/lib/messagingProtocols/mls/MLSService/MLSService.d.ts.map +1 -1
- package/lib/messagingProtocols/mls/MLSService/MLSService.js +208 -267
- package/lib/messagingProtocols/mls/MLSService/MLSService.test.js +160 -157
- package/lib/messagingProtocols/mls/MLSService/commitBundleUtil.js +3 -3
- package/lib/messagingProtocols/mls/MLSService/commitBundleUtil.test.js +5 -5
- package/lib/messagingProtocols/mls/conversationRejoinQueue.js +2 -2
- package/lib/messagingProtocols/mls/types.d.ts +8 -0
- package/lib/messagingProtocols/mls/types.d.ts.map +1 -1
- package/lib/messagingProtocols/proteus/EventHandler/events/otrMessageAdd/otrMessageAdd.d.ts.map +1 -1
- package/lib/messagingProtocols/proteus/EventHandler/events/otrMessageAdd/otrMessageAdd.js +1 -7
- package/lib/messagingProtocols/proteus/ProteusService/CryptoClient/CoreCryptoWrapper/CoreCryptoWrapper.d.ts +15 -8
- package/lib/messagingProtocols/proteus/ProteusService/CryptoClient/CoreCryptoWrapper/CoreCryptoWrapper.d.ts.map +1 -1
- package/lib/messagingProtocols/proteus/ProteusService/CryptoClient/CoreCryptoWrapper/CoreCryptoWrapper.js +62 -97
- package/lib/messagingProtocols/proteus/ProteusService/CryptoClient/CryptoClient.types.d.ts +6 -0
- package/lib/messagingProtocols/proteus/ProteusService/CryptoClient/CryptoClient.types.d.ts.map +1 -1
- package/lib/messagingProtocols/proteus/ProteusService/DecryptionErrorGenerator/DecryptionErrorGenerator.d.ts +6 -1
- package/lib/messagingProtocols/proteus/ProteusService/DecryptionErrorGenerator/DecryptionErrorGenerator.d.ts.map +1 -1
- package/lib/messagingProtocols/proteus/ProteusService/DecryptionErrorGenerator/DecryptionErrorGenerator.js +22 -19
- package/lib/messagingProtocols/proteus/ProteusService/ProteusService.d.ts +3 -5
- package/lib/messagingProtocols/proteus/ProteusService/ProteusService.d.ts.map +1 -1
- package/lib/messagingProtocols/proteus/ProteusService/ProteusService.js +24 -11
- package/lib/messagingProtocols/proteus/ProteusService/ProteusService.mocks.d.ts +0 -1
- package/lib/messagingProtocols/proteus/ProteusService/ProteusService.mocks.d.ts.map +1 -1
- package/lib/messagingProtocols/proteus/ProteusService/ProteusService.mocks.js +2 -11
- package/lib/messagingProtocols/proteus/ProteusService/ProteusService.test.js +9 -13
- package/lib/messagingProtocols/proteus/ProteusService/ProteusService.types.d.ts +2 -3
- package/lib/messagingProtocols/proteus/ProteusService/ProteusService.types.d.ts.map +1 -1
- package/lib/messagingProtocols/proteus/ProteusService/WithMockedGenerics.test.js +4 -11
- package/lib/messagingProtocols/proteus/ProteusService/cryptoMigrationStateStore.d.ts +4 -0
- package/lib/messagingProtocols/proteus/ProteusService/cryptoMigrationStateStore.d.ts.map +1 -1
- package/lib/messagingProtocols/proteus/ProteusService/cryptoMigrationStateStore.js +5 -0
- package/lib/messagingProtocols/proteus/ProteusService/identityClearer.d.ts +1 -2
- package/lib/messagingProtocols/proteus/ProteusService/identityClearer.d.ts.map +1 -1
- package/lib/messagingProtocols/proteus/ProteusService/identityClearer.js +2 -8
- package/lib/messagingProtocols/proteus/Utility/SessionHandler/SessionHandler.test.js +0 -4
- package/lib/messagingProtocols/proteus/Utility/getGenericMessageParams.d.ts +1 -1
- package/lib/messagingProtocols/proteus/Utility/getGenericMessageParams.d.ts.map +1 -1
- package/lib/messagingProtocols/proteus/Utility/getGenericMessageParams.js +1 -1
- package/lib/notification/NotificationService.d.ts +6 -20
- package/lib/notification/NotificationService.d.ts.map +1 -1
- package/lib/notification/NotificationService.js +14 -23
- package/lib/notification/NotificationService.test.js +0 -8
- package/lib/secretStore/secretKeyGenerator.d.ts +0 -1
- package/lib/secretStore/secretKeyGenerator.d.ts.map +1 -1
- package/lib/secretStore/secretKeyGenerator.js +1 -3
- package/lib/self/SelfService.d.ts +2 -2
- package/lib/self/SelfService.d.ts.map +1 -1
- package/lib/self/SelfService.test.js +2 -5
- package/lib/team/TeamService.d.ts +2 -5
- package/lib/team/TeamService.d.ts.map +1 -1
- package/lib/team/TeamService.js +2 -12
- package/lib/user/UserService.d.ts +2 -2
- package/lib/user/UserService.d.ts.map +1 -1
- package/lib/user/UserService.js +3 -3
- package/lib/util/TypePredicateUtil.d.ts.map +1 -1
- package/lib/util/TypePredicateUtil.js +2 -2
- package/package.json +3 -3
- package/lib/messagingProtocols/mls/EventHandler/events/messageAdd/IncomingProposalsQueue/IncomingProposalsQueue.d.ts +0 -7
- package/lib/messagingProtocols/mls/EventHandler/events/messageAdd/IncomingProposalsQueue/IncomingProposalsQueue.d.ts.map +0 -1
- package/lib/messagingProtocols/mls/EventHandler/events/messageAdd/IncomingProposalsQueue/IncomingProposalsQueue.js +0 -48
- package/lib/messagingProtocols/mls/EventHandler/events/messageAdd/IncomingProposalsQueue/index.d.ts +0 -2
- package/lib/messagingProtocols/mls/MLSService/CoreCryptoMLSError.test.d.ts +0 -2
- package/lib/messagingProtocols/mls/MLSService/CoreCryptoMLSError.test.d.ts.map +0 -1
- package/lib/messagingProtocols/mls/MLSService/CoreCryptoMLSError.test.js +0 -124
- package/lib/messagingProtocols/mls/recovery/MlsErrorMapper.d.ts +0 -78
- package/lib/messagingProtocols/mls/recovery/MlsErrorMapper.d.ts.map +0 -1
- package/lib/messagingProtocols/mls/recovery/MlsErrorMapper.js +0 -173
- package/lib/messagingProtocols/mls/recovery/MlsErrorMapper.test.d.ts +0 -2
- package/lib/messagingProtocols/mls/recovery/MlsErrorMapper.test.d.ts.map +0 -1
- package/lib/messagingProtocols/mls/recovery/MlsErrorMapper.test.js +0 -117
- package/lib/messagingProtocols/mls/recovery/MlsRecoveryOrchestrator.d.ts +0 -167
- package/lib/messagingProtocols/mls/recovery/MlsRecoveryOrchestrator.d.ts.map +0 -1
- package/lib/messagingProtocols/mls/recovery/MlsRecoveryOrchestrator.js +0 -317
- package/lib/messagingProtocols/mls/recovery/MlsRecoveryOrchestrator.test.d.ts +0 -2
- package/lib/messagingProtocols/mls/recovery/MlsRecoveryOrchestrator.test.d.ts.map +0 -1
- package/lib/messagingProtocols/mls/recovery/MlsRecoveryOrchestrator.test.js +0 -248
- package/lib/messagingProtocols/mls/recovery/index.d.ts +0 -5
- package/lib/messagingProtocols/mls/recovery/index.d.ts.map +0 -1
- package/lib/messagingProtocols/mls/recovery/index.js +0 -28
- package/lib/test/StoreHelper.d.ts +0 -2
- package/lib/test/StoreHelper.d.ts.map +0 -1
- package/lib/test/StoreHelper.js +0 -27
package/lib/Account.d.ts
CHANGED
|
@@ -1,11 +1,8 @@
|
|
|
1
1
|
import { RegisterData, Context, Cookie, LoginData } from '@wireapp/api-client/lib/auth';
|
|
2
|
-
import {
|
|
2
|
+
import { ClientType, RegisteredClient } from '@wireapp/api-client/lib/client/';
|
|
3
3
|
import * as Events from '@wireapp/api-client/lib/event';
|
|
4
|
-
import { Notification } from '@wireapp/api-client/lib/notification/';
|
|
5
|
-
import { ConsumableNotification } from '@wireapp/api-client/lib/notification/ConsumableNotification';
|
|
6
4
|
import { APIClient, BackendFeatures } from '@wireapp/api-client';
|
|
7
5
|
import { TypedEventEmitter } from '@wireapp/commons';
|
|
8
|
-
import type { CoreCryptoLogLevel } from '@wireapp/core-crypto';
|
|
9
6
|
import { CRUDEngine } from '@wireapp/store-engine';
|
|
10
7
|
import { AccountService } from './account/';
|
|
11
8
|
import { BroadcastService } from './broadcast/';
|
|
@@ -15,11 +12,10 @@ import { AssetService, ConversationService } from './conversation/';
|
|
|
15
12
|
import { SubconversationService } from './conversation/SubconversationService/SubconversationService';
|
|
16
13
|
import { GiphyService } from './giphy/';
|
|
17
14
|
import { LinkPreviewService } from './linkPreview';
|
|
18
|
-
import { CoreCryptoConfig } from './messagingProtocols/common.types';
|
|
19
15
|
import { InitClientOptions, MLSService } from './messagingProtocols/mls';
|
|
20
16
|
import { E2EIServiceExternal } from './messagingProtocols/mls/E2EIdentityService';
|
|
21
|
-
import {
|
|
22
|
-
import { CoreCallbacks, SecretCrypto } from './messagingProtocols/mls/types';
|
|
17
|
+
import { getTokenCallback } from './messagingProtocols/mls/E2EIdentityService/E2EIServiceInternal';
|
|
18
|
+
import { CoreCallbacks, CoreCryptoConfig, SecretCrypto } from './messagingProtocols/mls/types';
|
|
23
19
|
import { NewClient, ProteusService } from './messagingProtocols/proteus';
|
|
24
20
|
import { HandledEventPayload, NotificationService, NotificationSource } from './notification/';
|
|
25
21
|
import { SelfService } from './self/';
|
|
@@ -27,14 +23,21 @@ import { TeamService } from './team/';
|
|
|
27
23
|
import { UserService } from './user/';
|
|
28
24
|
import { RecurringTaskScheduler } from './util/RecurringTaskScheduler';
|
|
29
25
|
export type ProcessedEventPayload = HandledEventPayload;
|
|
26
|
+
export declare enum EVENTS {
|
|
27
|
+
/**
|
|
28
|
+
* event triggered when a message from an unknown client is received.
|
|
29
|
+
* An unknown client is a client we don't yet have a session with
|
|
30
|
+
*/
|
|
31
|
+
NEW_SESSION = "new_session"
|
|
32
|
+
}
|
|
30
33
|
export declare enum ConnectionState {
|
|
31
|
-
/** The
|
|
34
|
+
/** The websocket is closed and notifications stream is not being processed */
|
|
32
35
|
CLOSED = "closed",
|
|
33
|
-
/** The
|
|
36
|
+
/** The websocket is being opened */
|
|
34
37
|
CONNECTING = "connecting",
|
|
35
38
|
/** The websocket is open but locked and notifications stream is being processed */
|
|
36
39
|
PROCESSING_NOTIFICATIONS = "processing_notifications",
|
|
37
|
-
/** The
|
|
40
|
+
/** The websocket is open and message will go through and notifications stream is fully processed */
|
|
38
41
|
LIVE = "live"
|
|
39
42
|
}
|
|
40
43
|
export type CreateStoreFn = (storeName: string, key: Uint8Array) => undefined | Promise<CRUDEngine | undefined>;
|
|
@@ -42,7 +45,6 @@ interface AccountOptions {
|
|
|
42
45
|
/** Used to store info in the database (will create a inMemory engine if returns undefined) */
|
|
43
46
|
createStore?: CreateStoreFn;
|
|
44
47
|
systemCrypto?: SecretCrypto;
|
|
45
|
-
coreCryptoConfig?: CoreCryptoConfig;
|
|
46
48
|
/** Number of prekeys to generate when creating a new device (defaults to 2)
|
|
47
49
|
* Prekeys are Diffie-Hellmann public keys which allow offline initiation of a secure Proteus session between two devices.
|
|
48
50
|
* Having a high value will:
|
|
@@ -53,40 +55,29 @@ interface AccountOptions {
|
|
|
53
55
|
* - make it likely that all prekeys get consumed while the device is offline and the last resort prekey will be used to create new session
|
|
54
56
|
*/
|
|
55
57
|
nbPrekeys: number;
|
|
58
|
+
/**
|
|
59
|
+
* Config for coreCrypto in case it supposed to be used. Will fallback to the old cryptobox logic if not provided
|
|
60
|
+
*/
|
|
61
|
+
coreCryptoConfig?: CoreCryptoConfig;
|
|
56
62
|
}
|
|
57
63
|
type InitOptions = {
|
|
58
64
|
/** cookie used to identify the current user. Will use the browser cookie if not defined */
|
|
59
65
|
cookie?: Cookie;
|
|
60
66
|
};
|
|
61
|
-
export declare enum EVENTS {
|
|
62
|
-
/**
|
|
63
|
-
* event triggered when a message from an unknown client is received.
|
|
64
|
-
* An unknown client is a client we don't yet have a session with
|
|
65
|
-
*/
|
|
66
|
-
NEW_SESSION = "new_session"
|
|
67
|
-
}
|
|
68
67
|
type Events = {
|
|
69
68
|
[EVENTS.NEW_SESSION]: NewClient;
|
|
70
69
|
};
|
|
71
|
-
export declare const AccountLocalStorageStore: {
|
|
72
|
-
get: (key: string) => string | undefined;
|
|
73
|
-
add: (key: string, value: string) => void;
|
|
74
|
-
remove: (key: string) => void;
|
|
75
|
-
has: (key: string) => boolean;
|
|
76
|
-
};
|
|
77
70
|
export declare class Account extends TypedEventEmitter<Events> {
|
|
78
|
-
private
|
|
71
|
+
private options;
|
|
79
72
|
private readonly apiClient;
|
|
80
73
|
private readonly logger;
|
|
74
|
+
private readonly coreCryptoConfig?;
|
|
81
75
|
/** this is the client the consumer is currently using. Will be set as soon as `initClient` is called and will be rest upon logout */
|
|
82
76
|
private currentClient?;
|
|
83
77
|
private storeEngine?;
|
|
84
78
|
private db?;
|
|
85
79
|
private encryptedDb?;
|
|
86
80
|
private coreCallbacks?;
|
|
87
|
-
private connectionState;
|
|
88
|
-
private readonly notificationProcessingQueue;
|
|
89
|
-
setMaxCoreCryptoLogLevel: (level: CoreCryptoLogLevel) => void;
|
|
90
81
|
service?: {
|
|
91
82
|
mls?: MLSService;
|
|
92
83
|
e2eIdentity?: E2EIServiceExternal;
|
|
@@ -124,9 +115,9 @@ export declare class Account extends TypedEventEmitter<Events> {
|
|
|
124
115
|
* - useVersion(0, 1, true) > version 1 is used
|
|
125
116
|
* @return The highest version that is both supported by client and backend
|
|
126
117
|
*/
|
|
127
|
-
useAPIVersion
|
|
128
|
-
private
|
|
129
|
-
enrollE2EI
|
|
118
|
+
useAPIVersion(min: number, max: number, allowDev?: boolean): Promise<BackendFeatures>;
|
|
119
|
+
private persistCookie;
|
|
120
|
+
enrollE2EI({ displayName, handle, teamId, discoveryUrl, getOAuthToken, certificateTtl, }: {
|
|
130
121
|
/** display name of the user (should match the identity provider) */
|
|
131
122
|
displayName: string;
|
|
132
123
|
/** handle of the user (should match the identity provider) */
|
|
@@ -136,11 +127,9 @@ export declare class Account extends TypedEventEmitter<Events> {
|
|
|
136
127
|
discoveryUrl: string;
|
|
137
128
|
/** function called to get the oauth token */
|
|
138
129
|
getOAuthToken: getTokenCallback;
|
|
139
|
-
/** function called to get all conversations */
|
|
140
|
-
getAllConversations: getAllConversationsCallback;
|
|
141
130
|
/** number of seconds the certificate should be valid (default 90 days) */
|
|
142
131
|
certificateTtl?: number;
|
|
143
|
-
})
|
|
132
|
+
}): Promise<void>;
|
|
144
133
|
get clientId(): string;
|
|
145
134
|
get userId(): string;
|
|
146
135
|
/**
|
|
@@ -149,32 +138,34 @@ export declare class Account extends TypedEventEmitter<Events> {
|
|
|
149
138
|
* @param registration The user's data
|
|
150
139
|
* @param clientType Type of client to create (temporary or permanent)
|
|
151
140
|
*/
|
|
152
|
-
register
|
|
141
|
+
register(registration: RegisterData, clientType: ClientType): Promise<Context>;
|
|
153
142
|
/**
|
|
154
143
|
* Will init the core with an already logged in user
|
|
155
144
|
*
|
|
156
145
|
* @param clientType The type of client the user is using (temporary or permanent)
|
|
157
146
|
*/
|
|
158
|
-
init
|
|
147
|
+
init(clientType: ClientType, { cookie }?: InitOptions): Promise<Context>;
|
|
159
148
|
/**
|
|
160
149
|
* Will log the user in with the given credential.
|
|
161
150
|
*
|
|
162
151
|
* @param loginData The credentials of the user
|
|
163
152
|
* @param clientInfo Info about the client to create (name, type...)
|
|
164
153
|
*/
|
|
165
|
-
login
|
|
154
|
+
login(loginData: LoginData): Promise<Context>;
|
|
166
155
|
/**
|
|
167
156
|
* Will register a new client for the current user
|
|
168
157
|
*/
|
|
169
|
-
registerClient
|
|
170
|
-
|
|
158
|
+
registerClient(loginData: LoginData, clientInfo?: ClientInfo,
|
|
159
|
+
/** will add extra manual entropy to the client's identity being created */
|
|
160
|
+
entropyData?: Uint8Array): Promise<RegisteredClient>;
|
|
161
|
+
getLocalClient(): Promise<RegisteredClient | undefined> | undefined;
|
|
171
162
|
/**
|
|
172
163
|
* Will initiate all the cryptographic material of the given registered device and setup all the background tasks.
|
|
173
164
|
*
|
|
174
165
|
* @returns The local existing client or undefined if the client does not exist or is not valid (non existing on backend)
|
|
175
166
|
*/
|
|
176
|
-
initClient
|
|
177
|
-
private
|
|
167
|
+
initClient(client: RegisteredClient, mlsConfig?: InitClientOptions): Promise<RegisteredClient>;
|
|
168
|
+
private buildCryptoClient;
|
|
178
169
|
/**
|
|
179
170
|
* In order to be able to send MLS messages, the core needs a few information from the consumer.
|
|
180
171
|
* Namely:
|
|
@@ -182,27 +173,18 @@ export declare class Account extends TypedEventEmitter<Events> {
|
|
|
182
173
|
* - what is the groupId of a conversation
|
|
183
174
|
* @param coreCallbacks
|
|
184
175
|
*/
|
|
185
|
-
configureCoreCallbacks
|
|
186
|
-
private
|
|
187
|
-
private
|
|
176
|
+
configureCoreCallbacks(coreCallbacks: CoreCallbacks): void;
|
|
177
|
+
private initServices;
|
|
178
|
+
private resetContext;
|
|
188
179
|
/**
|
|
189
180
|
* Will logout the current user
|
|
190
181
|
* @param clearData if set to `true` will completely wipe any database that was created by the Account
|
|
191
182
|
*/
|
|
192
|
-
logout
|
|
193
|
-
clearAllData?: boolean;
|
|
194
|
-
clearCryptoData?: boolean;
|
|
195
|
-
}) => Promise<void>;
|
|
196
|
-
private readonly wipeCommonData;
|
|
197
|
-
/**
|
|
198
|
-
* Will delete the identity and history of the current user
|
|
199
|
-
*/
|
|
200
|
-
private readonly wipeAllData;
|
|
183
|
+
logout(clearData?: boolean): Promise<void>;
|
|
201
184
|
/**
|
|
202
|
-
* Will delete the
|
|
203
|
-
* Will keep the history intact
|
|
185
|
+
* Will delete the identity of the current user
|
|
204
186
|
*/
|
|
205
|
-
private
|
|
187
|
+
private wipe;
|
|
206
188
|
/**
|
|
207
189
|
* return true if the current user has a MLS device that is initialized and ready to use
|
|
208
190
|
*/
|
|
@@ -214,17 +196,20 @@ export declare class Account extends TypedEventEmitter<Events> {
|
|
|
214
196
|
* @param callbacks callbacks that will be called to handle different events
|
|
215
197
|
* @returns close a function that will disconnect from the websocket
|
|
216
198
|
*/
|
|
217
|
-
listen
|
|
199
|
+
listen({ onEvent, onConnectionStateChanged, onNotificationStreamProgress, onMissedNotifications, dryRun, }?: {
|
|
218
200
|
/**
|
|
219
201
|
* Called when a new event arrives from backend
|
|
220
202
|
* @param payload the payload of the event. Contains the raw event received and the decrypted data (if event was encrypted)
|
|
221
203
|
* @param source where the message comes from (either websocket or notification stream)
|
|
222
204
|
*/
|
|
223
|
-
onEvent?: (payload: HandledEventPayload, source: NotificationSource) =>
|
|
205
|
+
onEvent?: (payload: HandledEventPayload, source: NotificationSource) => void;
|
|
224
206
|
/**
|
|
225
207
|
* During the notification stream processing, this function will be called whenever a new notification has been processed
|
|
226
208
|
*/
|
|
227
|
-
onNotificationStreamProgress?: (
|
|
209
|
+
onNotificationStreamProgress?: ({ done, total }: {
|
|
210
|
+
done: number;
|
|
211
|
+
total: number;
|
|
212
|
+
}) => void;
|
|
228
213
|
/**
|
|
229
214
|
* called when the connection state with the backend has changed
|
|
230
215
|
*/
|
|
@@ -237,119 +222,17 @@ export declare class Account extends TypedEventEmitter<Events> {
|
|
|
237
222
|
* @param {string} notificationId
|
|
238
223
|
*/
|
|
239
224
|
onMissedNotifications?: (notificationId: string) => void;
|
|
240
|
-
/**
|
|
241
|
-
* When set to true, will use the legacy notification stream instead of the new async notifications.
|
|
242
|
-
*/
|
|
243
|
-
useLegacy?: boolean;
|
|
244
225
|
/**
|
|
245
226
|
* When set will not decrypt and not store the last notification ID. This is useful if you only want to subscribe to unencrypted backend events
|
|
246
|
-
* @deprecated Core doesn't support dryRun mode anymore and this parameter will be removed in future versions
|
|
247
227
|
*/
|
|
248
228
|
dryRun?: boolean;
|
|
249
|
-
})
|
|
250
|
-
private
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
private readonly createEventHandler;
|
|
257
|
-
/**
|
|
258
|
-
* @deprecated This method is used to handle legacy notifications from the backend.
|
|
259
|
-
* It processes notifications from the legacy system, decrypts them, and emits events.
|
|
260
|
-
* It can be replaced with the new notification handling system using `ConsumableNotification`
|
|
261
|
-
* when all clients are capable of handling consumable notifications.
|
|
262
|
-
*/
|
|
263
|
-
private readonly createLegacyNotificationHandler;
|
|
264
|
-
private readonly createNotificationHandler;
|
|
265
|
-
private readonly handleNotificationQueueError;
|
|
266
|
-
private readonly acknowledgeSynchronizationNotification;
|
|
267
|
-
private readonly handleSynchronizationNotification;
|
|
268
|
-
private readonly decryptAckEmitNotification;
|
|
269
|
-
getNotificationEventTime: (backendEvent: Events.BackendEvent) => string | null;
|
|
270
|
-
/**
|
|
271
|
-
* Returns a function to handle missed notifications — i.e., when the backend indicates
|
|
272
|
-
* that some notifications were lost due to age (typically >28 days).
|
|
273
|
-
* Also handles MLS-specific epoch mismatch recovery by triggering a conversation rejoin.
|
|
274
|
-
*
|
|
275
|
-
* @deprecated This is used to handle legacy missed notifications.
|
|
276
|
-
* It should be replaced with the new notification handling system using `ConsumableNotification`.
|
|
277
|
-
* when all clients are capable of handling consumable notifications.
|
|
278
|
-
*/
|
|
279
|
-
private readonly createLegacyMissedNotificationsHandler;
|
|
280
|
-
/**
|
|
281
|
-
* Returns a processor function for the notification stream (legacy sync).
|
|
282
|
-
* It pauses message sending and MLS rejoining during stream handling to prevent race conditions,
|
|
283
|
-
* then resumes normal operations after sync is complete.
|
|
284
|
-
*
|
|
285
|
-
* @deprecated This is used to do a final sync of the legacy notification stream
|
|
286
|
-
* before switching to the new notification handling system using `ConsumableNotification`.
|
|
287
|
-
* It should be replaced with the new notification handling system when all clients are capable of handling consumable notifications.
|
|
288
|
-
*
|
|
289
|
-
* @param handlers Various logic handlers wired to notification callbacks
|
|
290
|
-
*/
|
|
291
|
-
private readonly createLegacyNotificationStreamProcessor;
|
|
292
|
-
/**
|
|
293
|
-
* In case of a closed connection, we flush the notification processing queue.
|
|
294
|
-
* As we are not acknowledging them before decryption is done
|
|
295
|
-
* they will be resent next time the connection is opened
|
|
296
|
-
* this is to avoid duplicate decryption of notifications
|
|
297
|
-
*/
|
|
298
|
-
private readonly pauseAndFlushNotificationQueue;
|
|
299
|
-
readonly pauseNotificationQueue: () => void;
|
|
300
|
-
readonly resumeNotificationQueue: () => void;
|
|
301
|
-
/**
|
|
302
|
-
* Sets up WebSocket event listeners for:
|
|
303
|
-
* - Incoming backend messages
|
|
304
|
-
* - WebSocket state changes
|
|
305
|
-
* On each new backend message, we pass it to the notification handler.
|
|
306
|
-
* On state changes, we map raw socket states to public connection states and emit them.
|
|
307
|
-
*/
|
|
308
|
-
private readonly setupWebSocketListeners;
|
|
309
|
-
/**
|
|
310
|
-
* Handles logic for reacting to a missed notification event.
|
|
311
|
-
*
|
|
312
|
-
* The backend sends a special "missed notification" signal if it detects
|
|
313
|
-
* that the client has missed one or more notifications. Once this signal is sent,
|
|
314
|
-
* the backend will **stop sending all further notifications** until the client
|
|
315
|
-
* acknowledges the missed state.
|
|
316
|
-
*
|
|
317
|
-
* Because our app currently lacks functionality to perform a full real-time sync
|
|
318
|
-
* while running, we must reload the application to re-fetch the entire state.
|
|
319
|
-
*
|
|
320
|
-
* On first detection of the missed notification:
|
|
321
|
-
* - We set a local storage flag (`has_missing_notification`) to mark that we've
|
|
322
|
-
* entered this state.
|
|
323
|
-
* - We reload the application so the state can be re-fetched from scratch.
|
|
324
|
-
*
|
|
325
|
-
* On the next load:
|
|
326
|
-
* - If the flag is already present, we acknowledge the missed notification via
|
|
327
|
-
* the WebSocket transport, unblocking the backend so it resumes sending updates
|
|
328
|
-
* then we remove the flag.
|
|
329
|
-
*/
|
|
330
|
-
private readonly reactToMissedNotification;
|
|
331
|
-
getClientCapabilities: () => ClientCapability[];
|
|
332
|
-
static checkIsConsumable: (notification: Notification | ConsumableNotification) => notification is ConsumableNotification;
|
|
333
|
-
static checkIsLegacyNotification: (notification: Notification | ConsumableNotification) => notification is Notification;
|
|
334
|
-
private readonly generateDbName;
|
|
335
|
-
private readonly generateCoreDbName;
|
|
336
|
-
private readonly generateEncryptedDbName;
|
|
337
|
-
private readonly initEngine;
|
|
338
|
-
private readonly groupIdFromConversationId;
|
|
339
|
-
isMLSActiveForClient: () => Promise<boolean>;
|
|
340
|
-
private readonly isMLSConversationRecoveryEnabled;
|
|
341
|
-
/**
|
|
342
|
-
* Checks the health of the WebSocket connection by sending a ping and waiting for a pong response.
|
|
343
|
-
* This is a non-disruptive check that does not close or reconnect the socket.
|
|
344
|
-
* @returns A promise that resolves to true if the socket responds with a pong within the timeout, false otherwise.
|
|
345
|
-
*
|
|
346
|
-
* @example
|
|
347
|
-
* const healthy = await account.isWebsocketHealthy();
|
|
348
|
-
* if (!healthy) {
|
|
349
|
-
* // handle unhealthy websocket
|
|
350
|
-
* }
|
|
351
|
-
*/
|
|
352
|
-
isWebsocketHealthy: () => Promise<boolean>;
|
|
229
|
+
}): () => void;
|
|
230
|
+
private generateDbName;
|
|
231
|
+
private generateCoreDbName;
|
|
232
|
+
private generateEncryptedDbName;
|
|
233
|
+
private initEngine;
|
|
234
|
+
private groupIdFromConversationId;
|
|
235
|
+
isMLSActiveForClient(): Promise<boolean>;
|
|
353
236
|
}
|
|
354
237
|
export {};
|
|
355
238
|
//# sourceMappingURL=Account.d.ts.map
|
package/lib/Account.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Account.d.ts","sourceRoot":"","sources":["../src/Account.ts"],"names":[],"mappings":"AAmBA,OAAO,EACL,YAAY,EAGZ,OAAO,EACP,MAAM,EAEN,SAAS,EAEV,MAAM,8BAA8B,CAAC;AACtC,OAAO,
|
|
1
|
+
{"version":3,"file":"Account.d.ts","sourceRoot":"","sources":["../src/Account.ts"],"names":[],"mappings":"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"}
|