@rocicorp/zero 1.10.0-canary.23 → 1.10.0-canary.25
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/out/analyze-query/src/bin-analyze.js +1 -1
- package/out/analyze-query/src/bin-analyze.js.map +1 -1
- package/out/replicache/src/btree/read.d.ts +1 -12
- package/out/replicache/src/btree/read.d.ts.map +1 -1
- package/out/replicache/src/btree/read.js +12 -24
- package/out/replicache/src/btree/read.js.map +1 -1
- package/out/replicache/src/dag/gc.d.ts.map +1 -1
- package/out/replicache/src/dag/gc.js +1 -2
- package/out/replicache/src/dag/gc.js.map +1 -1
- package/out/replicache/src/dag/store-impl.d.ts +2 -12
- package/out/replicache/src/dag/store-impl.d.ts.map +1 -1
- package/out/replicache/src/dag/store-impl.js +8 -22
- package/out/replicache/src/dag/store-impl.js.map +1 -1
- package/out/replicache/src/db/rebase.d.ts +2 -14
- package/out/replicache/src/db/rebase.d.ts.map +1 -1
- package/out/replicache/src/db/rebase.js +5 -27
- package/out/replicache/src/db/rebase.js.map +1 -1
- package/out/replicache/src/db/write.js.map +1 -1
- package/out/replicache/src/kv/expo-sqlite/store.d.ts.map +1 -1
- package/out/replicache/src/kv/expo-sqlite/store.js +5 -28
- package/out/replicache/src/kv/expo-sqlite/store.js.map +1 -1
- package/out/replicache/src/kv/idb-store-with-mem-fallback.d.ts +5 -15
- package/out/replicache/src/kv/idb-store-with-mem-fallback.d.ts.map +1 -1
- package/out/replicache/src/kv/idb-store-with-mem-fallback.js +25 -25
- package/out/replicache/src/kv/idb-store-with-mem-fallback.js.map +1 -1
- package/out/replicache/src/kv/idb-store.d.ts +0 -9
- package/out/replicache/src/kv/idb-store.d.ts.map +1 -1
- package/out/replicache/src/kv/idb-store.js +2 -14
- package/out/replicache/src/kv/idb-store.js.map +1 -1
- package/out/replicache/src/kv/mem-store.d.ts +0 -1
- package/out/replicache/src/kv/mem-store.d.ts.map +1 -1
- package/out/replicache/src/kv/mem-store.js +0 -3
- package/out/replicache/src/kv/mem-store.js.map +1 -1
- package/out/replicache/src/kv/op-sqlite/store.d.ts.map +1 -1
- package/out/replicache/src/kv/op-sqlite/store.js +1 -1
- package/out/replicache/src/kv/op-sqlite/store.js.map +1 -1
- package/out/replicache/src/kv/sqlite-store.d.ts +1 -13
- package/out/replicache/src/kv/sqlite-store.d.ts.map +1 -1
- package/out/replicache/src/kv/sqlite-store.js +4 -49
- package/out/replicache/src/kv/sqlite-store.js.map +1 -1
- package/out/replicache/src/kv/store.d.ts +0 -6
- package/out/replicache/src/kv/store.d.ts.map +1 -1
- package/out/replicache/src/persist/collect-idb-databases.d.ts +5 -10
- package/out/replicache/src/persist/collect-idb-databases.d.ts.map +1 -1
- package/out/replicache/src/persist/collect-idb-databases.js +9 -16
- package/out/replicache/src/persist/collect-idb-databases.js.map +1 -1
- package/out/replicache/src/persist/persist.d.ts.map +1 -1
- package/out/replicache/src/persist/persist.js +5 -12
- package/out/replicache/src/persist/persist.js.map +1 -1
- package/out/replicache/src/persist/refresh.js +2 -6
- package/out/replicache/src/persist/refresh.js.map +1 -1
- package/out/replicache/src/replicache-impl.d.ts +3 -14
- package/out/replicache/src/replicache-impl.d.ts.map +1 -1
- package/out/replicache/src/replicache-impl.js +11 -118
- package/out/replicache/src/replicache-impl.js.map +1 -1
- package/out/replicache/src/replicache-options.d.ts +0 -9
- package/out/replicache/src/replicache-options.d.ts.map +1 -1
- package/out/replicache/src/transactions.d.ts.map +1 -1
- package/out/replicache/src/transactions.js +1 -1
- package/out/replicache/src/transactions.js.map +1 -1
- package/out/shared/src/arrays.js +15 -1
- package/out/shared/src/arrays.js.map +1 -1
- package/out/shared/src/base64.d.ts +19 -0
- package/out/shared/src/base64.d.ts.map +1 -0
- package/out/shared/src/base64.js +40 -0
- package/out/shared/src/base64.js.map +1 -0
- package/out/shared/src/error.d.ts +0 -11
- package/out/shared/src/error.d.ts.map +1 -1
- package/out/shared/src/error.js +1 -35
- package/out/shared/src/error.js.map +1 -1
- package/out/shared/src/hash.d.ts +0 -1
- package/out/shared/src/hash.d.ts.map +1 -1
- package/out/shared/src/hash.js +10 -87
- package/out/shared/src/hash.js.map +1 -1
- package/out/shared/src/iterables.d.ts +0 -2
- package/out/shared/src/iterables.d.ts.map +1 -1
- package/out/shared/src/iterables.js +1 -18
- package/out/shared/src/iterables.js.map +1 -1
- package/out/shared/src/json.d.ts.map +1 -1
- package/out/shared/src/json.js +2 -2
- package/out/shared/src/json.js.map +1 -1
- package/out/shared/src/map.d.ts +2 -7
- package/out/shared/src/map.d.ts.map +1 -1
- package/out/shared/src/map.js.map +1 -1
- package/out/shared/src/packed-boolean-map.d.ts +7 -0
- package/out/shared/src/packed-boolean-map.d.ts.map +1 -0
- package/out/shared/src/packed-boolean-map.js +36 -0
- package/out/shared/src/packed-boolean-map.js.map +1 -0
- package/out/shared/src/ring-buffer.d.ts +0 -8
- package/out/shared/src/ring-buffer.d.ts.map +1 -1
- package/out/shared/src/ring-buffer.js +1 -22
- package/out/shared/src/ring-buffer.js.map +1 -1
- package/out/z2s/src/compiler.js +1 -1
- package/out/zero/package.js +3 -2
- package/out/zero/package.js.map +1 -1
- package/out/zero-cache/src/auth/read-authorizer.js +1 -1
- package/out/zero-cache/src/config/zero-config.d.ts +2 -27
- package/out/zero-cache/src/config/zero-config.d.ts.map +1 -1
- package/out/zero-cache/src/config/zero-config.js +28 -114
- package/out/zero-cache/src/config/zero-config.js.map +1 -1
- package/out/zero-cache/src/custom-queries/transform-query.js +1 -1
- package/out/zero-cache/src/db/create.d.ts.map +1 -1
- package/out/zero-cache/src/db/create.js +1 -4
- package/out/zero-cache/src/db/create.js.map +1 -1
- package/out/zero-cache/src/db/lite-tables.d.ts +2 -10
- package/out/zero-cache/src/db/lite-tables.d.ts.map +1 -1
- package/out/zero-cache/src/db/lite-tables.js +3 -8
- package/out/zero-cache/src/db/lite-tables.js.map +1 -1
- package/out/zero-cache/src/db/specs.d.ts +0 -41
- package/out/zero-cache/src/db/specs.d.ts.map +1 -1
- package/out/zero-cache/src/db/specs.js +3 -30
- package/out/zero-cache/src/db/specs.js.map +1 -1
- package/out/zero-cache/src/server/change-streamer.d.ts.map +1 -1
- package/out/zero-cache/src/server/change-streamer.js +4 -13
- package/out/zero-cache/src/server/change-streamer.js.map +1 -1
- package/out/zero-cache/src/server/inspector-delegate.d.ts +2 -18
- package/out/zero-cache/src/server/inspector-delegate.d.ts.map +1 -1
- package/out/zero-cache/src/server/inspector-delegate.js +9 -23
- package/out/zero-cache/src/server/inspector-delegate.js.map +1 -1
- package/out/zero-cache/src/server/main.d.ts.map +1 -1
- package/out/zero-cache/src/server/main.js +1 -8
- package/out/zero-cache/src/server/main.js.map +1 -1
- package/out/zero-cache/src/server/mutator.js +0 -2
- package/out/zero-cache/src/server/mutator.js.map +1 -1
- package/out/zero-cache/src/server/reaper.d.ts.map +1 -1
- package/out/zero-cache/src/server/reaper.js +0 -2
- package/out/zero-cache/src/server/reaper.js.map +1 -1
- package/out/zero-cache/src/server/replicator.d.ts.map +1 -1
- package/out/zero-cache/src/server/replicator.js +2 -8
- package/out/zero-cache/src/server/replicator.js.map +1 -1
- package/out/zero-cache/src/server/runner/zero-dispatcher.d.ts.map +1 -1
- package/out/zero-cache/src/server/runner/zero-dispatcher.js +0 -3
- package/out/zero-cache/src/server/runner/zero-dispatcher.js.map +1 -1
- package/out/zero-cache/src/server/syncer.d.ts.map +1 -1
- package/out/zero-cache/src/server/syncer.js +0 -2
- package/out/zero-cache/src/server/syncer.js.map +1 -1
- package/out/zero-cache/src/services/analyze.d.ts.map +1 -1
- package/out/zero-cache/src/services/analyze.js +2 -3
- package/out/zero-cache/src/services/analyze.js.map +1 -1
- package/out/zero-cache/src/services/change-source/common/backfill-manager.d.ts.map +1 -1
- package/out/zero-cache/src/services/change-source/common/backfill-manager.js +1 -14
- package/out/zero-cache/src/services/change-source/common/backfill-manager.js.map +1 -1
- package/out/zero-cache/src/services/change-source/common/change-stream-multiplexer.d.ts.map +1 -1
- package/out/zero-cache/src/services/change-source/common/change-stream-multiplexer.js +3 -15
- package/out/zero-cache/src/services/change-source/common/change-stream-multiplexer.js.map +1 -1
- package/out/zero-cache/src/services/change-source/pg/change-source.d.ts +1 -11
- package/out/zero-cache/src/services/change-source/pg/change-source.d.ts.map +1 -1
- package/out/zero-cache/src/services/change-source/pg/change-source.js +2 -21
- package/out/zero-cache/src/services/change-source/pg/change-source.js.map +1 -1
- package/out/zero-cache/src/services/change-source/pg/initial-sync.d.ts +0 -1
- package/out/zero-cache/src/services/change-source/pg/initial-sync.d.ts.map +1 -1
- package/out/zero-cache/src/services/change-source/pg/initial-sync.js +7 -8
- package/out/zero-cache/src/services/change-source/pg/initial-sync.js.map +1 -1
- package/out/zero-cache/src/services/change-source/pg/schema/ddl.d.ts +229 -1513
- package/out/zero-cache/src/services/change-source/pg/schema/ddl.d.ts.map +1 -1
- package/out/zero-cache/src/services/change-source/pg/schema/ddl.js +2 -2
- package/out/zero-cache/src/services/change-source/pg/schema/ddl.js.map +1 -1
- package/out/zero-cache/src/services/change-source/pg/schema/init.d.ts +1 -1
- package/out/zero-cache/src/services/change-source/pg/schema/init.d.ts.map +1 -1
- package/out/zero-cache/src/services/change-source/pg/schema/init.js +6 -15
- package/out/zero-cache/src/services/change-source/pg/schema/init.js.map +1 -1
- package/out/zero-cache/src/services/change-source/pg/schema/published.d.ts +20 -137
- package/out/zero-cache/src/services/change-source/pg/schema/published.d.ts.map +1 -1
- package/out/zero-cache/src/services/change-source/pg/schema/published.js +13 -82
- package/out/zero-cache/src/services/change-source/pg/schema/published.js.map +1 -1
- package/out/zero-cache/src/services/change-source/pg/schema/shard.d.ts +21 -128
- package/out/zero-cache/src/services/change-source/pg/schema/shard.d.ts.map +1 -1
- package/out/zero-cache/src/services/change-source/pg/schema/shard.js +5 -5
- package/out/zero-cache/src/services/change-source/pg/schema/shard.js.map +1 -1
- package/out/zero-cache/src/services/change-source/protocol/current/data.d.ts +0 -2
- package/out/zero-cache/src/services/change-source/protocol/current/data.d.ts.map +1 -1
- package/out/zero-cache/src/services/change-source/protocol/current/downstream.d.ts +0 -3
- package/out/zero-cache/src/services/change-source/protocol/current/downstream.d.ts.map +1 -1
- package/out/zero-cache/src/services/change-streamer/change-streamer-http.d.ts +0 -3
- package/out/zero-cache/src/services/change-streamer/change-streamer-http.d.ts.map +1 -1
- package/out/zero-cache/src/services/change-streamer/change-streamer-http.js +1 -3
- package/out/zero-cache/src/services/change-streamer/change-streamer-http.js.map +1 -1
- package/out/zero-cache/src/services/change-streamer/change-streamer.d.ts +0 -1
- package/out/zero-cache/src/services/change-streamer/change-streamer.d.ts.map +1 -1
- package/out/zero-cache/src/services/litestream/commands.d.ts.map +1 -1
- package/out/zero-cache/src/services/litestream/commands.js +3 -8
- package/out/zero-cache/src/services/litestream/commands.js.map +1 -1
- package/out/zero-cache/src/services/litestream/config-v5.yml +1 -15
- package/out/zero-cache/src/services/mutagen/mutagen.d.ts +0 -5
- package/out/zero-cache/src/services/mutagen/mutagen.d.ts.map +1 -1
- package/out/zero-cache/src/services/mutagen/mutagen.js +1 -7
- package/out/zero-cache/src/services/mutagen/mutagen.js.map +1 -1
- package/out/zero-cache/src/services/mutagen/pusher.d.ts +87 -87
- package/out/zero-cache/src/services/mutagen/pusher.js +2 -3
- package/out/zero-cache/src/services/mutagen/pusher.js.map +1 -1
- package/out/zero-cache/src/services/replicator/change-processor.d.ts.map +1 -1
- package/out/zero-cache/src/services/replicator/change-processor.js +16 -16
- package/out/zero-cache/src/services/replicator/change-processor.js.map +1 -1
- package/out/zero-cache/src/services/replicator/incremental-sync.d.ts.map +1 -1
- package/out/zero-cache/src/services/replicator/incremental-sync.js +0 -1
- package/out/zero-cache/src/services/replicator/incremental-sync.js.map +1 -1
- package/out/zero-cache/src/services/replicator/write-worker-client.d.ts +2 -27
- package/out/zero-cache/src/services/replicator/write-worker-client.d.ts.map +1 -1
- package/out/zero-cache/src/services/replicator/write-worker-client.js +2 -3
- package/out/zero-cache/src/services/replicator/write-worker-client.js.map +1 -1
- package/out/zero-cache/src/services/replicator/write-worker.js +5 -24
- package/out/zero-cache/src/services/replicator/write-worker.js.map +1 -1
- package/out/zero-cache/src/services/run-ast.d.ts +0 -12
- package/out/zero-cache/src/services/run-ast.d.ts.map +1 -1
- package/out/zero-cache/src/services/run-ast.js +15 -27
- package/out/zero-cache/src/services/run-ast.js.map +1 -1
- package/out/zero-cache/src/services/runner.d.ts.map +1 -1
- package/out/zero-cache/src/services/runner.js +1 -1
- package/out/zero-cache/src/services/runner.js.map +1 -1
- package/out/zero-cache/src/services/view-syncer/cvr.d.ts +0 -45
- package/out/zero-cache/src/services/view-syncer/cvr.d.ts.map +1 -1
- package/out/zero-cache/src/services/view-syncer/cvr.js +1 -133
- package/out/zero-cache/src/services/view-syncer/cvr.js.map +1 -1
- package/out/zero-cache/src/services/view-syncer/drain-coordinator.d.ts +1 -14
- package/out/zero-cache/src/services/view-syncer/drain-coordinator.d.ts.map +1 -1
- package/out/zero-cache/src/services/view-syncer/drain-coordinator.js +4 -30
- package/out/zero-cache/src/services/view-syncer/drain-coordinator.js.map +1 -1
- package/out/zero-cache/src/services/view-syncer/inspect-handler.d.ts +1 -1
- package/out/zero-cache/src/services/view-syncer/inspect-handler.d.ts.map +1 -1
- package/out/zero-cache/src/services/view-syncer/inspect-handler.js +2 -2
- package/out/zero-cache/src/services/view-syncer/inspect-handler.js.map +1 -1
- package/out/zero-cache/src/services/view-syncer/pipeline-driver.d.ts +1 -2
- package/out/zero-cache/src/services/view-syncer/pipeline-driver.d.ts.map +1 -1
- package/out/zero-cache/src/services/view-syncer/pipeline-driver.js +18 -33
- package/out/zero-cache/src/services/view-syncer/pipeline-driver.js.map +1 -1
- package/out/zero-cache/src/services/view-syncer/query-covering.d.ts.map +1 -1
- package/out/zero-cache/src/services/view-syncer/query-covering.js.map +1 -1
- package/out/zero-cache/src/services/view-syncer/snapshotter.d.ts +1 -4
- package/out/zero-cache/src/services/view-syncer/snapshotter.d.ts.map +1 -1
- package/out/zero-cache/src/services/view-syncer/snapshotter.js +3 -9
- package/out/zero-cache/src/services/view-syncer/snapshotter.js.map +1 -1
- package/out/zero-cache/src/services/view-syncer/view-syncer.d.ts +1 -11
- package/out/zero-cache/src/services/view-syncer/view-syncer.d.ts.map +1 -1
- package/out/zero-cache/src/services/view-syncer/view-syncer.js +90 -470
- package/out/zero-cache/src/services/view-syncer/view-syncer.js.map +1 -1
- package/out/zero-cache/src/types/processes.d.ts +0 -32
- package/out/zero-cache/src/types/processes.d.ts.map +1 -1
- package/out/zero-cache/src/types/processes.js +4 -43
- package/out/zero-cache/src/types/processes.js.map +1 -1
- package/out/zero-cache/src/types/profiler.d.ts +0 -12
- package/out/zero-cache/src/types/profiler.d.ts.map +1 -1
- package/out/zero-cache/src/types/profiler.js +1 -46
- package/out/zero-cache/src/types/profiler.js.map +1 -1
- package/out/zero-cache/src/workers/connect-params.d.ts +17 -1
- package/out/zero-cache/src/workers/connect-params.d.ts.map +1 -1
- package/out/zero-cache/src/workers/connect-params.js +21 -1
- package/out/zero-cache/src/workers/connect-params.js.map +1 -1
- package/out/zero-cache/src/workers/connection.d.ts +4 -4
- package/out/zero-cache/src/workers/connection.d.ts.map +1 -1
- package/out/zero-cache/src/workers/connection.js +8 -8
- package/out/zero-cache/src/workers/connection.js.map +1 -1
- package/out/zero-cache/src/workers/replicator.d.ts +0 -1
- package/out/zero-cache/src/workers/replicator.d.ts.map +1 -1
- package/out/zero-cache/src/workers/replicator.js +2 -4
- package/out/zero-cache/src/workers/replicator.js.map +1 -1
- package/out/zero-cache/src/workers/syncer-ws-message-handler.d.ts.map +1 -1
- package/out/zero-cache/src/workers/syncer-ws-message-handler.js +16 -21
- package/out/zero-cache/src/workers/syncer-ws-message-handler.js.map +1 -1
- package/out/zero-cache/src/workers/syncer.d.ts.map +1 -1
- package/out/zero-cache/src/workers/syncer.js +1 -10
- package/out/zero-cache/src/workers/syncer.js.map +1 -1
- package/out/zero-client/src/client/connection-manager.d.ts +0 -20
- package/out/zero-client/src/client/connection-manager.d.ts.map +1 -1
- package/out/zero-client/src/client/connection-manager.js +13 -77
- package/out/zero-client/src/client/connection-manager.js.map +1 -1
- package/out/zero-client/src/client/connection-status-enum.d.ts +0 -2
- package/out/zero-client/src/client/connection-status-enum.d.ts.map +1 -1
- package/out/zero-client/src/client/connection-status-enum.js +1 -3
- package/out/zero-client/src/client/connection-status-enum.js.map +1 -1
- package/out/zero-client/src/client/connection.d.ts +0 -6
- package/out/zero-client/src/client/connection.d.ts.map +1 -1
- package/out/zero-client/src/client/connection.js +1 -2
- package/out/zero-client/src/client/connection.js.map +1 -1
- package/out/zero-client/src/client/context.d.ts +2 -27
- package/out/zero-client/src/client/context.d.ts.map +1 -1
- package/out/zero-client/src/client/context.js +1 -112
- package/out/zero-client/src/client/context.js.map +1 -1
- package/out/zero-client/src/client/custom.js +2 -2
- package/out/zero-client/src/client/custom.js.map +1 -1
- package/out/zero-client/src/client/error.js +1 -1
- package/out/zero-client/src/client/inspector/lazy-inspector.js +2 -2
- package/out/zero-client/src/client/inspector/lazy-inspector.js.map +1 -1
- package/out/zero-client/src/client/ivm-branch.d.ts.map +1 -1
- package/out/zero-client/src/client/ivm-branch.js +3 -20
- package/out/zero-client/src/client/ivm-branch.js.map +1 -1
- package/out/zero-client/src/client/mutation-tracker.d.ts.map +1 -1
- package/out/zero-client/src/client/mutation-tracker.js +1 -1
- package/out/zero-client/src/client/mutation-tracker.js.map +1 -1
- package/out/zero-client/src/client/mutator-proxy.d.ts.map +1 -1
- package/out/zero-client/src/client/mutator-proxy.js +1 -2
- package/out/zero-client/src/client/mutator-proxy.js.map +1 -1
- package/out/zero-client/src/client/options.d.ts +0 -3
- package/out/zero-client/src/client/options.d.ts.map +1 -1
- package/out/zero-client/src/client/options.js.map +1 -1
- package/out/zero-client/src/client/query-manager.d.ts +0 -2
- package/out/zero-client/src/client/query-manager.d.ts.map +1 -1
- package/out/zero-client/src/client/query-manager.js +9 -48
- package/out/zero-client/src/client/query-manager.js.map +1 -1
- package/out/zero-client/src/client/version.js +1 -1
- package/out/zero-client/src/client/zero-rep.d.ts +0 -1
- package/out/zero-client/src/client/zero-rep.d.ts.map +1 -1
- package/out/zero-client/src/client/zero-rep.js +6 -9
- package/out/zero-client/src/client/zero-rep.js.map +1 -1
- package/out/zero-client/src/client/zero.d.ts +3 -18
- package/out/zero-client/src/client/zero.d.ts.map +1 -1
- package/out/zero-client/src/client/zero.js +36 -123
- package/out/zero-client/src/client/zero.js.map +1 -1
- package/out/zero-client/src/types/query-result.d.ts +0 -2
- package/out/zero-client/src/types/query-result.d.ts.map +1 -1
- package/out/zero-protocol/src/ast.d.ts +1 -64
- package/out/zero-protocol/src/ast.d.ts.map +1 -1
- package/out/zero-protocol/src/ast.js +51 -223
- package/out/zero-protocol/src/ast.js.map +1 -1
- package/out/zero-protocol/src/connect.d.ts +16 -0
- package/out/zero-protocol/src/connect.d.ts.map +1 -1
- package/out/zero-protocol/src/connect.js +27 -1
- package/out/zero-protocol/src/connect.js.map +1 -1
- package/out/zero-protocol/src/error.d.ts +1 -1
- package/out/zero-protocol/src/feature-flag-enum.d.ts +7 -0
- package/out/zero-protocol/src/feature-flag-enum.d.ts.map +1 -0
- package/out/zero-protocol/src/feature-flag-enum.js +7 -0
- package/out/zero-protocol/src/feature-flag-enum.js.map +1 -0
- package/out/zero-protocol/src/feature-flag.d.ts +5 -0
- package/out/zero-protocol/src/feature-flag.d.ts.map +1 -0
- package/out/zero-protocol/src/poke.d.ts +11 -4
- package/out/zero-protocol/src/poke.d.ts.map +1 -1
- package/out/zero-protocol/src/poke.js +3 -2
- package/out/zero-protocol/src/poke.js.map +1 -1
- package/out/zero-protocol/src/protocol-version.d.ts +30 -6
- package/out/zero-protocol/src/protocol-version.d.ts.map +1 -1
- package/out/zero-protocol/src/protocol-version.js +1 -1
- package/out/zero-protocol/src/protocol-version.js.map +1 -1
- package/out/zero-protocol/src/query-hash.d.ts +2 -7
- package/out/zero-protocol/src/query-hash.d.ts.map +1 -1
- package/out/zero-protocol/src/query-hash.js +9 -12
- package/out/zero-protocol/src/query-hash.js.map +1 -1
- package/out/zero-react/src/use-query.d.ts +4 -5
- package/out/zero-react/src/use-query.d.ts.map +1 -1
- package/out/zero-react/src/use-query.js +9 -86
- package/out/zero-react/src/use-query.js.map +1 -1
- package/out/zero-solid/src/solid-view.d.ts +0 -17
- package/out/zero-solid/src/solid-view.d.ts.map +1 -1
- package/out/zero-solid/src/solid-view.js +1 -39
- package/out/zero-solid/src/solid-view.js.map +1 -1
- package/out/zero-solid/src/use-query.js +3 -5
- package/out/zero-solid/src/use-query.js.map +1 -1
- package/out/zql/src/builder/debug-delegate.d.ts +1 -6
- package/out/zql/src/builder/debug-delegate.d.ts.map +1 -1
- package/out/zql/src/builder/debug-delegate.js +2 -14
- package/out/zql/src/builder/debug-delegate.js.map +1 -1
- package/out/zql/src/ivm/array-view.d.ts +0 -29
- package/out/zql/src/ivm/array-view.d.ts.map +1 -1
- package/out/zql/src/ivm/array-view.js +12 -63
- package/out/zql/src/ivm/array-view.js.map +1 -1
- package/out/zql/src/ivm/cap.d.ts.map +1 -1
- package/out/zql/src/ivm/cap.js +3 -5
- package/out/zql/src/ivm/cap.js.map +1 -1
- package/out/zql/src/ivm/data.d.ts.map +1 -1
- package/out/zql/src/ivm/data.js +3 -8
- package/out/zql/src/ivm/data.js.map +1 -1
- package/out/zql/src/ivm/exists.d.ts +1 -1
- package/out/zql/src/ivm/exists.d.ts.map +1 -1
- package/out/zql/src/ivm/exists.js +1 -1
- package/out/zql/src/ivm/exists.js.map +1 -1
- package/out/zql/src/ivm/fan-in.d.ts +2 -2
- package/out/zql/src/ivm/fan-in.d.ts.map +1 -1
- package/out/zql/src/ivm/fan-in.js +5 -6
- package/out/zql/src/ivm/fan-in.js.map +1 -1
- package/out/zql/src/ivm/fan-out.d.ts +2 -2
- package/out/zql/src/ivm/fan-out.d.ts.map +1 -1
- package/out/zql/src/ivm/fan-out.js.map +1 -1
- package/out/zql/src/ivm/filter-operators.d.ts +4 -4
- package/out/zql/src/ivm/filter-operators.d.ts.map +1 -1
- package/out/zql/src/ivm/filter-operators.js +8 -10
- package/out/zql/src/ivm/filter-operators.js.map +1 -1
- package/out/zql/src/ivm/filter.d.ts +2 -2
- package/out/zql/src/ivm/filter.d.ts.map +1 -1
- package/out/zql/src/ivm/filter.js +4 -7
- package/out/zql/src/ivm/filter.js.map +1 -1
- package/out/zql/src/ivm/flipped-join.js +2 -2
- package/out/zql/src/ivm/flipped-join.js.map +1 -1
- package/out/zql/src/ivm/maybe-split-and-push-edit-change.d.ts +1 -1
- package/out/zql/src/ivm/maybe-split-and-push-edit-change.d.ts.map +1 -1
- package/out/zql/src/ivm/maybe-split-and-push-edit-change.js +4 -6
- package/out/zql/src/ivm/maybe-split-and-push-edit-change.js.map +1 -1
- package/out/zql/src/ivm/memory-source.d.ts +3 -15
- package/out/zql/src/ivm/memory-source.d.ts.map +1 -1
- package/out/zql/src/ivm/memory-source.js +19 -40
- package/out/zql/src/ivm/memory-source.js.map +1 -1
- package/out/zql/src/ivm/take.d.ts.map +1 -1
- package/out/zql/src/ivm/take.js +4 -3
- package/out/zql/src/ivm/take.js.map +1 -1
- package/out/zql/src/ivm/union-fan-in.d.ts.map +1 -1
- package/out/zql/src/ivm/union-fan-in.js +7 -9
- package/out/zql/src/ivm/union-fan-in.js.map +1 -1
- package/out/zql/src/ivm/view-apply-change.d.ts.map +1 -1
- package/out/zql/src/ivm/view-apply-change.js +4 -9
- package/out/zql/src/ivm/view-apply-change.js.map +1 -1
- package/out/zql/src/ivm/view.d.ts +0 -15
- package/out/zql/src/ivm/view.d.ts.map +1 -1
- package/out/zql/src/mutate/mutator-registry.d.ts.map +1 -1
- package/out/zql/src/mutate/mutator-registry.js +2 -2
- package/out/zql/src/mutate/mutator-registry.js.map +1 -1
- package/out/zql/src/query/query-delegate-base.d.ts +1 -9
- package/out/zql/src/query/query-delegate-base.d.ts.map +1 -1
- package/out/zql/src/query/query-delegate-base.js +36 -132
- package/out/zql/src/query/query-delegate-base.js.map +1 -1
- package/out/zql/src/query/query-delegate.d.ts +1 -50
- package/out/zql/src/query/query-delegate.d.ts.map +1 -1
- package/out/zql/src/query/query-impl.d.ts +14 -25
- package/out/zql/src/query/query-impl.d.ts.map +1 -1
- package/out/zql/src/query/query-impl.js +94 -414
- package/out/zql/src/query/query-impl.js.map +1 -1
- package/out/zql/src/query/query-internals.d.ts +11 -21
- package/out/zql/src/query/query-internals.d.ts.map +1 -1
- package/out/zql/src/query/query-internals.js.map +1 -1
- package/out/zql/src/query/query.d.ts +2 -11
- package/out/zql/src/query/query.d.ts.map +1 -1
- package/out/zql/src/query/runnable-query-impl.d.ts +2 -3
- package/out/zql/src/query/runnable-query-impl.d.ts.map +1 -1
- package/out/zql/src/query/runnable-query-impl.js +2 -23
- package/out/zql/src/query/runnable-query-impl.js.map +1 -1
- package/out/zql/src/query/typed-view.d.ts +1 -1
- package/out/zql/src/query/typed-view.d.ts.map +1 -1
- package/out/zqlite/src/db.d.ts +1 -9
- package/out/zqlite/src/db.d.ts.map +1 -1
- package/out/zqlite/src/db.js +2 -8
- package/out/zqlite/src/db.js.map +1 -1
- package/out/zqlite/src/query-builder.d.ts.map +1 -1
- package/out/zqlite/src/query-builder.js +1 -2
- package/out/zqlite/src/query-builder.js.map +1 -1
- package/out/zqlite/src/sqlite-stat-fanout.d.ts.map +1 -1
- package/out/zqlite/src/sqlite-stat-fanout.js +0 -1
- package/out/zqlite/src/sqlite-stat-fanout.js.map +1 -1
- package/out/zqlite/src/table-source.d.ts +1 -2
- package/out/zqlite/src/table-source.d.ts.map +1 -1
- package/out/zqlite/src/table-source.js +6 -12
- package/out/zqlite/src/table-source.js.map +1 -1
- package/package.json +3 -2
- package/out/replicache/src/dag/invalid-ref-count-error.d.ts +0 -12
- package/out/replicache/src/dag/invalid-ref-count-error.d.ts.map +0 -1
- package/out/replicache/src/dag/invalid-ref-count-error.js +0 -19
- package/out/replicache/src/dag/invalid-ref-count-error.js.map +0 -1
- package/out/shared/src/xxhash32.d.ts +0 -36
- package/out/shared/src/xxhash32.d.ts.map +0 -1
- package/out/shared/src/xxhash32.js +0 -51
- package/out/shared/src/xxhash32.js.map +0 -1
- package/out/zero-cache/src/db/index-predicate.d.ts +0 -4
- package/out/zero-cache/src/db/index-predicate.d.ts.map +0 -1
- package/out/zero-cache/src/db/index-predicate.js +0 -46
- package/out/zero-cache/src/db/index-predicate.js.map +0 -1
- package/out/zero-cache/src/services/change-source/pg/schema/index-predicate.d.ts +0 -19
- package/out/zero-cache/src/services/change-source/pg/schema/index-predicate.d.ts.map +0 -1
- package/out/zero-cache/src/services/change-source/pg/schema/index-predicate.js +0 -581
- package/out/zero-cache/src/services/change-source/pg/schema/index-predicate.js.map +0 -1
- package/out/zero-cache/src/services/litestream/litestream-checkpointer.js +0 -131
- package/out/zero-cache/src/services/litestream/litestream-checkpointer.js.map +0 -1
- package/out/zero-cache/src/services/litestream/litestream-controller.d.ts +0 -70
- package/out/zero-cache/src/services/litestream/litestream-controller.d.ts.map +0 -1
- package/out/zero-cache/src/services/litestream/litestream-controller.js +0 -101
- package/out/zero-cache/src/services/litestream/litestream-controller.js.map +0 -1
- package/out/zero-cache/src/services/profz.d.ts +0 -7
- package/out/zero-cache/src/services/profz.d.ts.map +0 -1
- package/out/zero-cache/src/services/profz.js +0 -103
- package/out/zero-cache/src/services/profz.js.map +0 -1
- package/out/zero-cache/src/services/view-syncer/hydration-budget.d.ts +0 -33
- package/out/zero-cache/src/services/view-syncer/hydration-budget.d.ts.map +0 -1
- package/out/zero-cache/src/services/view-syncer/hydration-budget.js +0 -62
- package/out/zero-cache/src/services/view-syncer/hydration-budget.js.map +0 -1
- package/out/zero-cache/src/services/view-syncer/hydration-circuit-breaker.d.ts +0 -51
- package/out/zero-cache/src/services/view-syncer/hydration-circuit-breaker.d.ts.map +0 -1
- package/out/zero-cache/src/services/view-syncer/hydration-circuit-breaker.js +0 -78
- package/out/zero-cache/src/services/view-syncer/hydration-circuit-breaker.js.map +0 -1
- package/out/zero-protocol/src/query-hash-visitor.d.ts +0 -81
- package/out/zero-protocol/src/query-hash-visitor.d.ts.map +0 -1
- package/out/zero-protocol/src/query-hash-visitor.js +0 -324
- package/out/zero-protocol/src/query-hash-visitor.js.map +0 -1
- package/out/zql/src/ivm/deferred-input.d.ts +0 -44
- package/out/zql/src/ivm/deferred-input.d.ts.map +0 -1
- package/out/zql/src/ivm/deferred-input.js +0 -89
- package/out/zql/src/ivm/deferred-input.js.map +0 -1
- package/out/zql/src/query/query-transitions.d.ts +0 -171
- package/out/zql/src/query/query-transitions.d.ts.map +0 -1
- package/out/zql/src/query/query-transitions.js +0 -207
- package/out/zql/src/query/query-transitions.js.map +0 -1
|
@@ -4,13 +4,14 @@ import { AbortError } from "../../../shared/src/abort-error.js";
|
|
|
4
4
|
import { sleep, sleepWithAbort } from "../../../shared/src/sleep.js";
|
|
5
5
|
import { parse } from "../../../shared/src/valita.js";
|
|
6
6
|
import "../../../replicache/src/deleted-clients.js";
|
|
7
|
+
import { localNavigator } from "../../../shared/src/navigator.js";
|
|
7
8
|
import { getKVStoreProvider } from "../../../replicache/src/get-kv-store-provider.js";
|
|
8
9
|
import { IDBDatabasesStore } from "../../../replicache/src/persist/idb-databases-store.js";
|
|
9
10
|
import { dropDatabase } from "../../../replicache/src/persist/collect-idb-databases.js";
|
|
10
11
|
import { must } from "../../../shared/src/must.js";
|
|
11
12
|
import { clientToServer } from "../../../zero-schema/src/name-mapper.js";
|
|
12
13
|
import { h64 } from "../../../shared/src/hash.js";
|
|
13
|
-
import {
|
|
14
|
+
import { getErrorMessage } from "../../../shared/src/error.js";
|
|
14
15
|
import { ClientNotFound, InvalidMessage } from "../../../zero-protocol/src/error-kind-enum.js";
|
|
15
16
|
import { ProtocolError } from "../../../zero-protocol/src/error.js";
|
|
16
17
|
import "../../../zero-protocol/src/client-schema.js";
|
|
@@ -19,15 +20,14 @@ import { isMutatorRegistry, iterateMutators } from "../../../zql/src/mutate/muta
|
|
|
19
20
|
import { createRunnableBuilder } from "../../../zql/src/query/create-builder.js";
|
|
20
21
|
import "../../../zql/src/query/query.js";
|
|
21
22
|
import { addContextToQuery } from "../../../zql/src/query/query-registry.js";
|
|
22
|
-
import { Closed, Connected, Connecting, Disconnected, Error as Error$1,
|
|
23
|
+
import { Closed, Connected, Connecting, Disconnected, Error as Error$1, NeedsAuth } from "./connection-status-enum.js";
|
|
23
24
|
import { getDocumentVisibilityWatcher } from "../../../shared/src/document-visible.js";
|
|
24
25
|
import { ReplicacheImpl } from "../../../replicache/src/replicache-impl.js";
|
|
25
26
|
import "../../../replicache/src/impl.js";
|
|
26
|
-
import { localNavigator } from "../../../shared/src/navigator.js";
|
|
27
27
|
import { promiseRace } from "../../../shared/src/promise-race.js";
|
|
28
28
|
import { emptyFunction } from "../../../shared/src/sentinels.js";
|
|
29
29
|
import { Subscribable } from "../../../shared/src/subscribable.js";
|
|
30
|
-
import { encodeSecProtocols } from "../../../zero-protocol/src/connect.js";
|
|
30
|
+
import { encodeSecProtocols, setFeatureFlags } from "../../../zero-protocol/src/connect.js";
|
|
31
31
|
import { CRUD, Custom } from "../../../zero-protocol/src/mutation-type-enum.js";
|
|
32
32
|
import { mapCRUD } from "../../../zero-protocol/src/mutation.js";
|
|
33
33
|
import { nullableVersionSchema } from "../../../zero-protocol/src/version.js";
|
|
@@ -38,7 +38,7 @@ import { isClientMetric } from "../../../zql/src/query/metrics-delegate.js";
|
|
|
38
38
|
import { nanoid } from "../util/nanoid.js";
|
|
39
39
|
import { ActiveClientsManager } from "./active-clients-manager.js";
|
|
40
40
|
import { AbruptClose, CleanClose, ClientClosed, ConnectTimeout, Hidden, Internal, InvalidMessage as InvalidMessage$1, NoSocketOrigin, PingTimeout, PullTimeout, UnexpectedBaseCookie } from "./client-error-kind-enum.js";
|
|
41
|
-
import { ClientError, NO_STATUS_TRANSITION, getBackoffParams, getErrorConnectionTransition, isClientError, isServerError, isZeroError } from "./error.js";
|
|
41
|
+
import { ClientError, NO_STATUS_TRANSITION, getBackoffParams, getErrorConnectionTransition, isAuthError, isClientError, isServerError, isZeroError } from "./error.js";
|
|
42
42
|
import { ConnectionManager, throwIfConnectionError } from "./connection-manager.js";
|
|
43
43
|
import { ConnectionImpl } from "./connection.js";
|
|
44
44
|
import { IVMSourceBranch } from "./ivm-branch.js";
|
|
@@ -90,11 +90,6 @@ var DEFAULT_DISCONNECT_TIMEOUT_MS = 60 * 1e3;
|
|
|
90
90
|
* consider it timed out.
|
|
91
91
|
*/
|
|
92
92
|
var CONNECT_TIMEOUT_MS = 1e4;
|
|
93
|
-
/**
|
|
94
|
-
* Setting up active-client tracking blocks the first connect attempt. Above
|
|
95
|
-
* this, say so.
|
|
96
|
-
*/
|
|
97
|
-
var SLOW_ACTIVE_CLIENTS_THRESHOLD_MS = 50;
|
|
98
93
|
var CHECK_CONNECTIVITY_ON_ERROR_FREQUENCY = 6;
|
|
99
94
|
var DEFAULT_QUERY_CHANGE_THROTTLE_MS = 10;
|
|
100
95
|
function convertOnUpdateNeededReason(reason) {
|
|
@@ -122,7 +117,7 @@ var serverAheadReloadReason = `Server reported that client is ahead of server. T
|
|
|
122
117
|
function onClientStateNotFoundServerReason(serverErrMsg) {
|
|
123
118
|
return `Server could not find state needed to synchronize this client. ${serverErrMsg}`;
|
|
124
119
|
}
|
|
125
|
-
var ON_CLIENT_STATE_NOT_FOUND_REASON_CLIENT = "The local persistent state needed to synchronize this client has been garbage collected
|
|
120
|
+
var ON_CLIENT_STATE_NOT_FOUND_REASON_CLIENT = "The local persistent state needed to synchronize this client has been garbage collected.";
|
|
126
121
|
var CLOSE_CODE_NORMAL = 1e3;
|
|
127
122
|
var Zero = class Zero {
|
|
128
123
|
version = version;
|
|
@@ -286,7 +281,7 @@ var Zero = class Zero {
|
|
|
286
281
|
})).toString(36);
|
|
287
282
|
const storageScopedUserID = userID ?? "__anonymous__";
|
|
288
283
|
const replicacheOptions = {
|
|
289
|
-
schemaVersion: `
|
|
284
|
+
schemaVersion: `51.${hash}`,
|
|
290
285
|
logLevel: logOptions.logLevel,
|
|
291
286
|
logSinks: [logOptions.logSink],
|
|
292
287
|
mutators: replicacheMutators,
|
|
@@ -301,13 +296,12 @@ var Zero = class Zero {
|
|
|
301
296
|
licenseKey: "zero-client-static-key",
|
|
302
297
|
kvStore
|
|
303
298
|
};
|
|
304
|
-
this.#visibilityWatcher = getDocumentVisibilityWatcher(getBrowserGlobal("document"), hiddenTabDisconnectDelay, this.#closeAbortController.signal);
|
|
305
299
|
this.#zeroContext = new ZeroContext(lc, this.#ivmMain, (ast, ttl, gotCallback) => {
|
|
306
300
|
if (enableLegacyQueries) return this.#queryManager.addLegacy(ast, ttl, gotCallback);
|
|
307
301
|
return emptyFunction;
|
|
308
302
|
}, (ast, customQueryID, ttl, gotCallback) => this.#queryManager.addCustom(ast, customQueryID, ttl, gotCallback), (ast, ttl) => {
|
|
309
303
|
if (enableLegacyQueries) this.#queryManager.updateLegacy(ast, ttl);
|
|
310
|
-
}, (customQueryID, ttl) => this.#queryManager.updateCustom(customQueryID, ttl), () => this.#queryManager.flushBatch(), batchViewUpdates, this.#addMetric, assertValidRunOptions
|
|
304
|
+
}, (customQueryID, ttl) => this.#queryManager.updateCustom(customQueryID, ttl), () => this.#queryManager.flushBatch(), batchViewUpdates, this.#addMetric, assertValidRunOptions);
|
|
311
305
|
this.query = createRunnableBuilder(this.#zeroContext, schema);
|
|
312
306
|
const rep = new ReplicacheImpl(replicacheOptions, {
|
|
313
307
|
enableClientGroupForking: false,
|
|
@@ -327,7 +321,7 @@ var Zero = class Zero {
|
|
|
327
321
|
this.#activeClientsManager = makeActiveClientsManager(rep.clientGroupID, this.clientID, this.#closeAbortController.signal, (clientID, clientGroupID) => this.#deleteClientsManager.onClientsDeleted([{
|
|
328
322
|
clientGroupID,
|
|
329
323
|
clientID
|
|
330
|
-
}])
|
|
324
|
+
}]));
|
|
331
325
|
const onUpdateNeededCallback = (reason) => {
|
|
332
326
|
if (onUpdateNeeded) onUpdateNeeded(reason);
|
|
333
327
|
else reloadWithReason(this.#lc, this.#reload, reason.type, updateNeededReloadReasonMessage(reason));
|
|
@@ -378,15 +372,15 @@ var Zero = class Zero {
|
|
|
378
372
|
});
|
|
379
373
|
this.#metrics.tags.push(`version:${this.version}`);
|
|
380
374
|
this.#pokeHandler = new PokeHandler(async (poke) => {
|
|
381
|
-
const socket = this.#socket;
|
|
382
375
|
await this.#rep.poke(poke);
|
|
383
|
-
|
|
376
|
+
this.#queryManager.markGotQueriesAuthoritative();
|
|
384
377
|
}, (e) => this.#onPokeError(e), rep.clientID, schema, this.#lc, this.#mutationTracker);
|
|
378
|
+
this.#visibilityWatcher = getDocumentVisibilityWatcher(getBrowserGlobal("document"), hiddenTabDisconnectDelay, this.#closeAbortController.signal);
|
|
385
379
|
this.#runLoop();
|
|
386
380
|
this.#expose();
|
|
387
381
|
}
|
|
388
382
|
#enableRefresh() {
|
|
389
|
-
return this.#forceEnableRefresh || !this.#connectionManager.is("connected") && !this.#connectionManager.is("connecting")
|
|
383
|
+
return this.#forceEnableRefresh || !this.#connectionManager.is("connected") && !this.#connectionManager.is("connecting");
|
|
390
384
|
}
|
|
391
385
|
#expose() {
|
|
392
386
|
const g = globalThis;
|
|
@@ -437,11 +431,8 @@ var Zero = class Zero {
|
|
|
437
431
|
* This function is useful when you want to populate the cache ahead of time,
|
|
438
432
|
* for example after login, to avoid a flash of loading screen on the next page.
|
|
439
433
|
*
|
|
440
|
-
* Returns an object with
|
|
441
|
-
* - `complete`: a Promise that resolves when the
|
|
442
|
-
* data on this connection
|
|
443
|
-
* - `cached`: a Promise that resolves as soon as the store holds a
|
|
444
|
-
* server-confirmed result, from this connection or a previous one
|
|
434
|
+
* Returns an object with two properties:
|
|
435
|
+
* - `complete`: a Promise that resolves when the data is loaded
|
|
445
436
|
* - `cleanup`: a function that can be called to cancel the preload
|
|
446
437
|
*
|
|
447
438
|
* @example
|
|
@@ -458,9 +449,7 @@ var Zero = class Zero {
|
|
|
458
449
|
* Executes a query once and returns the results.
|
|
459
450
|
*
|
|
460
451
|
* By default, runs immediately with whatever data is available locally.
|
|
461
|
-
* Use `{type: 'complete'}` to wait for fresh results from the server
|
|
462
|
-
* `{type: 'cached'}` to accept a result the server confirmed on a previous
|
|
463
|
-
* connection when the store holds one.
|
|
452
|
+
* Use `{type: 'complete'}` to wait for fresh results from the server.
|
|
464
453
|
*
|
|
465
454
|
* @param query - The query to execute
|
|
466
455
|
* @param runOptions - Options controlling query execution
|
|
@@ -505,16 +494,6 @@ var Zero = class Zero {
|
|
|
505
494
|
return this.#rep.idbName;
|
|
506
495
|
}
|
|
507
496
|
/**
|
|
508
|
-
* The KV store backing this instance of Zero. Its `kind` is the storage
|
|
509
|
-
* currently in use: `'idb'`, `'mem'`, `'op-sqlite'`, `'expo-sqlite'`, or
|
|
510
|
-
* whatever a custom store reports. An IndexedDB store that fails to open
|
|
511
|
-
* falls back to memory, so `kind` can change from `'idb'` to `'mem'` after
|
|
512
|
-
* the first read or write.
|
|
513
|
-
*/
|
|
514
|
-
get kvStore() {
|
|
515
|
-
return this.#rep.kvStore;
|
|
516
|
-
}
|
|
517
|
-
/**
|
|
518
497
|
* The schema version of the data understood by this application.
|
|
519
498
|
* See [[ZeroOptions.schemaVersion]].
|
|
520
499
|
*/
|
|
@@ -934,11 +913,11 @@ var Zero = class Zero {
|
|
|
934
913
|
const clientGroupID = await this.clientGroupID;
|
|
935
914
|
this.#addConnectEvent(lc, attempt, "initializing active clients");
|
|
936
915
|
const activeClientsManager = await this.#activeClientsManager;
|
|
937
|
-
if (signal.aborted) throw
|
|
916
|
+
if (signal.aborted) throw signal.reason;
|
|
938
917
|
const [ws, initConnectionQueries, deletedClients] = await createSocket(this.#rep, this.#queryManager, this.#deleteClientsManager, socketOrigin, connectCookie, this.clientID, clientGroupID, this.#clientSchema, this.userID, fromReplicacheAuthToken(this.#rep.auth), this.#lastMutationIDReceived, wsid, this.#options.logLevel === "debug", lc, this.#options.mutateURL, this.#options.mutateHeaders, this.#options.queryURL ?? this.#options.getQueriesURL, this.#options.queryHeaders, additionalConnectParams, activeClientsManager, this.#options.maxHeaderLength, (event) => this.#addConnectEvent(lc, attempt, event));
|
|
939
918
|
if (signal.aborted) {
|
|
940
919
|
ws.close();
|
|
941
|
-
throw
|
|
920
|
+
throw signal.reason;
|
|
942
921
|
}
|
|
943
922
|
if (this.closed) {
|
|
944
923
|
ws.close();
|
|
@@ -954,52 +933,17 @@ var Zero = class Zero {
|
|
|
954
933
|
this.#socketResolver.resolve(ws);
|
|
955
934
|
this.#addConnectEvent(lc, attempt, "waiting for the server acknowledgement");
|
|
956
935
|
lc.debug?.("Waiting for connection to be acknowledged");
|
|
957
|
-
attempt.clearTimeout?.();
|
|
958
|
-
attempt.clearTimeout = this.#armConnectTimeout(lc, attempt, "ack");
|
|
959
936
|
await attempt.connected.promise;
|
|
960
|
-
if (signal.aborted) throw
|
|
937
|
+
if (signal.aborted) throw signal.reason;
|
|
961
938
|
this.#mutationTracker.onConnected(this.#lastMutationIDReceived);
|
|
962
939
|
this.#rep.push().catch(() => {});
|
|
963
940
|
}
|
|
964
|
-
/**
|
|
965
|
-
* Starts the deadline for one phase of a connection attempt, and returns a
|
|
966
|
-
* function that cancels it.
|
|
967
|
-
*
|
|
968
|
-
* The two phases are measured separately because they fail for unrelated
|
|
969
|
-
* reasons. `setup` covers local work — reading the cookie, the client group
|
|
970
|
-
* ID and the active clients from IDB, then preparing and opening the socket
|
|
971
|
-
* — whose duration says nothing about whether the server is reachable.
|
|
972
|
-
* `ack` covers the wait for the server's response. Running them on one
|
|
973
|
-
* budget meant a slow cold boot spent the server's time before the socket
|
|
974
|
-
* existed, and reported a healthy server as unreachable.
|
|
975
|
-
*/
|
|
976
|
-
#armConnectTimeout(lc, attempt, phase) {
|
|
977
|
-
const { signal } = attempt.controller;
|
|
978
|
-
if (signal.aborted) return () => {};
|
|
979
|
-
const timeoutID = setTimeout(() => {
|
|
980
|
-
lc.debug?.("Connection attempt timed out");
|
|
981
|
-
this.#disconnect(lc, new ClientError({
|
|
982
|
-
kind: ConnectTimeout,
|
|
983
|
-
message: (phase === "setup" ? `Connection setup timed out after ${CONNECT_TIMEOUT_MS / 1e3} seconds. ` : `Server did not acknowledge the connection within ${CONNECT_TIMEOUT_MS / 1e3} seconds. `) + `Connect events: ${JSON.stringify(attempt.events)}`
|
|
984
|
-
}));
|
|
985
|
-
}, CONNECT_TIMEOUT_MS);
|
|
986
|
-
const clear = () => {
|
|
987
|
-
clearTimeout(timeoutID);
|
|
988
|
-
signal.removeEventListener("abort", clear);
|
|
989
|
-
};
|
|
990
|
-
signal.addEventListener("abort", clear, { once: true });
|
|
991
|
-
return clear;
|
|
992
|
-
}
|
|
993
941
|
#addConnectEvent(lc, attempt, event) {
|
|
994
942
|
attempt.events.push([/* @__PURE__ */ new Date(), event]);
|
|
995
943
|
lc.debug?.("Connect event", event);
|
|
996
944
|
}
|
|
997
945
|
#disconnect(lc, reason, closeCode) {
|
|
998
|
-
|
|
999
|
-
if (attempt) {
|
|
1000
|
-
attempt.abortReason = reason;
|
|
1001
|
-
attempt.controller.abort(reason);
|
|
1002
|
-
}
|
|
946
|
+
this.#currentConnectAttempt?.controller.abort(reason);
|
|
1003
947
|
if (shouldReportConnectError(reason)) {
|
|
1004
948
|
this.#connectErrorCount++;
|
|
1005
949
|
this.#metrics.lastConnectError.set(getLastConnectErrorValue(reason));
|
|
@@ -1026,7 +970,6 @@ var Zero = class Zero {
|
|
|
1026
970
|
case Closed:
|
|
1027
971
|
lc.debug?.("disconnect() called while closed");
|
|
1028
972
|
return;
|
|
1029
|
-
case Initializing:
|
|
1030
973
|
case Disconnected:
|
|
1031
974
|
case Connecting:
|
|
1032
975
|
case NeedsAuth:
|
|
@@ -1170,26 +1113,6 @@ var Zero = class Zero {
|
|
|
1170
1113
|
};
|
|
1171
1114
|
const { auth } = this.#options;
|
|
1172
1115
|
this.#setAuth(auth);
|
|
1173
|
-
const { signal: closeSignal } = this.#closeAbortController;
|
|
1174
|
-
const closed = resolver();
|
|
1175
|
-
const onClose = () => closed.resolve();
|
|
1176
|
-
closeSignal.addEventListener("abort", onClose, { once: true });
|
|
1177
|
-
try {
|
|
1178
|
-
if ((await promiseRace({
|
|
1179
|
-
initialized: Promise.all([
|
|
1180
|
-
this.#rep.cookie,
|
|
1181
|
-
this.clientGroupID,
|
|
1182
|
-
this.#activeClientsManager
|
|
1183
|
-
]),
|
|
1184
|
-
closed: closed.promise
|
|
1185
|
-
})).key === "closed") {
|
|
1186
|
-
this.#lc.debug?.("Closed while initializing, not connecting");
|
|
1187
|
-
return;
|
|
1188
|
-
}
|
|
1189
|
-
} catch {} finally {
|
|
1190
|
-
closeSignal.removeEventListener("abort", onClose);
|
|
1191
|
-
}
|
|
1192
|
-
this.#connectionManager.initialized();
|
|
1193
1116
|
let backoffMs;
|
|
1194
1117
|
let additionalConnectParams;
|
|
1195
1118
|
while (this.#connectionManager.shouldContinueRunLoop()) {
|
|
@@ -1223,10 +1146,16 @@ var Zero = class Zero {
|
|
|
1223
1146
|
};
|
|
1224
1147
|
this.#currentConnectAttempt = attempt;
|
|
1225
1148
|
this.#addConnectEvent(lc, attempt, "starting the connection");
|
|
1226
|
-
attempt.clearTimeout = this.#armConnectTimeout(lc, attempt, "setup");
|
|
1227
1149
|
const canceled = resolver();
|
|
1228
|
-
const abortHandler = () => canceled.reject(attempt.
|
|
1150
|
+
const abortHandler = () => canceled.reject(attempt.controller.signal.reason);
|
|
1229
1151
|
attempt.controller.signal.addEventListener("abort", abortHandler, { once: true });
|
|
1152
|
+
const timeoutID = setTimeout(() => {
|
|
1153
|
+
lc.debug?.("Connection attempt timed out");
|
|
1154
|
+
this.#disconnect(lc, new ClientError({
|
|
1155
|
+
kind: ConnectTimeout,
|
|
1156
|
+
message: `Connection attempt timed out after ${CONNECT_TIMEOUT_MS / 1e3} seconds. Connect events: ${JSON.stringify(attempt.events)}`
|
|
1157
|
+
}));
|
|
1158
|
+
}, CONNECT_TIMEOUT_MS);
|
|
1230
1159
|
try {
|
|
1231
1160
|
try {
|
|
1232
1161
|
await Promise.race([this.#connectAttempt(lc, additionalConnectParams, attempt), canceled.promise]);
|
|
@@ -1243,7 +1172,7 @@ var Zero = class Zero {
|
|
|
1243
1172
|
ready.resolve();
|
|
1244
1173
|
additionalConnectParams = void 0;
|
|
1245
1174
|
} finally {
|
|
1246
|
-
|
|
1175
|
+
clearTimeout(timeoutID);
|
|
1247
1176
|
attempt.controller.signal.removeEventListener("abort", abortHandler);
|
|
1248
1177
|
if (this.#currentConnectAttempt === attempt) this.#currentConnectAttempt = void 0;
|
|
1249
1178
|
}
|
|
@@ -1296,38 +1225,27 @@ var Zero = class Zero {
|
|
|
1296
1225
|
})).key === "connectRequest") this.#connectionManager.resumeFromConnectRequest();
|
|
1297
1226
|
break;
|
|
1298
1227
|
case Error$1:
|
|
1299
|
-
lc.info?.(`Run loop paused in error state. Call zero.connection.connect() to resume.`, currentState.reason
|
|
1228
|
+
lc.info?.(`Run loop paused in error state. Call zero.connection.connect() to resume.`, currentState.reason);
|
|
1300
1229
|
if ((await promiseRace({
|
|
1301
1230
|
connectRequest: this.#connectionManager.waitForConnectRequest(),
|
|
1302
1231
|
stateChange: this.#connectionManager.waitForStateChange()
|
|
1303
1232
|
})).key === "connectRequest") this.#connectionManager.resumeFromConnectRequest();
|
|
1304
1233
|
break;
|
|
1305
1234
|
case Closed: break;
|
|
1306
|
-
case Initializing: unreachable();
|
|
1307
1235
|
default: unreachable(currentState);
|
|
1308
1236
|
}
|
|
1309
1237
|
} catch (ex) {
|
|
1310
1238
|
const isClientClosedError = isClientError(ex) && ex.kind === "ClientClosed";
|
|
1311
|
-
const transition = getErrorConnectionTransition(ex);
|
|
1312
1239
|
if (!this.#connectionManager.is("connected") && !isClientClosedError) {
|
|
1313
|
-
|
|
1314
|
-
switch (transition.status) {
|
|
1315
|
-
case Error$1:
|
|
1316
|
-
level = "error";
|
|
1317
|
-
break;
|
|
1318
|
-
case Disconnected:
|
|
1319
|
-
case Closed:
|
|
1320
|
-
level = "info";
|
|
1321
|
-
break;
|
|
1322
|
-
default: level = "warn";
|
|
1323
|
-
}
|
|
1240
|
+
const level = isAuthError(ex) ? "warn" : "error";
|
|
1324
1241
|
const kind = isServerError(ex) ? ex.kind : "Unknown Error";
|
|
1325
|
-
lc[level]?.("Failed to connect", ex,
|
|
1242
|
+
lc[level]?.("Failed to connect", ex, kind, {
|
|
1326
1243
|
lmid: this.#lastMutationIDReceived,
|
|
1327
1244
|
baseCookie: this.#connectCookie
|
|
1328
1245
|
});
|
|
1329
1246
|
}
|
|
1330
1247
|
lc.debug?.("Got an exception in the run loop", "state:", this.#connectionManager.state, "exception:", ex);
|
|
1248
|
+
const transition = getErrorConnectionTransition(ex);
|
|
1331
1249
|
let sleepMs = void 0;
|
|
1332
1250
|
switch (transition.status) {
|
|
1333
1251
|
case NO_STATUS_TRANSITION: {
|
|
@@ -1586,7 +1504,7 @@ async function createSocket(rep, queryManager, deleteClientsManager, socketOrigi
|
|
|
1586
1504
|
];
|
|
1587
1505
|
}
|
|
1588
1506
|
async function createConnectionURL(socketOrigin, clientID, clientGroupID, userID, baseCookie, lmid, wsid, rep, debugPerf, additionalConnectParams, lc) {
|
|
1589
|
-
const url = new URL(appendPath(socketOrigin, `/sync/
|
|
1507
|
+
const url = new URL(appendPath(socketOrigin, `/sync/v51/connect`));
|
|
1590
1508
|
const { searchParams } = url;
|
|
1591
1509
|
searchParams.set("clientID", clientID);
|
|
1592
1510
|
searchParams.set("clientGroupID", clientGroupID);
|
|
@@ -1597,6 +1515,7 @@ async function createConnectionURL(socketOrigin, clientID, clientGroupID, userID
|
|
|
1597
1515
|
searchParams.set("wsid", wsid);
|
|
1598
1516
|
searchParams.set("profileID", await rep.profileID);
|
|
1599
1517
|
if (debugPerf) searchParams.set("debugPerf", true.toString());
|
|
1518
|
+
setFeatureFlags(searchParams);
|
|
1600
1519
|
if (additionalConnectParams) for (const k in additionalConnectParams) if (searchParams.has(k)) lc.warn?.(`skipping conflicting parameter ${k}`);
|
|
1601
1520
|
else searchParams.set(k, additionalConnectParams[k]);
|
|
1602
1521
|
lc.info?.("Connecting to", url.toString());
|
|
@@ -1631,14 +1550,8 @@ function addWebSocketIDToLogContext(wsid, lc) {
|
|
|
1631
1550
|
return lc.withContext("wsid", wsid);
|
|
1632
1551
|
}
|
|
1633
1552
|
function assertValidRunOptions(_options) {}
|
|
1634
|
-
async function makeActiveClientsManager(clientGroupID, clientID, signal, onDelete
|
|
1635
|
-
const
|
|
1636
|
-
const start = performance.now();
|
|
1637
|
-
const manager = await ActiveClientsManager.create(groupID, clientID, signal);
|
|
1638
|
-
const elapsed = performance.now() - start;
|
|
1639
|
-
const locks = getBrowserGlobal("navigator")?.locks ? "native" : "fallback";
|
|
1640
|
-
if (elapsed > SLOW_ACTIVE_CLIENTS_THRESHOLD_MS) lc.warn?.(`Initializing active clients took ${Math.round(elapsed)}ms`, { locks });
|
|
1641
|
-
else lc.debug?.("Initialized active clients in", Math.round(elapsed), "ms", { locks });
|
|
1553
|
+
async function makeActiveClientsManager(clientGroupID, clientID, signal, onDelete) {
|
|
1554
|
+
const manager = await ActiveClientsManager.create(await clientGroupID, clientID, signal);
|
|
1642
1555
|
manager.onDelete = onDelete;
|
|
1643
1556
|
return manager;
|
|
1644
1557
|
}
|