@livestore/adapter-web 0.4.0-dev.1 → 0.4.0-dev.11

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 (44) hide show
  1. package/dist/.tsbuildinfo +1 -1
  2. package/dist/in-memory/in-memory-adapter.d.ts.map +1 -1
  3. package/dist/in-memory/in-memory-adapter.js +5 -6
  4. package/dist/in-memory/in-memory-adapter.js.map +1 -1
  5. package/dist/opfs-utils.d.ts +3 -1
  6. package/dist/opfs-utils.d.ts.map +1 -1
  7. package/dist/opfs-utils.js +4 -4
  8. package/dist/opfs-utils.js.map +1 -1
  9. package/dist/web-worker/client-session/persisted-adapter.d.ts +15 -0
  10. package/dist/web-worker/client-session/persisted-adapter.d.ts.map +1 -1
  11. package/dist/web-worker/client-session/persisted-adapter.js +19 -7
  12. package/dist/web-worker/client-session/persisted-adapter.js.map +1 -1
  13. package/dist/web-worker/client-session/sqlite-loader.d.ts +2 -0
  14. package/dist/web-worker/client-session/sqlite-loader.d.ts.map +1 -0
  15. package/dist/web-worker/client-session/sqlite-loader.js +16 -0
  16. package/dist/web-worker/client-session/sqlite-loader.js.map +1 -0
  17. package/dist/web-worker/common/persisted-sqlite.d.ts +34 -0
  18. package/dist/web-worker/common/persisted-sqlite.d.ts.map +1 -1
  19. package/dist/web-worker/common/persisted-sqlite.js +152 -0
  20. package/dist/web-worker/common/persisted-sqlite.js.map +1 -1
  21. package/dist/web-worker/common/shutdown-channel.d.ts +1 -1
  22. package/dist/web-worker/common/shutdown-channel.d.ts.map +1 -1
  23. package/dist/web-worker/common/worker-schema.d.ts +33 -6
  24. package/dist/web-worker/common/worker-schema.d.ts.map +1 -1
  25. package/dist/web-worker/common/worker-schema.js +21 -3
  26. package/dist/web-worker/common/worker-schema.js.map +1 -1
  27. package/dist/web-worker/leader-worker/make-leader-worker.js +24 -2
  28. package/dist/web-worker/leader-worker/make-leader-worker.js.map +1 -1
  29. package/dist/web-worker/shared-worker/make-shared-worker.d.ts.map +1 -1
  30. package/dist/web-worker/shared-worker/make-shared-worker.js +17 -4
  31. package/dist/web-worker/shared-worker/make-shared-worker.js.map +1 -1
  32. package/dist/web-worker/vite-dev-polyfill.js +1 -0
  33. package/dist/web-worker/vite-dev-polyfill.js.map +1 -1
  34. package/package.json +7 -7
  35. package/src/in-memory/in-memory-adapter.ts +6 -7
  36. package/src/opfs-utils.ts +4 -4
  37. package/src/web-worker/ambient.d.ts +7 -4
  38. package/src/web-worker/client-session/persisted-adapter.ts +39 -10
  39. package/src/web-worker/client-session/sqlite-loader.ts +19 -0
  40. package/src/web-worker/common/persisted-sqlite.ts +220 -1
  41. package/src/web-worker/common/worker-schema.ts +34 -0
  42. package/src/web-worker/leader-worker/make-leader-worker.ts +29 -4
  43. package/src/web-worker/shared-worker/make-shared-worker.ts +46 -15
  44. package/src/web-worker/vite-dev-polyfill.ts +1 -0
@@ -161,6 +161,33 @@ declare const LeaderWorkerInnerGetLeaderSyncState_base: Schema.TaggedRequestClas
161
161
  }, typeof SyncState.SyncState, typeof UnexpectedError>;
162
162
  export declare class LeaderWorkerInnerGetLeaderSyncState extends LeaderWorkerInnerGetLeaderSyncState_base {
163
163
  }
164
+ declare const LeaderWorkerInnerSyncStateStream_base: Schema.TaggedRequestClass<LeaderWorkerInnerSyncStateStream, "SyncStateStream", {
165
+ readonly _tag: Schema.tag<"SyncStateStream">;
166
+ }, typeof SyncState.SyncState, typeof UnexpectedError>;
167
+ export declare class LeaderWorkerInnerSyncStateStream extends LeaderWorkerInnerSyncStateStream_base {
168
+ }
169
+ declare const LeaderWorkerInnerGetNetworkStatus_base: Schema.TaggedRequestClass<LeaderWorkerInnerGetNetworkStatus, "GetNetworkStatus", {
170
+ readonly _tag: Schema.tag<"GetNetworkStatus">;
171
+ }, Schema.Struct<{
172
+ isConnected: typeof Schema.Boolean;
173
+ timestampMs: typeof Schema.Number;
174
+ devtools: Schema.Struct<{
175
+ latchClosed: typeof Schema.Boolean;
176
+ }>;
177
+ }>, typeof UnexpectedError>;
178
+ export declare class LeaderWorkerInnerGetNetworkStatus extends LeaderWorkerInnerGetNetworkStatus_base {
179
+ }
180
+ declare const LeaderWorkerInnerNetworkStatusStream_base: Schema.TaggedRequestClass<LeaderWorkerInnerNetworkStatusStream, "NetworkStatusStream", {
181
+ readonly _tag: Schema.tag<"NetworkStatusStream">;
182
+ }, Schema.Struct<{
183
+ isConnected: typeof Schema.Boolean;
184
+ timestampMs: typeof Schema.Number;
185
+ devtools: Schema.Struct<{
186
+ latchClosed: typeof Schema.Boolean;
187
+ }>;
188
+ }>, typeof UnexpectedError>;
189
+ export declare class LeaderWorkerInnerNetworkStatusStream extends LeaderWorkerInnerNetworkStatusStream_base {
190
+ }
164
191
  declare const LeaderWorkerInnerShutdown_base: Schema.TaggedRequestClass<LeaderWorkerInnerShutdown, "Shutdown", {
165
192
  readonly _tag: Schema.tag<"Shutdown">;
166
193
  }, typeof Schema.Void, typeof UnexpectedError>;
@@ -173,25 +200,25 @@ declare const LeaderWorkerInnerExtraDevtoolsMessage_base: Schema.TaggedRequestCl
173
200
  data: Schema.Schema<Uint8Array<ArrayBuffer>>;
174
201
  } & {
175
202
  readonly requestId: typeof Schema.String;
176
- readonly liveStoreVersion: Schema.Literal<["0.4.0-dev.1"]>;
203
+ readonly liveStoreVersion: Schema.Literal<["0.4.0-dev.11"]>;
177
204
  readonly clientId: typeof Schema.String;
178
205
  }>, typeof Devtools.Leader.EventlogReq, Schema.TaggedStruct<"LSD.Leader.ResetAllData.Request", {
179
206
  mode: Schema.Literal<["all-data", "only-app-db"]>;
180
207
  } & {
181
208
  readonly requestId: typeof Schema.String;
182
- readonly liveStoreVersion: Schema.Literal<["0.4.0-dev.1"]>;
209
+ readonly liveStoreVersion: Schema.Literal<["0.4.0-dev.11"]>;
183
210
  readonly clientId: typeof Schema.String;
184
211
  }>, typeof Devtools.Leader.NetworkStatusSubscribe, typeof Devtools.Leader.NetworkStatusUnsubscribe, typeof Devtools.Leader.Disconnect, typeof Devtools.Leader.CommitEventReq, typeof Devtools.Leader.Ping, typeof Devtools.Leader.DatabaseFileInfoReq, typeof Devtools.Leader.SyncHistorySubscribe, typeof Devtools.Leader.SyncHistoryUnsubscribe, typeof Devtools.Leader.SyncingInfoReq, typeof Devtools.Leader.SyncHeadSubscribe, typeof Devtools.Leader.SyncHeadUnsubscribe, Schema.TaggedStruct<"LSD.Leader.SetSyncLatch.Request", {
185
212
  closeLatch: typeof Schema.Boolean;
186
213
  } & {
187
214
  readonly requestId: typeof Schema.String;
188
- readonly liveStoreVersion: Schema.Literal<["0.4.0-dev.1"]>;
215
+ readonly liveStoreVersion: Schema.Literal<["0.4.0-dev.11"]>;
189
216
  readonly clientId: typeof Schema.String;
190
217
  }>]>;
191
218
  }, typeof Schema.Void, typeof UnexpectedError>;
192
219
  export declare class LeaderWorkerInnerExtraDevtoolsMessage extends LeaderWorkerInnerExtraDevtoolsMessage_base {
193
220
  }
194
- export declare const LeaderWorkerInnerRequest: Schema.Union<[typeof LeaderWorkerInnerInitialMessage, typeof LeaderWorkerInnerBootStatusStream, typeof LeaderWorkerInnerPushToLeader, typeof LeaderWorkerInnerPullStream, typeof LeaderWorkerInnerExport, typeof LeaderWorkerInnerExportEventlog, typeof LeaderWorkerInnerGetRecreateSnapshot, typeof LeaderWorkerInnerGetLeaderHead, typeof LeaderWorkerInnerGetLeaderSyncState, typeof LeaderWorkerInnerShutdown, typeof LeaderWorkerInnerExtraDevtoolsMessage, typeof WebmeshWorker.Schema.CreateConnection]>;
221
+ export declare const LeaderWorkerInnerRequest: Schema.Union<[typeof LeaderWorkerInnerInitialMessage, typeof LeaderWorkerInnerBootStatusStream, typeof LeaderWorkerInnerPushToLeader, typeof LeaderWorkerInnerPullStream, typeof LeaderWorkerInnerExport, typeof LeaderWorkerInnerExportEventlog, typeof LeaderWorkerInnerGetRecreateSnapshot, typeof LeaderWorkerInnerGetLeaderHead, typeof LeaderWorkerInnerGetLeaderSyncState, typeof LeaderWorkerInnerSyncStateStream, typeof LeaderWorkerInnerGetNetworkStatus, typeof LeaderWorkerInnerNetworkStatusStream, typeof LeaderWorkerInnerShutdown, typeof LeaderWorkerInnerExtraDevtoolsMessage, typeof WebmeshWorker.Schema.CreateConnection]>;
195
222
  export type LeaderWorkerInnerRequest = typeof LeaderWorkerInnerRequest.Type;
196
223
  declare const SharedWorkerInitialMessagePayloadFromClientSession_base: Schema.TaggedStruct<"FromClientSession", {
197
224
  initialMessage: typeof LeaderWorkerInnerInitialMessage;
@@ -202,7 +229,7 @@ declare const SharedWorkerInitialMessage_base: Schema.TaggedRequestClass<SharedW
202
229
  readonly _tag: Schema.tag<"InitialMessage">;
203
230
  } & {
204
231
  payload: Schema.Union<[typeof SharedWorkerInitialMessagePayloadFromClientSession, Schema.TaggedStruct<"FromWebBridge", {}>]>;
205
- liveStoreVersion: Schema.Literal<["0.4.0-dev.1"]>;
232
+ liveStoreVersion: Schema.Literal<["0.4.0-dev.11"]>;
206
233
  }, typeof Schema.Void, typeof UnexpectedError>;
207
234
  export declare class SharedWorkerInitialMessage extends SharedWorkerInitialMessage_base {
208
235
  }
@@ -213,7 +240,7 @@ declare const SharedWorkerUpdateMessagePort_base: Schema.TaggedRequestClass<Shar
213
240
  }, typeof Schema.Void, typeof UnexpectedError>;
214
241
  export declare class SharedWorkerUpdateMessagePort extends SharedWorkerUpdateMessagePort_base {
215
242
  }
216
- declare const SharedWorkerRequest_base: Schema.Union<[typeof SharedWorkerInitialMessage, typeof SharedWorkerUpdateMessagePort, typeof LeaderWorkerInnerBootStatusStream, typeof LeaderWorkerInnerPushToLeader, typeof LeaderWorkerInnerPullStream, typeof LeaderWorkerInnerExport, typeof LeaderWorkerInnerGetRecreateSnapshot, typeof LeaderWorkerInnerExportEventlog, typeof LeaderWorkerInnerGetLeaderHead, typeof LeaderWorkerInnerGetLeaderSyncState, typeof LeaderWorkerInnerShutdown, typeof LeaderWorkerInnerExtraDevtoolsMessage, typeof WebmeshWorker.Schema.CreateConnection]>;
243
+ declare const SharedWorkerRequest_base: Schema.Union<[typeof SharedWorkerInitialMessage, typeof SharedWorkerUpdateMessagePort, typeof LeaderWorkerInnerBootStatusStream, typeof LeaderWorkerInnerPushToLeader, typeof LeaderWorkerInnerPullStream, typeof LeaderWorkerInnerExport, typeof LeaderWorkerInnerGetRecreateSnapshot, typeof LeaderWorkerInnerExportEventlog, typeof LeaderWorkerInnerGetLeaderHead, typeof LeaderWorkerInnerGetLeaderSyncState, typeof LeaderWorkerInnerSyncStateStream, typeof LeaderWorkerInnerGetNetworkStatus, typeof LeaderWorkerInnerNetworkStatusStream, typeof LeaderWorkerInnerShutdown, typeof LeaderWorkerInnerExtraDevtoolsMessage, typeof WebmeshWorker.Schema.CreateConnection]>;
217
244
  export declare class SharedWorkerRequest extends SharedWorkerRequest_base {
218
245
  }
219
246
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"worker-schema.d.ts","sourceRoot":"","sources":["../../../src/web-worker/common/worker-schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,QAAQ,EACR,gBAAgB,EAGhB,SAAS,EACT,eAAe,EAChB,MAAM,mBAAmB,CAAA;AAE1B,OAAO,KAAK,aAAa,MAAM,uCAAuC,CAAA;AACtE,OAAO,EAAE,MAAM,EAAgB,MAAM,yBAAyB,CAAA;AAE9D,eAAO,MAAM,eAAe;;IAE1B;;;;;OAKG;;EAEH,CAAA;AAEF,MAAM,MAAM,eAAe,GAAG,OAAO,eAAe,CAAC,IAAI,CAAA;AAUzD,eAAO,MAAM,WAAW;;IAnBtB;;;;;OAKG;;EAiBJ,CAAA;AACD,MAAM,MAAM,WAAW,GAAG,OAAO,WAAW,CAAC,IAAI,CAAA;AACjD,MAAM,MAAM,kBAAkB,GAAG,OAAO,WAAW,CAAC,OAAO,CAAA;AAG3D,eAAO,MAAM,kBAAkB,gGAAiE,CAAA;AAChG,MAAM,MAAM,kBAAkB,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,SAAS,CAAC,CAAA;;;;;;;;AAEjE,qBAAa,+BAAgC,SAAQ,oCAOpD;CAAG;;AAEJ,qBAAa,wBAAyB,SAAQ,6BAA6C;CAAG;;;;;;QAvC5F;;;;;WAKG;;;;;;;;;AAqCL,qBAAa,+BAAgC,SAAQ,oCAcpD;CAAG;;;;;;;;;;;;;;;;;;;;;;;;;;AAEJ,qBAAa,iCAAkC,SAAQ,sCAOtD;CAAG;;;;;;;;;;;;;;;;;;;;;AAEJ,qBAAa,6BAA8B,SAAQ,kCASlD;CAAG;;;;;;;;;;;;AAEJ,qBAAa,2BAA4B,SAAQ,gCAQ/C;CAAG;;;;AAEL,qBAAa,uBAAwB,SAAQ,4BAI3C;CAAG;;;;AAEL,qBAAa,+BAAgC,SAAQ,oCAOpD;CAAG;;;;cAOuC,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;;;;;;;;;;;AALjF,qBAAa,oCAAqC,SAAQ,yCAUzD;CAAG;;;;;;;;AAEJ,qBAAa,8BAA+B,SAAQ,mCAOnD;CAAG;;;;AAEJ,qBAAa,mCAAoC,SAAQ,wCAOxD;CAAG;;;;AAEJ,qBAAa,yBAA0B,SAAQ,8BAI7C;CAAG;;;;;;;;;;;;;;;;;;;;;;;;AAEL,qBAAa,qCAAsC,SAAQ,0CAS1D;CAAG;AAEJ,eAAO,MAAM,wBAAwB,kfAapC,CAAA;AACD,MAAM,MAAM,wBAAwB,GAAG,OAAO,wBAAwB,CAAC,IAAI,CAAA;;;;AAE3E,qBAAa,kDAAmD,SAAQ,uDAEtE;CAAG;;;;;;;AAEL,qBAAa,0BAA2B,SAAQ,+BAS9C;CAAG;;;;;;AAEL,qBAAa,6BAA8B,SAAQ,kCASlD;CAAG;;AAEJ,qBAAa,mBAAoB,SAAQ,wBAiBxC;CAAG"}
1
+ {"version":3,"file":"worker-schema.d.ts","sourceRoot":"","sources":["../../../src/web-worker/common/worker-schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,QAAQ,EACR,gBAAgB,EAIhB,SAAS,EACT,eAAe,EAChB,MAAM,mBAAmB,CAAA;AAE1B,OAAO,KAAK,aAAa,MAAM,uCAAuC,CAAA;AACtE,OAAO,EAAE,MAAM,EAAgB,MAAM,yBAAyB,CAAA;AAE9D,eAAO,MAAM,eAAe;;IAE1B;;;;;OAKG;;EAEH,CAAA;AAEF,MAAM,MAAM,eAAe,GAAG,OAAO,eAAe,CAAC,IAAI,CAAA;AAUzD,eAAO,MAAM,WAAW;;IAnBtB;;;;;OAKG;;EAiBJ,CAAA;AACD,MAAM,MAAM,WAAW,GAAG,OAAO,WAAW,CAAC,IAAI,CAAA;AACjD,MAAM,MAAM,kBAAkB,GAAG,OAAO,WAAW,CAAC,OAAO,CAAA;AAG3D,eAAO,MAAM,kBAAkB,gGAAiE,CAAA;AAChG,MAAM,MAAM,kBAAkB,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,SAAS,CAAC,CAAA;;;;;;;;AAEjE,qBAAa,+BAAgC,SAAQ,oCAOpD;CAAG;;AAEJ,qBAAa,wBAAyB,SAAQ,6BAA6C;CAAG;;;;;;QAvC5F;;;;;WAKG;;;;;;;;;AAqCL,qBAAa,+BAAgC,SAAQ,oCAcpD;CAAG;;;;;;;;;;;;;;;;;;;;;;;;;;AAEJ,qBAAa,iCAAkC,SAAQ,sCAOtD;CAAG;;;;;;;;;;;;;;;;;;;;;AAEJ,qBAAa,6BAA8B,SAAQ,kCASlD;CAAG;;;;;;;;;;;;AAEJ,qBAAa,2BAA4B,SAAQ,gCAQ/C;CAAG;;;;AAEL,qBAAa,uBAAwB,SAAQ,4BAI3C;CAAG;;;;AAEL,qBAAa,+BAAgC,SAAQ,oCAOpD;CAAG;;;;cAOuC,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;;;;;;;;;;;AALjF,qBAAa,oCAAqC,SAAQ,yCAUzD;CAAG;;;;;;;;AAEJ,qBAAa,8BAA+B,SAAQ,mCAOnD;CAAG;;;;AAEJ,qBAAa,mCAAoC,SAAQ,wCAOxD;CAAG;;;;AAEJ,qBAAa,gCAAiC,SAAQ,qCAOrD;CAAG;;;;;;;;;;AAEJ,qBAAa,iCAAkC,SAAQ,sCAOtD;CAAG;;;;;;;;;;AAEJ,qBAAa,oCAAqC,SAAQ,yCAOzD;CAAG;;;;AAEJ,qBAAa,yBAA0B,SAAQ,8BAI7C;CAAG;;;;;;;;;;;;;;;;;;;;;;;;AAEL,qBAAa,qCAAsC,SAAQ,0CAS1D;CAAG;AAEJ,eAAO,MAAM,wBAAwB,knBAgBpC,CAAA;AACD,MAAM,MAAM,wBAAwB,GAAG,OAAO,wBAAwB,CAAC,IAAI,CAAA;;;;AAE3E,qBAAa,kDAAmD,SAAQ,uDAEtE;CAAG;;;;;;;AAEL,qBAAa,0BAA2B,SAAQ,+BAS9C;CAAG;;;;;;AAEL,qBAAa,6BAA8B,SAAQ,kCASlD;CAAG;;AAEJ,qBAAa,mBAAoB,SAAQ,wBAoBxC;CAAG"}
@@ -1,4 +1,4 @@
1
- import { BootStatus, Devtools, LeaderAheadError, liveStoreVersion, MigrationsReport, SyncState, UnexpectedError, } from '@livestore/common';
1
+ import { BootStatus, Devtools, LeaderAheadError, liveStoreVersion, MigrationsReport, SyncBackend, SyncState, UnexpectedError, } from '@livestore/common';
2
2
  import { EventSequenceNumber, LiveStoreEvent } from '@livestore/common/schema';
3
3
  import * as WebmeshWorker from '@livestore/devtools-web-common/worker';
4
4
  import { Schema, Transferable } from '@livestore/utils/effect';
@@ -101,6 +101,24 @@ export class LeaderWorkerInnerGetLeaderSyncState extends Schema.TaggedRequest()(
101
101
  failure: UnexpectedError,
102
102
  }) {
103
103
  }
104
+ export class LeaderWorkerInnerSyncStateStream extends Schema.TaggedRequest()('SyncStateStream', {
105
+ payload: {},
106
+ success: SyncState.SyncState,
107
+ failure: UnexpectedError,
108
+ }) {
109
+ }
110
+ export class LeaderWorkerInnerGetNetworkStatus extends Schema.TaggedRequest()('GetNetworkStatus', {
111
+ payload: {},
112
+ success: SyncBackend.NetworkStatus,
113
+ failure: UnexpectedError,
114
+ }) {
115
+ }
116
+ export class LeaderWorkerInnerNetworkStatusStream extends Schema.TaggedRequest()('NetworkStatusStream', {
117
+ payload: {},
118
+ success: SyncBackend.NetworkStatus,
119
+ failure: UnexpectedError,
120
+ }) {
121
+ }
104
122
  export class LeaderWorkerInnerShutdown extends Schema.TaggedRequest()('Shutdown', {
105
123
  payload: {},
106
124
  success: Schema.Void,
@@ -115,7 +133,7 @@ export class LeaderWorkerInnerExtraDevtoolsMessage extends Schema.TaggedRequest(
115
133
  failure: UnexpectedError,
116
134
  }) {
117
135
  }
118
- export const LeaderWorkerInnerRequest = Schema.Union(LeaderWorkerInnerInitialMessage, LeaderWorkerInnerBootStatusStream, LeaderWorkerInnerPushToLeader, LeaderWorkerInnerPullStream, LeaderWorkerInnerExport, LeaderWorkerInnerExportEventlog, LeaderWorkerInnerGetRecreateSnapshot, LeaderWorkerInnerGetLeaderHead, LeaderWorkerInnerGetLeaderSyncState, LeaderWorkerInnerShutdown, LeaderWorkerInnerExtraDevtoolsMessage, WebmeshWorker.Schema.CreateConnection);
136
+ export const LeaderWorkerInnerRequest = Schema.Union(LeaderWorkerInnerInitialMessage, LeaderWorkerInnerBootStatusStream, LeaderWorkerInnerPushToLeader, LeaderWorkerInnerPullStream, LeaderWorkerInnerExport, LeaderWorkerInnerExportEventlog, LeaderWorkerInnerGetRecreateSnapshot, LeaderWorkerInnerGetLeaderHead, LeaderWorkerInnerGetLeaderSyncState, LeaderWorkerInnerSyncStateStream, LeaderWorkerInnerGetNetworkStatus, LeaderWorkerInnerNetworkStatusStream, LeaderWorkerInnerShutdown, LeaderWorkerInnerExtraDevtoolsMessage, WebmeshWorker.Schema.CreateConnection);
119
137
  export class SharedWorkerInitialMessagePayloadFromClientSession extends Schema.TaggedStruct('FromClientSession', {
120
138
  initialMessage: LeaderWorkerInnerInitialMessage,
121
139
  }) {
@@ -141,6 +159,6 @@ export class SharedWorkerUpdateMessagePort extends Schema.TaggedRequest()('Updat
141
159
  }
142
160
  export class SharedWorkerRequest extends Schema.Union(SharedWorkerInitialMessage, SharedWorkerUpdateMessagePort,
143
161
  // Proxied requests
144
- LeaderWorkerInnerBootStatusStream, LeaderWorkerInnerPushToLeader, LeaderWorkerInnerPullStream, LeaderWorkerInnerExport, LeaderWorkerInnerGetRecreateSnapshot, LeaderWorkerInnerExportEventlog, LeaderWorkerInnerGetLeaderHead, LeaderWorkerInnerGetLeaderSyncState, LeaderWorkerInnerShutdown, LeaderWorkerInnerExtraDevtoolsMessage, WebmeshWorker.Schema.CreateConnection) {
162
+ LeaderWorkerInnerBootStatusStream, LeaderWorkerInnerPushToLeader, LeaderWorkerInnerPullStream, LeaderWorkerInnerExport, LeaderWorkerInnerGetRecreateSnapshot, LeaderWorkerInnerExportEventlog, LeaderWorkerInnerGetLeaderHead, LeaderWorkerInnerGetLeaderSyncState, LeaderWorkerInnerSyncStateStream, LeaderWorkerInnerGetNetworkStatus, LeaderWorkerInnerNetworkStatusStream, LeaderWorkerInnerShutdown, LeaderWorkerInnerExtraDevtoolsMessage, WebmeshWorker.Schema.CreateConnection) {
145
163
  }
146
164
  //# sourceMappingURL=worker-schema.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"worker-schema.js","sourceRoot":"","sources":["../../../src/web-worker/common/worker-schema.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"worker-schema.js","sourceRoot":"","sources":["../../../src/web-worker/common/worker-schema.ts"],"names":[],"mappings":"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"}
@@ -7,7 +7,7 @@ import { loadSqlite3Wasm } from '@livestore/sqlite-wasm/load-wasm';
7
7
  import { isDevEnv, LS_DEV } from '@livestore/utils';
8
8
  import { BrowserWorkerRunner, Effect, FetchHttpClient, identity, Layer, Logger, LogLevel, OtelTracer, Scheduler, Stream, TaskTracing, WorkerRunner, } from '@livestore/utils/effect';
9
9
  import * as OpfsUtils from "../../opfs-utils.js";
10
- import { getStateDbFileName, sanitizeOpfsDir } from "../common/persisted-sqlite.js";
10
+ import { cleanupOldStateDbFiles, getStateDbFileName, sanitizeOpfsDir } from "../common/persisted-sqlite.js";
11
11
  import { makeShutdownChannel } from "../common/shutdown-channel.js";
12
12
  import * as WorkerSchema from "../common/worker-schema.js";
13
13
  if (isDevEnv()) {
@@ -25,7 +25,8 @@ export const makeWorkerEffect = (options) => {
25
25
  const TracingLive = options.otelOptions?.tracer
26
26
  ? Layer.unwrapEffect(Effect.map(OtelTracer.make, Layer.setTracer)).pipe(Layer.provideMerge(Layer.succeed(OtelTracer.OtelTracer, options.otelOptions.tracer)))
27
27
  : undefined;
28
- return makeWorkerRunnerOuter(options).pipe(Layer.provide(BrowserWorkerRunner.layer), WorkerRunner.launch, Effect.scoped, Effect.tapCauseLogPretty, Effect.annotateLogs({ thread: self.name }), Effect.provide(Logger.prettyWithThread(self.name)), Effect.provide(FetchHttpClient.layer), LS_DEV ? TaskTracing.withAsyncTaggingTracing((name) => console.createTask(name)) : identity, TracingLive ? Effect.provide(TracingLive) : identity,
28
+ const layer = Layer.mergeAll(Logger.prettyWithThread(self.name), FetchHttpClient.layer, TracingLive ?? Layer.empty);
29
+ return makeWorkerRunnerOuter(options).pipe(Layer.provide(BrowserWorkerRunner.layer), WorkerRunner.launch, Effect.scoped, Effect.tapCauseLogPretty, Effect.annotateLogs({ thread: self.name }), Effect.provide(layer), LS_DEV ? TaskTracing.withAsyncTaggingTracing((name) => console.createTask(name)) : identity,
29
30
  // We're using this custom scheduler to improve op batching behaviour and reduce the overhead
30
31
  // of the Effect fiber runtime given we have different tradeoffs on a worker thread.
31
32
  // Despite the "message channel" name, is has nothing to do with the `incomingRequestsPort` above.
@@ -62,6 +63,15 @@ const makeWorkerRunnerInner = ({ schema, sync: syncOptions }) => WorkerRunner.la
62
63
  const [dbState, dbEventlog] = yield* Effect.all([makeDb('state'), makeDb('eventlog')], {
63
64
  concurrency: 2,
64
65
  });
66
+ // Clean up old state database files after successful database creation
67
+ // This prevents OPFS file pool capacity exhaustion from accumulated state db files after schema changes/migrations
68
+ if (dbState.metadata._tag === 'opfs') {
69
+ yield* cleanupOldStateDbFiles({
70
+ vfs: dbState.metadata.vfs,
71
+ currentSchema: schema,
72
+ opfsDirectory: dbState.metadata.persistenceInfo.opfsDirectory,
73
+ });
74
+ }
65
75
  const devtoolsOptions = yield* makeDevtoolsOptions({ devtoolsEnabled, dbState, dbEventlog });
66
76
  const shutdownChannel = yield* makeShutdownChannel(storeId);
67
77
  return makeLeaderThreadLayer({
@@ -104,6 +114,18 @@ const makeWorkerRunnerInner = ({ schema, sync: syncOptions }) => WorkerRunner.la
104
114
  const workerCtx = yield* LeaderThreadCtx;
105
115
  return yield* workerCtx.syncProcessor.syncState;
106
116
  }).pipe(UnexpectedError.mapToUnexpectedError, Effect.withSpan('@livestore/adapter-web:worker:GetLeaderSyncState')),
117
+ SyncStateStream: () => Effect.gen(function* () {
118
+ const workerCtx = yield* LeaderThreadCtx;
119
+ return workerCtx.syncProcessor.syncState.changes;
120
+ }).pipe(Stream.unwrapScoped),
121
+ GetNetworkStatus: () => Effect.gen(function* () {
122
+ const workerCtx = yield* LeaderThreadCtx;
123
+ return yield* workerCtx.networkStatus;
124
+ }).pipe(UnexpectedError.mapToUnexpectedError, Effect.withSpan('@livestore/adapter-web:worker:GetNetworkStatus')),
125
+ NetworkStatusStream: () => Effect.gen(function* () {
126
+ const workerCtx = yield* LeaderThreadCtx;
127
+ return workerCtx.networkStatus.changes;
128
+ }).pipe(Stream.unwrapScoped),
107
129
  Shutdown: () => Effect.gen(function* () {
108
130
  yield* Effect.logDebug('[@livestore/adapter-web:worker] Shutdown');
109
131
  // Buy some time for Otel to flush
@@ -1 +1 @@
1
- {"version":3,"file":"make-leader-worker.js","sourceRoot":"","sources":["../../../src/web-worker/leader-worker/make-leader-worker.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"make-leader-worker.js","sourceRoot":"","sources":["../../../src/web-worker/leader-worker/make-leader-worker.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"make-shared-worker.d.ts","sourceRoot":"","sources":["../../../src/web-worker/shared-worker/make-shared-worker.ts"],"names":[],"mappings":"AAkPA,eAAO,MAAM,UAAU,YAoBtB,CAAA"}
1
+ {"version":3,"file":"make-shared-worker.d.ts","sourceRoot":"","sources":["../../../src/web-worker/shared-worker/make-shared-worker.ts"],"names":[],"mappings":"AAgRA,eAAO,MAAM,UAAU,YAqBtB,CAAA"}
@@ -5,6 +5,15 @@ import { isDevEnv, isNotUndefined, LS_DEV } from '@livestore/utils';
5
5
  import { BrowserWorker, BrowserWorkerRunner, Deferred, Effect, Exit, FetchHttpClient, identity, Layer, Logger, LogLevel, ParseResult, Ref, Schema, Scope, Stream, SubscriptionRef, TaskTracing, Worker, WorkerError, WorkerRunner, } from '@livestore/utils/effect';
6
6
  import { makeShutdownChannel } from "../common/shutdown-channel.js";
7
7
  import * as WorkerSchema from "../common/worker-schema.js";
8
+ // Extract from `livestore-shared-worker-${storeId}`
9
+ const storeId = self.name.replace('livestore-shared-worker-', '');
10
+ // We acquire a lock that is held as long as this shared worker is alive.
11
+ // This way, when the shared worker is terminated (e.g. by the browser when the page is closed),
12
+ // the lock is released and any thread waiting for the lock can be notified.
13
+ const LIVESTORE_SHARED_WORKER_TERMINATION_LOCK = `livestore-shared-worker-termination-lock-${storeId}`;
14
+ navigator.locks.request(LIVESTORE_SHARED_WORKER_TERMINATION_LOCK, { steal: true },
15
+ // We use a never-resolving promise to hold the lock
16
+ async () => new Promise(() => { }));
8
17
  if (isDevEnv()) {
9
18
  globalThis.__debugLiveStoreUtils = {
10
19
  blobUrl: (buffer) => URL.createObjectURL(new Blob([buffer], { type: 'application/octet-stream' })),
@@ -16,7 +25,9 @@ const makeWorkerRunner = Effect.gen(function* () {
16
25
  const leaderWorkerContextSubRef = yield* SubscriptionRef.make(undefined);
17
26
  const initialMessagePayloadDeferredRef = yield* Deferred.make().pipe(Effect.andThen(Ref.make));
18
27
  const waitForWorker = SubscriptionRef.waitUntil(leaderWorkerContextSubRef, isNotUndefined).pipe(Effect.map((_) => _.worker));
19
- const forwardRequest = (req) => waitForWorker.pipe(
28
+ const forwardRequest = (req) =>
29
+ // Forward the request to the active worker and normalize platform errors into UnexpectedError.
30
+ waitForWorker.pipe(
20
31
  // Effect.logBefore(`forwardRequest: ${req._tag}`),
21
32
  Effect.andThen((worker) => worker.executeEffect(req)),
22
33
  // Effect.tap((_) => Effect.log(`forwardRequest: ${req._tag}`, _)),
@@ -126,7 +137,10 @@ const makeWorkerRunner = Effect.gen(function* () {
126
137
  ExportEventlog: forwardRequest,
127
138
  Setup: forwardRequest,
128
139
  GetLeaderSyncState: forwardRequest,
140
+ SyncStateStream: forwardRequestStream,
129
141
  GetLeaderHead: forwardRequest,
142
+ GetNetworkStatus: forwardRequest,
143
+ NetworkStatusStream: forwardRequestStream,
130
144
  Shutdown: forwardRequest,
131
145
  ExtraDevtoolsMessage: forwardRequest,
132
146
  // Accept devtools connections (from leader and client sessions)
@@ -134,11 +148,10 @@ const makeWorkerRunner = Effect.gen(function* () {
134
148
  });
135
149
  }).pipe(Layer.unwrapScoped);
136
150
  export const makeWorker = () => {
137
- // Extract from `livestore-shared-worker-${storeId}`
138
- const storeId = self.name.replace('livestore-shared-worker-', '');
151
+ const layer = Layer.mergeAll(Logger.prettyWithThread(self.name), FetchHttpClient.layer, WebmeshWorker.CacheService.layer({ nodeName: DevtoolsWeb.makeNodeName.sharedWorker({ storeId }) }));
139
152
  makeWorkerRunner.pipe(Layer.provide(BrowserWorkerRunner.layer),
140
153
  // WorkerRunner.launch,
141
- Layer.launch, Effect.scoped, Effect.tapCauseLogPretty, Effect.annotateLogs({ thread: self.name }), Effect.provide(Logger.prettyWithThread(self.name)), Effect.provide(FetchHttpClient.layer), Effect.provide(WebmeshWorker.CacheService.layer({ nodeName: DevtoolsWeb.makeNodeName.sharedWorker({ storeId }) })), LS_DEV ? TaskTracing.withAsyncTaggingTracing((name) => console.createTask(name)) : identity,
154
+ Layer.launch, Effect.scoped, Effect.tapCauseLogPretty, Effect.annotateLogs({ thread: self.name }), Effect.provide(layer), LS_DEV ? TaskTracing.withAsyncTaggingTracing((name) => console.createTask(name)) : identity,
142
155
  // TODO remove type-cast (currently needed to silence a tsc bug)
143
156
  (_) => _, Logger.withMinimumLogLevel(LogLevel.Debug), Effect.runFork);
144
157
  };
@@ -1 +1 @@
1
- {"version":3,"file":"make-shared-worker.js","sourceRoot":"","sources":["../../../src/web-worker/shared-worker/make-shared-worker.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"make-shared-worker.js","sourceRoot":"","sources":["../../../src/web-worker/shared-worker/make-shared-worker.ts"],"names":[],"mappings":"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"}
@@ -3,6 +3,7 @@
3
3
  globalThis.$RefreshReg$ = () => { };
4
4
  // @ts-expect-error TODO remove when Vite does proper treeshaking during dev
5
5
  globalThis.$RefreshSig$ = () => (type) => type;
6
+ // biome-ignore lint/suspicious/noTsIgnore: sometimes @types/node is there, sometimes not.
6
7
  // @ts-ignore
7
8
  globalThis.process = globalThis.process ?? { env: {} };
8
9
  globalThis.document = globalThis?.document ?? {
@@ -1 +1 @@
1
- {"version":3,"file":"vite-dev-polyfill.js","sourceRoot":"","sources":["../../src/web-worker/vite-dev-polyfill.ts"],"names":[],"mappings":"AAAA,2BAA2B;AAE3B,4EAA4E;AAC5E,UAAU,CAAC,YAAY,GAAG,GAAG,EAAE,GAAE,CAAC,CAAA;AAClC,4EAA4E;AAC5E,UAAU,CAAC,YAAY,GAAG,GAAG,EAAE,CAAC,CAAC,IAAS,EAAE,EAAE,CAAC,IAAI,CAAA;AAEnD,aAAa;AACb,UAAU,CAAC,OAAO,GAAG,UAAU,CAAC,OAAO,IAAI,EAAE,GAAG,EAAE,EAAE,EAAE,CAAA;AAEtD,UAAU,CAAC,QAAQ,GAAI,UAAkB,EAAE,QAAQ,IAAI;IACrD,gBAAgB,EAAE,GAAG,EAAE,CAAC,EAAE;IAC1B,aAAa,EAAE,GAAG,EAAE,CAAC,IAAI;IACzB,gBAAgB,EAAE,GAAG,EAAE,GAAE,CAAC;IAC1B,aAAa,EAAE,GAAG,EAAE,CAAC,CAAC;QACpB,YAAY,EAAE,GAAG,EAAE,GAAE,CAAC;QACtB,QAAQ,EAAE,EAAE;QACZ,KAAK,EAAE,EAAE;KACV,CAAC;IACF,IAAI,EAAE;QACJ,gBAAgB,EAAE,GAAG,EAAE,GAAE,CAAC;KAC3B;IACD,IAAI,EAAE;QACJ,WAAW,EAAE,GAAG,EAAE,GAAE,CAAC;KACtB;CACF,CAAA;AAED,UAAU,CAAC,MAAM,GAAG,UAAU,EAAE,MAAM,IAAI;IACxC,cAAc,EAAE,MAAM,cAAc;KAAG;IACvC,eAAe,EAAE,MAAM,eAAe;KAAG;IACzC,gBAAgB,EAAE,GAAG,EAAE,GAAE,CAAC;IAC1B,QAAQ,EAAE;QACR,IAAI,EAAE,EAAE;QACR,QAAQ,EAAE,EAAE;KACb;IACD,QAAQ,EAAE,UAAU,CAAC,QAAQ;CAC9B,CAAA;AAED,UAAU,CAAC,WAAW,GAAG,UAAU,EAAE,WAAW,IAAI,MAAM,WAAW;CAAG,CAAA"}
1
+ {"version":3,"file":"vite-dev-polyfill.js","sourceRoot":"","sources":["../../src/web-worker/vite-dev-polyfill.ts"],"names":[],"mappings":"AAAA,2BAA2B;AAE3B,4EAA4E;AAC5E,UAAU,CAAC,YAAY,GAAG,GAAG,EAAE,GAAE,CAAC,CAAA;AAClC,4EAA4E;AAC5E,UAAU,CAAC,YAAY,GAAG,GAAG,EAAE,CAAC,CAAC,IAAS,EAAE,EAAE,CAAC,IAAI,CAAA;AAEnD,0FAA0F;AAC1F,aAAa;AACb,UAAU,CAAC,OAAO,GAAG,UAAU,CAAC,OAAO,IAAI,EAAE,GAAG,EAAE,EAAE,EAAE,CAAA;AAEtD,UAAU,CAAC,QAAQ,GAAI,UAAkB,EAAE,QAAQ,IAAI;IACrD,gBAAgB,EAAE,GAAG,EAAE,CAAC,EAAE;IAC1B,aAAa,EAAE,GAAG,EAAE,CAAC,IAAI;IACzB,gBAAgB,EAAE,GAAG,EAAE,GAAE,CAAC;IAC1B,aAAa,EAAE,GAAG,EAAE,CAAC,CAAC;QACpB,YAAY,EAAE,GAAG,EAAE,GAAE,CAAC;QACtB,QAAQ,EAAE,EAAE;QACZ,KAAK,EAAE,EAAE;KACV,CAAC;IACF,IAAI,EAAE;QACJ,gBAAgB,EAAE,GAAG,EAAE,GAAE,CAAC;KAC3B;IACD,IAAI,EAAE;QACJ,WAAW,EAAE,GAAG,EAAE,GAAE,CAAC;KACtB;CACF,CAAA;AAED,UAAU,CAAC,MAAM,GAAG,UAAU,EAAE,MAAM,IAAI;IACxC,cAAc,EAAE,MAAM,cAAc;KAAG;IACvC,eAAe,EAAE,MAAM,eAAe;KAAG;IACzC,gBAAgB,EAAE,GAAG,EAAE,GAAE,CAAC;IAC1B,QAAQ,EAAE;QACR,IAAI,EAAE,EAAE;QACR,QAAQ,EAAE,EAAE;KACb;IACD,QAAQ,EAAE,UAAU,CAAC,QAAQ;CAC9B,CAAA;AAED,UAAU,CAAC,WAAW,GAAG,UAAU,EAAE,WAAW,IAAI,MAAM,WAAW;CAAG,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@livestore/adapter-web",
3
- "version": "0.4.0-dev.1",
3
+ "version": "0.4.0-dev.11",
4
4
  "type": "module",
5
5
  "sideEffects": false,
6
6
  "exports": {
@@ -13,14 +13,14 @@
13
13
  },
14
14
  "dependencies": {
15
15
  "@opentelemetry/api": "1.9.0",
16
- "@livestore/common": "0.4.0-dev.1",
17
- "@livestore/devtools-web-common": "0.4.0-dev.1",
18
- "@livestore/webmesh": "0.4.0-dev.1",
19
- "@livestore/utils": "0.4.0-dev.1",
20
- "@livestore/sqlite-wasm": "0.4.0-dev.1"
16
+ "@livestore/common": "0.4.0-dev.11",
17
+ "@livestore/devtools-web-common": "0.4.0-dev.11",
18
+ "@livestore/utils": "0.4.0-dev.11",
19
+ "@livestore/sqlite-wasm": "0.4.0-dev.11",
20
+ "@livestore/webmesh": "0.4.0-dev.11"
21
21
  },
22
22
  "devDependencies": {
23
- "@types/chrome": "^0.1.1",
23
+ "@types/chrome": "0.1.4",
24
24
  "@types/wicg-file-system-access": "^2023.10.6",
25
25
  "vitest": "3.2.4"
26
26
  },
@@ -16,7 +16,6 @@ import * as DevtoolsWeb from '@livestore/devtools-web-common/web-channel'
16
16
  import type * as WebmeshWorker from '@livestore/devtools-web-common/worker'
17
17
  import type { MakeWebSqliteDb } from '@livestore/sqlite-wasm/browser'
18
18
  import { sqliteDbFactory } from '@livestore/sqlite-wasm/browser'
19
- import { loadSqlite3Wasm } from '@livestore/sqlite-wasm/load-wasm'
20
19
  import { tryAsFunctionAndNew } from '@livestore/utils'
21
20
  import type { Schema, Scope } from '@livestore/utils/effect'
22
21
  import { BrowserWorker, Effect, FetchHttpClient, Fiber, Layer, SubscriptionRef, Worker } from '@livestore/utils/effect'
@@ -24,11 +23,9 @@ import { nanoid } from '@livestore/utils/nanoid'
24
23
  import * as Webmesh from '@livestore/webmesh'
25
24
 
26
25
  import { connectWebmeshNodeClientSession } from '../web-worker/client-session/client-session-devtools.ts'
26
+ import { loadSqlite3 } from '../web-worker/client-session/sqlite-loader.ts'
27
27
  import { makeShutdownChannel } from '../web-worker/common/shutdown-channel.ts'
28
28
 
29
- // NOTE we're starting to initialize the sqlite wasm binary here to speed things up
30
- const sqlite3Promise = loadSqlite3Wasm()
31
-
32
29
  export interface InMemoryAdapterOptions {
33
30
  importSnapshot?: Uint8Array<ArrayBuffer>
34
31
  sync?: SyncOptions
@@ -60,7 +57,7 @@ export const makeInMemoryAdapter =
60
57
  (adapterArgs) =>
61
58
  Effect.gen(function* () {
62
59
  const { schema, shutdown, syncPayload, storeId, devtoolsEnabled } = adapterArgs
63
- const sqlite3 = yield* Effect.promise(() => sqlite3Promise)
60
+ const sqlite3 = yield* Effect.promise(() => loadSqlite3())
64
61
 
65
62
  const sqliteDb = yield* sqliteDbFactory({ sqlite3 })({ _tag: 'in-memory' })
66
63
 
@@ -204,7 +201,8 @@ const makeLeaderThread = ({
204
201
  )
205
202
 
206
203
  return yield* Effect.gen(function* () {
207
- const { dbState, dbEventlog, syncProcessor, extraIncomingMessagesQueue, initialState } = yield* LeaderThreadCtx
204
+ const { dbState, dbEventlog, syncProcessor, extraIncomingMessagesQueue, initialState, networkStatus } =
205
+ yield* LeaderThreadCtx
208
206
 
209
207
  const initialLeaderHead = Eventlog.getClientHeadFromDb(dbEventlog)
210
208
 
@@ -220,8 +218,9 @@ const makeLeaderThread = ({
220
218
  initialState: { leaderHead: initialLeaderHead, migrationsReport: initialState.migrationsReport },
221
219
  export: Effect.sync(() => dbState.export()),
222
220
  getEventlogData: Effect.sync(() => dbEventlog.export()),
223
- getSyncState: syncProcessor.syncState,
221
+ syncState: syncProcessor.syncState,
224
222
  sendDevtoolsMessage: (message) => extraIncomingMessagesQueue.offer(message),
223
+ networkStatus,
225
224
  })
226
225
 
227
226
  const initialSnapshot = dbState.export()
package/src/opfs-utils.ts CHANGED
@@ -17,14 +17,14 @@ export const rootHandlePromise =
17
17
  ) as never)
18
18
  : navigator.storage.getDirectory()
19
19
 
20
- export const getDirHandle = async (absDirPath: string | undefined) => {
20
+ export const getDirHandle = async (absDirPath: string | undefined, options: { create?: boolean } = {}) => {
21
21
  const rootHandle = await rootHandlePromise
22
- if (absDirPath === undefined) return rootHandle
22
+ if (absDirPath === undefined || absDirPath === '' || absDirPath === '/') return rootHandle
23
23
 
24
24
  let dirHandle = rootHandle
25
- const directoryStack = absDirPath?.split('/').filter(Boolean)
25
+ const directoryStack = absDirPath.split('/').filter(Boolean)
26
26
  while (directoryStack.length > 0) {
27
- dirHandle = await dirHandle.getDirectoryHandle(directoryStack.shift()!)
27
+ dirHandle = await dirHandle.getDirectoryHandle(directoryStack.shift()!, options)
28
28
  }
29
29
 
30
30
  return dirHandle
@@ -26,11 +26,14 @@ interface FileSystemFileHandle {
26
26
  // export default sharedWorkerConstructor
27
27
  // }
28
28
 
29
+ declare interface ImportMetaEnv {
30
+ readonly SSR?: string | boolean
31
+ readonly DEV: boolean | undefined
32
+ readonly VITE_LIVESTORE_EXPERIMENTAL_SYNC_NEXT: boolean | undefined
33
+ }
34
+
29
35
  declare interface ImportMeta {
30
- env: {
31
- DEV: boolean | undefined
32
- VITE_LIVESTORE_EXPERIMENTAL_SYNC_NEXT: boolean | undefined
33
- }
36
+ readonly env: ImportMetaEnv
34
37
  }
35
38
 
36
39
  declare var __debugLiveStoreUtils: any
@@ -12,7 +12,6 @@ import {
12
12
  // import LiveStoreSharedWorker from '@livestore/adapter-web/internal-shared-worker?sharedworker'
13
13
  import { EventSequenceNumber } from '@livestore/common/schema'
14
14
  import { sqliteDbFactory } from '@livestore/sqlite-wasm/browser'
15
- import { loadSqlite3Wasm } from '@livestore/sqlite-wasm/load-wasm'
16
15
  import { isDevEnv, shouldNeverHappen, tryAsFunctionAndNew } from '@livestore/utils'
17
16
  import {
18
17
  BrowserWorker,
@@ -21,10 +20,12 @@ import {
21
20
  Effect,
22
21
  Exit,
23
22
  Fiber,
23
+ Layer,
24
24
  ParseResult,
25
25
  Queue,
26
26
  Schema,
27
27
  Stream,
28
+ Subscribable,
28
29
  SubscriptionRef,
29
30
  WebLock,
30
31
  Worker,
@@ -38,9 +39,7 @@ import { makeShutdownChannel } from '../common/shutdown-channel.ts'
38
39
  import { DedicatedWorkerDisconnectBroadcast, makeWorkerDisconnectChannel } from '../common/worker-disconnect-channel.ts'
39
40
  import * as WorkerSchema from '../common/worker-schema.ts'
40
41
  import { connectWebmeshNodeClientSession } from './client-session-devtools.ts'
41
-
42
- // NOTE we're starting to initialize the sqlite wasm binary here to speed things up
43
- const sqlite3Promise = loadSqlite3Wasm()
42
+ import { loadSqlite3 } from './sqlite-loader.ts'
44
43
 
45
44
  if (isDevEnv()) {
46
45
  globalThis.__debugLiveStoreUtils = {
@@ -100,6 +99,21 @@ export type WebAdapterOptions = {
100
99
  * @default false
101
100
  */
102
101
  disableFastPath?: boolean
102
+ /**
103
+ * Controls whether to wait for the shared worker to be terminated when LiveStore gets shut down.
104
+ * This prevents a race condition where a new LiveStore instance connects to a shutting-down shared
105
+ * worker from a previous instance.
106
+ *
107
+ * @default false
108
+ *
109
+ * @remarks
110
+ *
111
+ * In multi-tab scenarios, we don't want to await shared worker termination because the shared worker
112
+ * won't actually shut down when one tab closes - it stays alive to serve other tabs. Awaiting
113
+ * termination would cause unnecessary blocking since the termination will never happen until all
114
+ * tabs are closed.
115
+ */
116
+ awaitSharedWorkerTermination?: boolean
103
117
  }
104
118
  }
105
119
 
@@ -130,9 +144,10 @@ export const makePersistedAdapter =
130
144
 
131
145
  yield* Queue.offer(bootStatusQueue, { stage: 'loading' })
132
146
 
133
- const sqlite3 = yield* Effect.promise(() => sqlite3Promise)
147
+ const sqlite3 = yield* Effect.promise(() => loadSqlite3())
134
148
 
135
149
  const LIVESTORE_TAB_LOCK = `livestore-tab-lock-${storeId}`
150
+ const LIVESTORE_SHARED_WORKER_TERMINATION_LOCK = `livestore-shared-worker-termination-lock-${storeId}`
136
151
 
137
152
  const storageOptions = yield* Schema.decode(WorkerSchema.StorageType)(options.storage)
138
153
 
@@ -175,6 +190,13 @@ export const makePersistedAdapter =
175
190
 
176
191
  const sharedWebWorker = tryAsFunctionAndNew(options.sharedWorker, { name: `livestore-shared-worker-${storeId}` })
177
192
 
193
+ if (options.experimental?.awaitSharedWorkerTermination) {
194
+ // Relying on the lock being available is currently the only mechanism we're aware of
195
+ // to know whether the shared worker has terminated.
196
+ yield* Effect.addFinalizer(() => WebLock.waitForLock(LIVESTORE_SHARED_WORKER_TERMINATION_LOCK))
197
+ }
198
+
199
+ const sharedWorkerContext = yield* Layer.build(BrowserWorker.layer(() => sharedWebWorker))
178
200
  const sharedWorkerFiber = yield* Worker.makePoolSerialized<typeof WorkerSchema.SharedWorkerRequest.Type>({
179
201
  size: 1,
180
202
  concurrency: 100,
@@ -194,7 +216,7 @@ export const makePersistedAdapter =
194
216
  },
195
217
  }),
196
218
  }).pipe(
197
- Effect.provide(BrowserWorker.layer(() => sharedWebWorker)),
219
+ Effect.provide(sharedWorkerContext),
198
220
  Effect.tapCauseLogPretty,
199
221
  UnexpectedError.mapToUnexpectedError,
200
222
  Effect.tapErrorCause((cause) => shutdown(Exit.failCause(cause))),
@@ -438,16 +460,23 @@ export const makePersistedAdapter =
438
460
  Effect.withSpan('@livestore/adapter-web:client-session:getEventlogData'),
439
461
  ),
440
462
 
441
- getSyncState: runInWorker(new WorkerSchema.LeaderWorkerInnerGetLeaderSyncState()).pipe(
442
- UnexpectedError.mapToUnexpectedError,
443
- Effect.withSpan('@livestore/adapter-web:client-session:getLeaderSyncState'),
444
- ),
463
+ syncState: Subscribable.make({
464
+ get: runInWorker(new WorkerSchema.LeaderWorkerInnerGetLeaderSyncState()).pipe(
465
+ UnexpectedError.mapToUnexpectedError,
466
+ Effect.withSpan('@livestore/adapter-web:client-session:getLeaderSyncState'),
467
+ ),
468
+ changes: runInWorkerStream(new WorkerSchema.LeaderWorkerInnerSyncStateStream()).pipe(Stream.orDie),
469
+ }),
445
470
 
446
471
  sendDevtoolsMessage: (message) =>
447
472
  runInWorker(new WorkerSchema.LeaderWorkerInnerExtraDevtoolsMessage({ message })).pipe(
448
473
  UnexpectedError.mapToUnexpectedError,
449
474
  Effect.withSpan('@livestore/adapter-web:client-session:devtoolsMessageForLeader'),
450
475
  ),
476
+ networkStatus: Subscribable.make({
477
+ get: runInWorker(new WorkerSchema.LeaderWorkerInnerGetNetworkStatus()).pipe(Effect.orDie),
478
+ changes: runInWorkerStream(new WorkerSchema.LeaderWorkerInnerNetworkStatusStream()).pipe(Stream.orDie),
479
+ }),
451
480
  }
452
481
 
453
482
  const sharedWorker = yield* Fiber.join(sharedWorkerFiber)