@towns-protocol/sdk 0.0.241 → 0.0.244
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.d.ts +9 -4
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +72 -21
- package/dist/client.js.map +1 -1
- package/dist/id.d.ts +3 -1
- package/dist/id.d.ts.map +1 -1
- package/dist/id.js +3 -0
- package/dist/id.js.map +1 -1
- package/dist/index.d.ts +4 -8
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -8
- package/dist/index.js.map +1 -1
- package/dist/makeAuthenticationRpcClient.d.ts +1 -1
- package/dist/makeAuthenticationRpcClient.d.ts.map +1 -1
- package/dist/makeAuthenticationRpcClient.js +2 -2
- package/dist/makeAuthenticationRpcClient.js.map +1 -1
- package/dist/makeNotificationRpcClient.d.ts +1 -1
- package/dist/makeNotificationRpcClient.d.ts.map +1 -1
- package/dist/makeNotificationRpcClient.js +2 -2
- package/dist/makeNotificationRpcClient.js.map +1 -1
- package/dist/makeStreamRpcClient.d.ts +1 -1
- package/dist/makeStreamRpcClient.d.ts.map +1 -1
- package/dist/makeStreamRpcClient.js +2 -2
- package/dist/makeStreamRpcClient.js.map +1 -1
- package/dist/notificationService.d.ts.map +1 -1
- package/dist/notificationService.js +2 -1
- package/dist/notificationService.js.map +1 -1
- package/dist/observable/observable.d.ts.map +1 -1
- package/dist/observable/observable.js +3 -0
- package/dist/observable/observable.js.map +1 -1
- package/dist/riverConfig.js +1 -1
- package/dist/riverConfig.js.map +1 -1
- package/dist/rpcCommon.d.ts +1 -3
- package/dist/rpcCommon.d.ts.map +1 -1
- package/dist/rpcCommon.js +1 -13
- package/dist/rpcCommon.js.map +1 -1
- package/dist/sign.d.ts +1 -1
- package/dist/sign.d.ts.map +1 -1
- package/dist/sign.js +13 -7
- package/dist/sign.js.map +1 -1
- package/dist/signerContext.js +3 -3
- package/dist/signerContext.js.map +1 -1
- package/dist/stream.d.ts +4 -2
- package/dist/stream.d.ts.map +1 -1
- package/dist/stream.js +9 -6
- package/dist/stream.js.map +1 -1
- package/dist/streamEvents.d.ts +3 -3
- package/dist/streamEvents.d.ts.map +1 -1
- package/dist/streamStateView.d.ts +9 -6
- package/dist/streamStateView.d.ts.map +1 -1
- package/dist/streamStateView.js +58 -62
- package/dist/streamStateView.js.map +1 -1
- package/dist/streamStateView_Space.js +1 -1
- package/dist/streamStateView_Space.js.map +1 -1
- package/dist/streamStateView_UserMetadata.js +1 -1
- package/dist/streamStateView_UserMetadata.js.map +1 -1
- package/dist/streamUtils.d.ts.map +1 -1
- package/dist/streamUtils.js +2 -0
- package/dist/streamUtils.js.map +1 -1
- package/dist/streams-view/streamsView.d.ts +18 -0
- package/dist/streams-view/streamsView.d.ts.map +1 -0
- package/dist/streams-view/streamsView.js +25 -0
- package/dist/streams-view/streamsView.js.map +1 -0
- package/dist/streams-view/timelineEvents.d.ts +11 -0
- package/dist/streams-view/timelineEvents.d.ts.map +1 -0
- package/dist/{sync-agent/timeline/models/timelineEvent.js → streams-view/timelineEvents.js} +240 -303
- package/dist/streams-view/timelineEvents.js.map +1 -0
- package/dist/streams-view/timelinesView.d.ts +27 -0
- package/dist/streams-view/timelinesView.d.ts.map +1 -0
- package/dist/streams-view/timelinesView.js +109 -0
- package/dist/streams-view/timelinesView.js.map +1 -0
- package/dist/streams-view/timelinesViewModel.d.ts +38 -0
- package/dist/streams-view/timelinesViewModel.d.ts.map +1 -0
- package/dist/streams-view/timelinesViewModel.js +681 -0
- package/dist/streams-view/timelinesViewModel.js.map +1 -0
- package/dist/sync-agent/dms/models/dm.js +2 -2
- package/dist/sync-agent/dms/models/dm.js.map +1 -1
- package/dist/sync-agent/gdms/models/gdm.js +2 -2
- package/dist/sync-agent/gdms/models/gdm.js.map +1 -1
- package/dist/sync-agent/spaces/models/channel.js +3 -3
- package/dist/sync-agent/spaces/models/channel.js.map +1 -1
- package/dist/sync-agent/syncAgent.d.ts.map +1 -1
- package/dist/sync-agent/syncAgent.js +4 -0
- package/dist/sync-agent/syncAgent.js.map +1 -1
- package/dist/sync-agent/timeline/models/timeline-types.d.ts +2 -1
- package/dist/sync-agent/timeline/models/timeline-types.d.ts.map +1 -1
- package/dist/sync-agent/timeline/models/timeline-types.js +109 -0
- package/dist/sync-agent/timeline/models/timeline-types.js.map +1 -1
- package/dist/sync-agent/timeline/timeline.d.ts +9 -26
- package/dist/sync-agent/timeline/timeline.d.ts.map +1 -1
- package/dist/sync-agent/timeline/timeline.js +21 -226
- package/dist/sync-agent/timeline/timeline.js.map +1 -1
- package/dist/syncedStream.d.ts +2 -1
- package/dist/syncedStream.d.ts.map +1 -1
- package/dist/syncedStream.js +11 -12
- package/dist/syncedStream.js.map +1 -1
- package/dist/syncedStreams.d.ts +1 -0
- package/dist/syncedStreams.d.ts.map +1 -1
- package/dist/syncedStreams.js.map +1 -1
- package/dist/syncedStreamsLoop.d.ts +1 -0
- package/dist/syncedStreamsLoop.d.ts.map +1 -1
- package/dist/syncedStreamsLoop.js +6 -1
- package/dist/syncedStreamsLoop.js.map +1 -1
- package/dist/tags.d.ts.map +1 -1
- package/dist/tags.js +15 -16
- package/dist/tags.js.map +1 -1
- package/dist/tests/bob_testUtils.d.ts.map +1 -1
- package/dist/tests/bob_testUtils.js +4 -1
- package/dist/tests/bob_testUtils.js.map +1 -1
- package/dist/tests/multi/entitlements/channelsWithEntitlements.test.js +3 -3
- package/dist/tests/multi/entitlements/channelsWithEntitlements.test.js.map +1 -1
- package/dist/tests/multi/sync-agent/timeline.test.js +18 -13
- package/dist/tests/multi/sync-agent/timeline.test.js.map +1 -1
- package/dist/tests/multi/transactions_SpaceReview.test.js +11 -17
- package/dist/tests/multi/transactions_SpaceReview.test.js.map +1 -1
- package/dist/tests/multi/transactions_Tip.test.js +16 -20
- package/dist/tests/multi/transactions_Tip.test.js.map +1 -1
- package/dist/tests/multi_ne/channels.test.js +6 -8
- package/dist/tests/multi_ne/channels.test.js.map +1 -1
- package/dist/tests/multi_ne/client.test.js +45 -62
- package/dist/tests/multi_ne/client.test.js.map +1 -1
- package/dist/tests/multi_ne/clientDecryptionExtensions.test.js +6 -11
- package/dist/tests/multi_ne/clientDecryptionExtensions.test.js.map +1 -1
- package/dist/tests/multi_ne/deviceKeyMessage.test.js +6 -4
- package/dist/tests/multi_ne/deviceKeyMessage.test.js.map +1 -1
- package/dist/tests/multi_ne/gdms.test.js +12 -1
- package/dist/tests/multi_ne/gdms.test.js.map +1 -1
- package/dist/tests/multi_ne/media.test.js +1 -1
- package/dist/tests/multi_ne/media.test.js.map +1 -1
- package/dist/tests/multi_ne/space.test.js +11 -2
- package/dist/tests/multi_ne/space.test.js.map +1 -1
- package/dist/tests/multi_ne/streamRpcClient.test.js +4 -1
- package/dist/tests/multi_ne/streamRpcClient.test.js.map +1 -1
- package/dist/tests/multi_ne/streamRpcClientSync.test.js +8 -2
- package/dist/tests/multi_ne/streamRpcClientSync.test.js.map +1 -1
- package/dist/tests/multi_ne/syncWithBlocks.test.js +4 -1
- package/dist/tests/multi_ne/syncWithBlocks.test.js.map +1 -1
- package/dist/tests/multi_ne/syncedStream.test.js +39 -7
- package/dist/tests/multi_ne/syncedStream.test.js.map +1 -1
- package/dist/tests/multi_ne/syncedStreams.test.js +9 -365
- package/dist/tests/multi_ne/syncedStreams.test.js.map +1 -1
- package/dist/tests/multi_ne/tags.test.js +114 -85
- package/dist/tests/multi_ne/tags.test.js.map +1 -1
- package/dist/tests/multi_ne/userSettings.test.js +15 -15
- package/dist/tests/multi_ne/userSettings.test.js.map +1 -1
- package/dist/tests/syncAgent_testUtils.d.ts.map +1 -1
- package/dist/tests/syncAgent_testUtils.js +4 -0
- package/dist/tests/syncAgent_testUtils.js.map +1 -1
- package/dist/tests/testDriver_testUtils.d.ts.map +1 -1
- package/dist/tests/testDriver_testUtils.js +4 -7
- package/dist/tests/testDriver_testUtils.js.map +1 -1
- package/dist/tests/testUtils.d.ts +1 -0
- package/dist/tests/testUtils.d.ts.map +1 -1
- package/dist/tests/testUtils.js +13 -4
- package/dist/tests/testUtils.js.map +1 -1
- package/dist/tests/unit/crypto.test.js +6 -0
- package/dist/tests/unit/crypto.test.js.map +1 -1
- package/dist/tests/unit/crypto_utils.test.js +1 -1
- package/dist/tests/unit/crypto_utils.test.js.map +1 -1
- package/dist/tests/unit/helpers/ConversationBuilder.d.ts +39 -0
- package/dist/tests/unit/helpers/ConversationBuilder.d.ts.map +1 -0
- package/dist/tests/unit/helpers/ConversationBuilder.js +171 -0
- package/dist/tests/unit/helpers/ConversationBuilder.js.map +1 -0
- package/dist/tests/unit/timelineStoreInterface.test.d.ts +5 -0
- package/dist/tests/unit/timelineStoreInterface.test.d.ts.map +1 -0
- package/dist/tests/unit/timelineStoreInterface.test.js +343 -0
- package/dist/tests/unit/timelineStoreInterface.test.js.map +1 -0
- package/dist/unauthenticatedClient.d.ts +2 -1
- package/dist/unauthenticatedClient.d.ts.map +1 -1
- package/dist/unauthenticatedClient.js +2 -2
- package/dist/unauthenticatedClient.js.map +1 -1
- package/package.json +12 -11
- package/dist/crypto_utils.d.ts +0 -15
- package/dist/crypto_utils.d.ts.map +0 -1
- package/dist/crypto_utils.js +0 -99
- package/dist/crypto_utils.js.map +0 -1
- package/dist/sync-agent/timeline/models/pendingReplacedEvents.d.ts +0 -12
- package/dist/sync-agent/timeline/models/pendingReplacedEvents.d.ts.map +0 -1
- package/dist/sync-agent/timeline/models/pendingReplacedEvents.js +0 -20
- package/dist/sync-agent/timeline/models/pendingReplacedEvents.js.map +0 -1
- package/dist/sync-agent/timeline/models/reactions.d.ts +0 -13
- package/dist/sync-agent/timeline/models/reactions.d.ts.map +0 -1
- package/dist/sync-agent/timeline/models/reactions.js +0 -67
- package/dist/sync-agent/timeline/models/reactions.js.map +0 -1
- package/dist/sync-agent/timeline/models/replacedEvents.d.ts +0 -18
- package/dist/sync-agent/timeline/models/replacedEvents.d.ts.map +0 -1
- package/dist/sync-agent/timeline/models/replacedEvents.js +0 -19
- package/dist/sync-agent/timeline/models/replacedEvents.js.map +0 -1
- package/dist/sync-agent/timeline/models/threadStats.d.ts +0 -14
- package/dist/sync-agent/timeline/models/threadStats.d.ts.map +0 -1
- package/dist/sync-agent/timeline/models/threadStats.js +0 -99
- package/dist/sync-agent/timeline/models/threadStats.js.map +0 -1
- package/dist/sync-agent/timeline/models/threads.d.ts +0 -14
- package/dist/sync-agent/timeline/models/threads.d.ts.map +0 -1
- package/dist/sync-agent/timeline/models/threads.js +0 -57
- package/dist/sync-agent/timeline/models/threads.js.map +0 -1
- package/dist/sync-agent/timeline/models/timelineEvent.d.ts +0 -12
- package/dist/sync-agent/timeline/models/timelineEvent.d.ts.map +0 -1
- package/dist/sync-agent/timeline/models/timelineEvent.js.map +0 -1
- package/dist/sync-agent/timeline/models/timelineEvents.d.ts +0 -13
- package/dist/sync-agent/timeline/models/timelineEvents.d.ts.map +0 -1
- package/dist/sync-agent/timeline/models/timelineEvents.js +0 -37
- package/dist/sync-agent/timeline/models/timelineEvents.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"syncWithBlocks.test.js","sourceRoot":"","sources":["../../../src/tests/multi_ne/syncWithBlocks.test.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"syncWithBlocks.test.js","sourceRoot":"","sources":["../../../src/tests/multi_ne/syncWithBlocks.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,6 +4,19 @@
|
|
|
4
4
|
import { MembershipOp } from '@towns-protocol/proto';
|
|
5
5
|
import { makeTestClient, waitFor } from '../testUtils';
|
|
6
6
|
import { genShortId } from '../../id';
|
|
7
|
+
import { getFallbackContent } from '../../streams-view/timelineEvents';
|
|
8
|
+
import { dlog } from '@towns-protocol/dlog';
|
|
9
|
+
const log = dlog('test:syncedStream');
|
|
10
|
+
function logTimeline(name, stream) {
|
|
11
|
+
log('xoxoxo ' + name, stream.miniblockInfo.min, stream.miniblockInfo.max);
|
|
12
|
+
log(stream.timeline
|
|
13
|
+
.map((e) => ({
|
|
14
|
+
eventId: e.eventId,
|
|
15
|
+
kind: getFallbackContent('', e.content),
|
|
16
|
+
eventNumber: e.confirmedEventNum ?? e.eventNum,
|
|
17
|
+
}))
|
|
18
|
+
.sort((a, b) => Number(a.eventNumber - b.eventNumber)));
|
|
19
|
+
}
|
|
7
20
|
describe('syncedStream', () => {
|
|
8
21
|
test('clientRefreshesStreamOnBadSyncCookie', async () => {
|
|
9
22
|
const bobDeviceId = genShortId();
|
|
@@ -24,31 +37,50 @@ describe('syncedStream', () => {
|
|
|
24
37
|
await alice.sendMessage(streamId, `'hello ${i}`);
|
|
25
38
|
await alice.debugForceMakeMiniblock(streamId, { forceSnapshot: true });
|
|
26
39
|
}
|
|
40
|
+
logTimeline('alice', aliceStream.view);
|
|
27
41
|
// later, Bob returns
|
|
28
42
|
const bob2 = await makeTestClient({ context: bob.signerContext, deviceId: bobDeviceId });
|
|
29
43
|
await bob2.initializeUser();
|
|
30
44
|
bob2.startSync();
|
|
31
45
|
// the stream is now loaded from cache
|
|
32
46
|
const bobStreamFresh = await bob2.waitForStream(streamId);
|
|
33
|
-
|
|
34
|
-
|
|
47
|
+
logTimeline('bobFresh', bobStreamFresh.view);
|
|
48
|
+
logTimeline('bobCached', bobStreamCached.view);
|
|
49
|
+
const fresh = bobStreamFresh.view.timeline.map((e) => e.eventId);
|
|
50
|
+
const cached = bobStreamCached.view.timeline.map((e) => e.eventId);
|
|
35
51
|
expect(fresh.length).toBeGreaterThan(0);
|
|
36
52
|
expect(cached.length).toBeGreaterThan(0);
|
|
37
|
-
expect(fresh).
|
|
53
|
+
expect(fresh).toStrictEqual(cached);
|
|
38
54
|
expect(aliceStream.view.timeline.length).toBeGreaterThan(bobStreamFresh.view.timeline.length);
|
|
39
55
|
// wait for new stream to trigger bad_sync_cookie and get a fresh view sent back
|
|
40
56
|
await waitFor(() => bobStreamFresh.view.miniblockInfo.max > bobStreamCached.view.miniblockInfo.max);
|
|
41
57
|
// Backfill the entire stream
|
|
42
58
|
while (!bobStreamFresh.view.miniblockInfo.terminusReached) {
|
|
59
|
+
logTimeline('backfilling bobfresh', bobStreamFresh.view);
|
|
43
60
|
await bob2.scrollback(streamId);
|
|
44
61
|
}
|
|
62
|
+
logTimeline('backfilled bobfresh', bobStreamFresh.view);
|
|
45
63
|
// Once Bob's stream is fully backfilled, the sync cookie should match Alice's
|
|
46
64
|
await waitFor(() => aliceStream.view.miniblockInfo.max === bobStreamFresh.view.miniblockInfo.max);
|
|
47
65
|
// check that the events are the same
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
66
|
+
await waitFor(() => {
|
|
67
|
+
const aliceEvents = aliceStream.view.timeline
|
|
68
|
+
.map((e) => ({
|
|
69
|
+
eventId: e.eventId,
|
|
70
|
+
kind: getFallbackContent('', e.content),
|
|
71
|
+
eventNumber: e.confirmedEventNum ?? e.eventNum,
|
|
72
|
+
}))
|
|
73
|
+
.sort((a, b) => Number(a.eventNumber - b.eventNumber));
|
|
74
|
+
const bobEvents = bobStreamFresh.view.timeline
|
|
75
|
+
.map((e) => ({
|
|
76
|
+
eventId: e.eventId,
|
|
77
|
+
kind: getFallbackContent('', e.content),
|
|
78
|
+
eventNumber: e.confirmedEventNum ?? e.eventNum,
|
|
79
|
+
}))
|
|
80
|
+
.sort((a, b) => Number(a.eventNumber - b.eventNumber));
|
|
81
|
+
expect(bobEvents).toStrictEqual(aliceEvents);
|
|
82
|
+
});
|
|
83
|
+
const bobEventCount = bobStreamFresh.view.timeline.length;
|
|
52
84
|
// Alice sends another 5 messages
|
|
53
85
|
for (let i = 0; i < 5; i++) {
|
|
54
86
|
await alice.sendMessage(streamId, `'hello again ${i}`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"syncedStream.test.js","sourceRoot":"","sources":["../../../src/tests/multi_ne/syncedStream.test.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAA;AACpD,OAAO,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AACtD,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAA;AAErC,QAAQ,CAAC,cAAc,EAAE,GAAG,EAAE;IAC1B,IAAI,CAAC,sCAAsC,EAAE,KAAK,IAAI,EAAE;QACpD,MAAM,WAAW,GAAG,UAAU,EAAE,CAAA;QAChC,MAAM,GAAG,GAAG,MAAM,cAAc,CAAC,EAAE,QAAQ,EAAE,WAAW,EAAE,CAAC,CAAA;QAC3D,MAAM,GAAG,CAAC,cAAc,EAAE,CAAA;QAC1B,GAAG,CAAC,SAAS,EAAE,CAAA;QAEf,MAAM,KAAK,GAAG,MAAM,cAAc,EAAE,CAAA;QACpC,MAAM,KAAK,CAAC,cAAc,EAAE,CAAA;QAC5B,KAAK,CAAC,SAAS,EAAE,CAAA;QAEjB,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,GAAG,CAAC,eAAe,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;QAE5D,MAAM,WAAW,GAAG,MAAM,KAAK,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAA;QACvD,wCAAwC;QACxC,MAAM,eAAe,GAAG,MAAM,GAAG,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAA;QACzD,MAAM,eAAe,CAAC,iBAAiB,CAAC,YAAY,CAAC,OAAO,CAAC,CAAA;QAC7D,MAAM,GAAG,CAAC,QAAQ,EAAE,CAAA;QAEpB,6EAA6E;QAC7E,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC;YAC1B,MAAM,KAAK,CAAC,WAAW,CAAC,QAAQ,EAAE,UAAU,CAAC,EAAE,CAAC,CAAA;YAChD,MAAM,KAAK,CAAC,uBAAuB,CAAC,QAAQ,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAA;QAC1E,CAAC;QAED,qBAAqB;QACrB,MAAM,IAAI,GAAG,MAAM,cAAc,CAAC,EAAE,OAAO,EAAE,GAAG,CAAC,aAAa,EAAE,QAAQ,EAAE,WAAW,EAAE,CAAC,CAAA;QACxF,MAAM,IAAI,CAAC,cAAc,EAAE,CAAA;QAC3B,IAAI,CAAC,SAAS,EAAE,CAAA;QAEhB,sCAAsC;QACtC,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAA;QAEzD,MAAM,KAAK,GAAG,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,
|
|
1
|
+
{"version":3,"file":"syncedStream.test.js","sourceRoot":"","sources":["../../../src/tests/multi_ne/syncedStream.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -12,6 +12,7 @@ import EventEmitter from 'events';
|
|
|
12
12
|
import { SyncedStream } from '../../syncedStream';
|
|
13
13
|
import { StubPersistenceStore } from '../../persistenceStore';
|
|
14
14
|
import { nanoid } from 'nanoid';
|
|
15
|
+
import { StreamsView } from '../../streams-view/streamsView';
|
|
15
16
|
const log = dlog('csb:test:syncedStreams');
|
|
16
17
|
describe('syncStreams', () => {
|
|
17
18
|
beforeEach(async () => {
|
|
@@ -49,7 +50,7 @@ describe('syncStreams', () => {
|
|
|
49
50
|
const rpcClient = await makeTestRpcClient();
|
|
50
51
|
const alicesContext = await makeRandomUserContext();
|
|
51
52
|
const alicesUserId = userIdFromAddress(alicesContext.creatorAddress);
|
|
52
|
-
const alicesSyncedStreams = new SyncedStreams(alicesUserId, rpcClient, mockClientEmitter, undefined, shortenHexString(alicesUserId));
|
|
53
|
+
const alicesSyncedStreams = new SyncedStreams(alicesUserId, rpcClient, mockClientEmitter, undefined, shortenHexString(alicesUserId), { useModifySync: true, useSharedSyncer: true });
|
|
53
54
|
// some helper functions
|
|
54
55
|
const createStream = async (streamId, events) => {
|
|
55
56
|
const streamResponse = await rpcClient.createStream({
|
|
@@ -67,7 +68,13 @@ describe('syncStreams', () => {
|
|
|
67
68
|
streamId: alicesUserInboxStreamId,
|
|
68
69
|
})),
|
|
69
70
|
]);
|
|
70
|
-
const
|
|
71
|
+
const streamsViewDelegate = {
|
|
72
|
+
isDMMessageEventBlocked: (_event, _kind) => {
|
|
73
|
+
return false;
|
|
74
|
+
},
|
|
75
|
+
};
|
|
76
|
+
const streamsView = new StreamsView(alicesUserId, streamsViewDelegate);
|
|
77
|
+
const userInboxStream = new SyncedStream(alicesUserId, alicesUserInboxStreamIdStr, streamsView, mockClientEmitter, log, stubPersistenceStore);
|
|
71
78
|
await userInboxStream.initializeFromResponse(userInboxStreamResponse);
|
|
72
79
|
alicesSyncedStreams.startSyncStreams();
|
|
73
80
|
await done1.promise;
|
|
@@ -144,367 +151,4 @@ describe('syncStreams', () => {
|
|
|
144
151
|
await alicesSyncedStreams.stopSync();
|
|
145
152
|
});
|
|
146
153
|
});
|
|
147
|
-
// /***** WARNING: This is a MANUAL test case ***** */
|
|
148
|
-
// // not designed to work with CI
|
|
149
|
-
// // once the sync has started, manually kill the server, and restart it.
|
|
150
|
-
// // the test should see the sync retry. (this is a bit of a hack, but it works)
|
|
151
|
-
// // test should stop on its own after you've killed and restarted the server
|
|
152
|
-
// // MAX_SYNC_COUNT times.
|
|
153
|
-
// test.skip('retry loop', async () => {
|
|
154
|
-
// /** Arrange */
|
|
155
|
-
// const done = makeDonePromise()
|
|
156
|
-
// const alice = await makeTestRpcClient()
|
|
157
|
-
// const alicesUserId = userIdFromAddress(alicesContext.creatorAddress)
|
|
158
|
-
// const alicesUserStreamId = makeUserStreamId(alicesUserId)
|
|
159
|
-
// // create account for alice
|
|
160
|
-
// const aliceUserStream = await alice.createStream({
|
|
161
|
-
// events: [
|
|
162
|
-
// await makeEvent(
|
|
163
|
-
// alicesContext,
|
|
164
|
-
// make_UserPayload_Inception({
|
|
165
|
-
// streamId: alicesUserStreamId,
|
|
166
|
-
// }),
|
|
167
|
-
// ),
|
|
168
|
-
// ],
|
|
169
|
-
// streamId: alicesUserStreamId,
|
|
170
|
-
// })
|
|
171
|
-
// const { streamAndCookie } = unpackStreamResponse(aliceUserStream)
|
|
172
|
-
// /** Act */
|
|
173
|
-
// const MAX_SYNC_COUNT = 3 // how many times to see the sync succeed before stopping the test.
|
|
174
|
-
// const statesSeen = new Set<SyncState>()
|
|
175
|
-
// let syncSuccessCount = 0 // count how many times the sync has succeeded
|
|
176
|
-
// let syncId: string | undefined
|
|
177
|
-
// let endedSyncId: string | undefined
|
|
178
|
-
// const mockClientEmitter = mock<TypedEventEmitter<EmittedEvents>>()
|
|
179
|
-
// const mockStore = mock<PersistenceStore>()
|
|
180
|
-
// const alicesSyncedStreams = new SyncedStreams(
|
|
181
|
-
// alicesUserId,
|
|
182
|
-
// alice,
|
|
183
|
-
// mockStore,
|
|
184
|
-
// mockClientEmitter,
|
|
185
|
-
// )
|
|
186
|
-
// alicesSyncedStreams.on('syncStarting', () => {
|
|
187
|
-
// log('syncStarting')
|
|
188
|
-
// statesSeen.add(SyncState.Starting)
|
|
189
|
-
// })
|
|
190
|
-
// alicesSyncedStreams.on('syncing', (_syncId) => {
|
|
191
|
-
// syncId = _syncId
|
|
192
|
-
// syncSuccessCount++
|
|
193
|
-
// log('syncing', _syncId, 'syncSuccessCount', syncSuccessCount)
|
|
194
|
-
// statesSeen.add(SyncState.Syncing)
|
|
195
|
-
// if (syncSuccessCount >= MAX_SYNC_COUNT) {
|
|
196
|
-
// // reached max successful re-syncs, cancel the sync to stop the test.
|
|
197
|
-
// const stopSync = async function () {
|
|
198
|
-
// await alicesSyncedStreams.stopSync()
|
|
199
|
-
// done.done()
|
|
200
|
-
// }
|
|
201
|
-
// stopSync()
|
|
202
|
-
// }
|
|
203
|
-
// })
|
|
204
|
-
// alicesSyncedStreams.on('syncCanceling', (_syncId) => {
|
|
205
|
-
// endedSyncId = _syncId
|
|
206
|
-
// log('syncCanceling', _syncId)
|
|
207
|
-
// statesSeen.add(SyncState.Canceling)
|
|
208
|
-
// })
|
|
209
|
-
// alicesSyncedStreams.on('syncStopped', () => {
|
|
210
|
-
// log('syncStopped')
|
|
211
|
-
// statesSeen.add(SyncState.NotSyncing)
|
|
212
|
-
// })
|
|
213
|
-
// alicesSyncedStreams.on('syncRetrying', (retryDelay) => {
|
|
214
|
-
// log(`syncRetrying in ${retryDelay} ms`)
|
|
215
|
-
// statesSeen.add(SyncState.Retrying)
|
|
216
|
-
// })
|
|
217
|
-
// alicesSyncedStreams.startSync()
|
|
218
|
-
// await alicesSyncedStreams.addStreamToSync(streamAndCookie.nextSyncCookie)
|
|
219
|
-
// /** Assert */
|
|
220
|
-
// await expect(done.expectToSucceed()).resolves.not.toThrow()
|
|
221
|
-
// expect(syncId).toBeDefined()
|
|
222
|
-
// expect(endedSyncId).toEqual(syncId)
|
|
223
|
-
// expect(statesSeen).toEqual(
|
|
224
|
-
// new Set([
|
|
225
|
-
// SyncState.Starting,
|
|
226
|
-
// SyncState.Syncing,
|
|
227
|
-
// SyncState.Canceling,
|
|
228
|
-
// SyncState.NotSyncing,
|
|
229
|
-
// SyncState.Retrying,
|
|
230
|
-
// ]),
|
|
231
|
-
// )
|
|
232
|
-
// }, 1000000)
|
|
233
|
-
// test('addStreamToSync', async () => {
|
|
234
|
-
// /** Arrange */
|
|
235
|
-
// const alice = await makeTestRpcClient()
|
|
236
|
-
// const alicesUserId = userIdFromAddress(alicesContext.creatorAddress)
|
|
237
|
-
// const alicesUserStreamId = makeUserStreamId(alicesUserId)
|
|
238
|
-
// const bob = await makeTestRpcClient()
|
|
239
|
-
// const bobsUserId = userIdFromAddress(bobsContext.creatorAddress)
|
|
240
|
-
// const bobsUserStreamId = makeUserStreamId(bobsUserId)
|
|
241
|
-
// // create accounts for alice and bob
|
|
242
|
-
// await alice.createStream({
|
|
243
|
-
// events: [
|
|
244
|
-
// await makeEvent(
|
|
245
|
-
// alicesContext,
|
|
246
|
-
// make_UserPayload_Inception({
|
|
247
|
-
// streamId: alicesUserStreamId,
|
|
248
|
-
// }),
|
|
249
|
-
// ),
|
|
250
|
-
// ],
|
|
251
|
-
// streamId: alicesUserStreamId,
|
|
252
|
-
// })
|
|
253
|
-
// await bob.createStream({
|
|
254
|
-
// events: [
|
|
255
|
-
// await makeEvent(
|
|
256
|
-
// bobsContext,
|
|
257
|
-
// make_UserPayload_Inception({
|
|
258
|
-
// streamId: bobsUserStreamId,
|
|
259
|
-
// }),
|
|
260
|
-
// ),
|
|
261
|
-
// ],
|
|
262
|
-
// streamId: bobsUserStreamId,
|
|
263
|
-
// })
|
|
264
|
-
// // alice creates a space
|
|
265
|
-
// const spaceId = makeUniqueSpaceStreamId()
|
|
266
|
-
// const inceptionEvent = await makeEvent(
|
|
267
|
-
// alicesContext,
|
|
268
|
-
// make_SpacePayload_Inception({
|
|
269
|
-
// streamId: spaceId,
|
|
270
|
-
// }),
|
|
271
|
-
// )
|
|
272
|
-
// const joinEvent = await makeEvent(
|
|
273
|
-
// alicesContext,
|
|
274
|
-
// make_MemberPayload_Membership2({
|
|
275
|
-
// userId: alicesUserId,
|
|
276
|
-
// op: MembershipOp.SO_JOIN,
|
|
277
|
-
// }),
|
|
278
|
-
// )
|
|
279
|
-
// await alice.createStream({
|
|
280
|
-
// events: [inceptionEvent, joinEvent],
|
|
281
|
-
// streamId: spaceId,
|
|
282
|
-
// })
|
|
283
|
-
// // alice creates a channel
|
|
284
|
-
// const channelId = makeUniqueChannelStreamId()
|
|
285
|
-
// const channelProperties = 'Alices channel properties'
|
|
286
|
-
// const channelInceptionEvent = await makeEvent(
|
|
287
|
-
// alicesContext,
|
|
288
|
-
// make_ChannelPayload_Inception({
|
|
289
|
-
// streamId: channelId,
|
|
290
|
-
// spaceId: spaceId,
|
|
291
|
-
// channelProperties: make_fake_encryptedData(channelProperties),
|
|
292
|
-
// }),
|
|
293
|
-
// )
|
|
294
|
-
// let event = await makeEvent(
|
|
295
|
-
// alicesContext,
|
|
296
|
-
// make_MemberPayload_Membership2({
|
|
297
|
-
// userId: alicesUserId,
|
|
298
|
-
// op: MembershipOp.SO_JOIN,
|
|
299
|
-
// }),
|
|
300
|
-
// )
|
|
301
|
-
// const alicesChannel = await alice.createStream({
|
|
302
|
-
// events: [channelInceptionEvent, event],
|
|
303
|
-
// streamId: channelId,
|
|
304
|
-
// })
|
|
305
|
-
// /** Act */
|
|
306
|
-
// const syncing = makeDonePromise()
|
|
307
|
-
// const messageReceived = makeDonePromise()
|
|
308
|
-
// let syncId: string | undefined
|
|
309
|
-
// let bobReceived: StreamChange | undefined
|
|
310
|
-
// const mockClientEmitter = mock<TypedEventEmitter<EmittedEvents>>()
|
|
311
|
-
// const mockStore = mock<PersistenceStore>()
|
|
312
|
-
// const bobsSyncedStreams = new SyncedStreams(bobsUserId, bob, mockStore, mockClientEmitter)
|
|
313
|
-
// // helper function to post a message from alice to the channel
|
|
314
|
-
// async function alicePostsMessage() {
|
|
315
|
-
// // alice posts a message
|
|
316
|
-
// event = await makeEvent(
|
|
317
|
-
// alicesContext,
|
|
318
|
-
// make_ChannelPayload_Message({
|
|
319
|
-
// ...TEST_ENCRYPTED_MESSAGE_PROPS,
|
|
320
|
-
// ciphertext: 'hello',
|
|
321
|
-
// }),
|
|
322
|
-
// alicesChannel.miniblocks.at(-1)?.header?.hash,
|
|
323
|
-
// )
|
|
324
|
-
// await alice.addEvent({
|
|
325
|
-
// streamId: channelId,
|
|
326
|
-
// event,
|
|
327
|
-
// })
|
|
328
|
-
// }
|
|
329
|
-
// // listen for the 'syncing' event, which is emitted when the sync
|
|
330
|
-
// // loop begins...
|
|
331
|
-
// bobsSyncedStreams.on('syncing', (_syncId) => {
|
|
332
|
-
// // ...then continue the test in this event handler...
|
|
333
|
-
// syncId = _syncId
|
|
334
|
-
// log('syncing', _syncId)
|
|
335
|
-
// syncing.done()
|
|
336
|
-
// })
|
|
337
|
-
// bobsSyncedStreams.startSync()
|
|
338
|
-
// await syncing.expectToSucceed()
|
|
339
|
-
// const stream = await fetchAndInitStreamAsync(bob, bobsUserId, channelId)
|
|
340
|
-
// if (!stream) {
|
|
341
|
-
// throw new Error('stream not found')
|
|
342
|
-
// }
|
|
343
|
-
// if (!stream.view.syncCookie) {
|
|
344
|
-
// throw new Error('stream has no syncCookie')
|
|
345
|
-
// }
|
|
346
|
-
// stream.on('streamUpdated', (streamId, streamKind, change) => {
|
|
347
|
-
// log('streamUpdated', streamId, streamKind, change)
|
|
348
|
-
// bobReceived = change
|
|
349
|
-
// messageReceived.done()
|
|
350
|
-
// })
|
|
351
|
-
// bobsSyncedStreams.set(channelId, stream)
|
|
352
|
-
// await bobsSyncedStreams.addStreamToSync(stream.view.syncCookie)
|
|
353
|
-
// await alicePostsMessage()
|
|
354
|
-
// await messageReceived.expectToSucceed()
|
|
355
|
-
// /** Assert */
|
|
356
|
-
// expect(syncId).toBeDefined()
|
|
357
|
-
// expect(stream).toBeDefined()
|
|
358
|
-
// expect(bobReceived).toBeDefined()
|
|
359
|
-
// })
|
|
360
|
-
// test('removeStreamFromSync', async () => {
|
|
361
|
-
// /** Arrange */
|
|
362
|
-
// const alice = await makeTestRpcClient()
|
|
363
|
-
// const alicesUserId = userIdFromAddress(alicesContext.creatorAddress)
|
|
364
|
-
// const alicesUserStreamId = makeUserStreamId(alicesUserId)
|
|
365
|
-
// const bob = await makeTestRpcClient()
|
|
366
|
-
// const bobsUserId = userIdFromAddress(bobsContext.creatorAddress)
|
|
367
|
-
// const bobsUserStreamId = makeUserStreamId(bobsUserId)
|
|
368
|
-
// // create accounts for alice and bob
|
|
369
|
-
// await alice.createStream({
|
|
370
|
-
// events: [
|
|
371
|
-
// await makeEvent(
|
|
372
|
-
// alicesContext,
|
|
373
|
-
// make_UserPayload_Inception({
|
|
374
|
-
// streamId: alicesUserStreamId,
|
|
375
|
-
// }),
|
|
376
|
-
// ),
|
|
377
|
-
// ],
|
|
378
|
-
// streamId: alicesUserStreamId,
|
|
379
|
-
// })
|
|
380
|
-
// await bob.createStream({
|
|
381
|
-
// events: [
|
|
382
|
-
// await makeEvent(
|
|
383
|
-
// bobsContext,
|
|
384
|
-
// make_UserPayload_Inception({
|
|
385
|
-
// streamId: bobsUserStreamId,
|
|
386
|
-
// }),
|
|
387
|
-
// ),
|
|
388
|
-
// ],
|
|
389
|
-
// streamId: bobsUserStreamId,
|
|
390
|
-
// })
|
|
391
|
-
// // alice creates a space
|
|
392
|
-
// const spaceId = makeUniqueSpaceStreamId()
|
|
393
|
-
// const inceptionEvent = await makeEvent(
|
|
394
|
-
// alicesContext,
|
|
395
|
-
// make_SpacePayload_Inception({
|
|
396
|
-
// streamId: spaceId,
|
|
397
|
-
// }),
|
|
398
|
-
// )
|
|
399
|
-
// const joinEvent = await makeEvent(
|
|
400
|
-
// alicesContext,
|
|
401
|
-
// make_MemberPayload_Membership2({
|
|
402
|
-
// userId: alicesUserId,
|
|
403
|
-
// op: MembershipOp.SO_JOIN,
|
|
404
|
-
// }),
|
|
405
|
-
// )
|
|
406
|
-
// await alice.createStream({
|
|
407
|
-
// events: [inceptionEvent, joinEvent],
|
|
408
|
-
// streamId: spaceId,
|
|
409
|
-
// })
|
|
410
|
-
// // alice creates a channel
|
|
411
|
-
// const channelId = makeUniqueChannelStreamId()
|
|
412
|
-
// const channelProperties = 'Alices channel properties'
|
|
413
|
-
// const channelInceptionEvent = await makeEvent(
|
|
414
|
-
// alicesContext,
|
|
415
|
-
// make_ChannelPayload_Inception({
|
|
416
|
-
// streamId: channelId,
|
|
417
|
-
// spaceId: spaceId,
|
|
418
|
-
// channelProperties: make_fake_encryptedData(channelProperties),
|
|
419
|
-
// }),
|
|
420
|
-
// )
|
|
421
|
-
// let event = await makeEvent(
|
|
422
|
-
// alicesContext,
|
|
423
|
-
// make_MemberPayload_Membership2({
|
|
424
|
-
// userId: alicesUserId,
|
|
425
|
-
// op: MembershipOp.SO_JOIN,
|
|
426
|
-
// }),
|
|
427
|
-
// )
|
|
428
|
-
// const alicesChannel = await alice.createStream({
|
|
429
|
-
// events: [channelInceptionEvent, event],
|
|
430
|
-
// streamId: channelId,
|
|
431
|
-
// })
|
|
432
|
-
// /** Act */
|
|
433
|
-
// const syncing = makeDonePromise()
|
|
434
|
-
// const firstMessageReceived = makeDonePromise()
|
|
435
|
-
// let bobReceivedCount: number = 0
|
|
436
|
-
// const mockClientEmitter = mock<TypedEventEmitter<EmittedEvents>>()
|
|
437
|
-
// const mockStore = mock<PersistenceStore>()
|
|
438
|
-
// const bobsSyncedStreams = new SyncedStreams(bobsUserId, bob, mockStore, mockClientEmitter)
|
|
439
|
-
// // helper function to post a message from alice to the channel
|
|
440
|
-
// async function alicePostsMessage() {
|
|
441
|
-
// // alice posts a message
|
|
442
|
-
// event = await makeEvent(
|
|
443
|
-
// alicesContext,
|
|
444
|
-
// make_ChannelPayload_Message({
|
|
445
|
-
// ...TEST_ENCRYPTED_MESSAGE_PROPS,
|
|
446
|
-
// ciphertext: 'hello',
|
|
447
|
-
// }),
|
|
448
|
-
// alicesChannel.miniblocks.at(-1)?.header?.hash,
|
|
449
|
-
// )
|
|
450
|
-
// await alice.addEvent({
|
|
451
|
-
// streamId: channelId,
|
|
452
|
-
// event,
|
|
453
|
-
// })
|
|
454
|
-
// }
|
|
455
|
-
// // listen for the 'syncing' event, which is emitted when the sync
|
|
456
|
-
// // loop begins...
|
|
457
|
-
// bobsSyncedStreams.on('syncing', (_syncId) => {
|
|
458
|
-
// // ...then continue the test in this event handler...
|
|
459
|
-
// log('syncing', _syncId)
|
|
460
|
-
// syncing.done()
|
|
461
|
-
// })
|
|
462
|
-
// bobsSyncedStreams.startSync()
|
|
463
|
-
// await syncing.expectToSucceed()
|
|
464
|
-
// const stream = await fetchAndInitStreamAsync(bob, bobsUserId, channelId)
|
|
465
|
-
// if (!stream) {
|
|
466
|
-
// throw new Error('stream not found')
|
|
467
|
-
// }
|
|
468
|
-
// if (!stream.view.syncCookie) {
|
|
469
|
-
// throw new Error('stream has no syncCookie')
|
|
470
|
-
// }
|
|
471
|
-
// stream.on('streamUpdated', (streamId, streamKind, change) => {
|
|
472
|
-
// log('streamUpdated', streamId, streamKind, change)
|
|
473
|
-
// bobReceivedCount++
|
|
474
|
-
// firstMessageReceived.done()
|
|
475
|
-
// })
|
|
476
|
-
// bobsSyncedStreams.set(channelId, stream)
|
|
477
|
-
// await bobsSyncedStreams.addStreamToSync(stream.view.syncCookie)
|
|
478
|
-
// await alicePostsMessage()
|
|
479
|
-
// await firstMessageReceived.expectToSucceed()
|
|
480
|
-
// await bobsSyncedStreams.removeStreamFromSync(channelId)
|
|
481
|
-
// await alicePostsMessage()
|
|
482
|
-
// /** Assert */
|
|
483
|
-
// // bob should not receive the second message
|
|
484
|
-
// // because the channel was removed from the sync
|
|
485
|
-
// expect(bobReceivedCount).toEqual(1)
|
|
486
|
-
// })
|
|
487
|
-
// })
|
|
488
|
-
// async function fetchAndInitStreamAsync(
|
|
489
|
-
// rpcClient: PromiseClient<typeof StreamService>,
|
|
490
|
-
// userId: string,
|
|
491
|
-
// streamId: string,
|
|
492
|
-
// ): Promise<Stream> {
|
|
493
|
-
// const mockClientEmitter = mock<TypedEventEmitter<EmittedEvents>>()
|
|
494
|
-
// // get stream from server
|
|
495
|
-
// const response = await rpcClient.getStream({ streamId })
|
|
496
|
-
// // initialize stream
|
|
497
|
-
// const { streamAndCookie, snapshot, miniblocks, prevSnapshotMiniblockNum } =
|
|
498
|
-
// unpackStreamResponse(response)
|
|
499
|
-
// const stream = new Stream(
|
|
500
|
-
// userId,
|
|
501
|
-
// streamId,
|
|
502
|
-
// snapshot,
|
|
503
|
-
// prevSnapshotMiniblockNum,
|
|
504
|
-
// mockClientEmitter,
|
|
505
|
-
// log,
|
|
506
|
-
// )
|
|
507
|
-
// stream.initialize(streamAndCookie, snapshot, miniblocks, undefined)
|
|
508
|
-
// return stream
|
|
509
|
-
// }
|
|
510
154
|
//# sourceMappingURL=syncedStreams.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"syncedStreams.test.js","sourceRoot":"","sources":["../../../src/tests/multi_ne/syncedStreams.test.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"syncedStreams.test.js","sourceRoot":"","sources":["../../../src/tests/multi_ne/syncedStreams.test.ts"],"names":[],"mappings":"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"}
|