WebAdapterOptions
WebAdapterOptions =
object
Defined in: packages/@livestore/adapter-web/src/web-worker/client-session/persisted-adapter.ts:52
Properties
Section titled “Properties”clientId?
Section titled “clientId?”
optionalclientId:string
Defined in: packages/@livestore/adapter-web/src/web-worker/client-session/persisted-adapter.ts:88
By default the adapter will initially generate a random clientId (via nanoid(5)),
store it in localStorage and restore it for subsequent client sessions. It’s the same across all tabs/windows.
experimental?
Section titled “experimental?”
optionalexperimental:object
Defined in: packages/@livestore/adapter-web/src/web-worker/client-session/persisted-adapter.ts:94
awaitSharedWorkerTermination?
Section titled “awaitSharedWorkerTermination?”
optionalawaitSharedWorkerTermination:boolean
Controls whether to wait for the shared worker to be terminated when LiveStore gets shut down. This prevents a race condition where a new LiveStore instance connects to a shutting-down shared worker from a previous instance.
Default
Section titled “Default”falseRemarks
Section titled “Remarks”In multi-tab scenarios, we don’t want to await shared worker termination because the shared worker won’t actually shut down when one tab closes - it stays alive to serve other tabs. Awaiting termination would cause unnecessary blocking since the termination will never happen until all tabs are closed.
disableFastPath?
Section titled “disableFastPath?”
optionaldisableFastPath:boolean
When set to true, the adapter will always start with a snapshot from the leader
instead of trying to load a snapshot from storage.
Default
Section titled “Default”falseresetPersistence?
Section titled “resetPersistence?”
optionalresetPersistence:boolean
Defined in: packages/@livestore/adapter-web/src/web-worker/client-session/persisted-adapter.ts:83
Warning: This will reset both the app and eventlog database. This should only be used during development.
Default
Section titled “Default”falsesessionId?
Section titled “sessionId?”
optionalsessionId:string
Defined in: packages/@livestore/adapter-web/src/web-worker/client-session/persisted-adapter.ts:93
By default the adapter will initially generate a random sessionId (via nanoid(5)),
store it in sessionStorage and restore it for subsequent client sessions in the same tab/window.
sharedWorker
Section titled “sharedWorker”sharedWorker: (
options) =>globalThis.SharedWorker| (options) =>globalThis.SharedWorker
Defined in: packages/@livestore/adapter-web/src/web-worker/client-session/persisted-adapter.ts:68
This is mostly an implementation detail and needed to be exposed into app code due to a current Vite limitation (https://github.com/vitejs/vite/issues/8427).
In most cases this should look like:
import LiveStoreSharedWorker from '@livestore/adapter-web/shared-worker?sharedworker'
const adapter = makePersistedAdapter({ sharedWorker: LiveStoreSharedWorker, // ...})storage
Section titled “storage”storage:
StorageTypeEncoded
Defined in: packages/@livestore/adapter-web/src/web-worker/client-session/persisted-adapter.ts:76
Specifies where to persist data for this adapter
worker
Section titled “worker”worker: (
options) =>globalThis.Worker| (options) =>globalThis.Worker
Defined in: packages/@livestore/adapter-web/src/web-worker/client-session/persisted-adapter.ts:53