Skip to content

docs: Add transaction submission status tracking guide#1219

Open
KyleAMathews wants to merge 2 commits intomainfrom
claude/track-offline-submission-3Nd3k
Open

docs: Add transaction submission status tracking guide#1219
KyleAMathews wants to merge 2 commits intomainfrom
claude/track-offline-submission-3Nd3k

Conversation

@KyleAMathews
Copy link
Collaborator

🎯 Changes

Added comprehensive documentation for tracking submission status of offline transactions in the offline-transactions package README. This new section covers:

  • Using the Transaction Object: Explains how to check transaction state and wait for server confirmation using tx.state and tx.isPersisted.promise
  • Tracking Per-Item Status: Provides a practical example of maintaining a map of pending transactions to show sync indicators in UI
  • Monitoring the Offline Outbox: Documents executor methods (getPendingCount(), getRunningCount(), peekOutbox()) for visibility into queued transactions and retry information
  • Using Inside mutationFns: Shows how the transaction lifecycle works within mutation functions, including automatic state transitions and rollback behavior

This documentation addresses a common need in offline-first applications and provides developers with clear patterns and examples for implementing submission status tracking.

✅ Checklist

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

🚀 Release Impact

  • This change is docs/CI/dev-only (no release).

https://claude.ai/code/session_01UHyeQv9yEn4FKK49mK9Vvw

Add a "Tracking Submission Status" section to the offline-transactions
README covering the existing APIs for monitoring whether items have
been submitted to the server: tx.state, tx.isPersisted.promise,
per-item tracking via a Map, and outbox inspection via peekOutbox().

https://claude.ai/code/session_01UHyeQv9yEn4FKK49mK9Vvw
@changeset-bot
Copy link

changeset-bot bot commented Feb 6, 2026

⚠️ No Changeset found

Latest commit: 7a8ed61

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

@KyleAMathews KyleAMathews moved this to Ready for review in TanStack DB 1.0.0 release Feb 6, 2026
@pkg-pr-new
Copy link

pkg-pr-new bot commented Feb 6, 2026

More templates

@tanstack/angular-db

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

@tanstack/db

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

@tanstack/db-ivm

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

@tanstack/electric-db-collection

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

@tanstack/offline-transactions

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

@tanstack/powersync-db-collection

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

@tanstack/query-db-collection

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

@tanstack/react-db

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

@tanstack/rxdb-db-collection

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

@tanstack/solid-db

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

@tanstack/svelte-db

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

@tanstack/trailbase-db-collection

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

@tanstack/vue-db

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

commit: 7a8ed61

@github-actions
Copy link
Contributor

github-actions bot commented Feb 6, 2026

Size Change: 0 B

Total Size: 92 kB

ℹ️ View Unchanged
Filename Size
./packages/db/dist/esm/collection/change-events.js 1.39 kB
./packages/db/dist/esm/collection/changes.js 1.22 kB
./packages/db/dist/esm/collection/events.js 388 B
./packages/db/dist/esm/collection/index.js 3.32 kB
./packages/db/dist/esm/collection/indexes.js 1.1 kB
./packages/db/dist/esm/collection/lifecycle.js 1.75 kB
./packages/db/dist/esm/collection/mutations.js 2.34 kB
./packages/db/dist/esm/collection/state.js 3.49 kB
./packages/db/dist/esm/collection/subscription.js 3.71 kB
./packages/db/dist/esm/collection/sync.js 2.41 kB
./packages/db/dist/esm/deferred.js 207 B
./packages/db/dist/esm/errors.js 4.7 kB
./packages/db/dist/esm/event-emitter.js 748 B
./packages/db/dist/esm/index.js 2.69 kB
./packages/db/dist/esm/indexes/auto-index.js 742 B
./packages/db/dist/esm/indexes/base-index.js 766 B
./packages/db/dist/esm/indexes/btree-index.js 2.17 kB
./packages/db/dist/esm/indexes/lazy-index.js 1.1 kB
./packages/db/dist/esm/indexes/reverse-index.js 538 B
./packages/db/dist/esm/local-only.js 837 B
./packages/db/dist/esm/local-storage.js 2.1 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.75 kB
./packages/db/dist/esm/query/builder/functions.js 733 B
./packages/db/dist/esm/query/builder/index.js 4.09 kB
./packages/db/dist/esm/query/builder/ref-proxy.js 1.05 kB
./packages/db/dist/esm/query/compiler/evaluators.js 1.42 kB
./packages/db/dist/esm/query/compiler/expressions.js 430 B
./packages/db/dist/esm/query/compiler/group-by.js 1.81 kB
./packages/db/dist/esm/query/compiler/index.js 2.02 kB
./packages/db/dist/esm/query/compiler/joins.js 2.07 kB
./packages/db/dist/esm/query/compiler/order-by.js 1.45 kB
./packages/db/dist/esm/query/compiler/select.js 1.06 kB
./packages/db/dist/esm/query/expression-helpers.js 1.43 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.43 kB
./packages/db/dist/esm/query/live/collection-registry.js 264 B
./packages/db/dist/esm/query/live/collection-subscriber.js 2.42 kB
./packages/db/dist/esm/query/live/internal.js 145 B
./packages/db/dist/esm/query/optimizer.js 2.56 kB
./packages/db/dist/esm/query/predicate-utils.js 2.97 kB
./packages/db/dist/esm/query/subset-dedupe.js 921 B
./packages/db/dist/esm/scheduler.js 1.3 kB
./packages/db/dist/esm/SortedMap.js 1.3 kB
./packages/db/dist/esm/strategies/debounceStrategy.js 247 B
./packages/db/dist/esm/strategies/queueStrategy.js 428 B
./packages/db/dist/esm/strategies/throttleStrategy.js 246 B
./packages/db/dist/esm/transactions.js 2.9 kB
./packages/db/dist/esm/utils.js 924 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 952 B
./packages/db/dist/esm/utils/cursor.js 457 B
./packages/db/dist/esm/utils/index-optimization.js 1.51 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 Feb 6, 2026

Size Change: 0 B

Total Size: 3.7 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.34 kB
./packages/react-db/dist/esm/useLiveSuspenseQuery.js 559 B
./packages/react-db/dist/esm/usePacedMutations.js 401 B

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

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.

2 participants