fix(db): complete loadSubset refinement lifecycle - #1780
Conversation
|
Important Review skippedAuto reviews are disabled on base/target branches other than the default branch. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Team Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
More templates
@tanstack/angular-db
@tanstack/browser-db-sqlite-persistence
@tanstack/capacitor-db-sqlite-persistence
@tanstack/cloudflare-durable-objects-db-sqlite-persistence
@tanstack/db
@tanstack/db-ivm
@tanstack/db-sqlite-persistence-core
@tanstack/electric-db-collection
@tanstack/electron-db-sqlite-persistence
@tanstack/expo-db-sqlite-persistence
@tanstack/node-db-sqlite-persistence
@tanstack/offline-transactions
@tanstack/powersync-db-collection
@tanstack/query-db-collection
@tanstack/react-db
@tanstack/react-native-db-sqlite-persistence
@tanstack/react-router-with-db
@tanstack/rxdb-db-collection
@tanstack/solid-db
@tanstack/svelte-db
@tanstack/tauri-db-sqlite-persistence
@tanstack/trailbase-db-collection
@tanstack/vue-db
commit: |
|
Size Change: +9.74 kB (+5.35%) 🔍 Total Size: 192 kB 📦 View Changed
ℹ️ View Unchanged
|
|
Size Change: 0 B Total Size: 7.25 kB ℹ️ View Unchanged
|
Completes the in-scope
loadSubsetRFC implementation on top of the outcome,coverage, and total-order stack. Refinement, replay, publication, readiness, and
adapter cleanup now use one demand/acquisition/applied-result model.
What changed
limited to async source work and public publication boundaries.
rows are visible.
the last complete public snapshot and remains retryable.
release as separate lifetimes.
core, Query DB, Electric, and PowerSync.
Key invariants
visible.
release facts.
leaves; failed release remains retryable.
graph state.
Compatibility and limits
state is bounded by active leases, acquisitions, and owned key slots, and is
retired on release, reset, truncate, and cleanup.
Core advances the caller-local boundary until a request makes no progress;
later growth refreshes from the start. Authoritative continuation,
replacement, source extent, and reusable coverage still require explicit
outcomes.
source region and lets D2 refine it.
ShapeStream.requestSnapshot()starts because the upstream API exposes neither a request signal nor request
identity.
Verification
The integrated gate passed on
303a19ca. Follow-ups through2143f481closethe outcome-free adapter boundary found by framework CI and the exact-commit
audit: local settlement never becomes reusable coverage, shrink/regrow gets a
fresh request generation, Effect refill stops at a no-progress fixed point, and
all reset paths retire local settlement.
tests, including the exact prior CI seed.
and
git diff --checkpassed.adapter law, surviving product mutant, or architecture contradiction. A
follow-up exact-commit audit found one masked flag-retirement assertion; the
final test kills that mutant across reset, authoritative settlement, and live
invalidation.
2143f481.Main areas changed
and window state.
Stacked on #1778. Part of #1657.