Skip to content

Conversation

@KyleAMathews
Copy link
Collaborator

Fixed the paced mutations documentation to reflect the final API from PR #704:

  • Updated all examples to use the onMutate callback pattern
  • Changed mutate() to accept variables directly instead of callbacks
  • Added comprehensive explanation of unique queues per hook instance
  • Clarified that each usePacedMutations() and createPacedMutations() call creates its own independent queue
  • Provided examples showing how to share queues across components for use cases like email draft auto-save

This addresses the common confusion about whether mutations from different places share the same debounce/queue - they only do if you explicitly share the same instance.

🎯 Changes

✅ Checklist

  • I have followed the steps in the Contributing guide.
  • I have tested this code locally with pnpm test:pr.

🚀 Release Impact

  • This change affects published code, and I have generated a changeset.
  • This change is docs/CI/dev-only (no release).

Fixed the paced mutations documentation to reflect the final API from PR #704:

- Updated all examples to use the onMutate callback pattern
- Changed mutate() to accept variables directly instead of callbacks
- Added comprehensive explanation of unique queues per hook instance
- Clarified that each usePacedMutations() and createPacedMutations() call creates its own independent queue
- Provided examples showing how to share queues across components for use cases like email draft auto-save

This addresses the common confusion about whether mutations from different places share the same debounce/queue - they only do if you explicitly share the same instance.
@changeset-bot
Copy link

changeset-bot bot commented Nov 2, 2025

⚠️ No Changeset found

Latest commit: 12dc9b1

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 2, 2025

More templates

@tanstack/angular-db

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

@tanstack/db

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

@tanstack/db-ivm

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

@tanstack/electric-db-collection

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

@tanstack/query-db-collection

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

@tanstack/react-db

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

@tanstack/rxdb-db-collection

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

@tanstack/solid-db

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

@tanstack/svelte-db

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

@tanstack/trailbase-db-collection

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

@tanstack/vue-db

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

commit: 12dc9b1

@github-actions
Copy link
Contributor

github-actions bot commented Nov 2, 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 2, 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

Updated JSDoc comments to match the final paced mutations API:

- debounceStrategy: Changed useSerializedTransaction to usePacedMutations and added onMutate example
- throttleStrategy: Changed useSerializedTransaction to usePacedMutations and added onMutate examples
- createPacedMutations: Fixed mutationFn signature - it only receives { transaction }, not the variables

The mutationFn only receives transaction params, while onMutate receives the variables passed to mutate().
@KyleAMathews KyleAMathews changed the title Update mutation.md documentation for API changes Update mutation.md & JSDocs documentation for API changes Nov 2, 2025
@KyleAMathews KyleAMathews merged commit e46b1de into main Nov 3, 2025
6 checks passed
@KyleAMathews KyleAMathews deleted the claude/update-mutation-docs-011CUiKNh1LcSgmW7bHeY3Ux branch November 3, 2025 22:51
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants