@livestore/sync-cf 0.3.0-dev.9 → 0.3.1-dev.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (48) hide show
  1. package/LICENSE +201 -0
  2. package/dist/.tsbuildinfo +1 -1
  3. package/dist/cf-worker/durable-object.d.ts +45 -28
  4. package/dist/cf-worker/durable-object.d.ts.map +1 -1
  5. package/dist/cf-worker/durable-object.js +214 -129
  6. package/dist/cf-worker/durable-object.js.map +1 -1
  7. package/dist/cf-worker/worker.d.ts +44 -1
  8. package/dist/cf-worker/worker.d.ts.map +1 -1
  9. package/dist/cf-worker/worker.js +83 -13
  10. package/dist/cf-worker/worker.js.map +1 -1
  11. package/dist/common/mod.d.ts +5 -0
  12. package/dist/common/mod.d.ts.map +1 -1
  13. package/dist/common/mod.js +5 -0
  14. package/dist/common/mod.js.map +1 -1
  15. package/dist/common/ws-message-types.d.ts +148 -98
  16. package/dist/common/ws-message-types.d.ts.map +1 -1
  17. package/dist/common/ws-message-types.js +19 -24
  18. package/dist/common/ws-message-types.js.map +1 -1
  19. package/dist/sync-impl/ws-impl.d.ts +2 -5
  20. package/dist/sync-impl/ws-impl.d.ts.map +1 -1
  21. package/dist/sync-impl/ws-impl.js +89 -37
  22. package/dist/sync-impl/ws-impl.js.map +1 -1
  23. package/package.json +5 -4
  24. package/src/cf-worker/durable-object.ts +253 -141
  25. package/src/cf-worker/worker.ts +125 -14
  26. package/src/common/mod.ts +7 -0
  27. package/src/common/ws-message-types.ts +22 -36
  28. package/src/sync-impl/ws-impl.ts +145 -91
  29. package/dist/cf-worker/index.d.ts +0 -3
  30. package/dist/cf-worker/index.d.ts.map +0 -1
  31. package/dist/cf-worker/index.js +0 -33
  32. package/dist/cf-worker/index.js.map +0 -1
  33. package/dist/cf-worker/make-worker.d.ts +0 -6
  34. package/dist/cf-worker/make-worker.d.ts.map +0 -1
  35. package/dist/cf-worker/make-worker.js +0 -31
  36. package/dist/cf-worker/make-worker.js.map +0 -1
  37. package/dist/cf-worker/types.d.ts +0 -2
  38. package/dist/cf-worker/types.d.ts.map +0 -1
  39. package/dist/cf-worker/types.js +0 -2
  40. package/dist/cf-worker/types.js.map +0 -1
  41. package/dist/common/index.d.ts +0 -2
  42. package/dist/common/index.d.ts.map +0 -1
  43. package/dist/common/index.js +0 -2
  44. package/dist/common/index.js.map +0 -1
  45. package/dist/sync-impl/index.d.ts +0 -2
  46. package/dist/sync-impl/index.d.ts.map +0 -1
  47. package/dist/sync-impl/index.js +0 -2
  48. package/dist/sync-impl/index.js.map +0 -1
@@ -1,62 +1,57 @@
1
- import { MutationEvent } from '@livestore/common/schema';
1
+ import { LiveStoreEvent } from '@livestore/common/schema';
2
2
  import { Schema } from '@livestore/utils/effect';
3
3
  export const PullReq = Schema.TaggedStruct('WSMessage.PullReq', {
4
4
  requestId: Schema.String,
5
5
  /** Omitting the cursor will start from the beginning */
6
6
  cursor: Schema.optional(Schema.Number),
7
- });
7
+ }).annotations({ title: '@livestore/sync-cf:PullReq' });
8
8
  export const SyncMetadata = Schema.Struct({
9
9
  /** ISO date format */
10
10
  createdAt: Schema.String,
11
- });
11
+ }).annotations({ title: '@livestore/sync-cf:SyncMetadata' });
12
12
  export const PullRes = Schema.TaggedStruct('WSMessage.PullRes', {
13
- requestId: Schema.String,
14
- events: Schema.Array(Schema.Struct({
15
- mutationEventEncoded: MutationEvent.AnyEncodedGlobal,
13
+ batch: Schema.Array(Schema.Struct({
14
+ eventEncoded: LiveStoreEvent.AnyEncodedGlobal,
16
15
  metadata: Schema.Option(SyncMetadata),
17
16
  })),
17
+ requestId: Schema.Struct({ context: Schema.Literal('pull', 'push'), requestId: Schema.String }),
18
18
  remaining: Schema.Number,
19
- });
20
- export const PushBroadcast = Schema.TaggedStruct('WSMessage.PushBroadcast', {
21
- mutationEventEncoded: MutationEvent.AnyEncodedGlobal,
22
- metadata: Schema.Option(SyncMetadata),
23
- });
19
+ }).annotations({ title: '@livestore/sync-cf:PullRes' });
24
20
  export const PushReq = Schema.TaggedStruct('WSMessage.PushReq', {
25
21
  requestId: Schema.String,
26
- batch: Schema.Array(MutationEvent.AnyEncodedGlobal),
27
- });
22
+ batch: Schema.Array(LiveStoreEvent.AnyEncodedGlobal),
23
+ }).annotations({ title: '@livestore/sync-cf:PushReq' });
28
24
  export const PushAck = Schema.TaggedStruct('WSMessage.PushAck', {
29
25
  requestId: Schema.String,
30
- mutationId: Schema.Number,
31
- });
26
+ }).annotations({ title: '@livestore/sync-cf:PushAck' });
32
27
  export const Error = Schema.TaggedStruct('WSMessage.Error', {
33
28
  requestId: Schema.String,
34
29
  message: Schema.String,
35
- });
30
+ }).annotations({ title: '@livestore/sync-cf:Error' });
36
31
  export const Ping = Schema.TaggedStruct('WSMessage.Ping', {
37
32
  requestId: Schema.Literal('ping'),
38
- });
33
+ }).annotations({ title: '@livestore/sync-cf:Ping' });
39
34
  export const Pong = Schema.TaggedStruct('WSMessage.Pong', {
40
35
  requestId: Schema.Literal('ping'),
41
- });
36
+ }).annotations({ title: '@livestore/sync-cf:Pong' });
42
37
  export const AdminResetRoomReq = Schema.TaggedStruct('WSMessage.AdminResetRoomReq', {
43
38
  requestId: Schema.String,
44
39
  adminSecret: Schema.String,
45
- });
40
+ }).annotations({ title: '@livestore/sync-cf:AdminResetRoomReq' });
46
41
  export const AdminResetRoomRes = Schema.TaggedStruct('WSMessage.AdminResetRoomRes', {
47
42
  requestId: Schema.String,
48
- });
43
+ }).annotations({ title: '@livestore/sync-cf:AdminResetRoomRes' });
49
44
  export const AdminInfoReq = Schema.TaggedStruct('WSMessage.AdminInfoReq', {
50
45
  requestId: Schema.String,
51
46
  adminSecret: Schema.String,
52
- });
47
+ }).annotations({ title: '@livestore/sync-cf:AdminInfoReq' });
53
48
  export const AdminInfoRes = Schema.TaggedStruct('WSMessage.AdminInfoRes', {
54
49
  requestId: Schema.String,
55
50
  info: Schema.Struct({
56
51
  durableObjectId: Schema.String,
57
52
  }),
58
- });
59
- export const Message = Schema.Union(PullReq, PullRes, PushBroadcast, PushReq, PushAck, Error, Ping, Pong, AdminResetRoomReq, AdminResetRoomRes, AdminInfoReq, AdminInfoRes);
60
- export const BackendToClientMessage = Schema.Union(PullRes, PushBroadcast, PushAck, AdminResetRoomRes, AdminInfoRes, Error, Pong);
53
+ }).annotations({ title: '@livestore/sync-cf:AdminInfoRes' });
54
+ export const Message = Schema.Union(PullReq, PullRes, PushReq, PushAck, Error, Ping, Pong, AdminResetRoomReq, AdminResetRoomRes, AdminInfoReq, AdminInfoRes).annotations({ title: '@livestore/sync-cf:Message' });
55
+ export const BackendToClientMessage = Schema.Union(PullRes, PushAck, AdminResetRoomRes, AdminInfoRes, Error, Pong);
61
56
  export const ClientToBackendMessage = Schema.Union(PullReq, PushReq, AdminResetRoomReq, AdminInfoReq, Ping);
62
57
  //# sourceMappingURL=ws-message-types.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ws-message-types.js","sourceRoot":"","sources":["../../src/common/ws-message-types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ws-message-types.js","sourceRoot":"","sources":["../../src/common/ws-message-types.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,7 @@
1
- import type { SyncBackend } from '@livestore/common';
2
- import type { Scope } from '@livestore/utils/effect';
3
- import { Effect } from '@livestore/utils/effect';
1
+ import type { SyncBackendConstructor } from '@livestore/common';
4
2
  import type { SyncMetadata } from '../common/ws-message-types.js';
5
3
  export interface WsSyncOptions {
6
4
  url: string;
7
- storeId: string;
8
5
  }
9
- export declare const makeWsSync: (options: WsSyncOptions) => Effect.Effect<SyncBackend<SyncMetadata>, never, Scope.Scope>;
6
+ export declare const makeCfSync: (options: WsSyncOptions) => SyncBackendConstructor<SyncMetadata>;
10
7
  //# sourceMappingURL=ws-impl.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ws-impl.d.ts","sourceRoot":"","sources":["../../src/sync-impl/ws-impl.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAGpD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,yBAAyB,CAAA;AACpD,OAAO,EAEL,MAAM,EASP,MAAM,yBAAyB,CAAA;AAIhC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAA;AAEjE,MAAM,WAAW,aAAa;IAC5B,GAAG,EAAE,MAAM,CAAA;IACX,OAAO,EAAE,MAAM,CAAA;CAChB;AAED,eAAO,MAAM,UAAU,YAAa,aAAa,KAAG,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,YAAY,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,CAuE3G,CAAA"}
1
+ {"version":3,"file":"ws-impl.d.ts","sourceRoot":"","sources":["../../src/sync-impl/ws-impl.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAe,sBAAsB,EAAE,MAAM,mBAAmB,CAAA;AAoB5E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAA;AAEjE,MAAM,WAAW,aAAa;IAC5B,GAAG,EAAE,MAAM,CAAA;CACZ;AAED,eAAO,MAAM,UAAU,GACpB,SAAS,aAAa,KAAG,sBAAsB,CAAC,YAAY,CAuHzD,CAAA"}
@@ -1,45 +1,92 @@
1
1
  /// <reference lib="dom" />
2
- import { InvalidPullError, InvalidPushError } from '@livestore/common';
3
- import { pick } from '@livestore/utils';
4
- import { Deferred, Effect, Option, PubSub, Queue, Schedule, Schema, Stream, SubscriptionRef, WebSocket, } from '@livestore/utils/effect';
2
+ import { InvalidPullError, InvalidPushError, UnexpectedError } from '@livestore/common';
3
+ import { EventSequenceNumber } from '@livestore/common/schema';
4
+ import { LS_DEV, shouldNeverHappen } from '@livestore/utils';
5
+ import { Deferred, Effect, Option, PubSub, Queue, Schedule, Schema, Stream, SubscriptionRef, UrlParams, WebSocket, } from '@livestore/utils/effect';
5
6
  import { nanoid } from '@livestore/utils/nanoid';
6
- import { WSMessage } from '../common/mod.js';
7
- export const makeWsSync = (options) => Effect.gen(function* () {
8
- // TODO also allow for auth scenarios
9
- const wsUrl = `${options.url}/websocket?storeId=${options.storeId}`;
7
+ import { SearchParamsSchema, WSMessage } from '../common/mod.js';
8
+ export const makeCfSync = (options) => ({ storeId, payload }) => Effect.gen(function* () {
9
+ const urlParamsData = yield* Schema.encode(SearchParamsSchema)({
10
+ storeId,
11
+ payload,
12
+ }).pipe(UnexpectedError.mapToUnexpectedError);
13
+ const urlParams = UrlParams.fromInput(urlParamsData);
14
+ const wsUrl = `${options.url}/websocket?${UrlParams.toString(urlParams)}`;
10
15
  const { isConnected, incomingMessages, send } = yield* connect(wsUrl);
16
+ /**
17
+ * We need to account for the scenario where push-caused PullRes message arrive before the pull-caused PullRes message.
18
+ * i.e. a scenario where the WS connection is created but before the server processed the initial pull, a push from
19
+ * another client triggers a PullRes message sent to this client which we need to stash until our pull-caused
20
+ * PullRes message arrives at which point we can combine the stashed events with the pull-caused events and continue.
21
+ */
22
+ const stashedPullBatch = [];
23
+ // We currently only support one pull stream for a sync backend.
24
+ let pullStarted = false;
11
25
  const api = {
12
26
  isConnected,
27
+ // Currently we're already eagerly connecting when the sync backend is created but we might want to refactor this later to clean this up
28
+ connect: Effect.void,
13
29
  pull: (args) => Effect.gen(function* () {
30
+ if (pullStarted) {
31
+ return shouldNeverHappen(`Pull already started for this sync backend.`);
32
+ }
33
+ pullStarted = true;
34
+ let pullResponseReceived = false;
14
35
  const requestId = nanoid();
15
36
  const cursor = Option.getOrUndefined(args)?.cursor.global;
16
37
  yield* send(WSMessage.PullReq.make({ cursor, requestId }));
17
- return Stream.fromPubSub(incomingMessages).pipe(Stream.filter((_) => (_._tag === 'WSMessage.PullRes' ? _.requestId === requestId : true)), Stream.tap((_) => _._tag === 'WSMessage.Error' && _.requestId === requestId
38
+ return Stream.fromPubSub(incomingMessages).pipe(Stream.tap((_) => _._tag === 'WSMessage.Error' && _.requestId === requestId
18
39
  ? new InvalidPullError({ message: _.message })
19
- : Effect.void), Stream.filter(Schema.is(Schema.Union(WSMessage.PushBroadcast, WSMessage.PullRes))), Stream.map((msg) => msg._tag === 'WSMessage.PushBroadcast'
20
- ? { batch: [pick(msg, ['mutationEventEncoded', 'metadata'])], remaining: 0 }
21
- : {
22
- batch: msg.events.map(({ mutationEventEncoded, metadata }) => ({
23
- mutationEventEncoded,
24
- metadata,
25
- })),
26
- remaining: msg.remaining,
27
- }));
40
+ : Effect.void), Stream.filterMap((msg) => {
41
+ if (msg._tag === 'WSMessage.PullRes') {
42
+ if (msg.requestId.context === 'pull') {
43
+ if (msg.requestId.requestId === requestId) {
44
+ pullResponseReceived = true;
45
+ if (stashedPullBatch.length > 0 && msg.remaining === 0) {
46
+ const pullResHead = msg.batch.at(-1)?.eventEncoded.seqNum ?? EventSequenceNumber.ROOT.global;
47
+ // Index where stashed events are greater than pullResHead
48
+ const newPartialBatchIndex = stashedPullBatch.findIndex((batchItem) => batchItem.eventEncoded.seqNum > pullResHead);
49
+ const batchWithNewStashedEvents = newPartialBatchIndex === -1 ? [] : stashedPullBatch.slice(newPartialBatchIndex);
50
+ const combinedBatch = [...msg.batch, ...batchWithNewStashedEvents];
51
+ return Option.some({ ...msg, batch: combinedBatch, remaining: 0 });
52
+ }
53
+ else {
54
+ return Option.some(msg);
55
+ }
56
+ }
57
+ else {
58
+ // Ignore
59
+ return Option.none();
60
+ }
61
+ }
62
+ else {
63
+ if (pullResponseReceived) {
64
+ return Option.some(msg);
65
+ }
66
+ else {
67
+ stashedPullBatch.push(...msg.batch);
68
+ return Option.none();
69
+ }
70
+ }
71
+ }
72
+ return Option.none();
73
+ }));
28
74
  }).pipe(Stream.unwrap),
29
75
  push: (batch) => Effect.gen(function* () {
30
- const ready = yield* Deferred.make();
76
+ const pushAck = yield* Deferred.make();
31
77
  const requestId = nanoid();
32
- yield* Stream.fromPubSub(incomingMessages).pipe(Stream.filter((_) => _._tag !== 'WSMessage.PushBroadcast' && _.requestId === requestId), Stream.tap((_) => _._tag === 'WSMessage.Error'
33
- ? Deferred.fail(ready, new InvalidPushError({ reason: { _tag: 'Unexpected', message: _.message } }))
34
- : Effect.void), Stream.filter(Schema.is(WSMessage.PushAck)),
35
- // TODO bring back filterting of "own events"
36
- // Stream.filter((_) => _.mutationId === mutationEventEncoded.id.global),
37
- Stream.take(1), Stream.tap(() => Deferred.succeed(ready, void 0)), Stream.runDrain, Effect.tapCauseLogPretty, Effect.fork);
78
+ yield* Stream.fromPubSub(incomingMessages).pipe(Stream.tap((_) => _._tag === 'WSMessage.Error' && _.requestId === requestId
79
+ ? Deferred.fail(pushAck, new InvalidPushError({ reason: { _tag: 'Unexpected', message: _.message } }))
80
+ : Effect.void), Stream.filter((_) => _._tag === 'WSMessage.PushAck' && _.requestId === requestId), Stream.take(1), Stream.tap(() => Deferred.succeed(pushAck, void 0)), Stream.runDrain, Effect.tapCauseLogPretty, Effect.fork);
38
81
  yield* send(WSMessage.PushReq.make({ batch, requestId }));
39
- yield* ready;
40
- const createdAt = new Date().toISOString();
41
- return { metadata: Array.from({ length: batch.length }, () => Option.some({ createdAt })) };
82
+ yield* pushAck;
42
83
  }),
84
+ metadata: {
85
+ name: '@livestore/cf-sync',
86
+ description: 'LiveStore sync backend implementation using Cloudflare Workers & Durable Objects',
87
+ protocol: 'ws',
88
+ url: options.url,
89
+ },
43
90
  };
44
91
  return api;
45
92
  });
@@ -51,17 +98,19 @@ const connect = (wsUrl) => Effect.gen(function* () {
51
98
  const send = (message) => Effect.gen(function* () {
52
99
  // Wait first until we're online
53
100
  yield* waitUntilOnline;
54
- yield* Effect.spanEvent(`Sending message: ${message._tag}`, message._tag === 'WSMessage.PushReq'
55
- ? {
56
- id: message.batch[0].id,
57
- parentId: message.batch[0].parentId,
58
- batchLength: message.batch.length,
59
- }
60
- : message._tag === 'WSMessage.PullReq'
61
- ? { cursor: message.cursor ?? '-' }
62
- : {});
63
101
  // TODO use MsgPack instead of JSON to speed up the serialization / reduce the size of the messages
64
102
  socketRef.current.send(Schema.encodeSync(Schema.parseJson(WSMessage.Message))(message));
103
+ if (LS_DEV) {
104
+ yield* Effect.spanEvent(`Sent message: ${message._tag}`, message._tag === 'WSMessage.PushReq'
105
+ ? {
106
+ seqNum: message.batch[0].seqNum,
107
+ parentSeqNum: message.batch[0].parentSeqNum,
108
+ batchLength: message.batch.length,
109
+ }
110
+ : message._tag === 'WSMessage.PullReq'
111
+ ? { cursor: message.cursor ?? '-' }
112
+ : {});
113
+ }
65
114
  });
66
115
  const innerConnect = Effect.gen(function* () {
67
116
  // If the browser already tells us we're offline, then we'll at least wait until the browser
@@ -69,10 +118,12 @@ const connect = (wsUrl) => Effect.gen(function* () {
69
118
  while (typeof navigator !== 'undefined' && navigator.onLine === false) {
70
119
  yield* Effect.sleep(1000);
71
120
  }
121
+ // TODO bring this back in a cross-platform way
72
122
  // if (navigator.onLine === false) {
73
123
  // yield* Effect.async((cb) => self.addEventListener('online', () => cb(Effect.void)))
74
124
  // }
75
125
  const socket = yield* WebSocket.makeWebSocket({ url: wsUrl, reconnect: Schedule.exponential(100) });
126
+ // socket.binaryType = 'arraybuffer'
76
127
  yield* SubscriptionRef.set(isConnected, true);
77
128
  socketRef.current = socket;
78
129
  const connectionClosed = yield* Deferred.make();
@@ -101,7 +152,8 @@ const connect = (wsUrl) => Effect.gen(function* () {
101
152
  // NOTE it seems that this callback doesn't work reliably on a worker but only via `window.addEventListener`
102
153
  // We might need to proxy the event from the main thread to the worker if we want this to work reliably.
103
154
  // eslint-disable-next-line unicorn/prefer-global-this
104
- if (typeof self !== 'undefined') {
155
+ if (typeof self !== 'undefined' && typeof self.addEventListener === 'function') {
156
+ // TODO support an Expo equivalent for this
105
157
  // eslint-disable-next-line unicorn/prefer-global-this
106
158
  yield* Effect.eventListener(self, 'offline', () => Deferred.succeed(connectionClosed, void 0));
107
159
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ws-impl.js","sourceRoot":"","sources":["../../src/sync-impl/ws-impl.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ws-impl.js","sourceRoot":"","sources":["../../src/sync-impl/ws-impl.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@livestore/sync-cf",
3
- "version": "0.3.0-dev.9",
3
+ "version": "0.3.1-dev.0",
4
4
  "type": "module",
5
5
  "sideEffects": false,
6
6
  "exports": {
@@ -14,11 +14,11 @@
14
14
  }
15
15
  },
16
16
  "dependencies": {
17
- "@livestore/common": "0.3.0-dev.9",
18
- "@livestore/utils": "0.3.0-dev.9"
17
+ "@livestore/common": "0.3.1-dev.0",
18
+ "@livestore/utils": "0.3.1-dev.0"
19
19
  },
20
20
  "devDependencies": {
21
- "@cloudflare/workers-types": "^4.20241022.0"
21
+ "@cloudflare/workers-types": "^4.20250303.0"
22
22
  },
23
23
  "files": [
24
24
  "dist",
@@ -26,6 +26,7 @@
26
26
  "package.json",
27
27
  "README.md"
28
28
  ],
29
+ "license": "Apache-2.0",
29
30
  "publishConfig": {
30
31
  "access": "public"
31
32
  },