@livestore/common 0.5.0-dev.0 → 0.5.0-dev.1
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/ClientSessionLeaderThreadProxy.d.ts.map +1 -1
- package/dist/MaterializationJournal.d.ts +2 -2
- package/dist/MaterializationJournal.d.ts.map +1 -1
- package/dist/MaterializationJournal.js +7 -7
- package/dist/StateHead.d.ts +1 -1
- package/dist/StateHead.d.ts.map +1 -1
- package/dist/StateHead.js +4 -4
- package/dist/WorkerTransportError.d.ts.map +1 -1
- package/dist/__tests__/fixture.d.ts +7 -7
- package/dist/__tests__/fixture.js +2 -2
- package/dist/adapter-types.d.ts +4 -0
- package/dist/adapter-types.d.ts.map +1 -1
- package/dist/adapter-types.js +4 -4
- package/dist/bounded-collections.d.ts.map +1 -1
- package/dist/bounded-collections.js.map +1 -1
- package/dist/debug-info.d.ts.map +1 -1
- package/dist/debug-info.js +9 -8
- package/dist/debug-info.js.map +1 -1
- package/dist/defs.d.ts +4 -4
- package/dist/defs.js +2 -2
- package/dist/devtools/devtools-compatibility.test.js +1 -1
- package/dist/devtools/devtools-messages-client-session.d.ts +4 -4
- package/dist/devtools/devtools-messages-client-session.js +4 -4
- package/dist/devtools/devtools-messages-common.d.ts.map +1 -1
- package/dist/devtools/devtools-messages-common.js +1 -1
- package/dist/devtools/devtools-messages-leader.d.ts +9 -9
- package/dist/devtools/devtools-messages-leader.js +4 -4
- package/dist/devtools/devtools-messages.js +3 -3
- package/dist/devtools/devtools-sessioninfo.d.ts.map +1 -1
- package/dist/devtools/mod.d.ts.map +1 -1
- package/dist/devtools/mod.js +3 -3
- package/dist/errors.d.ts +4 -4
- package/dist/errors.d.ts.map +1 -1
- package/dist/errors.js +1 -1
- package/dist/errors.js.map +1 -1
- package/dist/index.js +22 -22
- package/dist/leader-thread/LeaderSyncProcessor.d.ts +27 -6
- package/dist/leader-thread/LeaderSyncProcessor.d.ts.map +1 -1
- package/dist/leader-thread/LeaderSyncProcessor.js +65 -55
- package/dist/leader-thread/LeaderSyncProcessor.js.map +1 -1
- package/dist/leader-thread/RejectedPushError.d.ts +9 -9
- package/dist/leader-thread/RejectedPushError.d.ts.map +1 -1
- package/dist/leader-thread/RejectedPushError.js +1 -1
- package/dist/leader-thread/connection.d.ts.map +1 -1
- package/dist/leader-thread/connection.js +2 -2
- package/dist/leader-thread/eventlog.d.ts +11 -1
- package/dist/leader-thread/eventlog.d.ts.map +1 -1
- package/dist/leader-thread/eventlog.js +13 -13
- package/dist/leader-thread/eventlog.js.map +1 -1
- package/dist/leader-thread/leader-worker-devtools.d.ts +1 -1
- package/dist/leader-thread/leader-worker-devtools.d.ts.map +1 -1
- package/dist/leader-thread/leader-worker-devtools.js +4 -4
- package/dist/leader-thread/leader-worker-devtools.js.map +1 -1
- package/dist/leader-thread/make-leader-thread-layer.d.ts +6 -0
- package/dist/leader-thread/make-leader-thread-layer.d.ts.map +1 -1
- package/dist/leader-thread/make-leader-thread-layer.js +43 -29
- package/dist/leader-thread/make-leader-thread-layer.js.map +1 -1
- package/dist/leader-thread/make-leader-thread-layer.test.js +2 -2
- package/dist/leader-thread/materialize-event.d.ts.map +1 -1
- package/dist/leader-thread/materialize-event.js +9 -9
- package/dist/leader-thread/mod.js +9 -9
- package/dist/leader-thread/recreate-db.d.ts +5 -1
- package/dist/leader-thread/recreate-db.d.ts.map +1 -1
- package/dist/leader-thread/recreate-db.js +21 -25
- package/dist/leader-thread/recreate-db.js.map +1 -1
- package/dist/leader-thread/shutdown-channel.js +1 -1
- package/dist/leader-thread/stream-events.d.ts.map +1 -1
- package/dist/leader-thread/stream-events.js +3 -5
- package/dist/leader-thread/stream-events.js.map +1 -1
- package/dist/leader-thread/types.d.ts +6 -4
- package/dist/leader-thread/types.d.ts.map +1 -1
- package/dist/leader-thread/types.js +5 -1
- package/dist/leader-thread/types.js.map +1 -1
- package/dist/make-client-session.d.ts +1 -1
- package/dist/make-client-session.d.ts.map +1 -1
- package/dist/make-client-session.js +2 -2
- package/dist/materializer-helper.d.ts.map +1 -1
- package/dist/materializer-helper.js +4 -4
- package/dist/materializer-helper.js.map +1 -1
- package/dist/otel.d.ts.map +1 -1
- package/dist/rematerialize-from-eventlog.d.ts +3 -1
- package/dist/rematerialize-from-eventlog.d.ts.map +1 -1
- package/dist/rematerialize-from-eventlog.js +16 -9
- package/dist/rematerialize-from-eventlog.js.map +1 -1
- package/dist/schema/EventDef/define.d.ts +2 -2
- package/dist/schema/EventDef/define.d.ts.map +1 -1
- package/dist/schema/EventDef/define.test.js +1 -1
- package/dist/schema/EventDef/deprecated.d.ts +1 -1
- package/dist/schema/EventDef/deprecated.d.ts.map +1 -1
- package/dist/schema/EventDef/deprecated.test.js +2 -2
- package/dist/schema/EventDef/facts.d.ts.map +1 -1
- package/dist/schema/EventDef/materializer.d.ts +2 -2
- package/dist/schema/EventDef/materializer.d.ts.map +1 -1
- package/dist/schema/EventDef/mod.js +5 -5
- package/dist/schema/EventSequenceNumber/client.d.ts +3 -8
- package/dist/schema/EventSequenceNumber/client.d.ts.map +1 -1
- package/dist/schema/EventSequenceNumber/client.js +12 -15
- package/dist/schema/EventSequenceNumber/client.js.map +1 -1
- package/dist/schema/EventSequenceNumber/mod.js +2 -2
- package/dist/schema/EventSequenceNumber.test.js +1 -1
- package/dist/schema/LiveStoreEvent/client.d.ts +8 -8
- package/dist/schema/LiveStoreEvent/client.d.ts.map +1 -1
- package/dist/schema/LiveStoreEvent/client.js +1 -1
- package/dist/schema/LiveStoreEvent/client.js.map +1 -1
- package/dist/schema/LiveStoreEvent/client.test.js +2 -2
- package/dist/schema/LiveStoreEvent/global.d.ts.map +1 -1
- package/dist/schema/LiveStoreEvent/global.js +1 -1
- package/dist/schema/LiveStoreEvent/input.d.ts +1 -1
- package/dist/schema/LiveStoreEvent/input.d.ts.map +1 -1
- package/dist/schema/LiveStoreEvent/mod.js +4 -4
- package/dist/schema/events.js +1 -1
- package/dist/schema/mod.js +11 -11
- package/dist/schema/schema.d.ts +1 -1
- package/dist/schema/schema.d.ts.map +1 -1
- package/dist/schema/schema.js +3 -3
- package/dist/schema/state/mod.js +2 -2
- package/dist/schema/state/sqlite/client-document-def.d.ts +1 -1
- package/dist/schema/state/sqlite/client-document-def.d.ts.map +1 -1
- package/dist/schema/state/sqlite/client-document-def.js +8 -8
- package/dist/schema/state/sqlite/client-document-def.js.map +1 -1
- package/dist/schema/state/sqlite/client-document-def.test.js +24 -10
- package/dist/schema/state/sqlite/client-document-def.test.js.map +1 -1
- package/dist/schema/state/sqlite/column-annotations.d.ts.map +1 -1
- package/dist/schema/state/sqlite/column-annotations.test.js +1 -1
- package/dist/schema/state/sqlite/column-def.d.ts.map +1 -1
- package/dist/schema/state/sqlite/column-def.js +17 -3
- package/dist/schema/state/sqlite/column-def.js.map +1 -1
- package/dist/schema/state/sqlite/column-def.test.js +60 -5
- package/dist/schema/state/sqlite/column-def.test.js.map +1 -1
- package/dist/schema/state/sqlite/column-spec.d.ts.map +1 -1
- package/dist/schema/state/sqlite/column-spec.js +1 -1
- package/dist/schema/state/sqlite/column-spec.test.js +2 -2
- package/dist/schema/state/sqlite/column-spec.test.js.map +1 -1
- package/dist/schema/state/sqlite/db-schema/ast/fingerprint-digest.d.ts +3 -0
- package/dist/schema/state/sqlite/db-schema/ast/fingerprint-digest.d.ts.map +1 -0
- package/dist/schema/state/sqlite/db-schema/ast/fingerprint-digest.js +5 -0
- package/dist/schema/state/sqlite/db-schema/ast/fingerprint-digest.js.map +1 -0
- package/dist/schema/state/sqlite/db-schema/ast/fingerprint.d.ts +5 -0
- package/dist/schema/state/sqlite/db-schema/ast/fingerprint.d.ts.map +1 -0
- package/dist/schema/state/sqlite/db-schema/ast/fingerprint.js +183 -0
- package/dist/schema/state/sqlite/db-schema/ast/fingerprint.js.map +1 -0
- package/dist/schema/state/sqlite/db-schema/ast/fingerprint.test.d.ts +2 -0
- package/dist/schema/state/sqlite/db-schema/ast/fingerprint.test.d.ts.map +1 -0
- package/dist/schema/state/sqlite/db-schema/ast/fingerprint.test.js +142 -0
- package/dist/schema/state/sqlite/db-schema/ast/fingerprint.test.js.map +1 -0
- package/dist/schema/state/sqlite/db-schema/ast/sqlite.d.ts +1 -6
- package/dist/schema/state/sqlite/db-schema/ast/sqlite.d.ts.map +1 -1
- package/dist/schema/state/sqlite/db-schema/ast/sqlite.js +1 -82
- package/dist/schema/state/sqlite/db-schema/ast/sqlite.js.map +1 -1
- package/dist/schema/state/sqlite/db-schema/ast/validate.d.ts.map +1 -1
- package/dist/schema/state/sqlite/db-schema/dsl/field-defs.d.ts.map +1 -1
- package/dist/schema/state/sqlite/db-schema/dsl/field-defs.js +2 -1
- package/dist/schema/state/sqlite/db-schema/dsl/field-defs.js.map +1 -1
- package/dist/schema/state/sqlite/db-schema/dsl/field-defs.test.js +1 -1
- package/dist/schema/state/sqlite/db-schema/dsl/mod.d.ts.map +1 -1
- package/dist/schema/state/sqlite/db-schema/dsl/mod.js +1 -1
- package/dist/schema/state/sqlite/db-schema/has-json-string-encoding.d.ts +3 -0
- package/dist/schema/state/sqlite/db-schema/has-json-string-encoding.d.ts.map +1 -0
- package/dist/schema/state/sqlite/db-schema/has-json-string-encoding.js +6 -0
- package/dist/schema/state/sqlite/db-schema/has-json-string-encoding.js.map +1 -0
- package/dist/schema/state/sqlite/db-schema/mod.js +2 -2
- package/dist/schema/state/sqlite/mod.d.ts.map +1 -1
- package/dist/schema/state/sqlite/mod.js +10 -9
- package/dist/schema/state/sqlite/mod.js.map +1 -1
- package/dist/schema/state/sqlite/persistence.d.ts.map +1 -1
- package/dist/schema/state/sqlite/query-builder/api.d.ts.map +1 -1
- package/dist/schema/state/sqlite/query-builder/astToSql.d.ts.map +1 -1
- package/dist/schema/state/sqlite/query-builder/astToSql.js +2 -7
- package/dist/schema/state/sqlite/query-builder/astToSql.js.map +1 -1
- package/dist/schema/state/sqlite/query-builder/impl.d.ts +1 -3
- package/dist/schema/state/sqlite/query-builder/impl.d.ts.map +1 -1
- package/dist/schema/state/sqlite/query-builder/impl.js +2 -2
- package/dist/schema/state/sqlite/query-builder/impl.js.map +1 -1
- package/dist/schema/state/sqlite/query-builder/impl.test.js +2 -2
- package/dist/schema/state/sqlite/query-builder/mod.js +2 -2
- package/dist/schema/state/sqlite/schema-helpers.d.ts.map +1 -1
- package/dist/schema/state/sqlite/schema-helpers.js +1 -1
- package/dist/schema/state/sqlite/schema-helpers.test.js +2 -2
- package/dist/schema/state/sqlite/system-tables/eventlog-tables.js +3 -3
- package/dist/schema/state/sqlite/system-tables/mod.js +2 -2
- package/dist/schema/state/sqlite/system-tables/state-tables.d.ts +60 -17
- package/dist/schema/state/sqlite/system-tables/state-tables.d.ts.map +1 -1
- package/dist/schema/state/sqlite/system-tables/state-tables.js +14 -5
- package/dist/schema/state/sqlite/system-tables/state-tables.js.map +1 -1
- package/dist/schema/state/sqlite/table-def.d.ts +1 -1
- package/dist/schema/state/sqlite/table-def.d.ts.map +1 -1
- package/dist/schema/state/sqlite/table-def.js +24 -8
- package/dist/schema/state/sqlite/table-def.js.map +1 -1
- package/dist/schema/state/sqlite/table-def.test.js +54 -1
- package/dist/schema/state/sqlite/table-def.test.js.map +1 -1
- package/dist/schema/unknown-events.d.ts.map +1 -1
- package/dist/schema/unknown-events.js +1 -1
- package/dist/schema/unknown-events.js.map +1 -1
- package/dist/schema-management/__tests__/migrations-autoincrement-quoting.test.js +26 -4
- package/dist/schema-management/__tests__/migrations-autoincrement-quoting.test.js.map +1 -1
- package/dist/schema-management/common.d.ts.map +1 -1
- package/dist/schema-management/common.js +2 -2
- package/dist/schema-management/migrations.d.ts +4 -4
- package/dist/schema-management/migrations.d.ts.map +1 -1
- package/dist/schema-management/migrations.js +9 -9
- package/dist/schema-management/migrations.js.map +1 -1
- package/dist/schema-management/validate-schema.d.ts.map +1 -1
- package/dist/schema-management/validate-schema.js +1 -1
- package/dist/session-id-symbol.d.ts.map +1 -1
- package/dist/sql-queries/index.js +3 -3
- package/dist/sql-queries/sql-queries.d.ts.map +1 -1
- package/dist/sql-queries/sql-queries.js +3 -3
- package/dist/sql-queries/sql-queries.js.map +1 -1
- package/dist/sql-queries/sql-query-builder.d.ts.map +1 -1
- package/dist/sql-queries/sql-query-builder.js +1 -1
- package/dist/sql-queries/types.d.ts.map +1 -1
- package/dist/sqlite-db-helper.d.ts +2 -2
- package/dist/sqlite-db-helper.d.ts.map +1 -1
- package/dist/sqlite-db-helper.js +2 -2
- package/dist/sync/ClientSessionSyncProcessor.d.ts +3 -3
- package/dist/sync/ClientSessionSyncProcessor.d.ts.map +1 -1
- package/dist/sync/ClientSessionSyncProcessor.js +7 -7
- package/dist/sync/errors.js +1 -1
- package/dist/sync/index.js +6 -6
- package/dist/sync/mock-sync-backend.d.ts.map +1 -1
- package/dist/sync/mock-sync-backend.js +4 -4
- package/dist/sync/mock-sync-backend.test.js +2 -2
- package/dist/sync/next/compact-events.d.ts.map +1 -1
- package/dist/sync/next/compact-events.js +3 -3
- package/dist/sync/next/facts.d.ts.map +1 -1
- package/dist/sync/next/facts.js +1 -1
- package/dist/sync/next/history-dag-common.d.ts +1 -1
- package/dist/sync/next/history-dag-common.d.ts.map +1 -1
- package/dist/sync/next/history-dag-common.js +1 -1
- package/dist/sync/next/history-dag.d.ts.map +1 -1
- package/dist/sync/next/history-dag.js +3 -3
- package/dist/sync/next/mod.js +5 -5
- package/dist/sync/next/rebase-events.d.ts.map +1 -1
- package/dist/sync/next/rebase-events.js +2 -2
- package/dist/sync/next/test/compact-events.calculator.test.js +4 -4
- package/dist/sync/next/test/compact-events.test.js +4 -4
- package/dist/sync/next/test/event-fixtures.d.ts +1 -1
- package/dist/sync/next/test/event-fixtures.d.ts.map +1 -1
- package/dist/sync/next/test/event-fixtures.js +5 -5
- package/dist/sync/next/test/history-dag-common.test.js +2 -2
- package/dist/sync/next/test/mod.js +1 -1
- package/dist/sync/sync-backend-kv.js +1 -1
- package/dist/sync/sync-backend.d.ts.map +1 -1
- package/dist/sync/sync-backend.js +1 -1
- package/dist/sync/sync.js +2 -2
- package/dist/sync/syncstate.d.ts +3 -3
- package/dist/sync/syncstate.d.ts.map +1 -1
- package/dist/sync/syncstate.js +2 -2
- package/dist/sync/syncstate.js.map +1 -1
- package/dist/sync/syncstate.test.js +3 -3
- package/dist/sync/transport-chunking.d.ts.map +1 -1
- package/dist/sync/validate-push-payload.d.ts.map +1 -1
- package/dist/sync/validate-push-payload.js +2 -2
- package/dist/testing/event-factory.d.ts.map +1 -1
- package/dist/testing/event-factory.js +2 -2
- package/dist/testing/event-factory.js.map +1 -1
- package/dist/testing/mod.js +1 -1
- package/dist/util.d.ts.map +1 -1
- package/dist/util.js +1 -0
- package/dist/util.js.map +1 -1
- package/dist/version.d.ts.map +1 -1
- package/dist/version.js.map +1 -1
- package/package.json +40 -39
- package/src/adapter-types.ts +4 -0
- package/src/debug-info.ts +11 -8
- package/src/defs.ts +2 -2
- package/src/leader-thread/LeaderSyncProcessor.ts +121 -97
- package/src/leader-thread/eventlog.ts +13 -5
- package/src/leader-thread/leader-worker-devtools.ts +1 -1
- package/src/leader-thread/make-leader-thread-layer.ts +49 -23
- package/src/leader-thread/recreate-db.ts +26 -25
- package/src/leader-thread/stream-events.ts +1 -3
- package/src/leader-thread/types.ts +5 -0
- package/src/materializer-helper.ts +1 -1
- package/src/rematerialize-from-eventlog.ts +28 -13
- package/src/schema/EventSequenceNumber/client.ts +12 -15
- package/src/schema/schema.ts +1 -1
- package/src/schema/state/sqlite/client-document-def.test.ts +23 -7
- package/src/schema/state/sqlite/client-document-def.ts +2 -2
- package/src/schema/state/sqlite/column-def.test.ts +84 -3
- package/src/schema/state/sqlite/column-def.ts +16 -1
- package/src/schema/state/sqlite/db-schema/ast/fingerprint-digest.ts +6 -0
- package/src/schema/state/sqlite/db-schema/ast/fingerprint.test.ts +209 -0
- package/src/schema/state/sqlite/db-schema/ast/fingerprint.ts +225 -0
- package/src/schema/state/sqlite/db-schema/ast/sqlite.ts +1 -90
- package/src/schema/state/sqlite/db-schema/dsl/field-defs.ts +1 -0
- package/src/schema/state/sqlite/db-schema/has-json-string-encoding.ts +9 -0
- package/src/schema/state/sqlite/mod.ts +2 -1
- package/src/schema/state/sqlite/query-builder/astToSql.ts +1 -8
- package/src/schema/state/sqlite/system-tables/state-tables.ts +13 -2
- package/src/schema/state/sqlite/table-def.test.ts +66 -0
- package/src/schema/state/sqlite/table-def.ts +21 -5
- package/src/schema-management/__tests__/migrations-autoincrement-quoting.test.ts +33 -2
- package/src/schema-management/migrations.ts +7 -6
- package/src/sql-queries/sql-queries.ts +1 -1
- package/src/util.ts +1 -0
- package/dist/schema/state/sqlite/db-schema/hash.d.ts +0 -2
- package/dist/schema/state/sqlite/db-schema/hash.d.ts.map +0 -1
- package/dist/schema/state/sqlite/db-schema/hash.js +0 -15
- package/dist/schema/state/sqlite/db-schema/hash.js.map +0 -1
- package/src/schema/state/sqlite/db-schema/hash.ts +0 -13
package/dist/index.js
CHANGED
|
@@ -1,23 +1,23 @@
|
|
|
1
|
-
export * from
|
|
2
|
-
export * from
|
|
3
|
-
export * from
|
|
4
|
-
export * as Devtools from
|
|
5
|
-
export * from
|
|
6
|
-
export * as LogConfig from
|
|
7
|
-
export * from
|
|
8
|
-
export * as MaterializationJournal from
|
|
9
|
-
export * from
|
|
10
|
-
export * from
|
|
11
|
-
export * from
|
|
12
|
-
export * from
|
|
13
|
-
export * from
|
|
14
|
-
export * from
|
|
15
|
-
export { resolveSessionIdSymbolInBindValues, SessionIdSymbol, } from
|
|
16
|
-
export * as SqliteDbHelper from
|
|
17
|
-
export * as StateHead from
|
|
18
|
-
export * from
|
|
19
|
-
export * as SyncState from
|
|
20
|
-
export * from
|
|
21
|
-
export * from
|
|
22
|
-
export * from
|
|
1
|
+
export * from './adapter-types.js';
|
|
2
|
+
export * from './bounded-collections.js';
|
|
3
|
+
export * from './debug-info.js';
|
|
4
|
+
export * as Devtools from './devtools/mod.js';
|
|
5
|
+
export * from './leader-thread/RejectedPushError.js';
|
|
6
|
+
export * as LogConfig from './logging.js';
|
|
7
|
+
export * from './make-client-session.js';
|
|
8
|
+
export * as MaterializationJournal from './MaterializationJournal.js';
|
|
9
|
+
export * from './materializer-helper.js';
|
|
10
|
+
export * from './otel.js';
|
|
11
|
+
export * from './rematerialize-from-eventlog.js';
|
|
12
|
+
export * from './schema/state/sqlite/query-builder/mod.js';
|
|
13
|
+
export * from './schema/state/sqlite/system-tables/mod.js';
|
|
14
|
+
export * from './schema-management/migrations.js';
|
|
15
|
+
export { resolveSessionIdSymbolInBindValues, SessionIdSymbol, } from './session-id-symbol.js';
|
|
16
|
+
export * as SqliteDbHelper from './sqlite-db-helper.js';
|
|
17
|
+
export * as StateHead from './StateHead.js';
|
|
18
|
+
export * from './sync/index.js';
|
|
19
|
+
export * as SyncState from './sync/syncstate.js';
|
|
20
|
+
export * from './util.js';
|
|
21
|
+
export * from './version.js';
|
|
22
|
+
export * from './WorkerTransportError.js';
|
|
23
23
|
//# sourceMappingURL=index.js.map
|
|
@@ -1,14 +1,15 @@
|
|
|
1
|
-
import { type HttpClient, type Scope, Context, Effect, Layer, Queue, Stream, Subscribable } from '@livestore/utils/effect';
|
|
1
|
+
import { type HttpClient, type Latch, type Scope, type Tracer, Context, Effect, Layer, Queue, Stream, Subscribable } from '@livestore/utils/effect';
|
|
2
2
|
import { type SqliteDb } from '../adapter-types.ts';
|
|
3
3
|
import type { UnknownEventError } from '../errors.ts';
|
|
4
4
|
import type { LiveStoreSchema } from '../schema/mod.ts';
|
|
5
5
|
import { EventSequenceNumber, LiveStoreEvent } from '../schema/mod.ts';
|
|
6
6
|
import * as StateHead from '../StateHead.ts';
|
|
7
|
+
import type { SyncBackend } from '../sync/sync.ts';
|
|
7
8
|
import * as SyncState from '../sync/syncstate.ts';
|
|
8
9
|
import { type RejectedPushError } from './RejectedPushError.ts';
|
|
9
|
-
import type {
|
|
10
|
-
import {
|
|
11
|
-
export declare const TypeId:
|
|
10
|
+
import type { ShutdownChannel } from './shutdown-channel.ts';
|
|
11
|
+
import type { InitialBlockingSyncContext, MaterializeEvent } from './types.ts';
|
|
12
|
+
export declare const TypeId: '~@livestore/common/LeaderSyncProcessor';
|
|
12
13
|
export type TypeId = typeof TypeId;
|
|
13
14
|
declare const LeaderSyncProcessor_base: Context.ServiceClass<LeaderSyncProcessor, "@livestore/common/LeaderSyncProcessor", Service>;
|
|
14
15
|
/**
|
|
@@ -73,12 +74,13 @@ export interface Service {
|
|
|
73
74
|
}) => Effect.Effect<void, UnknownEventError>;
|
|
74
75
|
readonly boot: Effect.Effect<{
|
|
75
76
|
initialLeaderHead: EventSequenceNumber.Client.Composite;
|
|
76
|
-
}, never,
|
|
77
|
+
}, never, Scope.Scope | HttpClient.HttpClient>;
|
|
77
78
|
readonly syncState: Subscribable.Subscribable<SyncState.SyncState>;
|
|
78
79
|
}
|
|
79
80
|
interface Options {
|
|
80
81
|
readonly schema: LiveStoreSchema;
|
|
81
|
-
|
|
82
|
+
/** Complete runtime capabilities supplied before the processor is constructed. */
|
|
83
|
+
readonly runtime: Runtime;
|
|
82
84
|
readonly initialBlockingSyncContext: InitialBlockingSyncContext;
|
|
83
85
|
/** Initial sync state rehydrated from the persisted eventlog or initial sync state */
|
|
84
86
|
readonly initialSyncState: SyncState.SyncState;
|
|
@@ -148,12 +150,31 @@ interface Options {
|
|
|
148
150
|
readonly testing: {
|
|
149
151
|
readonly delays?: {
|
|
150
152
|
readonly localPushProcessing?: Effect.Effect<void>;
|
|
153
|
+
readonly backendPullReconnect?: (fallbackMs: number) => number;
|
|
151
154
|
};
|
|
152
155
|
readonly hooks?: {
|
|
153
156
|
readonly localPushAdmitted?: (events: ReadonlyArray<LiveStoreEvent.Client.EncodedWithMeta>) => Effect.Effect<void>;
|
|
157
|
+
/** Observes connectivity after the offline wait has subscribed, allowing tests to synchronize without sleeps. */
|
|
158
|
+
readonly backendPullReconnectWait?: (state: {
|
|
159
|
+
isConnected: boolean;
|
|
160
|
+
fallbackMs: number;
|
|
161
|
+
}) => Effect.Effect<void>;
|
|
154
162
|
};
|
|
155
163
|
};
|
|
156
164
|
}
|
|
165
|
+
/**
|
|
166
|
+
* Runtime capabilities used by sync processing. Keeping these explicit prevents the processor from
|
|
167
|
+
* depending on the outward-facing leader aggregate that contains the processor itself.
|
|
168
|
+
*/
|
|
169
|
+
interface Runtime {
|
|
170
|
+
readonly dbState: SqliteDb;
|
|
171
|
+
readonly dbEventlog: SqliteDb;
|
|
172
|
+
readonly materializeEvent: MaterializeEvent;
|
|
173
|
+
readonly syncBackend: SyncBackend.SyncBackend | undefined;
|
|
174
|
+
readonly shutdownChannel: ShutdownChannel;
|
|
175
|
+
readonly devtoolsLatch: Latch.Latch | undefined;
|
|
176
|
+
readonly span: Tracer.Span | undefined;
|
|
177
|
+
}
|
|
157
178
|
export declare const make: (args_0: Options) => Effect.Effect<Service, never, Scope.Scope | StateHead.StateHead>;
|
|
158
179
|
export declare const layer: (options: Options) => Layer.Layer<LeaderSyncProcessor, never, StateHead.StateHead>;
|
|
159
180
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LeaderSyncProcessor.d.ts","sourceRoot":"","sources":["../../src/leader-thread/LeaderSyncProcessor.ts"],"names":[],"mappings":"AACA,OAAO,EACL,KAAK,UAAU,
|
|
1
|
+
{"version":3,"file":"LeaderSyncProcessor.d.ts","sourceRoot":"","sources":["../../src/leader-thread/LeaderSyncProcessor.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,17 +1,16 @@
|
|
|
1
1
|
import { casesHandled, LS_DEV, TRACE_VERBOSE } from '@livestore/utils';
|
|
2
|
-
import { Cause, Context, Deferred, Duration, Effect, Exit, FiberHandle, Layer, Option, Predicate, Queue, ReadonlyArray, References, Result, Schedule, Schema, Semaphore, Stream, Subscribable, SubscriptionRef, TxQueue, } from '@livestore/utils/effect';
|
|
3
|
-
import { MaterializeError, UnknownError } from
|
|
4
|
-
import { IntentionalShutdownCause } from
|
|
5
|
-
import { makeMaterializerHash } from
|
|
6
|
-
import { EventSequenceNumber, LiveStoreEvent, resolveEventDef, SystemTables } from
|
|
7
|
-
import { EVENTLOG_META_TABLE, SYNC_STATUS_TABLE } from
|
|
8
|
-
import * as StateHead from
|
|
9
|
-
import * as SyncState from
|
|
10
|
-
import { sql } from
|
|
11
|
-
import * as Eventlog from
|
|
12
|
-
import { rollback } from
|
|
13
|
-
import { isRejectedPushError, LeaderAheadError, NonContiguousBatchError, NonMonotonicBatchError, StaleRebaseGenerationError, } from
|
|
14
|
-
import { LeaderThreadCtx } from "./types.js";
|
|
2
|
+
import { Cause, Context, Deferred, Duration, Effect, Exit, FiberHandle, Layer, Option, Predicate, Queue, Random, ReadonlyArray, References, Result, Schedule, Schema, Semaphore, Stream, Subscribable, SubscriptionRef, TxQueue, } from '@livestore/utils/effect';
|
|
3
|
+
import { MaterializeError, UnknownError } from '../adapter-types.js';
|
|
4
|
+
import { IntentionalShutdownCause } from '../errors.js';
|
|
5
|
+
import { makeMaterializerHash } from '../materializer-helper.js';
|
|
6
|
+
import { EventSequenceNumber, LiveStoreEvent, resolveEventDef, SystemTables } from '../schema/mod.js';
|
|
7
|
+
import { EVENTLOG_META_TABLE, SYNC_STATUS_TABLE } from '../schema/state/sqlite/system-tables/eventlog-tables.js';
|
|
8
|
+
import * as StateHead from '../StateHead.js';
|
|
9
|
+
import * as SyncState from '../sync/syncstate.js';
|
|
10
|
+
import { sql } from '../util.js';
|
|
11
|
+
import * as Eventlog from './eventlog.js';
|
|
12
|
+
import { rollback } from './materialize-event.js';
|
|
13
|
+
import { isRejectedPushError, LeaderAheadError, NonContiguousBatchError, NonMonotonicBatchError, StaleRebaseGenerationError, } from './RejectedPushError.js';
|
|
15
14
|
export const TypeId = '~@livestore/common/LeaderSyncProcessor';
|
|
16
15
|
/**
|
|
17
16
|
* The LeaderSyncProcessor manages synchronization of events between
|
|
@@ -45,18 +44,16 @@ export const TypeId = '~@livestore/common/LeaderSyncProcessor';
|
|
|
45
44
|
*/
|
|
46
45
|
export class LeaderSyncProcessor extends Context.Service()('@livestore/common/LeaderSyncProcessor') {
|
|
47
46
|
}
|
|
48
|
-
export const make = Effect.fnUntraced(function* ({ schema,
|
|
47
|
+
export const make = Effect.fnUntraced(function* ({ schema, runtime, initialBlockingSyncContext, initialSyncState, onError, onBackendIdMismatch, livePull, params, testing, }) {
|
|
49
48
|
const stateHead = yield* StateHead.StateHead;
|
|
49
|
+
const { dbState, dbEventlog, devtoolsLatch, materializeEvent, shutdownChannel, span, syncBackend } = runtime;
|
|
50
50
|
const syncBackendPushQueue = yield* TxQueue.unbounded();
|
|
51
51
|
const localPushBatchSize = params.localPushBatchSize ?? 10;
|
|
52
52
|
const backendPushBatchSize = params.backendPushBatchSize ?? 50;
|
|
53
53
|
const syncStateSref = yield* SubscriptionRef.make(undefined);
|
|
54
54
|
const isClientOnlyEvent = (eventEncoded) => schema.eventsDefsMap.get(eventEncoded.name)?.options.clientOnly ?? false;
|
|
55
55
|
const connectedClientSessionPullQueues = yield* makePullQueueSet;
|
|
56
|
-
|
|
57
|
-
const ctxRef = {
|
|
58
|
-
current: undefined,
|
|
59
|
-
};
|
|
56
|
+
const materializeEventsBatch = makeMaterializeEventsBatch({ dbState, dbEventlog, materializeEvent });
|
|
60
57
|
const localPushesQueue = yield* TxQueue.unbounded();
|
|
61
58
|
// Reservations cover admitted pushes from validation until they are applied or rejected. The Set's
|
|
62
59
|
// insertion order mirrors admission order, so its last relevant item is the optimistic sequence head.
|
|
@@ -105,7 +102,7 @@ export const make = Effect.fnUntraced(function* ({ schema, dbState, initialBlock
|
|
|
105
102
|
const currentRebaseGeneration = syncState.localHead.rebaseGeneration;
|
|
106
103
|
// Since the rebase generation might have changed since enqueuing, we need to filter out items with older generation
|
|
107
104
|
// It's important that we filter after acquiring the localPushBackendPullMutex, otherwise we might filter with the old generation
|
|
108
|
-
const [
|
|
105
|
+
const [filteredItems, droppedItems] = ReadonlyArray.partition(batchItems, (batchItem) => batchItem[0].seqNum.rebaseGeneration >= currentRebaseGeneration
|
|
109
106
|
? Result.succeed(batchItem)
|
|
110
107
|
: Result.fail(batchItem));
|
|
111
108
|
if (droppedItems.length > 0) {
|
|
@@ -154,7 +151,7 @@ export const make = Effect.fnUntraced(function* ({ schema, dbState, initialBlock
|
|
|
154
151
|
const remainingLocalPushes = yield* snapshotTxQueue(localPushesQueue);
|
|
155
152
|
if (LS_DEV === true && remainingLocalPushes.length > 0) {
|
|
156
153
|
console.log('localPushesQueue is not empty', remainingLocalPushes.length);
|
|
157
|
-
// oxlint-disable-next-line
|
|
154
|
+
// oxlint-disable-next-line no-debugger -- intentional breakpoint for unexpected queue state
|
|
158
155
|
debugger;
|
|
159
156
|
}
|
|
160
157
|
const allDeferredsToReject = [
|
|
@@ -207,8 +204,7 @@ export const make = Effect.fnUntraced(function* ({ schema, dbState, initialBlock
|
|
|
207
204
|
}).pipe(localPushBackendPullMutex.withPermits(1));
|
|
208
205
|
}
|
|
209
206
|
});
|
|
210
|
-
const backgroundBackendPulling = Effect.fn('@livestore/common:LeaderSyncProcessor:backend-pulling')(function* ({ restartBackendPushing, }) {
|
|
211
|
-
const { syncBackend, dbState: db, dbEventlog, schema } = yield* LeaderThreadCtx;
|
|
207
|
+
const backgroundBackendPulling = Effect.fn('@livestore/common:LeaderSyncProcessor:backend-pulling')(function* ({ restartBackendPushing, onPullSuccess, }) {
|
|
212
208
|
if (syncBackend === undefined)
|
|
213
209
|
return;
|
|
214
210
|
let pullMutexHeld = false;
|
|
@@ -220,8 +216,8 @@ export const make = Effect.fnUntraced(function* ({ schema, dbState, initialBlock
|
|
|
220
216
|
});
|
|
221
217
|
const isPullPaginationComplete = (pageInfo) => pageInfo._tag === 'NoMore';
|
|
222
218
|
const onNewPullChunk = (newEvents, pageInfo) => Effect.gen(function* () {
|
|
223
|
-
if (
|
|
224
|
-
yield*
|
|
219
|
+
if (devtoolsLatch !== undefined) {
|
|
220
|
+
yield* devtoolsLatch.await;
|
|
225
221
|
}
|
|
226
222
|
if (newEvents.length === 0) {
|
|
227
223
|
if (isPullPaginationComplete(pageInfo) === true) {
|
|
@@ -263,7 +259,7 @@ export const make = Effect.fnUntraced(function* ({ schema, dbState, initialBlock
|
|
|
263
259
|
yield* restartBackendPushing(globalOrUnknownRebasedPendingEvents);
|
|
264
260
|
if (mergeResult.rollbackEvents.length > 0) {
|
|
265
261
|
yield* rollback({
|
|
266
|
-
dbState
|
|
262
|
+
dbState,
|
|
267
263
|
dbEventlog,
|
|
268
264
|
eventNumsToRollback: mergeResult.rollbackEvents.map((_) => _.seqNum),
|
|
269
265
|
});
|
|
@@ -292,11 +288,11 @@ export const make = Effect.fnUntraced(function* ({ schema, dbState, initialBlock
|
|
|
292
288
|
// `mergeResult.confirmedEvents` don't contain the correct sync metadata, so we need to use
|
|
293
289
|
// `newEvents` instead which we filter via `mergeResult.confirmedEvents`
|
|
294
290
|
const confirmedNewEvents = newEvents.filter((event) => mergeResult.confirmedEvents.some((confirmedEvent) => EventSequenceNumber.Client.isEqual(event.seqNum, confirmedEvent.seqNum)));
|
|
295
|
-
yield* Eventlog.
|
|
291
|
+
yield* Eventlog.updateSyncMetadataForDb(dbEventlog, confirmedNewEvents).pipe(Effect.orDieDebugger);
|
|
296
292
|
}
|
|
297
293
|
}
|
|
298
294
|
// Removes the changeset rows which are no longer needed as we'll never have to rollback beyond this point
|
|
299
|
-
trimChangesetRows(
|
|
295
|
+
trimChangesetRows(dbState, newBackendHead);
|
|
300
296
|
// The backend merge may advance or rebase the authoritative head. Realign the admission
|
|
301
297
|
// fence now so newly arriving pushes are validated against that history, not the pre-pull head.
|
|
302
298
|
yield* reconcilePushHead(mergeResult.newSyncState.localHead);
|
|
@@ -314,11 +310,15 @@ export const make = Effect.fnUntraced(function* ({ schema, dbState, initialBlock
|
|
|
314
310
|
}
|
|
315
311
|
});
|
|
316
312
|
const syncState = yield* Effect.fromNullishOr(yield* SubscriptionRef.get(syncStateSref)).pipe(Effect.orDieDebugger);
|
|
317
|
-
const cursorInfo = yield* Eventlog.
|
|
313
|
+
const cursorInfo = yield* Eventlog.getSyncBackendCursorInfoForDb(dbEventlog, {
|
|
314
|
+
remoteHead: syncState.upstreamHead.global,
|
|
315
|
+
});
|
|
318
316
|
const hashMaterializerResult = makeMaterializerHash({ schema, dbState });
|
|
319
317
|
yield* syncBackend.pull(cursorInfo, { live: livePull }).pipe(
|
|
320
318
|
// TODO only take from queue while connected
|
|
321
319
|
Stream.tap(({ batch, pageInfo }) => Effect.gen(function* () {
|
|
320
|
+
// Any response (including an empty batch) proves backend contact, even with stale connectivity.
|
|
321
|
+
onPullSuccess();
|
|
322
322
|
// NOTE we only want to take process events when the sync backend is connected
|
|
323
323
|
// (e.g. needed for simulating being offline)
|
|
324
324
|
// TODO remove when there's a better way to handle this in stream above
|
|
@@ -336,15 +336,14 @@ export const make = Effect.fnUntraced(function* ({ schema, dbState, initialBlock
|
|
|
336
336
|
yield* Effect.logDebug('backend-pulling finished', { livePull });
|
|
337
337
|
});
|
|
338
338
|
const backgroundBackendPushing = Effect.gen(function* () {
|
|
339
|
-
const { syncBackend } = yield* LeaderThreadCtx;
|
|
340
339
|
if (syncBackend === undefined)
|
|
341
340
|
return;
|
|
342
341
|
while (true) {
|
|
343
342
|
yield* SubscriptionRef.waitUntil(syncBackend.isConnected, (isConnected) => isConnected === true);
|
|
344
343
|
const queueItems = yield* TxQueue.takeBetween(syncBackendPushQueue, 1, backendPushBatchSize);
|
|
345
344
|
yield* SubscriptionRef.waitUntil(syncBackend.isConnected, (isConnected) => isConnected === true);
|
|
346
|
-
if (
|
|
347
|
-
yield*
|
|
345
|
+
if (devtoolsLatch !== undefined) {
|
|
346
|
+
yield* devtoolsLatch.await;
|
|
348
347
|
}
|
|
349
348
|
yield* Effect.spanEvent('backend-push', {
|
|
350
349
|
batchSize: queueItems.length,
|
|
@@ -407,26 +406,18 @@ export const make = Effect.fnUntraced(function* ({ schema, dbState, initialBlock
|
|
|
407
406
|
yield* testing.hooks.localPushAdmitted(newEvents);
|
|
408
407
|
}
|
|
409
408
|
}).pipe(Effect.uninterruptible));
|
|
410
|
-
yield* Effect.
|
|
409
|
+
yield* Effect.forEach(deferreds, Deferred.await);
|
|
411
410
|
}).pipe(Effect.withSpan('@livestore/common:LeaderSyncProcessor:push', {
|
|
412
411
|
attributes: {
|
|
413
412
|
batchSize: newEvents.length,
|
|
414
413
|
batch: TRACE_VERBOSE === true ? newEvents : undefined,
|
|
415
414
|
},
|
|
416
|
-
links:
|
|
415
|
+
links: span !== undefined ? [{ span, attributes: {} }] : undefined,
|
|
417
416
|
}));
|
|
418
417
|
return LeaderSyncProcessor.of({
|
|
419
418
|
[TypeId]: TypeId,
|
|
420
419
|
// Starts various background loops
|
|
421
420
|
boot: Effect.gen(function* () {
|
|
422
|
-
const span = yield* Effect.currentSpan.pipe(Effect.orDie);
|
|
423
|
-
const { devtools, shutdownChannel } = yield* LeaderThreadCtx;
|
|
424
|
-
const services = yield* Effect.context();
|
|
425
|
-
ctxRef.current = {
|
|
426
|
-
span,
|
|
427
|
-
devtoolsLatch: devtools.enabled === true ? devtools.syncBackendLatch : undefined,
|
|
428
|
-
services,
|
|
429
|
-
};
|
|
430
421
|
/** State transitions need to happen atomically, so we use a Ref to track the state */
|
|
431
422
|
yield* SubscriptionRef.set(syncStateSref, initialSyncState);
|
|
432
423
|
// Rehydrate sync queue
|
|
@@ -438,7 +429,7 @@ export const make = Effect.fnUntraced(function* ({ schema, dbState, initialBlock
|
|
|
438
429
|
yield* TxQueue.offerAll(syncBackendPushQueue, globalOrUnknownPendingEvents);
|
|
439
430
|
}
|
|
440
431
|
}
|
|
441
|
-
const handleBackendIdMismatchError = (error) => handleBackendIdMismatch({ error, onBackendIdMismatch, shutdownChannel });
|
|
432
|
+
const handleBackendIdMismatchError = (error) => handleBackendIdMismatch({ error, onBackendIdMismatch, shutdownChannel, dbEventlog, dbState });
|
|
442
433
|
const maybeShutdownOnError = (cause) => Effect.gen(function* () {
|
|
443
434
|
if (onError === 'ignore') {
|
|
444
435
|
if (LS_DEV === true) {
|
|
@@ -455,7 +446,11 @@ export const make = Effect.fnUntraced(function* ({ schema, dbState, initialBlock
|
|
|
455
446
|
const backendPushingFiberHandle = yield* FiberHandle.make();
|
|
456
447
|
const backendPushingEffect = backgroundBackendPushing.pipe(Effect.catchTag('BackendIdMismatchError', handleBackendIdMismatchError), Effect.catchCause(maybeShutdownOnError));
|
|
457
448
|
yield* FiberHandle.run(backendPushingFiberHandle, backendPushingEffect);
|
|
449
|
+
let offlinePullFallbackMs = 1_000;
|
|
458
450
|
yield* backgroundBackendPulling({
|
|
451
|
+
onPullSuccess: () => {
|
|
452
|
+
offlinePullFallbackMs = 1_000;
|
|
453
|
+
},
|
|
459
454
|
restartBackendPushing: (filteredRebasedPending) => Effect.gen(function* () {
|
|
460
455
|
// Stop current pushing fiber
|
|
461
456
|
yield* FiberHandle.clear(backendPushingFiberHandle);
|
|
@@ -465,10 +460,27 @@ export const make = Effect.fnUntraced(function* ({ schema, dbState, initialBlock
|
|
|
465
460
|
// Restart pushing fiber
|
|
466
461
|
yield* FiberHandle.run(backendPushingFiberHandle, backendPushingEffect);
|
|
467
462
|
}),
|
|
468
|
-
}).pipe(Effect.
|
|
469
|
-
|
|
470
|
-
|
|
471
|
-
|
|
463
|
+
}).pipe(Effect.tapError((error) => {
|
|
464
|
+
if (error._tag !== 'IsOfflineError' || syncBackend === undefined)
|
|
465
|
+
return Effect.void;
|
|
466
|
+
const isConnected = syncBackend.isConnected;
|
|
467
|
+
return Effect.gen(function* () {
|
|
468
|
+
// Wake immediately on reconnection. Probe on a capped fallback timer if connectivity is stale.
|
|
469
|
+
const jitter = yield* Random.nextBetween(0.8, 1.2);
|
|
470
|
+
const fallbackMs = testing.delays?.backendPullReconnect?.(offlinePullFallbackMs * jitter) ?? offlinePullFallbackMs * jitter;
|
|
471
|
+
offlinePullFallbackMs = Math.min(offlinePullFallbackMs * 2, 30_000);
|
|
472
|
+
// A stale initial true is not a reconnect. Watch false→true even while the fallback timer is pending.
|
|
473
|
+
const waitHook = testing.hooks?.backendPullReconnectWait;
|
|
474
|
+
const changes = SubscriptionRef.changes(isConnected);
|
|
475
|
+
const observedChanges = waitHook === undefined
|
|
476
|
+
? changes
|
|
477
|
+
: changes.pipe(Stream.tap((value) => waitHook({ isConnected: value, fallbackMs })));
|
|
478
|
+
const reconnected = yield* observedChanges.pipe(Stream.dropWhile((value) => value === true), Stream.filter((value) => value === true), Stream.runHead, Effect.as(true), Effect.timeoutOrElse({ duration: fallbackMs, orElse: () => Effect.succeed(false) }));
|
|
479
|
+
if (reconnected === true)
|
|
480
|
+
offlinePullFallbackMs = 1_000;
|
|
481
|
+
});
|
|
482
|
+
}), Effect.retry({
|
|
483
|
+
// The unbounded offline-only retry keeps IsOfflineError out of the terminal error channel.
|
|
472
484
|
until: (error) => error._tag !== 'IsOfflineError',
|
|
473
485
|
}), Effect.catchTag('BackendIdMismatchError', handleBackendIdMismatchError), Effect.catchCause(maybeShutdownOnError),
|
|
474
486
|
// Needed to avoid `Fiber terminated with an unhandled error` logs which seem to happen because of the `Effect.retry` above.
|
|
@@ -509,7 +521,7 @@ export const make = Effect.fnUntraced(function* ({ schema, dbState, initialBlock
|
|
|
509
521
|
// pushPartial constructs the event sequence number internally, so these errors should never happen.
|
|
510
522
|
Effect.catchIf(isRejectedPushError, Effect.die)),
|
|
511
523
|
pull: ({ cursor }) => Effect.gen(function* () {
|
|
512
|
-
const queue = yield*
|
|
524
|
+
const queue = yield* connectedClientSessionPullQueues.makeQueue(cursor);
|
|
513
525
|
return Stream.fromQueue(queue);
|
|
514
526
|
}).pipe(Stream.unwrap),
|
|
515
527
|
/*
|
|
@@ -526,7 +538,7 @@ export const make = Effect.fnUntraced(function* ({ schema, dbState, initialBlock
|
|
|
526
538
|
- full new state db snapshot in the "rebase" case
|
|
527
539
|
- downside: importing the snapshot is expensive
|
|
528
540
|
*/
|
|
529
|
-
pullQueue: ({ cursor }) =>
|
|
541
|
+
pullQueue: ({ cursor }) => connectedClientSessionPullQueues.makeQueue(cursor),
|
|
530
542
|
syncState: Subscribable.make({
|
|
531
543
|
get: SubscriptionRef.get(syncStateSref).pipe(Effect.flatMap(Effect.fromNullishOr), Effect.orDieDebugger),
|
|
532
544
|
changes: SubscriptionRef.changes(syncStateSref).pipe(Stream.filter(Predicate.isNotUndefined)),
|
|
@@ -535,16 +547,15 @@ export const make = Effect.fnUntraced(function* ({ schema, dbState, initialBlock
|
|
|
535
547
|
});
|
|
536
548
|
export const layer = (options) => Layer.effect(LeaderSyncProcessor, make(options));
|
|
537
549
|
// TODO how to handle errors gracefully
|
|
538
|
-
const
|
|
539
|
-
const { dbState: db, dbEventlog, materializeEvent } = yield* LeaderThreadCtx;
|
|
550
|
+
const makeMaterializeEventsBatch = ({ dbState, dbEventlog, materializeEvent, }) => ({ batchItems }) => Effect.gen(function* () {
|
|
540
551
|
// NOTE We always start a transaction to ensure consistency between db and eventlog (even for single-item batches)
|
|
541
|
-
|
|
552
|
+
dbState.execute('BEGIN TRANSACTION', undefined); // Start the transaction
|
|
542
553
|
dbEventlog.execute('BEGIN TRANSACTION', undefined); // Start the transaction
|
|
543
554
|
yield* Effect.addFinalizer((exit) => Effect.gen(function* () {
|
|
544
555
|
if (Exit.isSuccess(exit) === true)
|
|
545
556
|
return;
|
|
546
557
|
// Rollback in case of an error
|
|
547
|
-
|
|
558
|
+
dbState.execute('ROLLBACK', undefined);
|
|
548
559
|
dbEventlog.execute('ROLLBACK', undefined);
|
|
549
560
|
}));
|
|
550
561
|
for (let i = 0; i < batchItems.length; i++) {
|
|
@@ -552,7 +563,7 @@ const materializeEventsBatch = ({ batchItems }) => Effect.gen(function* () {
|
|
|
552
563
|
batchItems[i].meta.sessionChangeset = sessionChangeset;
|
|
553
564
|
batchItems[i].meta.materializerHashLeader = hash;
|
|
554
565
|
}
|
|
555
|
-
|
|
566
|
+
dbState.execute('COMMIT', undefined); // Commit the transaction
|
|
556
567
|
dbEventlog.execute('COMMIT', undefined); // Commit the transaction
|
|
557
568
|
}).pipe(Effect.uninterruptible, Effect.scoped, Effect.withSpan('@livestore/common:LeaderSyncProcessor:materializeEventItems', {
|
|
558
569
|
attributes: { batchSize: batchItems.length },
|
|
@@ -717,8 +728,7 @@ const isSameSequencePosition = (left, right) => left.global === right.global &&
|
|
|
717
728
|
* Handles a BackendIdMismatchError based on the configured behavior.
|
|
718
729
|
* This occurs when the sync backend has been reset and has a new identity.
|
|
719
730
|
*/
|
|
720
|
-
const handleBackendIdMismatch = Effect.fn('@livestore/common:LeaderSyncProcessor:handleBackendIdMismatch')(function* ({ error, onBackendIdMismatch, shutdownChannel, }) {
|
|
721
|
-
const { dbEventlog, dbState } = yield* LeaderThreadCtx;
|
|
731
|
+
const handleBackendIdMismatch = Effect.fn('@livestore/common:LeaderSyncProcessor:handleBackendIdMismatch')(function* ({ error, onBackendIdMismatch, shutdownChannel, dbEventlog, dbState, }) {
|
|
722
732
|
if (onBackendIdMismatch === 'reset') {
|
|
723
733
|
yield* Effect.logWarning('Sync backend identity changed (backend was reset). Clearing local storage and shutting down.', error);
|
|
724
734
|
// Clear local databases so the client can start fresh on next boot
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LeaderSyncProcessor.js","sourceRoot":"","sources":["../../src/leader-thread/LeaderSyncProcessor.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"LeaderSyncProcessor.js","sourceRoot":"","sources":["../../src/leader-thread/LeaderSyncProcessor.ts"],"names":[],"mappings":"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"}
|