@livestore/adapter-web 0.4.0-dev.1 → 0.4.0-dev.10
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/.tsbuildinfo +1 -1
- package/dist/in-memory/in-memory-adapter.d.ts.map +1 -1
- package/dist/in-memory/in-memory-adapter.js +2 -1
- package/dist/in-memory/in-memory-adapter.js.map +1 -1
- package/dist/opfs-utils.d.ts +3 -1
- package/dist/opfs-utils.d.ts.map +1 -1
- package/dist/opfs-utils.js +4 -4
- package/dist/opfs-utils.js.map +1 -1
- package/dist/web-worker/client-session/persisted-adapter.d.ts +15 -0
- package/dist/web-worker/client-session/persisted-adapter.d.ts.map +1 -1
- package/dist/web-worker/client-session/persisted-adapter.js +13 -2
- package/dist/web-worker/client-session/persisted-adapter.js.map +1 -1
- package/dist/web-worker/common/persisted-sqlite.d.ts +34 -0
- package/dist/web-worker/common/persisted-sqlite.d.ts.map +1 -1
- package/dist/web-worker/common/persisted-sqlite.js +152 -0
- package/dist/web-worker/common/persisted-sqlite.js.map +1 -1
- package/dist/web-worker/common/shutdown-channel.d.ts +1 -1
- package/dist/web-worker/common/shutdown-channel.d.ts.map +1 -1
- package/dist/web-worker/common/worker-schema.d.ts +28 -6
- package/dist/web-worker/common/worker-schema.d.ts.map +1 -1
- package/dist/web-worker/common/worker-schema.js +15 -3
- package/dist/web-worker/common/worker-schema.js.map +1 -1
- package/dist/web-worker/leader-worker/make-leader-worker.js +20 -2
- package/dist/web-worker/leader-worker/make-leader-worker.js.map +1 -1
- package/dist/web-worker/shared-worker/make-shared-worker.d.ts.map +1 -1
- package/dist/web-worker/shared-worker/make-shared-worker.js +11 -2
- package/dist/web-worker/shared-worker/make-shared-worker.js.map +1 -1
- package/dist/web-worker/vite-dev-polyfill.js +1 -0
- package/dist/web-worker/vite-dev-polyfill.js.map +1 -1
- package/package.json +7 -7
- package/src/in-memory/in-memory-adapter.ts +3 -1
- package/src/opfs-utils.ts +4 -4
- package/src/web-worker/client-session/persisted-adapter.ts +30 -1
- package/src/web-worker/common/persisted-sqlite.ts +220 -1
- package/src/web-worker/common/worker-schema.ts +23 -0
- package/src/web-worker/leader-worker/make-leader-worker.ts +24 -4
- package/src/web-worker/shared-worker/make-shared-worker.ts +16 -3
- package/src/web-worker/vite-dev-polyfill.ts +1 -0
|
@@ -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,
|
|
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,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,ykBAepC,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,wBAmBxC;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,18 @@ export class LeaderWorkerInnerGetLeaderSyncState extends Schema.TaggedRequest()(
|
|
|
101
101
|
failure: UnexpectedError,
|
|
102
102
|
}) {
|
|
103
103
|
}
|
|
104
|
+
export class LeaderWorkerInnerGetNetworkStatus extends Schema.TaggedRequest()('GetNetworkStatus', {
|
|
105
|
+
payload: {},
|
|
106
|
+
success: SyncBackend.NetworkStatus,
|
|
107
|
+
failure: UnexpectedError,
|
|
108
|
+
}) {
|
|
109
|
+
}
|
|
110
|
+
export class LeaderWorkerInnerNetworkStatusStream extends Schema.TaggedRequest()('NetworkStatusStream', {
|
|
111
|
+
payload: {},
|
|
112
|
+
success: SyncBackend.NetworkStatus,
|
|
113
|
+
failure: UnexpectedError,
|
|
114
|
+
}) {
|
|
115
|
+
}
|
|
104
116
|
export class LeaderWorkerInnerShutdown extends Schema.TaggedRequest()('Shutdown', {
|
|
105
117
|
payload: {},
|
|
106
118
|
success: Schema.Void,
|
|
@@ -115,7 +127,7 @@ export class LeaderWorkerInnerExtraDevtoolsMessage extends Schema.TaggedRequest(
|
|
|
115
127
|
failure: UnexpectedError,
|
|
116
128
|
}) {
|
|
117
129
|
}
|
|
118
|
-
export const LeaderWorkerInnerRequest = Schema.Union(LeaderWorkerInnerInitialMessage, LeaderWorkerInnerBootStatusStream, LeaderWorkerInnerPushToLeader, LeaderWorkerInnerPullStream, LeaderWorkerInnerExport, LeaderWorkerInnerExportEventlog, LeaderWorkerInnerGetRecreateSnapshot, LeaderWorkerInnerGetLeaderHead, LeaderWorkerInnerGetLeaderSyncState, LeaderWorkerInnerShutdown, LeaderWorkerInnerExtraDevtoolsMessage, WebmeshWorker.Schema.CreateConnection);
|
|
130
|
+
export const LeaderWorkerInnerRequest = Schema.Union(LeaderWorkerInnerInitialMessage, LeaderWorkerInnerBootStatusStream, LeaderWorkerInnerPushToLeader, LeaderWorkerInnerPullStream, LeaderWorkerInnerExport, LeaderWorkerInnerExportEventlog, LeaderWorkerInnerGetRecreateSnapshot, LeaderWorkerInnerGetLeaderHead, LeaderWorkerInnerGetLeaderSyncState, LeaderWorkerInnerGetNetworkStatus, LeaderWorkerInnerNetworkStatusStream, LeaderWorkerInnerShutdown, LeaderWorkerInnerExtraDevtoolsMessage, WebmeshWorker.Schema.CreateConnection);
|
|
119
131
|
export class SharedWorkerInitialMessagePayloadFromClientSession extends Schema.TaggedStruct('FromClientSession', {
|
|
120
132
|
initialMessage: LeaderWorkerInnerInitialMessage,
|
|
121
133
|
}) {
|
|
@@ -141,6 +153,6 @@ export class SharedWorkerUpdateMessagePort extends Schema.TaggedRequest()('Updat
|
|
|
141
153
|
}
|
|
142
154
|
export class SharedWorkerRequest extends Schema.Union(SharedWorkerInitialMessage, SharedWorkerUpdateMessagePort,
|
|
143
155
|
// Proxied requests
|
|
144
|
-
LeaderWorkerInnerBootStatusStream, LeaderWorkerInnerPushToLeader, LeaderWorkerInnerPullStream, LeaderWorkerInnerExport, LeaderWorkerInnerGetRecreateSnapshot, LeaderWorkerInnerExportEventlog, LeaderWorkerInnerGetLeaderHead, LeaderWorkerInnerGetLeaderSyncState, LeaderWorkerInnerShutdown, LeaderWorkerInnerExtraDevtoolsMessage, WebmeshWorker.Schema.CreateConnection) {
|
|
156
|
+
LeaderWorkerInnerBootStatusStream, LeaderWorkerInnerPushToLeader, LeaderWorkerInnerPullStream, LeaderWorkerInnerExport, LeaderWorkerInnerGetRecreateSnapshot, LeaderWorkerInnerExportEventlog, LeaderWorkerInnerGetLeaderHead, LeaderWorkerInnerGetLeaderSyncState, LeaderWorkerInnerGetNetworkStatus, LeaderWorkerInnerNetworkStatusStream, LeaderWorkerInnerShutdown, LeaderWorkerInnerExtraDevtoolsMessage, WebmeshWorker.Schema.CreateConnection) {
|
|
145
157
|
}
|
|
146
158
|
//# 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
|
-
|
|
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,14 @@ 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
|
+
GetNetworkStatus: () => Effect.gen(function* () {
|
|
118
|
+
const workerCtx = yield* LeaderThreadCtx;
|
|
119
|
+
return yield* workerCtx.networkStatus;
|
|
120
|
+
}).pipe(UnexpectedError.mapToUnexpectedError, Effect.withSpan('@livestore/adapter-web:worker:GetNetworkStatus')),
|
|
121
|
+
NetworkStatusStream: () => Effect.gen(function* () {
|
|
122
|
+
const workerCtx = yield* LeaderThreadCtx;
|
|
123
|
+
return workerCtx.networkStatus.changes;
|
|
124
|
+
}).pipe(Stream.unwrapScoped),
|
|
107
125
|
Shutdown: () => Effect.gen(function* () {
|
|
108
126
|
yield* Effect.logDebug('[@livestore/adapter-web:worker] Shutdown');
|
|
109
127
|
// 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":"AACA,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AAE7D,OAAO,EAAE,mBAAmB,EAAE,QAAQ,EAAE,eAAe,EAAE,qBAAqB,EAAE,MAAM,iCAAiC,CAAA;AAEvH,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAA;AACzD,OAAO,KAAK,aAAa,MAAM,uCAAuC,CAAA;AACtE,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAA;AAChE,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAA;AAClE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAA;AAEnD,OAAO,EACL,mBAAmB,EACnB,MAAM,EACN,eAAe,EACf,QAAQ,EACR,KAAK,EACL,MAAM,EACN,QAAQ,EACR,UAAU,EACV,SAAS,EACT,MAAM,EACN,WAAW,EACX,YAAY,GACb,MAAM,yBAAyB,CAAA;AAGhC,OAAO,KAAK,SAAS,MAAM,qBAAqB,CAAA;AAChD,OAAO,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAA;
|
|
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":"
|
|
1
|
+
{"version":3,"file":"make-shared-worker.d.ts","sourceRoot":"","sources":["../../../src/web-worker/shared-worker/make-shared-worker.ts"],"names":[],"mappings":"AAkQA,eAAO,MAAM,UAAU,YAiBtB,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' })),
|
|
@@ -127,6 +136,8 @@ const makeWorkerRunner = Effect.gen(function* () {
|
|
|
127
136
|
Setup: forwardRequest,
|
|
128
137
|
GetLeaderSyncState: forwardRequest,
|
|
129
138
|
GetLeaderHead: forwardRequest,
|
|
139
|
+
GetNetworkStatus: forwardRequest,
|
|
140
|
+
NetworkStatusStream: forwardRequestStream,
|
|
130
141
|
Shutdown: forwardRequest,
|
|
131
142
|
ExtraDevtoolsMessage: forwardRequest,
|
|
132
143
|
// Accept devtools connections (from leader and client sessions)
|
|
@@ -134,8 +145,6 @@ const makeWorkerRunner = Effect.gen(function* () {
|
|
|
134
145
|
});
|
|
135
146
|
}).pipe(Layer.unwrapScoped);
|
|
136
147
|
export const makeWorker = () => {
|
|
137
|
-
// Extract from `livestore-shared-worker-${storeId}`
|
|
138
|
-
const storeId = self.name.replace('livestore-shared-worker-', '');
|
|
139
148
|
makeWorkerRunner.pipe(Layer.provide(BrowserWorkerRunner.layer),
|
|
140
149
|
// WorkerRunner.launch,
|
|
141
150
|
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,
|
|
@@ -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.
|
|
3
|
+
"version": "0.4.0-dev.10",
|
|
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.
|
|
17
|
-
"@livestore/
|
|
18
|
-
"@livestore/
|
|
19
|
-
"@livestore/
|
|
20
|
-
"@livestore/
|
|
16
|
+
"@livestore/common": "0.4.0-dev.10",
|
|
17
|
+
"@livestore/sqlite-wasm": "0.4.0-dev.10",
|
|
18
|
+
"@livestore/devtools-web-common": "0.4.0-dev.10",
|
|
19
|
+
"@livestore/webmesh": "0.4.0-dev.10",
|
|
20
|
+
"@livestore/utils": "0.4.0-dev.10"
|
|
21
21
|
},
|
|
22
22
|
"devDependencies": {
|
|
23
|
-
"@types/chrome": "
|
|
23
|
+
"@types/chrome": "0.1.4",
|
|
24
24
|
"@types/wicg-file-system-access": "^2023.10.6",
|
|
25
25
|
"vitest": "3.2.4"
|
|
26
26
|
},
|
|
@@ -204,7 +204,8 @@ const makeLeaderThread = ({
|
|
|
204
204
|
)
|
|
205
205
|
|
|
206
206
|
return yield* Effect.gen(function* () {
|
|
207
|
-
const { dbState, dbEventlog, syncProcessor, extraIncomingMessagesQueue, initialState } =
|
|
207
|
+
const { dbState, dbEventlog, syncProcessor, extraIncomingMessagesQueue, initialState, networkStatus } =
|
|
208
|
+
yield* LeaderThreadCtx
|
|
208
209
|
|
|
209
210
|
const initialLeaderHead = Eventlog.getClientHeadFromDb(dbEventlog)
|
|
210
211
|
|
|
@@ -222,6 +223,7 @@ const makeLeaderThread = ({
|
|
|
222
223
|
getEventlogData: Effect.sync(() => dbEventlog.export()),
|
|
223
224
|
getSyncState: syncProcessor.syncState,
|
|
224
225
|
sendDevtoolsMessage: (message) => extraIncomingMessagesQueue.offer(message),
|
|
226
|
+
networkStatus,
|
|
225
227
|
})
|
|
226
228
|
|
|
227
229
|
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
|
|
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
|
|
@@ -21,10 +21,12 @@ import {
|
|
|
21
21
|
Effect,
|
|
22
22
|
Exit,
|
|
23
23
|
Fiber,
|
|
24
|
+
Layer,
|
|
24
25
|
ParseResult,
|
|
25
26
|
Queue,
|
|
26
27
|
Schema,
|
|
27
28
|
Stream,
|
|
29
|
+
Subscribable,
|
|
28
30
|
SubscriptionRef,
|
|
29
31
|
WebLock,
|
|
30
32
|
Worker,
|
|
@@ -100,6 +102,21 @@ export type WebAdapterOptions = {
|
|
|
100
102
|
* @default false
|
|
101
103
|
*/
|
|
102
104
|
disableFastPath?: boolean
|
|
105
|
+
/**
|
|
106
|
+
* Controls whether to wait for the shared worker to be terminated when LiveStore gets shut down.
|
|
107
|
+
* This prevents a race condition where a new LiveStore instance connects to a shutting-down shared
|
|
108
|
+
* worker from a previous instance.
|
|
109
|
+
*
|
|
110
|
+
* @default false
|
|
111
|
+
*
|
|
112
|
+
* @remarks
|
|
113
|
+
*
|
|
114
|
+
* In multi-tab scenarios, we don't want to await shared worker termination because the shared worker
|
|
115
|
+
* won't actually shut down when one tab closes - it stays alive to serve other tabs. Awaiting
|
|
116
|
+
* termination would cause unnecessary blocking since the termination will never happen until all
|
|
117
|
+
* tabs are closed.
|
|
118
|
+
*/
|
|
119
|
+
awaitSharedWorkerTermination?: boolean
|
|
103
120
|
}
|
|
104
121
|
}
|
|
105
122
|
|
|
@@ -133,6 +150,7 @@ export const makePersistedAdapter =
|
|
|
133
150
|
const sqlite3 = yield* Effect.promise(() => sqlite3Promise)
|
|
134
151
|
|
|
135
152
|
const LIVESTORE_TAB_LOCK = `livestore-tab-lock-${storeId}`
|
|
153
|
+
const LIVESTORE_SHARED_WORKER_TERMINATION_LOCK = `livestore-shared-worker-termination-lock-${storeId}`
|
|
136
154
|
|
|
137
155
|
const storageOptions = yield* Schema.decode(WorkerSchema.StorageType)(options.storage)
|
|
138
156
|
|
|
@@ -175,6 +193,13 @@ export const makePersistedAdapter =
|
|
|
175
193
|
|
|
176
194
|
const sharedWebWorker = tryAsFunctionAndNew(options.sharedWorker, { name: `livestore-shared-worker-${storeId}` })
|
|
177
195
|
|
|
196
|
+
if (options.experimental?.awaitSharedWorkerTermination) {
|
|
197
|
+
// Relying on the lock being available is currently the only mechanism we're aware of
|
|
198
|
+
// to know whether the shared worker has terminated.
|
|
199
|
+
yield* Effect.addFinalizer(() => WebLock.waitForLock(LIVESTORE_SHARED_WORKER_TERMINATION_LOCK))
|
|
200
|
+
}
|
|
201
|
+
|
|
202
|
+
const sharedWorkerContext = yield* Layer.build(BrowserWorker.layer(() => sharedWebWorker))
|
|
178
203
|
const sharedWorkerFiber = yield* Worker.makePoolSerialized<typeof WorkerSchema.SharedWorkerRequest.Type>({
|
|
179
204
|
size: 1,
|
|
180
205
|
concurrency: 100,
|
|
@@ -194,7 +219,7 @@ export const makePersistedAdapter =
|
|
|
194
219
|
},
|
|
195
220
|
}),
|
|
196
221
|
}).pipe(
|
|
197
|
-
Effect.provide(
|
|
222
|
+
Effect.provide(sharedWorkerContext),
|
|
198
223
|
Effect.tapCauseLogPretty,
|
|
199
224
|
UnexpectedError.mapToUnexpectedError,
|
|
200
225
|
Effect.tapErrorCause((cause) => shutdown(Exit.failCause(cause))),
|
|
@@ -448,6 +473,10 @@ export const makePersistedAdapter =
|
|
|
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)
|