Skip to content

Conversation

@KyleAMathews
Copy link
Collaborator

Address feedback from user who thought they had to use DB's built-in mutations system.

Users can completely bypass the TanStack DB mutation system and use
their existing mutation logic by calling backend APIs directly and
either waiting for sync or manually refetching collections.
- Clarify this is about not rewriting existing logic, not avoiding optimistic updates
- Add Electric's awaitTxId as a sync option
- Show collection-specific approaches (QueryCollection refetch vs Electric awaitTxId)
- Provide examples for both patterns
@changeset-bot
Copy link

changeset-bot bot commented Nov 3, 2025

⚠️ No Changeset found

Latest commit: 84c09ad

Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.

This PR includes no changesets

When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types

Click here to learn what changesets are, and how to add one.

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

@pkg-pr-new
Copy link

pkg-pr-new bot commented Nov 3, 2025

More templates

@tanstack/angular-db

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

@tanstack/db

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

@tanstack/db-ivm

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

@tanstack/electric-db-collection

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

@tanstack/query-db-collection

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

@tanstack/react-db

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

@tanstack/rxdb-db-collection

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

@tanstack/solid-db

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

@tanstack/svelte-db

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

@tanstack/trailbase-db-collection

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

@tanstack/vue-db

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

commit: 84c09ad

@github-actions
Copy link
Contributor

github-actions bot commented Nov 3, 2025

Size Change: 0 B

Total Size: 77.6 kB

ℹ️ View Unchanged
Filename Size
./packages/db/dist/esm/collection/change-events.js 1.34 kB
./packages/db/dist/esm/collection/changes.js 958 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 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.29 kB
./packages/db/dist/esm/event-emitter.js 748 B
./packages/db/dist/esm/index.js 2.31 kB
./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.08 kB
./packages/db/dist/esm/optimistic-action.js 273 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.78 kB
./packages/db/dist/esm/query/compiler/joins.js 2 kB
./packages/db/dist/esm/query/compiler/order-by.js 1.18 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.86 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.83 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

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

@github-actions
Copy link
Contributor

github-actions bot commented Nov 3, 2025

Size Change: 0 B

Total Size: 2.89 kB

ℹ️ View Unchanged
Filename Size
./packages/react-db/dist/esm/index.js 207 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/usePacedMutations.js 401 B

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

Present bypassing the mutation system as one of several valid approaches
rather than an aggressive callout. Fits more naturally as the first
option under Mutation Approaches.
Present TanStack DB's mutation approaches first, with bypassing
the mutation system as the final option for those who prefer
their existing patterns.
Manual transactions is niche and covered in detail later in its own
section. Keep Mutation Approaches focused on the main patterns.
Explain that awaiting refetch/sync lets you know when the server
change is loaded in the collection, so you can render new data,
hide loading indicators, navigate, etc.
Include showing success messages as a common reason to await
sync completion, alongside rendering data, hiding loaders, and navigating.
Clarify that you write to the server like normal, then use your
collection's mechanism to await the server write and know when
to update UI.
@KyleAMathews KyleAMathews requested a review from thruflo November 3, 2025 22:50
@KyleAMathews KyleAMathews moved this to In Progress in 1.0.0 release Nov 4, 2025
@KyleAMathews KyleAMathews moved this from In Progress to Ready for review in 1.0.0 release Nov 4, 2025
@thruflo thruflo merged commit 5aebbac into main Nov 4, 2025
6 checks passed
@thruflo thruflo deleted the claude/fix-security-bypass-011CUmcKUxwwJSPvas9wu35k branch November 4, 2025 22:52
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Ready for review

Development

Successfully merging this pull request may close these issues.

4 participants