@towns-protocol/sdk 0.0.257 → 0.0.260
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/dist/client-v2.d.ts +56 -0
- package/dist/client-v2.d.ts.map +1 -0
- package/dist/client-v2.js +182 -0
- package/dist/client-v2.js.map +1 -0
- package/dist/client.d.ts +9 -0
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +55 -29
- package/dist/client.js.map +1 -1
- package/dist/clientDecryptionExtensions.js +1 -1
- package/dist/clientDecryptionExtensions.js.map +1 -1
- package/dist/id.d.ts +4 -4
- package/dist/id.d.ts.map +1 -1
- package/dist/id.js +6 -16
- package/dist/id.js.map +1 -1
- package/dist/index.d.ts +12 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +12 -2
- package/dist/index.js.map +1 -1
- package/dist/notificationsClient.d.ts +51 -0
- package/dist/notificationsClient.d.ts.map +1 -0
- package/dist/notificationsClient.js +308 -0
- package/dist/notificationsClient.js.map +1 -0
- package/dist/persistenceStore.d.ts.map +1 -1
- package/dist/persistenceStore.js +6 -1
- package/dist/persistenceStore.js.map +1 -1
- package/dist/riverConfig.d.ts +1 -1
- package/dist/riverConfig.d.ts.map +1 -1
- package/dist/riverConfig.js +1 -0
- package/dist/riverConfig.js.map +1 -1
- package/dist/rpcInterceptors.js +1 -1
- package/dist/rpcInterceptors.js.map +1 -1
- package/dist/streamEvents.d.ts +8 -1
- package/dist/streamEvents.d.ts.map +1 -1
- package/dist/streamStateView.d.ts +1 -1
- package/dist/streamStateView.d.ts.map +1 -1
- package/dist/streamStateView.js +3 -3
- package/dist/streamStateView.js.map +1 -1
- package/dist/streamStateView_Members.d.ts +1 -0
- package/dist/streamStateView_Members.d.ts.map +1 -1
- package/dist/streamStateView_Members.js +3 -0
- package/dist/streamStateView_Members.js.map +1 -1
- package/dist/sync-agent/spaces/models/channel.d.ts +26 -0
- package/dist/sync-agent/spaces/models/channel.d.ts.map +1 -1
- package/dist/sync-agent/spaces/models/channel.js +46 -0
- package/dist/sync-agent/spaces/models/channel.js.map +1 -1
- package/dist/sync-agent/timeline/timeline.d.ts +1 -1
- package/dist/sync-agent/timeline/timeline.d.ts.map +1 -1
- package/dist/syncedStreamsExtension.d.ts.map +1 -1
- package/dist/syncedStreamsExtension.js +13 -8
- package/dist/syncedStreamsExtension.js.map +1 -1
- package/dist/syncedStreamsLoop.d.ts +2 -0
- package/dist/syncedStreamsLoop.d.ts.map +1 -1
- package/dist/syncedStreamsLoop.js +22 -0
- package/dist/syncedStreamsLoop.js.map +1 -1
- package/dist/tags.d.ts +5 -0
- package/dist/tags.d.ts.map +1 -1
- package/dist/tags.js +18 -1
- package/dist/tags.js.map +1 -1
- package/dist/tests/multi/appRegistryService.test.js +22 -1
- package/dist/tests/multi/appRegistryService.test.js.map +1 -1
- package/dist/tests/multi/botEntitlements.test.d.ts +5 -0
- package/dist/tests/multi/botEntitlements.test.d.ts.map +1 -0
- package/dist/tests/multi/botEntitlements.test.js +167 -0
- package/dist/tests/multi/botEntitlements.test.js.map +1 -0
- package/dist/tests/multi/botMembership.test.d.ts +5 -0
- package/dist/tests/multi/botMembership.test.d.ts.map +1 -0
- package/dist/tests/multi/botMembership.test.js +276 -0
- package/dist/tests/multi/botMembership.test.js.map +1 -0
- package/dist/tests/multi/botStreamCreation.test.d.ts +5 -0
- package/dist/tests/multi/botStreamCreation.test.d.ts.map +1 -0
- package/dist/tests/multi/botStreamCreation.test.js +60 -0
- package/dist/tests/multi/botStreamCreation.test.js.map +1 -0
- package/dist/tests/multi/mediaWithEntitlements.test.js +3 -3
- package/dist/tests/multi/mediaWithEntitlements.test.js.map +1 -1
- package/dist/tests/multi/sync-agent/syncAgents.test.js +6 -3
- package/dist/tests/multi/sync-agent/syncAgents.test.js.map +1 -1
- package/dist/tests/multi/sync-agent/timeline.test.js +1 -1
- package/dist/tests/multi/sync-agent/timeline.test.js.map +1 -1
- package/dist/tests/multi/transactions.test.js +1 -1
- package/dist/tests/multi/transactions.test.js.map +1 -1
- package/dist/tests/multi/transactions_SpaceReview.test.js +1 -1
- package/dist/tests/multi/transactions_SpaceReview.test.js.map +1 -1
- package/dist/tests/multi/transactions_Tip.test.js +2 -2
- package/dist/tests/multi/transactions_Tip.test.js.map +1 -1
- package/dist/tests/multi_ne/channels.test.js +1 -1
- package/dist/tests/multi_ne/channels.test.js.map +1 -1
- package/dist/tests/multi_ne/client.test.js +1 -1
- package/dist/tests/multi_ne/client.test.js.map +1 -1
- package/dist/tests/multi_ne/clientDecryptionExtensions.test.js +1 -1
- package/dist/tests/multi_ne/clientDecryptionExtensions.test.js.map +1 -1
- package/dist/tests/multi_ne/media.test.js +24 -24
- package/dist/tests/multi_ne/media.test.js.map +1 -1
- package/dist/tests/multi_ne/sign.test.js +4 -4
- package/dist/tests/multi_ne/sign.test.js.map +1 -1
- package/dist/tests/multi_ne/streamRpcClientGetSince.test.js +1 -1
- package/dist/tests/multi_ne/streamRpcClientGetSince.test.js.map +1 -1
- package/dist/tests/multi_ne/syncedStream.test.js +1 -1
- package/dist/tests/multi_ne/syncedStream.test.js.map +1 -1
- package/dist/tests/multi_ne/userSettings.test.js +1 -1
- package/dist/tests/multi_ne/userSettings.test.js.map +1 -1
- package/dist/tests/testDriver_testUtils.js +1 -1
- package/dist/tests/testDriver_testUtils.js.map +1 -1
- package/dist/tests/testUtils.d.ts +1 -1
- package/dist/tests/testUtils.d.ts.map +1 -1
- package/dist/tests/testUtils.js +3 -3
- package/dist/tests/testUtils.js.map +1 -1
- package/dist/tests/unit/helpers/ConversationBuilder.d.ts +1 -1
- package/dist/tests/unit/helpers/ConversationBuilder.d.ts.map +1 -1
- package/dist/tests/unit/helpers/ConversationBuilder.js +2 -3
- package/dist/tests/unit/helpers/ConversationBuilder.js.map +1 -1
- package/dist/utils.d.ts +8 -0
- package/dist/utils.d.ts.map +1 -1
- package/dist/utils.js +27 -1
- package/dist/utils.js.map +1 -1
- package/dist/views/{streams/timelineEvents.d.ts → models/timelineEvent.d.ts} +2 -2
- package/dist/views/models/timelineEvent.d.ts.map +1 -0
- package/dist/views/{streams/timelineEvents.js → models/timelineEvent.js} +2 -3
- package/dist/views/models/timelineEvent.js.map +1 -0
- package/dist/{sync-agent/timeline/models/timeline-types.d.ts → views/models/timelineTypes.d.ts} +8 -2
- package/dist/views/models/timelineTypes.d.ts.map +1 -0
- package/dist/{sync-agent/timeline/models/timeline-types.js → views/models/timelineTypes.js} +31 -2
- package/dist/views/models/timelineTypes.js.map +1 -0
- package/dist/views/streams/spaceMentionsTransform.d.ts +1 -1
- package/dist/views/streams/spaceMentionsTransform.d.ts.map +1 -1
- package/dist/views/streams/spaceMentionsTransform.js +1 -1
- package/dist/views/streams/spaceMentionsTransform.js.map +1 -1
- package/dist/views/streams/timelines.d.ts +1 -1
- package/dist/views/streams/timelines.d.ts.map +1 -1
- package/dist/views/streams/timelines.js +3 -3
- package/dist/views/streams/timelines.js.map +1 -1
- package/dist/views/streams/timelinesModel.d.ts +1 -7
- package/dist/views/streams/timelinesModel.d.ts.map +1 -1
- package/dist/views/streams/timelinesModel.js +3 -33
- package/dist/views/streams/timelinesModel.js.map +1 -1
- package/dist/views/streams/unreadMarkersTransform.js +1 -1
- package/dist/views/streams/unreadMarkersTransform.js.map +1 -1
- package/dist/views/streamsView.d.ts +1 -1
- package/dist/views/streamsView.d.ts.map +1 -1
- package/dist/views/transforms/blockedUserIdsTransform.js +1 -1
- package/dist/views/transforms/blockedUserIdsTransform.js.map +1 -1
- package/dist/views/transforms/dmsAndGdmsTransform.d.ts +1 -1
- package/dist/views/transforms/dmsAndGdmsTransform.d.ts.map +1 -1
- package/dist/views/transforms/dmsAndGdmsTransform.js +2 -2
- package/dist/views/transforms/dmsAndGdmsTransform.js.map +1 -1
- package/dist/views/transforms/dmsAndGdmsUnreadIdsTransform.js +1 -1
- package/dist/views/transforms/dmsAndGdmsUnreadIdsTransform.js.map +1 -1
- package/dist/views/transforms/membershipsTransform.d.ts +1 -1
- package/dist/views/transforms/membershipsTransform.d.ts.map +1 -1
- package/dist/views/transforms/membershipsTransform.js +2 -2
- package/dist/views/transforms/membershipsTransform.js.map +1 -1
- package/dist/views/transforms/spaceIdsTransform.d.ts +1 -1
- package/dist/views/transforms/spaceIdsTransform.d.ts.map +1 -1
- package/dist/views/transforms/spaceIdsTransform.js +2 -2
- package/dist/views/transforms/spaceIdsTransform.js.map +1 -1
- package/package.json +11 -14
- package/dist/sync-agent/timeline/models/timeline-types.d.ts.map +0 -1
- package/dist/sync-agent/timeline/models/timeline-types.js.map +0 -1
- package/dist/views/streams/timelineEvents.d.ts.map +0 -1
- package/dist/views/streams/timelineEvents.js.map +0 -1
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import { CryptoStore, GroupEncryptionAlgorithmId, GroupEncryptionCrypto, type EncryptionDeviceInitOpts } from '@towns-protocol/encryption';
|
|
2
|
+
import { type StreamRpcClient } from './makeStreamRpcClient';
|
|
3
|
+
import { type SignerContext } from './signerContext';
|
|
4
|
+
import { makeRiverConfig } from './riverConfig';
|
|
5
|
+
import { type ParsedEvent, type ParsedStreamResponse } from './types';
|
|
6
|
+
import { type Envelope } from '@towns-protocol/proto';
|
|
7
|
+
type Client_Base = {
|
|
8
|
+
/** The userId of the Client. */
|
|
9
|
+
userId: string;
|
|
10
|
+
/** The signer of the Client. */
|
|
11
|
+
signer: SignerContext;
|
|
12
|
+
/** RPC client that connects to the Towns network. */
|
|
13
|
+
rpc: StreamRpcClient;
|
|
14
|
+
/** The environment of the Client. */
|
|
15
|
+
env: string;
|
|
16
|
+
/** Crypto Store */
|
|
17
|
+
keychain: CryptoStore;
|
|
18
|
+
/** Crypto Backend */
|
|
19
|
+
crypto: GroupEncryptionCrypto;
|
|
20
|
+
/** Algorithm used for group encryption. */
|
|
21
|
+
defaultGroupEncryptionAlgorithm: GroupEncryptionAlgorithmId;
|
|
22
|
+
/** Disable hash validation for streams. */
|
|
23
|
+
disableHashValidation: boolean;
|
|
24
|
+
/** Disable signature validation for streams. */
|
|
25
|
+
disableSignatureValidation: boolean;
|
|
26
|
+
/** Get a stream by streamId and unpack it */
|
|
27
|
+
getStream: (streamId: string) => Promise<ParsedStreamResponse>;
|
|
28
|
+
/** Unpack envelope using client config */
|
|
29
|
+
unpackEnvelope: (envelope: Envelope) => Promise<ParsedEvent>;
|
|
30
|
+
/** Unpack envelopes using client config */
|
|
31
|
+
unpackEnvelopes: (envelopes: Envelope[]) => Promise<ParsedEvent[]>;
|
|
32
|
+
};
|
|
33
|
+
export type ClientV2<extended extends Extended | undefined = Extended | undefined> = Client_Base & (extended extends Extended ? extended : unknown) & {
|
|
34
|
+
extend: <const client extends Extended>(fn: (client: ClientV2<extended>) => client) => ClientV2<Prettify<client> & (extended extends Extended ? extended : unknown)>;
|
|
35
|
+
};
|
|
36
|
+
type Extended = Prettify<{
|
|
37
|
+
[_ in keyof Client_Base]?: undefined;
|
|
38
|
+
} & {
|
|
39
|
+
[key: string]: unknown;
|
|
40
|
+
}>;
|
|
41
|
+
export type Prettify<T> = {
|
|
42
|
+
[K in keyof T]: T[K];
|
|
43
|
+
} & {};
|
|
44
|
+
type CreateTownsClientParams = {
|
|
45
|
+
env: Parameters<typeof makeRiverConfig>[0];
|
|
46
|
+
encryptionDevice?: EncryptionDeviceInitOpts;
|
|
47
|
+
};
|
|
48
|
+
export declare const createTownsClient: (params: ({
|
|
49
|
+
privateKey: string;
|
|
50
|
+
} | {
|
|
51
|
+
mnemonic: string;
|
|
52
|
+
} | {
|
|
53
|
+
bearerToken: string;
|
|
54
|
+
}) & CreateTownsClientParams) => Promise<ClientV2>;
|
|
55
|
+
export {};
|
|
56
|
+
//# sourceMappingURL=client-v2.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client-v2.d.ts","sourceRoot":"","sources":["../src/client-v2.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,WAAW,EACX,0BAA0B,EAC1B,qBAAqB,EACrB,KAAK,wBAAwB,EAIhC,MAAM,4BAA4B,CAAA;AACnC,OAAO,EAAuB,KAAK,eAAe,EAAE,MAAM,uBAAuB,CAAA;AACjF,OAAO,EAGH,KAAK,aAAa,EACrB,MAAM,iBAAiB,CAAA;AACxB,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAA;AAY/C,OAAO,EAEH,KAAK,WAAW,EAChB,KAAK,oBAAoB,EAC5B,MAAM,SAAS,CAAA;AAShB,OAAO,EAAqB,KAAK,QAAQ,EAAE,MAAM,uBAAuB,CAAA;AAExE,KAAK,WAAW,GAAG;IACf,gCAAgC;IAChC,MAAM,EAAE,MAAM,CAAA;IACd,gCAAgC;IAChC,MAAM,EAAE,aAAa,CAAA;IACrB,qDAAqD;IACrD,GAAG,EAAE,eAAe,CAAA;IACpB,qCAAqC;IACrC,GAAG,EAAE,MAAM,CAAA;IACX,mBAAmB;IACnB,QAAQ,EAAE,WAAW,CAAA;IACrB,qBAAqB;IACrB,MAAM,EAAE,qBAAqB,CAAA;IAC7B,2CAA2C;IAC3C,+BAA+B,EAAE,0BAA0B,CAAA;IAC3D,2CAA2C;IAC3C,qBAAqB,EAAE,OAAO,CAAA;IAC9B,gDAAgD;IAChD,0BAA0B,EAAE,OAAO,CAAA;IACnC,6CAA6C;IAC7C,SAAS,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,oBAAoB,CAAC,CAAA;IAC9D,0CAA0C;IAC1C,cAAc,EAAE,CAAC,QAAQ,EAAE,QAAQ,KAAK,OAAO,CAAC,WAAW,CAAC,CAAA;IAC5D,2CAA2C;IAC3C,eAAe,EAAE,CAAC,SAAS,EAAE,QAAQ,EAAE,KAAK,OAAO,CAAC,WAAW,EAAE,CAAC,CAAA;CACrE,CAAA;AAKD,MAAM,MAAM,QAAQ,CAAC,QAAQ,SAAS,QAAQ,GAAG,SAAS,GAAG,QAAQ,GAAG,SAAS,IAAI,WAAW,GAC5F,CAAC,QAAQ,SAAS,QAAQ,GAAG,QAAQ,GAAG,OAAO,CAAC,GAAG;IAC/C,MAAM,EAAE,CAAC,KAAK,CAAC,MAAM,SAAS,QAAQ,EAClC,EAAE,EAAE,CAAC,MAAM,EAAE,QAAQ,CAAC,QAAQ,CAAC,KAAK,MAAM,KACzC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,SAAS,QAAQ,GAAG,QAAQ,GAAG,OAAO,CAAC,CAAC,CAAA;CACrF,CAAA;AAEL,KAAK,QAAQ,GAAG,QAAQ,CAEpB;KAAG,CAAC,IAAI,MAAM,WAAW,CAAC,CAAC,EAAE,SAAS;CAAE,GAAG;IACvC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;CACzB,CACJ,CAAA;AAED,MAAM,MAAM,QAAQ,CAAC,CAAC,IAAI;KACrB,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CACvB,GAAG,EAAE,CAAA;AAEN,KAAK,uBAAuB,GAAG;IAC3B,GAAG,EAAE,UAAU,CAAC,OAAO,eAAe,CAAC,CAAC,CAAC,CAAC,CAAA;IAC1C,gBAAgB,CAAC,EAAE,wBAAwB,CAAA;CAC9C,CAAA;AACD,eAAO,MAAM,iBAAiB,GAC1B,QAAQ,CACF;IACI,UAAU,EAAE,MAAM,CAAA;CACrB,GACD;IACI,QAAQ,EAAE,MAAM,CAAA;CACnB,GACD;IACI,WAAW,EAAE,MAAM,CAAA;CACtB,CACN,GACG,uBAAuB,KAC5B,OAAO,CAAC,QAAQ,CAuMlB,CAAA"}
|
|
@@ -0,0 +1,182 @@
|
|
|
1
|
+
import { GroupEncryptionAlgorithmId, GroupEncryptionCrypto, } from '@towns-protocol/encryption';
|
|
2
|
+
import { makeStreamRpcClient } from './makeStreamRpcClient';
|
|
3
|
+
import { makeSignerContext, makeSignerContextFromBearerToken, } from './signerContext';
|
|
4
|
+
import { makeRiverConfig } from './riverConfig';
|
|
5
|
+
import { ethers } from 'ethers';
|
|
6
|
+
import { RiverRegistry } from '@towns-protocol/web3';
|
|
7
|
+
import { makeSessionKeys } from './decryptionExtensions';
|
|
8
|
+
import { makeRiverProvider } from './sync-agent/utils/providers';
|
|
9
|
+
import { RiverDbManager } from './riverDbManager';
|
|
10
|
+
import { makeUserInboxStreamId, makeUserMetadataStreamId, streamIdAsBytes, userIdFromAddress, } from './id';
|
|
11
|
+
import { make_UserInboxPayload_GroupEncryptionSessions, } from './types';
|
|
12
|
+
import { makeEvent, unpackStream, unpackEnvelope as sdk_unpackEnvelope, unpackEnvelopes as sdk_unpackEnvelopes, } from './sign';
|
|
13
|
+
import { bin_toHexString, check } from '@towns-protocol/dlog';
|
|
14
|
+
import { toJsonString } from '@bufbuild/protobuf';
|
|
15
|
+
import { SessionKeysSchema } from '@towns-protocol/proto';
|
|
16
|
+
export const createTownsClient = async (params) => {
|
|
17
|
+
const config = makeRiverConfig(params.env);
|
|
18
|
+
let signer;
|
|
19
|
+
if ('mnemonic' in params) {
|
|
20
|
+
const wallet = ethers.Wallet.fromMnemonic(params.mnemonic);
|
|
21
|
+
const delegateWallet = ethers.Wallet.createRandom();
|
|
22
|
+
signer = await makeSignerContext(wallet, delegateWallet);
|
|
23
|
+
}
|
|
24
|
+
else if ('privateKey' in params) {
|
|
25
|
+
const wallet = new ethers.Wallet(params.privateKey);
|
|
26
|
+
const delegateWallet = ethers.Wallet.createRandom();
|
|
27
|
+
signer = await makeSignerContext(wallet, delegateWallet);
|
|
28
|
+
}
|
|
29
|
+
else {
|
|
30
|
+
signer = await makeSignerContextFromBearerToken(params.bearerToken);
|
|
31
|
+
}
|
|
32
|
+
const riverProvider = makeRiverProvider(config);
|
|
33
|
+
const riverRegistryDapp = new RiverRegistry(config.river.chainConfig, riverProvider);
|
|
34
|
+
const urls = await riverRegistryDapp.getOperationalNodeUrls();
|
|
35
|
+
const rpc = makeStreamRpcClient(urls, () => riverRegistryDapp.getOperationalNodeUrls());
|
|
36
|
+
const userId = userIdFromAddress(signer.creatorAddress);
|
|
37
|
+
const cryptoStore = RiverDbManager.getCryptoDb(userId);
|
|
38
|
+
await cryptoStore.initialize();
|
|
39
|
+
// eslint-disable-next-line prefer-const
|
|
40
|
+
let crypto;
|
|
41
|
+
const getStream = async (streamId) => {
|
|
42
|
+
const { disableHashValidation, disableSignatureValidation } = client;
|
|
43
|
+
const stream = await client.rpc.getStream({ streamId: streamIdAsBytes(streamId) });
|
|
44
|
+
return unpackStream(stream.stream, {
|
|
45
|
+
disableHashValidation,
|
|
46
|
+
disableSignatureValidation,
|
|
47
|
+
});
|
|
48
|
+
};
|
|
49
|
+
const unpackEnvelope = async (envelope) => {
|
|
50
|
+
const { disableHashValidation, disableSignatureValidation } = client;
|
|
51
|
+
return sdk_unpackEnvelope(envelope, {
|
|
52
|
+
disableHashValidation,
|
|
53
|
+
disableSignatureValidation,
|
|
54
|
+
});
|
|
55
|
+
};
|
|
56
|
+
const unpackEnvelopes = async (envelopes) => {
|
|
57
|
+
const { disableHashValidation, disableSignatureValidation } = client;
|
|
58
|
+
return sdk_unpackEnvelopes(envelopes, { disableHashValidation, disableSignatureValidation });
|
|
59
|
+
};
|
|
60
|
+
const buildGroupEncryptionClient = () => {
|
|
61
|
+
const getMiniblockInfo = async (streamId) => {
|
|
62
|
+
const { streamAndCookie } = await getStream(streamId);
|
|
63
|
+
return {
|
|
64
|
+
miniblockNum: streamAndCookie.miniblocks[0].header.miniblockNum,
|
|
65
|
+
miniblockHash: streamAndCookie.miniblocks[0].hash,
|
|
66
|
+
};
|
|
67
|
+
};
|
|
68
|
+
const downloadUserDeviceInfo = async (userIds) => {
|
|
69
|
+
const forceDownload = userIds.length <= 10;
|
|
70
|
+
const promises = userIds.map(async (userId) => {
|
|
71
|
+
const streamId = makeUserMetadataStreamId(userId);
|
|
72
|
+
try {
|
|
73
|
+
// also always download your own keys so you always share to your most up to date devices
|
|
74
|
+
if (!forceDownload && userId !== userId) {
|
|
75
|
+
const devicesFromStore = await cryptoStore.getUserDevices(userId);
|
|
76
|
+
if (devicesFromStore.length > 0) {
|
|
77
|
+
return { userId, devices: devicesFromStore };
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
// return latest 10 device keys
|
|
81
|
+
const deviceLookback = 10;
|
|
82
|
+
const stream = await getStream(streamId);
|
|
83
|
+
const encryptionDevices = stream.snapshot.content.case === 'userMetadataContent'
|
|
84
|
+
? stream.snapshot.content.value.encryptionDevices
|
|
85
|
+
: [];
|
|
86
|
+
const userDevices = encryptionDevices.slice(-deviceLookback);
|
|
87
|
+
await cryptoStore.saveUserDevices(userId, userDevices);
|
|
88
|
+
return { userId, devices: userDevices };
|
|
89
|
+
}
|
|
90
|
+
catch (e) {
|
|
91
|
+
return { userId, devices: [] };
|
|
92
|
+
}
|
|
93
|
+
});
|
|
94
|
+
return (await Promise.all(promises)).reduce((acc, current) => {
|
|
95
|
+
acc[current.userId] = current.devices;
|
|
96
|
+
return acc;
|
|
97
|
+
}, {});
|
|
98
|
+
};
|
|
99
|
+
const encryptAndShareGroupSessions = async (streamId, sessions, toDevices, algorithm) => {
|
|
100
|
+
check(sessions.length >= 0, 'no sessions to encrypt');
|
|
101
|
+
check(new Set(sessions.map((s) => s.streamId)).size === 1, 'sessions should all be from the same stream');
|
|
102
|
+
check(sessions[0].algorithm === algorithm, 'algorithm mismatch');
|
|
103
|
+
check(new Set(sessions.map((s) => s.algorithm)).size === 1, 'all sessions should be the same algorithm');
|
|
104
|
+
check(sessions[0].streamId === streamId, 'streamId mismatch');
|
|
105
|
+
const userDevice = crypto.getUserDevice();
|
|
106
|
+
const sessionIds = sessions.map((session) => session.sessionId);
|
|
107
|
+
const payload = makeSessionKeys(sessions);
|
|
108
|
+
const promises = Object.entries(toDevices).map(async ([userId, deviceKeys]) => {
|
|
109
|
+
try {
|
|
110
|
+
const ciphertext = await crypto.encryptWithDeviceKeys(toJsonString(SessionKeysSchema, payload), deviceKeys);
|
|
111
|
+
if (Object.keys(ciphertext).length === 0) {
|
|
112
|
+
return;
|
|
113
|
+
}
|
|
114
|
+
const toStreamId = makeUserInboxStreamId(userId);
|
|
115
|
+
const { hash: miniblockHash } = await rpc.getLastMiniblockHash({
|
|
116
|
+
streamId: streamIdAsBytes(toStreamId),
|
|
117
|
+
});
|
|
118
|
+
const event = await makeEvent(signer, make_UserInboxPayload_GroupEncryptionSessions({
|
|
119
|
+
streamId: streamIdAsBytes(toStreamId),
|
|
120
|
+
senderKey: userDevice.deviceKey,
|
|
121
|
+
sessionIds: sessionIds,
|
|
122
|
+
ciphertexts: ciphertext,
|
|
123
|
+
algorithm: algorithm,
|
|
124
|
+
}), miniblockHash);
|
|
125
|
+
const eventId = bin_toHexString(event.hash);
|
|
126
|
+
const { error } = await rpc.addEvent({
|
|
127
|
+
streamId: streamIdAsBytes(streamId),
|
|
128
|
+
event,
|
|
129
|
+
optional: false,
|
|
130
|
+
});
|
|
131
|
+
return { miniblockHash, eventId, error };
|
|
132
|
+
}
|
|
133
|
+
catch {
|
|
134
|
+
return undefined;
|
|
135
|
+
}
|
|
136
|
+
});
|
|
137
|
+
await Promise.all(promises);
|
|
138
|
+
};
|
|
139
|
+
const getDevicesInStream = async (streamId) => {
|
|
140
|
+
const stream = await getStream(streamId);
|
|
141
|
+
if (!stream) {
|
|
142
|
+
return {};
|
|
143
|
+
}
|
|
144
|
+
const members = stream.snapshot.members?.joined.map((x) => userIdFromAddress(x.userAddress));
|
|
145
|
+
return downloadUserDeviceInfo(members ?? [], true);
|
|
146
|
+
};
|
|
147
|
+
return {
|
|
148
|
+
getMiniblockInfo,
|
|
149
|
+
downloadUserDeviceInfo,
|
|
150
|
+
encryptAndShareGroupSessions,
|
|
151
|
+
getDevicesInStream,
|
|
152
|
+
};
|
|
153
|
+
};
|
|
154
|
+
await cryptoStore.initialize();
|
|
155
|
+
crypto = new GroupEncryptionCrypto(buildGroupEncryptionClient(), cryptoStore);
|
|
156
|
+
await crypto.init(params.encryptionDevice);
|
|
157
|
+
const client = {
|
|
158
|
+
crypto,
|
|
159
|
+
keychain: cryptoStore,
|
|
160
|
+
defaultGroupEncryptionAlgorithm: GroupEncryptionAlgorithmId.HybridGroupEncryption,
|
|
161
|
+
rpc,
|
|
162
|
+
signer,
|
|
163
|
+
userId,
|
|
164
|
+
disableHashValidation: false,
|
|
165
|
+
disableSignatureValidation: false,
|
|
166
|
+
getStream,
|
|
167
|
+
unpackEnvelope,
|
|
168
|
+
unpackEnvelopes,
|
|
169
|
+
env: config.environmentId,
|
|
170
|
+
};
|
|
171
|
+
function extend(base) {
|
|
172
|
+
return (extendFn) => {
|
|
173
|
+
const extended = extendFn(base);
|
|
174
|
+
for (const key in client)
|
|
175
|
+
delete extended[key];
|
|
176
|
+
const combined = { ...base, ...extended };
|
|
177
|
+
return Object.assign(combined, { extend: extend(combined) });
|
|
178
|
+
};
|
|
179
|
+
}
|
|
180
|
+
return Object.assign(client, { extend: extend(client) });
|
|
181
|
+
};
|
|
182
|
+
//# sourceMappingURL=client-v2.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client-v2.js","sourceRoot":"","sources":["../src/client-v2.ts"],"names":[],"mappings":"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"}
|
package/dist/client.d.ts
CHANGED
|
@@ -15,6 +15,8 @@ import { SyncedStream } from './syncedStream';
|
|
|
15
15
|
import { SignerContext } from './signerContext';
|
|
16
16
|
import { TipEventObject } from '@towns-protocol/generated/dev/typings/ITipping';
|
|
17
17
|
import { StreamsView } from './views/streamsView';
|
|
18
|
+
import { NotificationsClient, INotificationStore } from './notificationsClient';
|
|
19
|
+
import { RpcOptions } from './rpcCommon';
|
|
18
20
|
export type ClientEvents = StreamEvents & DecryptionEvents;
|
|
19
21
|
export type ClientOptions = {
|
|
20
22
|
persistenceStoreName?: string;
|
|
@@ -27,6 +29,11 @@ export type ClientOptions = {
|
|
|
27
29
|
useModifySync?: boolean;
|
|
28
30
|
useSharedSyncer?: boolean;
|
|
29
31
|
};
|
|
32
|
+
notifications?: {
|
|
33
|
+
url: string;
|
|
34
|
+
store?: INotificationStore;
|
|
35
|
+
rpcOptions?: RpcOptions;
|
|
36
|
+
};
|
|
30
37
|
};
|
|
31
38
|
type SendChannelMessageOptions = {
|
|
32
39
|
beforeSendEventHook?: Promise<void>;
|
|
@@ -45,6 +52,7 @@ export declare class Client extends Client_base implements IGroupEncryptionClien
|
|
|
45
52
|
readonly streams: SyncedStreams;
|
|
46
53
|
readonly streamsView: StreamsView;
|
|
47
54
|
readonly logId: string;
|
|
55
|
+
readonly notifications?: NotificationsClient;
|
|
48
56
|
userStreamId?: string;
|
|
49
57
|
userSettingsStreamId?: string;
|
|
50
58
|
userMetadataStreamId?: string;
|
|
@@ -80,6 +88,7 @@ export declare class Client extends Client_base implements IGroupEncryptionClien
|
|
|
80
88
|
initializeUser(opts?: {
|
|
81
89
|
spaceId?: Uint8Array | string;
|
|
82
90
|
encryptionDeviceInit?: EncryptionDeviceInitOpts;
|
|
91
|
+
appAddress?: Uint8Array | string;
|
|
83
92
|
}): Promise<{
|
|
84
93
|
initCryptoTime: number;
|
|
85
94
|
initUserStreamTime: number;
|
package/dist/client.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
|
package/dist/client.js
CHANGED
|
@@ -13,7 +13,7 @@ import { makeEvent, unpackStream, unpackStreamEx } from './sign';
|
|
|
13
13
|
import { StreamStateView } from './streamStateView';
|
|
14
14
|
import { make_UserMetadataPayload_Inception, make_ChannelPayload_Inception, make_ChannelPayload_Message, make_MemberPayload_Membership2, make_SpacePayload_Inception, make_UserPayload_Inception, make_SpacePayload_ChannelUpdate, make_UserSettingsPayload_FullyReadMarkers, make_UserSettingsPayload_UserBlock, make_UserSettingsPayload_Inception, make_MediaPayload_Inception, make_MediaPayload_Chunk, make_DMChannelPayload_Inception, make_DMChannelPayload_Message, make_GDMChannelPayload_Inception, make_GDMChannelPayload_Message, make_UserInboxPayload_Ack, make_UserInboxPayload_Inception, make_UserMetadataPayload_EncryptionDevice, make_UserInboxPayload_GroupEncryptionSessions, make_GDMChannelPayload_ChannelProperties, make_UserPayload_UserMembershipAction, make_UserPayload_UserMembership, make_MemberPayload_DisplayName, make_MemberPayload_Username, getRefEventIdFromChannelMessage, make_ChannelPayload_Redaction, make_MemberPayload_EnsAddress, make_MemberPayload_Nft, make_MemberPayload_Pin, make_MemberPayload_Unpin, make_SpacePayload_UpdateChannelAutojoin, make_SpacePayload_UpdateChannelHideUserJoinLeaveEvents, make_SpacePayload_SpaceImage, make_UserMetadataPayload_ProfileImage, make_UserMetadataPayload_Bio, make_UserPayload_BlockchainTransaction, make_MemberPayload_EncryptionAlgorithm, isSolanaTransactionReceipt, } from './types';
|
|
15
15
|
import debug from 'debug';
|
|
16
|
-
import { getTime, usernameChecksum } from './utils';
|
|
16
|
+
import { ethereumAddressAsBytes, getTime, isEthereumAddress, stripUndefinedMetadata, usernameChecksum, } from './utils';
|
|
17
17
|
import { isEncryptedContentKind, toDecryptedContent } from './encryptedContentTypes';
|
|
18
18
|
import { ClientDecryptionExtensions } from './clientDecryptionExtensions';
|
|
19
19
|
import { PersistenceStore, StubPersistenceStore, } from './persistenceStore';
|
|
@@ -24,6 +24,7 @@ import { SyncedStreamsExtension } from './syncedStreamsExtension';
|
|
|
24
24
|
import { decryptAESGCM, deriveKeyAndIV, encryptAESGCM, uint8ArrayToBase64, } from '@towns-protocol/sdk-crypto';
|
|
25
25
|
import { makeTags, makeTipTags, makeTransferTags } from './tags';
|
|
26
26
|
import { StreamsView } from './views/streamsView';
|
|
27
|
+
import { NotificationsClient } from './notificationsClient';
|
|
27
28
|
export class Client extends EventEmitter {
|
|
28
29
|
opts;
|
|
29
30
|
signerContext;
|
|
@@ -32,6 +33,7 @@ export class Client extends EventEmitter {
|
|
|
32
33
|
streams;
|
|
33
34
|
streamsView;
|
|
34
35
|
logId;
|
|
36
|
+
notifications;
|
|
35
37
|
userStreamId;
|
|
36
38
|
userSettingsStreamId;
|
|
37
39
|
userMetadataStreamId;
|
|
@@ -109,6 +111,10 @@ export class Client extends EventEmitter {
|
|
|
109
111
|
initStream: (streamId, allowGetStream, persistedData) => this.initStream(streamId, allowGetStream, persistedData),
|
|
110
112
|
emitClientInitStatus: (status) => this.emit('clientInitStatusUpdated', status),
|
|
111
113
|
}, this.persistenceStore, this.logId);
|
|
114
|
+
// Initialize notifications client if options are provided
|
|
115
|
+
if (opts?.notifications) {
|
|
116
|
+
this.notifications = new NotificationsClient(signerContext, opts.notifications.url, opts.notifications.store, opts.notifications.rpcOptions);
|
|
117
|
+
}
|
|
112
118
|
this.logCall('new Client');
|
|
113
119
|
}
|
|
114
120
|
get streamSyncActive() {
|
|
@@ -156,11 +162,14 @@ export class Client extends EventEmitter {
|
|
|
156
162
|
this.syncedStreamsExtensions.setStreamIds(streamIds);
|
|
157
163
|
}
|
|
158
164
|
async initializeUser(opts) {
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
165
|
+
if (opts?.appAddress && !isEthereumAddress(opts.appAddress)) {
|
|
166
|
+
throw Error('appAddress must be an ethereum address');
|
|
167
|
+
}
|
|
168
|
+
const appAddress = opts?.appAddress ? ethereumAddressAsBytes(opts.appAddress) : undefined;
|
|
169
|
+
const spaceId = opts?.spaceId ? streamIdAsBytes(opts?.spaceId) : undefined;
|
|
170
|
+
const initUserMetadata = {
|
|
171
|
+
spaceId,
|
|
172
|
+
};
|
|
164
173
|
const initializeUserStartTime = performance.now();
|
|
165
174
|
this.logCall('initializeUser', this.userId);
|
|
166
175
|
assert(this.userStreamId === undefined, 'already initialized');
|
|
@@ -168,10 +177,10 @@ export class Client extends EventEmitter {
|
|
|
168
177
|
check(isDefined(this.decryptionExtensions), 'decryptionExtensions must be defined');
|
|
169
178
|
check(isDefined(this.syncedStreamsExtensions), 'syncedStreamsExtensions must be defined');
|
|
170
179
|
const [initUserStream, initUserInboxStream, initUserMetadataStream, initUserSettingsStream,] = await Promise.all([
|
|
171
|
-
getTime(() => this.initUserStream(initUserMetadata)),
|
|
172
|
-
getTime(() => this.initUserInboxStream(initUserMetadata)),
|
|
173
|
-
getTime(() => this.initUserMetadataStream(initUserMetadata)),
|
|
174
|
-
getTime(() => this.initUserSettingsStream(initUserMetadata)),
|
|
180
|
+
getTime(() => this.initUserStream(initUserMetadata, appAddress)),
|
|
181
|
+
getTime(() => this.initUserInboxStream(initUserMetadata, appAddress)),
|
|
182
|
+
getTime(() => this.initUserMetadataStream(initUserMetadata, appAddress)),
|
|
183
|
+
getTime(() => this.initUserSettingsStream(initUserMetadata, appAddress)),
|
|
175
184
|
]);
|
|
176
185
|
this.initUserJoinedStreams();
|
|
177
186
|
this.syncedStreamsExtensions.start();
|
|
@@ -193,25 +202,25 @@ export class Client extends EventEmitter {
|
|
|
193
202
|
onNetworkStatusChanged(isOnline) {
|
|
194
203
|
this.streams.onNetworkStatusChanged(isOnline);
|
|
195
204
|
}
|
|
196
|
-
async initUserStream(metadata) {
|
|
205
|
+
async initUserStream(metadata, appAddress) {
|
|
197
206
|
this.userStreamId = makeUserStreamId(this.userId);
|
|
198
207
|
const userStream = this.createSyncedStream(this.userStreamId);
|
|
199
208
|
if (!(await userStream.initializeFromPersistence())) {
|
|
200
209
|
const response = (await this.getUserStream(this.userStreamId)) ??
|
|
201
|
-
(await this.createUserStream(this.userStreamId, metadata));
|
|
210
|
+
(await this.createUserStream(this.userStreamId, metadata, appAddress));
|
|
202
211
|
await userStream.initializeFromResponse(response);
|
|
203
212
|
}
|
|
204
213
|
}
|
|
205
|
-
async initUserInboxStream(metadata) {
|
|
214
|
+
async initUserInboxStream(metadata, appAddress) {
|
|
206
215
|
this.userInboxStreamId = makeUserInboxStreamId(this.userId);
|
|
207
216
|
const userInboxStream = this.createSyncedStream(this.userInboxStreamId);
|
|
208
217
|
if (!(await userInboxStream.initializeFromPersistence())) {
|
|
209
218
|
const response = (await this.getUserStream(this.userInboxStreamId)) ??
|
|
210
|
-
(await this.createUserInboxStream(this.userInboxStreamId, metadata));
|
|
219
|
+
(await this.createUserInboxStream(this.userInboxStreamId, metadata, appAddress));
|
|
211
220
|
await userInboxStream.initializeFromResponse(response);
|
|
212
221
|
}
|
|
213
222
|
}
|
|
214
|
-
async initUserMetadataStream(metadata) {
|
|
223
|
+
async initUserMetadataStream(metadata, appAddress) {
|
|
215
224
|
this.userMetadataStreamId = makeUserMetadataStreamId(this.userId);
|
|
216
225
|
const userMetadataStream = this.createSyncedStream(this.userMetadataStreamId);
|
|
217
226
|
let initUserMetadataStreamInitFromPersistenceTime = 0;
|
|
@@ -233,7 +242,7 @@ export class Client extends EventEmitter {
|
|
|
233
242
|
else {
|
|
234
243
|
const createUserMetadataStreamResponse = await getTime(() => {
|
|
235
244
|
check(!!this.userMetadataStreamId, 'userMetadataStreamId must be set');
|
|
236
|
-
return this.createUserMetadataStream(this.userMetadataStreamId, metadata);
|
|
245
|
+
return this.createUserMetadataStream(this.userMetadataStreamId, metadata, appAddress);
|
|
237
246
|
});
|
|
238
247
|
initUserMetadataStreamCreateUserMetadataStreamTime =
|
|
239
248
|
createUserMetadataStreamResponse.time;
|
|
@@ -260,12 +269,12 @@ export class Client extends EventEmitter {
|
|
|
260
269
|
};
|
|
261
270
|
return times;
|
|
262
271
|
}
|
|
263
|
-
async initUserSettingsStream(metadata) {
|
|
272
|
+
async initUserSettingsStream(metadata, appAddress) {
|
|
264
273
|
this.userSettingsStreamId = makeUserSettingsStreamId(this.userId);
|
|
265
274
|
const userSettingsStream = this.createSyncedStream(this.userSettingsStreamId);
|
|
266
275
|
if (!(await userSettingsStream.initializeFromPersistence())) {
|
|
267
276
|
const response = (await this.getUserStream(this.userSettingsStreamId)) ??
|
|
268
|
-
(await this.createUserSettingsStream(this.userSettingsStreamId, metadata));
|
|
277
|
+
(await this.createUserSettingsStream(this.userSettingsStreamId, metadata, appAddress));
|
|
269
278
|
await userSettingsStream.initializeFromResponse(response);
|
|
270
279
|
}
|
|
271
280
|
}
|
|
@@ -281,56 +290,64 @@ export class Client extends EventEmitter {
|
|
|
281
290
|
return undefined;
|
|
282
291
|
}
|
|
283
292
|
}
|
|
284
|
-
async createUserStream(userStreamId, metadata) {
|
|
293
|
+
async createUserStream(userStreamId, metadata, appAddress) {
|
|
285
294
|
const userEvents = [
|
|
286
295
|
await makeEvent(this.signerContext, make_UserPayload_Inception({
|
|
287
296
|
streamId: streamIdAsBytes(userStreamId),
|
|
297
|
+
appAddress,
|
|
288
298
|
})),
|
|
289
299
|
];
|
|
300
|
+
const encoded = metadata ? stripUndefinedMetadata(metadata) : metadata;
|
|
290
301
|
const response = await this.rpcClient.createStream({
|
|
291
302
|
events: userEvents,
|
|
292
303
|
streamId: streamIdAsBytes(userStreamId),
|
|
293
|
-
metadata:
|
|
304
|
+
metadata: encoded,
|
|
294
305
|
});
|
|
295
306
|
return unpackStream(response.stream, this.opts?.unpackEnvelopeOpts);
|
|
296
307
|
}
|
|
297
|
-
async createUserMetadataStream(userMetadataStreamId, metadata) {
|
|
308
|
+
async createUserMetadataStream(userMetadataStreamId, metadata, appAddress) {
|
|
298
309
|
const userDeviceKeyEvents = [
|
|
299
310
|
await makeEvent(this.signerContext, make_UserMetadataPayload_Inception({
|
|
300
311
|
streamId: streamIdAsBytes(userMetadataStreamId),
|
|
312
|
+
appAddress,
|
|
301
313
|
})),
|
|
302
314
|
];
|
|
315
|
+
const encoded = metadata ? stripUndefinedMetadata(metadata) : metadata;
|
|
303
316
|
const response = await this.rpcClient.createStream({
|
|
304
317
|
events: userDeviceKeyEvents,
|
|
305
318
|
streamId: streamIdAsBytes(userMetadataStreamId),
|
|
306
|
-
metadata:
|
|
319
|
+
metadata: encoded,
|
|
307
320
|
});
|
|
308
321
|
return unpackStream(response.stream, this.opts?.unpackEnvelopeOpts);
|
|
309
322
|
}
|
|
310
|
-
async createUserInboxStream(userInboxStreamId, metadata) {
|
|
323
|
+
async createUserInboxStream(userInboxStreamId, metadata, appAddress) {
|
|
311
324
|
const userInboxEvents = [
|
|
312
325
|
await makeEvent(this.signerContext, make_UserInboxPayload_Inception({
|
|
313
326
|
streamId: streamIdAsBytes(userInboxStreamId),
|
|
327
|
+
appAddress,
|
|
314
328
|
})),
|
|
315
329
|
];
|
|
330
|
+
const encoded = metadata ? stripUndefinedMetadata(metadata) : metadata;
|
|
316
331
|
const response = await this.rpcClient.createStream({
|
|
317
332
|
events: userInboxEvents,
|
|
318
333
|
streamId: streamIdAsBytes(userInboxStreamId),
|
|
319
|
-
metadata:
|
|
334
|
+
metadata: encoded,
|
|
320
335
|
});
|
|
321
336
|
return unpackStream(response.stream, this.opts?.unpackEnvelopeOpts);
|
|
322
337
|
}
|
|
323
|
-
async createUserSettingsStream(inUserSettingsStreamId, metadata) {
|
|
338
|
+
async createUserSettingsStream(inUserSettingsStreamId, metadata, appAddress) {
|
|
324
339
|
const userSettingsStreamId = streamIdAsBytes(inUserSettingsStreamId);
|
|
325
340
|
const userSettingsEvents = [
|
|
326
341
|
await makeEvent(this.signerContext, make_UserSettingsPayload_Inception({
|
|
327
342
|
streamId: userSettingsStreamId,
|
|
343
|
+
appAddress,
|
|
328
344
|
})),
|
|
329
345
|
];
|
|
346
|
+
const encoded = metadata ? stripUndefinedMetadata(metadata) : metadata;
|
|
330
347
|
const response = await this.rpcClient.createStream({
|
|
331
348
|
events: userSettingsEvents,
|
|
332
349
|
streamId: userSettingsStreamId,
|
|
333
|
-
metadata:
|
|
350
|
+
metadata: encoded,
|
|
334
351
|
});
|
|
335
352
|
return unpackStream(response.stream, this.opts?.unpackEnvelopeOpts);
|
|
336
353
|
}
|
|
@@ -1228,12 +1245,13 @@ export class Client extends EventEmitter {
|
|
|
1228
1245
|
}), { method: 'inviteUser' });
|
|
1229
1246
|
}
|
|
1230
1247
|
async joinUser(streamId, userId) {
|
|
1231
|
-
await this.initStream(streamId);
|
|
1248
|
+
const stream = await this.initStream(streamId);
|
|
1232
1249
|
check(isDefined(this.userStreamId));
|
|
1233
1250
|
return this.makeEventAndAddToStream(this.userStreamId, make_UserPayload_UserMembershipAction({
|
|
1234
1251
|
op: MembershipOp.SO_JOIN,
|
|
1235
|
-
userId:
|
|
1252
|
+
userId: bin_fromHexString(userId),
|
|
1236
1253
|
streamId: streamIdAsBytes(streamId),
|
|
1254
|
+
streamParentId: stream.view.getContent().getStreamParentIdAsBytes(),
|
|
1237
1255
|
}), { method: 'inviteUser' });
|
|
1238
1256
|
}
|
|
1239
1257
|
async joinStream(streamId, opts) {
|
|
@@ -1789,9 +1807,17 @@ export class Client extends EventEmitter {
|
|
|
1789
1807
|
const toDevicesEntries = Object.entries(toDevices);
|
|
1790
1808
|
const promises = toDevicesEntries.map(async ([userId, deviceKeys]) => {
|
|
1791
1809
|
try {
|
|
1810
|
+
if (deviceKeys.length === 0) {
|
|
1811
|
+
// means we failed to download the device keys, we should enqueue a retry
|
|
1812
|
+
this.logInfo('encryptAndShareGroupSessions: no device keys to send', inStreamId, userId);
|
|
1813
|
+
return;
|
|
1814
|
+
}
|
|
1792
1815
|
const ciphertext = await this.encryptWithDeviceKeys(payloadClearText, deviceKeys);
|
|
1793
1816
|
if (Object.keys(ciphertext).length === 0) {
|
|
1794
|
-
this
|
|
1817
|
+
// if you only have one device this is a valid state
|
|
1818
|
+
if (userId !== this.userId) {
|
|
1819
|
+
this.logError('encryptAndShareGroupSessions: no ciphertext to send', userId);
|
|
1820
|
+
}
|
|
1795
1821
|
return;
|
|
1796
1822
|
}
|
|
1797
1823
|
const toStreamId = makeUserInboxStreamId(userId);
|