Skip to content

Conversation

@samwillis
Copy link
Collaborator

@samwillis samwillis commented Nov 5, 2025

)

* Add unit tests that reproduce the problems with moveWindow on infinite limits

* Handle Infinity limit in move

* Changeset

* Add support for orderBy and limit options in currentStateAsChanges

* Unit tests for currentStateAsChanges

* changeset

* fix for eslint

* Move helper functions to the end of the file

* add predicate utils

* optimise in when all primatives

* optimisations

* changeset

* minusWherePredicates

* Add unit test for OR in both subset and superset that shows bug with OR handling

* Reorder OR handling to fix bug and handle AND similarly

* change chageset

* dedupe code

* add createDeduplicatedLoadSubset function

* convert deduper to a class, with reset, and dedupe inflight

* Simplify matching of inflight requests

* Improve minusWherePredicates such that it can handle common conditions in a conjunction

* Modify DeduplicatedLoadSubset.loadSubset such that it only loads the missing data

* Remove unused predicate helper functions

* Fix eslint issue

* Prettier

* Unify handling of IN and OR

* Handle subset that is false

* Fix isLimitSubset to correctly handle unlimited subsets

---------

Co-authored-by: Kevin De Porre <[email protected]>
@changeset-bot
Copy link

changeset-bot bot commented Nov 5, 2025

🦋 Changeset detected

Latest commit: 0ac7270

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 17 packages
Name Type
@tanstack/db-ivm Patch
@tanstack/db Patch
@tanstack/query-db-collection Patch
@tanstack/electric-db-collection Patch
@tanstack/angular-db Patch
@tanstack/offline-transactions Patch
@tanstack/powersync-db-collection Patch
@tanstack/react-db Patch
@tanstack/rxdb-db-collection Patch
@tanstack/solid-db Patch
@tanstack/svelte-db Patch
@tanstack/trailbase-db-collection Patch
@tanstack/vue-db Patch
todos Patch
@tanstack/db-example-paced-mutations-demo Patch
@tanstack/db-example-react-todo Patch
@tanstack/db-example-solid-todo Patch

Not sure what this means? Click here to learn what changesets are.

Click here if you're a maintainer who wants to add another changeset to this PR

@pkg-pr-new
Copy link

pkg-pr-new bot commented Nov 5, 2025

More templates

@tanstack/angular-db

npm i https://pkg.pr.new/@tanstack/angular-db@763

@tanstack/db

npm i https://pkg.pr.new/@tanstack/db@763

@tanstack/db-ivm

npm i https://pkg.pr.new/@tanstack/db-ivm@763

@tanstack/electric-db-collection

npm i https://pkg.pr.new/@tanstack/electric-db-collection@763

@tanstack/offline-transactions

npm i https://pkg.pr.new/@tanstack/offline-transactions@763

@tanstack/powersync-db-collection

npm i https://pkg.pr.new/@tanstack/powersync-db-collection@763

@tanstack/query-db-collection

npm i https://pkg.pr.new/@tanstack/query-db-collection@763

@tanstack/react-db

npm i https://pkg.pr.new/@tanstack/react-db@763

@tanstack/rxdb-db-collection

npm i https://pkg.pr.new/@tanstack/rxdb-db-collection@763

@tanstack/solid-db

npm i https://pkg.pr.new/@tanstack/solid-db@763

@tanstack/svelte-db

npm i https://pkg.pr.new/@tanstack/svelte-db@763

@tanstack/trailbase-db-collection

npm i https://pkg.pr.new/@tanstack/trailbase-db-collection@763

@tanstack/vue-db

npm i https://pkg.pr.new/@tanstack/vue-db@763

commit: 0ac7270

@github-actions
Copy link
Contributor

github-actions bot commented Nov 5, 2025

Size Change: +3.93 kB (+4.97%) 🔍

Total Size: 83 kB

Filename Size Change
./packages/db/dist/esm/index.js 2.49 kB +127 B (+5.38%) 🔍
./packages/db/dist/esm/query/predicate-utils.js 2.88 kB +2.88 kB (new file) 🆕
./packages/db/dist/esm/query/subset-dedupe.js 921 B +921 B (new file) 🆕
ℹ️ View Unchanged
Filename Size
./packages/db/dist/esm/collection/change-events.js 1.34 kB
./packages/db/dist/esm/collection/changes.js 977 B
./packages/db/dist/esm/collection/events.js 388 B
./packages/db/dist/esm/collection/index.js 3.12 kB
./packages/db/dist/esm/collection/indexes.js 1.1 kB
./packages/db/dist/esm/collection/lifecycle.js 1.67 kB
./packages/db/dist/esm/collection/mutations.js 2.26 kB
./packages/db/dist/esm/collection/state.js 3.43 kB
./packages/db/dist/esm/collection/subscription.js 2.42 kB
./packages/db/dist/esm/collection/sync.js 2.02 kB
./packages/db/dist/esm/deferred.js 207 B
./packages/db/dist/esm/errors.js 3.9 kB
./packages/db/dist/esm/event-emitter.js 748 B
./packages/db/dist/esm/indexes/auto-index.js 731 B
./packages/db/dist/esm/indexes/base-index.js 766 B
./packages/db/dist/esm/indexes/btree-index.js 1.87 kB
./packages/db/dist/esm/indexes/lazy-index.js 1.1 kB
./packages/db/dist/esm/indexes/reverse-index.js 513 B
./packages/db/dist/esm/local-only.js 837 B
./packages/db/dist/esm/local-storage.js 2.04 kB
./packages/db/dist/esm/optimistic-action.js 359 B
./packages/db/dist/esm/paced-mutations.js 496 B
./packages/db/dist/esm/proxy.js 3.22 kB
./packages/db/dist/esm/query/builder/functions.js 606 B
./packages/db/dist/esm/query/builder/index.js 3.85 kB
./packages/db/dist/esm/query/builder/ref-proxy.js 917 B
./packages/db/dist/esm/query/compiler/evaluators.js 1.26 kB
./packages/db/dist/esm/query/compiler/expressions.js 674 B
./packages/db/dist/esm/query/compiler/group-by.js 1.78 kB
./packages/db/dist/esm/query/compiler/index.js 1.95 kB
./packages/db/dist/esm/query/compiler/joins.js 2 kB
./packages/db/dist/esm/query/compiler/order-by.js 1.17 kB
./packages/db/dist/esm/query/compiler/select.js 1.07 kB
./packages/db/dist/esm/query/ir.js 673 B
./packages/db/dist/esm/query/live-query-collection.js 360 B
./packages/db/dist/esm/query/live/collection-config-builder.js 5 kB
./packages/db/dist/esm/query/live/collection-registry.js 214 B
./packages/db/dist/esm/query/live/collection-subscriber.js 1.77 kB
./packages/db/dist/esm/query/optimizer.js 2.6 kB
./packages/db/dist/esm/scheduler.js 1.21 kB
./packages/db/dist/esm/SortedMap.js 1.18 kB
./packages/db/dist/esm/strategies/debounceStrategy.js 237 B
./packages/db/dist/esm/strategies/queueStrategy.js 418 B
./packages/db/dist/esm/strategies/throttleStrategy.js 236 B
./packages/db/dist/esm/transactions.js 2.9 kB
./packages/db/dist/esm/utils.js 881 B
./packages/db/dist/esm/utils/browser-polyfills.js 304 B
./packages/db/dist/esm/utils/btree.js 5.61 kB
./packages/db/dist/esm/utils/comparison.js 660 B
./packages/db/dist/esm/utils/index-optimization.js 1.49 kB
./packages/db/dist/esm/utils/type-guards.js 157 B

compressed-size-action::db-package-size

@github-actions
Copy link
Contributor

github-actions bot commented Nov 5, 2025

Size Change: 0 B

Total Size: 3.34 kB

ℹ️ View Unchanged
Filename Size
./packages/react-db/dist/esm/index.js 225 B
./packages/react-db/dist/esm/useLiveInfiniteQuery.js 1.17 kB
./packages/react-db/dist/esm/useLiveQuery.js 1.11 kB
./packages/react-db/dist/esm/useLiveSuspenseQuery.js 431 B
./packages/react-db/dist/esm/usePacedMutations.js 401 B

compressed-size-action::react-db-package-size

kevin-dp and others added 2 commits November 5, 2025 11:48
* Callback that informs about deduplicated loadSubset calls

* Unit tests for onDeduplicate callback + move dedupe test files to the right folder

* changeset

* Object params

* Updated lockfile

* fix lock file

---------

Co-authored-by: Sam Willis <[email protected]>
* Handle pushed down predicates in query collection

Co-authored-by: Kevin De Porre <[email protected]>
Co-authored-by: Sam Willis <[email protected]>

* Deduplicate loadSubset requests in Query collection

* Unit test for deduplicating limited ordered queries in query collection

* GC tanstack query when subscription is unsubscribed

---------

Co-authored-by: Sam Willis <[email protected]>
Co-authored-by: Kevin De Porre <[email protected]>
@samwillis samwillis moved this to In Progress in 1.0.0 release Nov 5, 2025
kevin-dp and others added 3 commits November 5, 2025 15:29
* Handle pushed down predicates in Electric collection

Co-authored-by: Kevin De Porre <[email protected]>
Co-authored-by: Sam Willis <[email protected]>

* use the subsetDuduper for electric

* Leave fixme

* fix DeduplicatedLoadSubset call

* fix tests

---------

Co-authored-by: Sam Willis <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: In Progress

Development

Successfully merging this pull request may close these issues.

4 participants