@rocicorp/zero 1.10.0-canary.21 → 1.10.0-canary.23
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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/dag/gc.d.ts.map +1 -1
- package/out/replicache/src/dag/gc.js +2 -1
- package/out/replicache/src/dag/gc.js.map +1 -1
- package/out/replicache/src/dag/invalid-ref-count-error.d.ts +12 -0
- package/out/replicache/src/dag/invalid-ref-count-error.d.ts.map +1 -0
- package/out/replicache/src/dag/invalid-ref-count-error.js +19 -0
- package/out/replicache/src/dag/invalid-ref-count-error.js.map +1 -0
- package/out/replicache/src/dag/store-impl.d.ts +12 -2
- package/out/replicache/src/dag/store-impl.d.ts.map +1 -1
- package/out/replicache/src/dag/store-impl.js +22 -8
- package/out/replicache/src/dag/store-impl.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 +1 -1
- package/out/replicache/src/kv/expo-sqlite/store.js.map +1 -1
- package/out/replicache/src/kv/idb-store-with-mem-fallback.d.ts +15 -5
- 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 +9 -0
- package/out/replicache/src/kv/idb-store.d.ts.map +1 -1
- package/out/replicache/src/kv/idb-store.js +14 -2
- package/out/replicache/src/kv/idb-store.js.map +1 -1
- package/out/replicache/src/kv/mem-store.d.ts +1 -0
- package/out/replicache/src/kv/mem-store.d.ts.map +1 -1
- package/out/replicache/src/kv/mem-store.js +3 -0
- 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 +2 -1
- package/out/replicache/src/kv/sqlite-store.d.ts.map +1 -1
- package/out/replicache/src/kv/sqlite-store.js +6 -1
- package/out/replicache/src/kv/sqlite-store.js.map +1 -1
- package/out/replicache/src/kv/store.d.ts +6 -0
- package/out/replicache/src/kv/store.d.ts.map +1 -1
- package/out/replicache/src/persist/collect-idb-databases.d.ts +10 -5
- package/out/replicache/src/persist/collect-idb-databases.d.ts.map +1 -1
- package/out/replicache/src/persist/collect-idb-databases.js +16 -9
- package/out/replicache/src/persist/collect-idb-databases.js.map +1 -1
- package/out/replicache/src/replicache-impl.d.ts +14 -3
- package/out/replicache/src/replicache-impl.d.ts.map +1 -1
- package/out/replicache/src/replicache-impl.js +104 -9
- package/out/replicache/src/replicache-impl.js.map +1 -1
- package/out/shared/src/arrays.js +1 -15
- package/out/shared/src/arrays.js.map +1 -1
- package/out/shared/src/hash.d.ts +1 -0
- package/out/shared/src/hash.d.ts.map +1 -1
- package/out/shared/src/hash.js +10 -28
- package/out/shared/src/hash.js.map +1 -1
- package/out/shared/src/iterables.d.ts +2 -0
- package/out/shared/src/iterables.d.ts.map +1 -1
- package/out/shared/src/iterables.js +18 -1
- 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/ring-buffer.d.ts +8 -0
- package/out/shared/src/ring-buffer.d.ts.map +1 -1
- package/out/shared/src/ring-buffer.js +22 -1
- package/out/shared/src/ring-buffer.js.map +1 -1
- package/out/shared/src/xxhash32.d.ts +36 -0
- package/out/shared/src/xxhash32.d.ts.map +1 -0
- package/out/shared/src/xxhash32.js +51 -0
- package/out/shared/src/xxhash32.js.map +1 -0
- package/out/z2s/src/compiler.js +1 -1
- package/out/zero/package.js +1 -1
- 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 +8 -0
- package/out/zero-cache/src/config/zero-config.d.ts.map +1 -1
- package/out/zero-cache/src/config/zero-config.js +28 -1
- 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/server/change-streamer.d.ts.map +1 -1
- package/out/zero-cache/src/server/change-streamer.js +11 -3
- package/out/zero-cache/src/server/change-streamer.js.map +1 -1
- package/out/zero-cache/src/server/inspector-delegate.d.ts +18 -2
- package/out/zero-cache/src/server/inspector-delegate.d.ts.map +1 -1
- package/out/zero-cache/src/server/inspector-delegate.js +23 -9
- 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 +8 -1
- package/out/zero-cache/src/server/main.js.map +1 -1
- package/out/zero-cache/src/server/mutator.js +2 -0
- 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 +2 -0
- 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 -0
- 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 +3 -0
- 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 +2 -0
- 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 +3 -2
- 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 +14 -1
- 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 +15 -3
- 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/initial-sync.js +1 -1
- package/out/zero-cache/src/services/change-streamer/change-streamer-http.d.ts +3 -0
- 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 +3 -1
- package/out/zero-cache/src/services/change-streamer/change-streamer-http.js.map +1 -1
- package/out/zero-cache/src/services/mutagen/mutagen.d.ts +5 -0
- package/out/zero-cache/src/services/mutagen/mutagen.d.ts.map +1 -1
- package/out/zero-cache/src/services/mutagen/mutagen.js +7 -1
- package/out/zero-cache/src/services/mutagen/mutagen.js.map +1 -1
- package/out/zero-cache/src/services/mutagen/pusher.js +3 -2
- package/out/zero-cache/src/services/mutagen/pusher.js.map +1 -1
- package/out/zero-cache/src/services/profz.d.ts +7 -0
- package/out/zero-cache/src/services/profz.d.ts.map +1 -0
- package/out/zero-cache/src/services/profz.js +103 -0
- package/out/zero-cache/src/services/profz.js.map +1 -0
- package/out/zero-cache/src/services/run-ast.d.ts +12 -0
- package/out/zero-cache/src/services/run-ast.d.ts.map +1 -1
- package/out/zero-cache/src/services/run-ast.js +27 -15
- 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 +45 -0
- package/out/zero-cache/src/services/view-syncer/cvr.d.ts.map +1 -1
- package/out/zero-cache/src/services/view-syncer/cvr.js +133 -1
- 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 +14 -1
- 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 +30 -4
- package/out/zero-cache/src/services/view-syncer/drain-coordinator.js.map +1 -1
- package/out/zero-cache/src/services/view-syncer/hydration-budget.d.ts +33 -0
- package/out/zero-cache/src/services/view-syncer/hydration-budget.d.ts.map +1 -0
- package/out/zero-cache/src/services/view-syncer/hydration-budget.js +62 -0
- package/out/zero-cache/src/services/view-syncer/hydration-budget.js.map +1 -0
- package/out/zero-cache/src/services/view-syncer/hydration-circuit-breaker.d.ts +51 -0
- package/out/zero-cache/src/services/view-syncer/hydration-circuit-breaker.d.ts.map +1 -0
- package/out/zero-cache/src/services/view-syncer/hydration-circuit-breaker.js +78 -0
- package/out/zero-cache/src/services/view-syncer/hydration-circuit-breaker.js.map +1 -0
- 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 +2 -1
- 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 +33 -18
- 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 +4 -1
- package/out/zero-cache/src/services/view-syncer/snapshotter.d.ts.map +1 -1
- package/out/zero-cache/src/services/view-syncer/snapshotter.js +9 -3
- 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 +11 -1
- 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 +470 -90
- package/out/zero-cache/src/services/view-syncer/view-syncer.js.map +1 -1
- package/out/zero-cache/src/types/processes.d.ts +32 -0
- package/out/zero-cache/src/types/processes.d.ts.map +1 -1
- package/out/zero-cache/src/types/processes.js +43 -4
- package/out/zero-cache/src/types/processes.js.map +1 -1
- package/out/zero-cache/src/types/profiler.d.ts +12 -0
- package/out/zero-cache/src/types/profiler.d.ts.map +1 -1
- package/out/zero-cache/src/types/profiler.js +46 -1
- package/out/zero-cache/src/types/profiler.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 +21 -16
- 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 +10 -1
- package/out/zero-cache/src/workers/syncer.js.map +1 -1
- package/out/zero-client/src/client/connection-manager.d.ts +20 -0
- package/out/zero-client/src/client/connection-manager.d.ts.map +1 -1
- package/out/zero-client/src/client/connection-manager.js +32 -14
- package/out/zero-client/src/client/connection-manager.js.map +1 -1
- package/out/zero-client/src/client/connection-status-enum.d.ts +2 -0
- package/out/zero-client/src/client/connection-status-enum.d.ts.map +1 -1
- package/out/zero-client/src/client/connection-status-enum.js +3 -1
- package/out/zero-client/src/client/connection-status-enum.js.map +1 -1
- package/out/zero-client/src/client/connection.d.ts +6 -0
- package/out/zero-client/src/client/connection.d.ts.map +1 -1
- package/out/zero-client/src/client/connection.js +2 -1
- package/out/zero-client/src/client/connection.js.map +1 -1
- package/out/zero-client/src/client/context.d.ts +22 -12
- package/out/zero-client/src/client/context.d.ts.map +1 -1
- package/out/zero-client/src/client/context.js +92 -25
- 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/ivm-branch.d.ts.map +1 -1
- package/out/zero-client/src/client/ivm-branch.js +20 -3
- package/out/zero-client/src/client/ivm-branch.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 +2 -1
- package/out/zero-client/src/client/mutator-proxy.js.map +1 -1
- package/out/zero-client/src/client/options.d.ts +3 -0
- 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 +2 -0
- package/out/zero-client/src/client/query-manager.d.ts.map +1 -1
- package/out/zero-client/src/client/query-manager.js +48 -9
- 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.map +1 -1
- package/out/zero-client/src/client/zero-rep.js +1 -1
- package/out/zero-client/src/client/zero-rep.js.map +1 -1
- package/out/zero-client/src/client/zero.d.ts +18 -3
- package/out/zero-client/src/client/zero.d.ts.map +1 -1
- package/out/zero-client/src/client/zero.js +61 -14
- package/out/zero-client/src/client/zero.js.map +1 -1
- package/out/zero-client/src/types/query-result.d.ts +2 -0
- package/out/zero-client/src/types/query-result.d.ts.map +1 -1
- package/out/zero-protocol/src/ast.d.ts +64 -1
- package/out/zero-protocol/src/ast.d.ts.map +1 -1
- package/out/zero-protocol/src/ast.js +223 -51
- package/out/zero-protocol/src/ast.js.map +1 -1
- package/out/zero-protocol/src/error.d.ts +1 -1
- package/out/zero-protocol/src/query-hash-visitor.d.ts +81 -0
- package/out/zero-protocol/src/query-hash-visitor.d.ts.map +1 -0
- package/out/zero-protocol/src/query-hash-visitor.js +324 -0
- package/out/zero-protocol/src/query-hash-visitor.js.map +1 -0
- package/out/zero-protocol/src/query-hash.d.ts +7 -2
- package/out/zero-protocol/src/query-hash.d.ts.map +1 -1
- package/out/zero-protocol/src/query-hash.js +12 -9
- package/out/zero-protocol/src/query-hash.js.map +1 -1
- package/out/zero-react/src/use-query.d.ts +5 -4
- package/out/zero-react/src/use-query.d.ts.map +1 -1
- package/out/zero-react/src/use-query.js +86 -9
- package/out/zero-react/src/use-query.js.map +1 -1
- package/out/zero-solid/src/solid-view.d.ts +17 -0
- package/out/zero-solid/src/solid-view.d.ts.map +1 -1
- package/out/zero-solid/src/solid-view.js +39 -1
- package/out/zero-solid/src/solid-view.js.map +1 -1
- package/out/zero-solid/src/use-query.js +5 -3
- package/out/zero-solid/src/use-query.js.map +1 -1
- package/out/zql/src/builder/debug-delegate.d.ts +6 -1
- package/out/zql/src/builder/debug-delegate.d.ts.map +1 -1
- package/out/zql/src/builder/debug-delegate.js +14 -2
- package/out/zql/src/builder/debug-delegate.js.map +1 -1
- package/out/zql/src/ivm/array-view.d.ts +29 -0
- package/out/zql/src/ivm/array-view.d.ts.map +1 -1
- package/out/zql/src/ivm/array-view.js +58 -9
- 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 +5 -3
- package/out/zql/src/ivm/cap.js.map +1 -1
- package/out/zql/src/ivm/deferred-input.d.ts.map +1 -1
- package/out/zql/src/ivm/deferred-input.js +3 -2
- package/out/zql/src/ivm/deferred-input.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 +6 -5
- 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 +10 -8
- 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 +7 -4
- 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 +6 -4
- package/out/zql/src/ivm/maybe-split-and-push-edit-change.js.map +1 -1
- package/out/zql/src/ivm/memory-source.d.ts +15 -3
- package/out/zql/src/ivm/memory-source.d.ts.map +1 -1
- package/out/zql/src/ivm/memory-source.js +35 -9
- 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 +3 -4
- 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 +9 -7
- 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 +3 -3
- package/out/zql/src/ivm/view-apply-change.js.map +1 -1
- package/out/zql/src/ivm/view.d.ts +15 -0
- 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 +4 -2
- package/out/zql/src/query/query-delegate-base.d.ts.map +1 -1
- package/out/zql/src/query/query-delegate-base.js +69 -36
- package/out/zql/src/query/query-delegate-base.js.map +1 -1
- package/out/zql/src/query/query-delegate.d.ts +33 -6
- package/out/zql/src/query/query-delegate.d.ts.map +1 -1
- package/out/zql/src/query/query-impl.d.ts +25 -14
- package/out/zql/src/query/query-impl.d.ts.map +1 -1
- package/out/zql/src/query/query-impl.js +414 -94
- package/out/zql/src/query/query-impl.js.map +1 -1
- package/out/zql/src/query/query-internals.d.ts +21 -11
- 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-transitions.d.ts +171 -0
- package/out/zql/src/query/query-transitions.d.ts.map +1 -0
- package/out/zql/src/query/query-transitions.js +207 -0
- package/out/zql/src/query/query-transitions.js.map +1 -0
- package/out/zql/src/query/query.d.ts +11 -2
- package/out/zql/src/query/query.d.ts.map +1 -1
- package/out/zql/src/query/runnable-query-impl.d.ts +3 -2
- package/out/zql/src/query/runnable-query-impl.d.ts.map +1 -1
- package/out/zql/src/query/runnable-query-impl.js +23 -2
- 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 +9 -1
- package/out/zqlite/src/db.d.ts.map +1 -1
- package/out/zqlite/src/db.js +8 -2
- package/out/zqlite/src/db.js.map +1 -1
- package/out/zqlite/src/table-source.d.ts +1 -0
- package/out/zqlite/src/table-source.d.ts.map +1 -1
- package/out/zqlite/src/table-source.js +10 -5
- package/out/zqlite/src/table-source.js.map +1 -1
- package/package.json +1 -1
|
@@ -4,7 +4,6 @@ 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";
|
|
8
7
|
import { getKVStoreProvider } from "../../../replicache/src/get-kv-store-provider.js";
|
|
9
8
|
import { IDBDatabasesStore } from "../../../replicache/src/persist/idb-databases-store.js";
|
|
10
9
|
import { dropDatabase } from "../../../replicache/src/persist/collect-idb-databases.js";
|
|
@@ -20,10 +19,11 @@ import { isMutatorRegistry, iterateMutators } from "../../../zql/src/mutate/muta
|
|
|
20
19
|
import { createRunnableBuilder } from "../../../zql/src/query/create-builder.js";
|
|
21
20
|
import "../../../zql/src/query/query.js";
|
|
22
21
|
import { addContextToQuery } from "../../../zql/src/query/query-registry.js";
|
|
23
|
-
import { Closed, Connected, Connecting, Disconnected, Error as Error$1, NeedsAuth } from "./connection-status-enum.js";
|
|
22
|
+
import { Closed, Connected, Connecting, Disconnected, Error as Error$1, Initializing, NeedsAuth } from "./connection-status-enum.js";
|
|
24
23
|
import { getDocumentVisibilityWatcher } from "../../../shared/src/document-visible.js";
|
|
25
24
|
import { ReplicacheImpl } from "../../../replicache/src/replicache-impl.js";
|
|
26
25
|
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";
|
|
@@ -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,
|
|
41
|
+
import { ClientError, NO_STATUS_TRANSITION, getBackoffParams, getErrorConnectionTransition, 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";
|
|
@@ -122,7 +122,7 @@ var serverAheadReloadReason = `Server reported that client is ahead of server. T
|
|
|
122
122
|
function onClientStateNotFoundServerReason(serverErrMsg) {
|
|
123
123
|
return `Server could not find state needed to synchronize this client. ${serverErrMsg}`;
|
|
124
124
|
}
|
|
125
|
-
var ON_CLIENT_STATE_NOT_FOUND_REASON_CLIENT = "The local persistent state needed to synchronize this client has been garbage collected.";
|
|
125
|
+
var ON_CLIENT_STATE_NOT_FOUND_REASON_CLIENT = "The local persistent state needed to synchronize this client has been garbage collected or was found to be corrupt.";
|
|
126
126
|
var CLOSE_CODE_NORMAL = 1e3;
|
|
127
127
|
var Zero = class Zero {
|
|
128
128
|
version = version;
|
|
@@ -301,13 +301,13 @@ var Zero = class Zero {
|
|
|
301
301
|
licenseKey: "zero-client-static-key",
|
|
302
302
|
kvStore
|
|
303
303
|
};
|
|
304
|
+
this.#visibilityWatcher = getDocumentVisibilityWatcher(getBrowserGlobal("document"), hiddenTabDisconnectDelay, this.#closeAbortController.signal);
|
|
304
305
|
this.#zeroContext = new ZeroContext(lc, this.#ivmMain, (ast, ttl, gotCallback) => {
|
|
305
306
|
if (enableLegacyQueries) return this.#queryManager.addLegacy(ast, ttl, gotCallback);
|
|
306
307
|
return emptyFunction;
|
|
307
308
|
}, (ast, customQueryID, ttl, gotCallback) => this.#queryManager.addCustom(ast, customQueryID, ttl, gotCallback), (ast, ttl) => {
|
|
308
309
|
if (enableLegacyQueries) this.#queryManager.updateLegacy(ast, ttl);
|
|
309
|
-
}, (customQueryID, ttl) => this.#queryManager.updateCustom(customQueryID, ttl), () => this.#queryManager.flushBatch(), batchViewUpdates, this.#addMetric, assertValidRunOptions);
|
|
310
|
-
this.#zeroContext.deferPipelines();
|
|
310
|
+
}, (customQueryID, ttl) => this.#queryManager.updateCustom(customQueryID, ttl), () => this.#queryManager.flushBatch(), batchViewUpdates, this.#addMetric, assertValidRunOptions, this.#visibilityWatcher);
|
|
311
311
|
this.query = createRunnableBuilder(this.#zeroContext, schema);
|
|
312
312
|
const rep = new ReplicacheImpl(replicacheOptions, {
|
|
313
313
|
enableClientGroupForking: false,
|
|
@@ -378,15 +378,15 @@ var Zero = class Zero {
|
|
|
378
378
|
});
|
|
379
379
|
this.#metrics.tags.push(`version:${this.version}`);
|
|
380
380
|
this.#pokeHandler = new PokeHandler(async (poke) => {
|
|
381
|
+
const socket = this.#socket;
|
|
381
382
|
await this.#rep.poke(poke);
|
|
382
|
-
this.#queryManager.markGotQueriesAuthoritative();
|
|
383
|
+
if (socket !== void 0 && this.#socket === socket) this.#queryManager.markGotQueriesAuthoritative();
|
|
383
384
|
}, (e) => this.#onPokeError(e), rep.clientID, schema, this.#lc, this.#mutationTracker);
|
|
384
|
-
this.#visibilityWatcher = getDocumentVisibilityWatcher(getBrowserGlobal("document"), hiddenTabDisconnectDelay, this.#closeAbortController.signal);
|
|
385
385
|
this.#runLoop();
|
|
386
386
|
this.#expose();
|
|
387
387
|
}
|
|
388
388
|
#enableRefresh() {
|
|
389
|
-
return this.#forceEnableRefresh || !this.#connectionManager.is("connected") && !this.#connectionManager.is("connecting");
|
|
389
|
+
return this.#forceEnableRefresh || !this.#connectionManager.is("connected") && !this.#connectionManager.is("connecting") && !this.#connectionManager.is("initializing");
|
|
390
390
|
}
|
|
391
391
|
#expose() {
|
|
392
392
|
const g = globalThis;
|
|
@@ -437,8 +437,11 @@ var Zero = class Zero {
|
|
|
437
437
|
* This function is useful when you want to populate the cache ahead of time,
|
|
438
438
|
* for example after login, to avoid a flash of loading screen on the next page.
|
|
439
439
|
*
|
|
440
|
-
* Returns an object with
|
|
441
|
-
* - `complete`: a Promise that resolves when the
|
|
440
|
+
* Returns an object with three properties:
|
|
441
|
+
* - `complete`: a Promise that resolves when the server has confirmed 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
|
|
442
445
|
* - `cleanup`: a function that can be called to cancel the preload
|
|
443
446
|
*
|
|
444
447
|
* @example
|
|
@@ -455,7 +458,9 @@ var Zero = class Zero {
|
|
|
455
458
|
* Executes a query once and returns the results.
|
|
456
459
|
*
|
|
457
460
|
* By default, runs immediately with whatever data is available locally.
|
|
458
|
-
* Use `{type: 'complete'}` to wait for fresh results from the server
|
|
461
|
+
* Use `{type: 'complete'}` to wait for fresh results from the server, or
|
|
462
|
+
* `{type: 'cached'}` to accept a result the server confirmed on a previous
|
|
463
|
+
* connection when the store holds one.
|
|
459
464
|
*
|
|
460
465
|
* @param query - The query to execute
|
|
461
466
|
* @param runOptions - Options controlling query execution
|
|
@@ -500,6 +505,16 @@ var Zero = class Zero {
|
|
|
500
505
|
return this.#rep.idbName;
|
|
501
506
|
}
|
|
502
507
|
/**
|
|
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
|
+
/**
|
|
503
518
|
* The schema version of the data understood by this application.
|
|
504
519
|
* See [[ZeroOptions.schemaVersion]].
|
|
505
520
|
*/
|
|
@@ -1011,6 +1026,7 @@ var Zero = class Zero {
|
|
|
1011
1026
|
case Closed:
|
|
1012
1027
|
lc.debug?.("disconnect() called while closed");
|
|
1013
1028
|
return;
|
|
1029
|
+
case Initializing:
|
|
1014
1030
|
case Disconnected:
|
|
1015
1031
|
case Connecting:
|
|
1016
1032
|
case NeedsAuth:
|
|
@@ -1154,6 +1170,26 @@ var Zero = class Zero {
|
|
|
1154
1170
|
};
|
|
1155
1171
|
const { auth } = this.#options;
|
|
1156
1172
|
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();
|
|
1157
1193
|
let backoffMs;
|
|
1158
1194
|
let additionalConnectParams;
|
|
1159
1195
|
while (this.#connectionManager.shouldContinueRunLoop()) {
|
|
@@ -1267,12 +1303,24 @@ var Zero = class Zero {
|
|
|
1267
1303
|
})).key === "connectRequest") this.#connectionManager.resumeFromConnectRequest();
|
|
1268
1304
|
break;
|
|
1269
1305
|
case Closed: break;
|
|
1306
|
+
case Initializing: unreachable();
|
|
1270
1307
|
default: unreachable(currentState);
|
|
1271
1308
|
}
|
|
1272
1309
|
} catch (ex) {
|
|
1273
1310
|
const isClientClosedError = isClientError(ex) && ex.kind === "ClientClosed";
|
|
1311
|
+
const transition = getErrorConnectionTransition(ex);
|
|
1274
1312
|
if (!this.#connectionManager.is("connected") && !isClientClosedError) {
|
|
1275
|
-
|
|
1313
|
+
let level;
|
|
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
|
+
}
|
|
1276
1324
|
const kind = isServerError(ex) ? ex.kind : "Unknown Error";
|
|
1277
1325
|
lc[level]?.("Failed to connect", ex, ...getErrorCauses(ex), kind, {
|
|
1278
1326
|
lmid: this.#lastMutationIDReceived,
|
|
@@ -1280,7 +1328,6 @@ var Zero = class Zero {
|
|
|
1280
1328
|
});
|
|
1281
1329
|
}
|
|
1282
1330
|
lc.debug?.("Got an exception in the run loop", "state:", this.#connectionManager.state, "exception:", ex);
|
|
1283
|
-
const transition = getErrorConnectionTransition(ex);
|
|
1284
1331
|
let sleepMs = void 0;
|
|
1285
1332
|
switch (transition.status) {
|
|
1286
1333
|
case NO_STATUS_TRANSITION: {
|