@livestore/adapter-web 0.4.0-dev.21 → 0.4.0-dev.23

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 (54) hide show
  1. package/README.md +5 -5
  2. package/dist/.tsbuildinfo +1 -1
  3. package/dist/in-memory/in-memory-adapter.d.ts.map +1 -1
  4. package/dist/in-memory/in-memory-adapter.js +8 -4
  5. package/dist/in-memory/in-memory-adapter.js.map +1 -1
  6. package/dist/index.d.ts +11 -1
  7. package/dist/index.d.ts.map +1 -1
  8. package/dist/index.js +11 -1
  9. package/dist/index.js.map +1 -1
  10. package/dist/single-tab/mod.d.ts +15 -0
  11. package/dist/single-tab/mod.d.ts.map +1 -0
  12. package/dist/single-tab/mod.js +15 -0
  13. package/dist/single-tab/mod.js.map +1 -0
  14. package/dist/single-tab/single-tab-adapter.d.ts +108 -0
  15. package/dist/single-tab/single-tab-adapter.d.ts.map +1 -0
  16. package/dist/single-tab/single-tab-adapter.js +271 -0
  17. package/dist/single-tab/single-tab-adapter.js.map +1 -0
  18. package/dist/web-worker/client-session/client-session-devtools.d.ts +1 -1
  19. package/dist/web-worker/client-session/client-session-devtools.d.ts.map +1 -1
  20. package/dist/web-worker/client-session/client-session-devtools.js +7 -7
  21. package/dist/web-worker/client-session/client-session-devtools.js.map +1 -1
  22. package/dist/web-worker/client-session/persisted-adapter.d.ts +18 -0
  23. package/dist/web-worker/client-session/persisted-adapter.d.ts.map +1 -1
  24. package/dist/web-worker/client-session/persisted-adapter.js +95 -36
  25. package/dist/web-worker/client-session/persisted-adapter.js.map +1 -1
  26. package/dist/web-worker/client-session/sqlite-loader.d.ts.map +1 -1
  27. package/dist/web-worker/client-session/sqlite-loader.js +1 -1
  28. package/dist/web-worker/client-session/sqlite-loader.js.map +1 -1
  29. package/dist/web-worker/common/persisted-sqlite.d.ts.map +1 -1
  30. package/dist/web-worker/common/persisted-sqlite.js +13 -11
  31. package/dist/web-worker/common/persisted-sqlite.js.map +1 -1
  32. package/dist/web-worker/common/worker-schema.d.ts +34 -31
  33. package/dist/web-worker/common/worker-schema.d.ts.map +1 -1
  34. package/dist/web-worker/common/worker-schema.js +18 -19
  35. package/dist/web-worker/common/worker-schema.js.map +1 -1
  36. package/dist/web-worker/leader-worker/make-leader-worker.d.ts +2 -2
  37. package/dist/web-worker/leader-worker/make-leader-worker.d.ts.map +1 -1
  38. package/dist/web-worker/leader-worker/make-leader-worker.js +59 -25
  39. package/dist/web-worker/leader-worker/make-leader-worker.js.map +1 -1
  40. package/dist/web-worker/shared-worker/make-shared-worker.d.ts.map +1 -1
  41. package/dist/web-worker/shared-worker/make-shared-worker.js +15 -15
  42. package/dist/web-worker/shared-worker/make-shared-worker.js.map +1 -1
  43. package/package.json +56 -17
  44. package/src/in-memory/in-memory-adapter.ts +9 -5
  45. package/src/index.ts +15 -1
  46. package/src/single-tab/mod.ts +15 -0
  47. package/src/single-tab/single-tab-adapter.ts +499 -0
  48. package/src/web-worker/client-session/client-session-devtools.ts +26 -27
  49. package/src/web-worker/client-session/persisted-adapter.ts +126 -64
  50. package/src/web-worker/client-session/sqlite-loader.ts +1 -1
  51. package/src/web-worker/common/persisted-sqlite.ts +13 -10
  52. package/src/web-worker/common/worker-schema.ts +19 -18
  53. package/src/web-worker/leader-worker/make-leader-worker.ts +94 -52
  54. package/src/web-worker/shared-worker/make-shared-worker.ts +26 -48
@@ -1,8 +1,8 @@
1
- import { Devtools, LogConfig, liveStoreVersion, UnknownError } from '@livestore/common';
1
+ import { Devtools, isWorkerTransportError, LogConfig, liveStoreVersion, UnknownError } from '@livestore/common';
2
2
  import * as DevtoolsWeb from '@livestore/devtools-web-common/web-channel';
3
3
  import * as WebmeshWorker from '@livestore/devtools-web-common/worker';
4
4
  import { isDevEnv, isNotUndefined, LS_DEV } from '@livestore/utils';
5
- import { Deferred, Effect, Exit, FetchHttpClient, identity, Layer, ParseResult, Ref, Schema, Scope, Stream, SubscriptionRef, TaskTracing, Worker, WorkerError, WorkerRunner, } from '@livestore/utils/effect';
5
+ import { Deferred, Effect, Exit, FetchHttpClient, identity, Layer, Option, Ref, Schema, Scope, Stream, SubscriptionRef, TaskTracing, Worker, WorkerRunner, } from '@livestore/utils/effect';
6
6
  import { BrowserWorker, BrowserWorkerRunner } from '@livestore/utils/effect/browser';
7
7
  import { makeShutdownChannel } from "../common/shutdown-channel.js";
8
8
  import * as WorkerSchema from "../common/worker-schema.js";
@@ -15,35 +15,32 @@ const LIVESTORE_SHARED_WORKER_TERMINATION_LOCK = `livestore-shared-worker-termin
15
15
  navigator.locks.request(LIVESTORE_SHARED_WORKER_TERMINATION_LOCK, { steal: true },
16
16
  // We use a never-resolving promise to hold the lock
17
17
  async () => new Promise(() => { }));
18
- if (isDevEnv()) {
18
+ if (isDevEnv() === true) {
19
19
  globalThis.__debugLiveStoreUtils = {
20
20
  blobUrl: (buffer) => URL.createObjectURL(new Blob([buffer], { type: 'application/octet-stream' })),
21
21
  runSync: (effect) => Effect.runSync(effect),
22
22
  runFork: (effect) => Effect.runFork(effect),
23
23
  };
24
24
  }
25
+ // @effect-diagnostics-next-line anyUnknownInErrorContext:off -- `SerializedRunner.Handlers` uses `any` in the R channel, propagating as `unknown` in `HandlersContext`
25
26
  const makeWorkerRunner = Effect.gen(function* () {
26
27
  const leaderWorkerContextSubRef = yield* SubscriptionRef.make(undefined);
27
28
  const waitForWorker = SubscriptionRef.waitUntil(leaderWorkerContextSubRef, isNotUndefined).pipe(Effect.map((_) => _.worker));
28
29
  const forwardRequest = (req) =>
29
- // Forward the request to the active worker and normalize platform errors into UnknownError.
30
+ // Forward the request to the active worker and convert transport errors to defects.
30
31
  waitForWorker.pipe(
31
32
  // Effect.logBefore(`forwardRequest: ${req._tag}`),
32
- Effect.andThen((worker) => worker.executeEffect(req)),
33
+ Effect.andThen((worker) => worker.executeEffect(req)), Effect.catchIf(isWorkerTransportError, (e) => Effect.die(e)),
33
34
  // Effect.tap((_) => Effect.log(`forwardRequest: ${req._tag}`, _)),
34
35
  // Effect.tapError((cause) => Effect.logError(`forwardRequest err: ${req._tag}`, cause)),
35
36
  Effect.interruptible, Effect.logWarnIfTakesLongerThan({
36
37
  label: `@livestore/adapter-web:shared-worker:forwardRequest:${req._tag}`,
37
38
  duration: 500,
38
- }), Effect.mapError((cause) => Schema.is(UnknownError)(cause)
39
- ? cause
40
- : ParseResult.isParseError(cause) || Schema.is(WorkerError.WorkerError)(cause)
41
- ? new UnknownError({ cause })
42
- : cause), Effect.catchAllDefect((cause) => new UnknownError({ cause })), Effect.tapCauseLogPretty);
39
+ }), Effect.tapCauseLogPretty);
43
40
  const forwardRequestStream = (req) => Effect.gen(function* () {
44
41
  yield* Effect.logDebug(`forwardRequestStream: ${req._tag}`);
45
42
  const { worker, scope } = yield* SubscriptionRef.waitUntil(leaderWorkerContextSubRef, isNotUndefined);
46
- const stream = worker.execute(req);
43
+ const stream = worker.execute(req).pipe(Stream.refineOrDie((e) => isWorkerTransportError(e) === true ? Option.none() : Option.some(e)));
47
44
  // It seems the request stream is not automatically interrupted when the scope shuts down
48
45
  // so we need to manually interrupt it when the scope shuts down
49
46
  const shutdownDeferred = yield* Deferred.make();
@@ -54,7 +51,7 @@ const makeWorkerRunner = Effect.gen(function* () {
54
51
  return Stream.empty;
55
52
  }).pipe(Stream.unwrap);
56
53
  return Stream.merge(stream, scopeShutdownStream, { haltStrategy: 'either' });
57
- }).pipe(Effect.interruptible, UnknownError.mapToUnknownError, Effect.tapCauseLogPretty, Stream.unwrap, Stream.ensuring(Effect.logDebug(`shutting down stream for ${req._tag}`)), UnknownError.mapToUnknownErrorStream);
54
+ }).pipe(Effect.interruptible, Effect.tapCauseLogPretty, Stream.unwrap, Stream.ensuring(Effect.logDebug(`shutting down stream for ${req._tag}`)));
58
55
  const resetCurrentWorkerCtx = Effect.gen(function* () {
59
56
  const prevWorker = yield* SubscriptionRef.get(leaderWorkerContextSubRef);
60
57
  if (prevWorker !== undefined) {
@@ -84,6 +81,7 @@ const makeWorkerRunner = Effect.gen(function* () {
84
81
  });
85
82
  const invariantsRef = yield* Ref.make(undefined);
86
83
  const sameInvariants = Schema.equivalence(InvariantsSchema);
84
+ // @effect-diagnostics-next-line anyUnknownInErrorContext:off -- `SerializedRunner.Handlers` uses `any` in the R channel
87
85
  return WorkerRunner.layerSerialized(WorkerSchema.SharedWorkerRequest, {
88
86
  // Whenever the client session leader changes (and thus creates a new leader thread), the new client session leader
89
87
  // sends a new MessagePort to the shared worker which proxies messages to the new leader thread.
@@ -98,7 +96,7 @@ const makeWorkerRunner = Effect.gen(function* () {
98
96
  };
99
97
  const prev = yield* Ref.get(invariantsRef);
100
98
  // Early return on mismatch to keep happy path linear
101
- if (prev !== undefined && !sameInvariants(prev, invariants)) {
99
+ if (prev !== undefined && sameInvariants(prev, invariants) === false) {
102
100
  const diff = Schema.debugDiff(InvariantsSchema)(prev, invariants);
103
101
  return yield* new UnknownError({
104
102
  cause: 'Store invariants changed across leader transitions',
@@ -130,7 +128,7 @@ const makeWorkerRunner = Effect.gen(function* () {
130
128
  }).pipe(Effect.tapCauseLogPretty, Effect.forkScoped);
131
129
  yield* SubscriptionRef.set(leaderWorkerContextSubRef, { worker, scope });
132
130
  }).pipe(Effect.tapCauseLogPretty, Scope.extend(scope), Effect.forkIn(scope));
133
- }).pipe(Effect.withSpan('@livestore/adapter-web:shared-worker:updateMessagePort'), UnknownError.mapToUnknownError, Effect.tapCauseLogPretty),
131
+ }).pipe(Effect.withSpan('@livestore/adapter-web:shared-worker:updateMessagePort'), Effect.tapCauseLogPretty),
134
132
  // Proxied requests
135
133
  BootStatusStream: forwardRequestStream,
136
134
  PushToLeader: forwardRequest,
@@ -153,10 +151,12 @@ const makeWorkerRunner = Effect.gen(function* () {
153
151
  }).pipe(Layer.unwrapScoped);
154
152
  export const makeWorker = (options) => {
155
153
  const runtimeLayer = Layer.mergeAll(FetchHttpClient.layer, WebmeshWorker.CacheService.layer({ nodeName: DevtoolsWeb.makeNodeName.sharedWorker({ storeId }) }));
154
+ // @effect-diagnostics-next-line anyUnknownInErrorContext:off -- propagated from `makeWorkerRunner`
156
155
  makeWorkerRunner.pipe(Layer.provide(BrowserWorkerRunner.layer),
157
156
  // WorkerRunner.launch,
158
- Layer.launch, Effect.scoped, Effect.tapCauseLogPretty, Effect.annotateLogs({ thread: self.name }), Effect.provide(runtimeLayer), LS_DEV ? TaskTracing.withAsyncTaggingTracing((name) => console.createTask(name)) : identity,
157
+ Layer.launch, Effect.scoped, Effect.tapCauseLogPretty, Effect.annotateLogs({ thread: self.name }), Effect.provide(runtimeLayer), LS_DEV === true ? TaskTracing.withAsyncTaggingTracing((name) => console.createTask(name)) : identity,
159
158
  // TODO remove type-cast (currently needed to silence a tsc bug)
159
+ // @effect-diagnostics-next-line anyUnknownInErrorContext:off -- TSC bug workaround; the cast uses `any` as an intermediate
160
160
  (_) => _, LogConfig.withLoggerConfig(options, { threadName: self.name }), Effect.runFork);
161
161
  };
162
162
  makeWorker();
@@ -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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"}
package/package.json CHANGED
@@ -1,36 +1,75 @@
1
1
  {
2
2
  "name": "@livestore/adapter-web",
3
- "version": "0.4.0-dev.21",
3
+ "version": "0.4.0-dev.23",
4
+ "license": "Apache-2.0",
5
+ "repository": {
6
+ "type": "git",
7
+ "url": "git+https://github.com/livestorejs/livestore.git"
8
+ },
9
+ "files": [
10
+ "dist",
11
+ "package.json",
12
+ "src"
13
+ ],
4
14
  "type": "module",
5
15
  "sideEffects": false,
6
16
  "exports": {
7
17
  ".": "./dist/index.js",
8
18
  "./worker": "./dist/web-worker/leader-worker/make-leader-worker.js",
9
19
  "./worker-vite-dev-polyfill": "./dist/web-worker/vite-dev-polyfill.js",
10
- "./shared-worker": "./dist/web-worker/shared-worker/make-shared-worker.js",
11
- "./sqlite": "./dist/sqlite/index.js"
20
+ "./shared-worker": "./dist/web-worker/shared-worker/make-shared-worker.js"
21
+ },
22
+ "publishConfig": {
23
+ "access": "public"
12
24
  },
13
25
  "dependencies": {
14
26
  "@opentelemetry/api": "1.9.0",
15
- "@livestore/devtools-web-common": "0.4.0-dev.21",
16
- "@livestore/utils": "0.4.0-dev.21",
17
- "@livestore/webmesh": "0.4.0-dev.21",
18
- "@livestore/common": "0.4.0-dev.21",
19
- "@livestore/sqlite-wasm": "0.4.0-dev.21"
27
+ "@livestore/common": "^0.4.0-dev.23",
28
+ "@livestore/devtools-web-common": "^0.4.0-dev.23",
29
+ "@livestore/sqlite-wasm": "^0.4.0-dev.23",
30
+ "@livestore/utils": "^0.4.0-dev.23",
31
+ "@livestore/webmesh": "^0.4.0-dev.23"
20
32
  },
21
33
  "devDependencies": {
22
34
  "@types/chrome": "0.1.4",
23
- "@types/wicg-file-system-access": "^2023.10.6",
35
+ "@types/wicg-file-system-access": "2023.10.6",
24
36
  "vitest": "3.2.4"
25
37
  },
26
- "files": [
27
- "package.json",
28
- "src",
29
- "dist"
30
- ],
31
- "license": "Apache-2.0",
32
- "publishConfig": {
33
- "access": "public"
38
+ "peerDependencies": {
39
+ "@effect/ai": "^0.35.0",
40
+ "@effect/cli": "^0.75.1",
41
+ "@effect/cluster": "^0.58.2",
42
+ "@effect/experimental": "^0.60.0",
43
+ "@effect/opentelemetry": "^0.63.0",
44
+ "@effect/platform": "^0.96.1",
45
+ "@effect/platform-browser": "^0.76.0",
46
+ "@effect/platform-bun": "^0.89.0",
47
+ "@effect/platform-node": "^0.106.0",
48
+ "@effect/printer": "^0.49.0",
49
+ "@effect/printer-ansi": "^0.49.0",
50
+ "@effect/rpc": "^0.75.1",
51
+ "@effect/sql": "^0.51.1",
52
+ "@effect/typeclass": "^0.40.0",
53
+ "@effect/vitest": "^0.29.0",
54
+ "@opentelemetry/api": "^1.9.0",
55
+ "@opentelemetry/resources": "^2.2.0",
56
+ "@standard-schema/spec": "^1.1.0",
57
+ "effect": "^3.21.2"
58
+ },
59
+ "$genie": {
60
+ "source": "package.json.genie.ts",
61
+ "warning": "DO NOT EDIT - changes will be overwritten",
62
+ "workspaceClosureDirs": [
63
+ "packages/@livestore/adapter-web",
64
+ "packages/@livestore/common",
65
+ "packages/@livestore/common-cf",
66
+ "packages/@livestore/devtools-web-common",
67
+ "packages/@livestore/sqlite-wasm",
68
+ "packages/@livestore/utils",
69
+ "packages/@livestore/utils-dev",
70
+ "packages/@livestore/wa-sqlite",
71
+ "packages/@livestore/webmesh"
72
+ ]
34
73
  },
35
74
  "scripts": {
36
75
  "test": "echo No tests yet"
@@ -115,13 +115,13 @@ export const makeInMemoryAdapter =
115
115
  const clientId = options.clientId ?? nanoid(6)
116
116
  const sessionId = options.sessionId ?? nanoid(6)
117
117
 
118
- const sharedWebWorker = options.devtools?.sharedWorker
118
+ const sharedWebWorker = options.devtools?.sharedWorker !== undefined
119
119
  ? tryAsFunctionAndNew(options.devtools.sharedWorker, {
120
120
  name: `livestore-shared-worker-${storeId}`,
121
121
  })
122
122
  : undefined
123
123
 
124
- const sharedWorkerFiber = sharedWebWorker
124
+ const sharedWorkerFiber = sharedWebWorker !== undefined
125
125
  ? yield* Worker.makePoolSerialized<typeof WebmeshWorker.Schema.Request.Type>({
126
126
  size: 1,
127
127
  concurrency: 100,
@@ -211,7 +211,7 @@ const makeLeaderThread = ({
211
211
  sharedWorkerFiber,
212
212
  }: MakeLeaderThreadArgs) =>
213
213
  Effect.gen(function* () {
214
- const runtime = yield* Effect.runtime<never>()
214
+ const runtime = yield* Effect.runtime()
215
215
 
216
216
  const makeDb = (_kind: 'state' | 'eventlog') => {
217
217
  return makeSqliteDb({
@@ -226,7 +226,7 @@ const makeLeaderThread = ({
226
226
  // Might involve some async work, so we're running them concurrently
227
227
  const [dbState, dbEventlog] = yield* Effect.all([makeDb('state'), makeDb('eventlog')], { concurrency: 2 })
228
228
 
229
- if (importSnapshot) {
229
+ if (importSnapshot !== undefined) {
230
230
  dbState.import(importSnapshot)
231
231
 
232
232
  const _migrationsReport = yield* migrateDb({ db: dbState, schema })
@@ -278,7 +278,11 @@ const makeLeaderThread = ({
278
278
  options,
279
279
  }),
280
280
  },
281
- initialState: { leaderHead: initialLeaderHead, migrationsReport: initialState.migrationsReport },
281
+ initialState: {
282
+ leaderHead: initialLeaderHead,
283
+ migrationsReport: initialState.migrationsReport,
284
+ storageMode: 'in-memory',
285
+ },
282
286
  export: Effect.sync(() => dbState.export()),
283
287
  getEventlogData: Effect.sync(() => dbEventlog.export()),
284
288
  syncState: syncProcessor.syncState,
package/src/index.ts CHANGED
@@ -1,3 +1,17 @@
1
1
  export { makeInMemoryAdapter } from './in-memory/in-memory-adapter.ts'
2
- export { makePersistedAdapter, type WebAdapterOptions } from './web-worker/client-session/persisted-adapter.ts'
2
+ /**
3
+ * Single-tab adapter for browsers without SharedWorker support (e.g. Android Chrome).
4
+ *
5
+ * In most cases, you should use `makePersistedAdapter` instead, which automatically
6
+ * falls back to single-tab mode when SharedWorker is unavailable.
7
+ *
8
+ * @see https://github.com/livestorejs/livestore/issues/321
9
+ * @see https://issues.chromium.org/issues/40290702
10
+ */
11
+ export { makeSingleTabAdapter, type SingleTabAdapterOptions } from './single-tab/mod.ts'
12
+ export {
13
+ canUseSharedWorker,
14
+ makePersistedAdapter,
15
+ type WebAdapterOptions,
16
+ } from './web-worker/client-session/persisted-adapter.ts'
3
17
  export * as WorkerSchema from './web-worker/common/worker-schema.ts'
@@ -0,0 +1,15 @@
1
+ /**
2
+ * Single-tab adapter module for browsers without SharedWorker support.
3
+ *
4
+ * **NOTE**: This module exists as a fallback for Android Chrome and similar browsers
5
+ * that don't support SharedWorker. It is intended to be deprecated and removed once
6
+ * SharedWorker support is available in these browsers.
7
+ *
8
+ * Track progress:
9
+ * - LiveStore issue: https://github.com/livestorejs/livestore/issues/321
10
+ * - Chromium bug: https://issues.chromium.org/issues/40290702
11
+ *
12
+ * @module
13
+ */
14
+
15
+ export { makeSingleTabAdapter, type SingleTabAdapterOptions } from './single-tab-adapter.ts'