Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
334 commits
Select commit Hold shift + click to select a range
b259ea3
test(db): model multi-source ordered windows
KyleAMathews Aug 29, 2026
93af99b
test(db): complete multi-source ordered oracle
KyleAMathews Aug 29, 2026
e3d464c
test(db): harden multi-source load oracle
KyleAMathews Aug 29, 2026
1c6f92e
fix(db): keep zero-width loads transport-free
KyleAMathews Aug 29, 2026
77f8a8f
fix(db): defer empty unindexed snapshots
KyleAMathews Aug 29, 2026
6caacc3
fix(db): publish unindexed fallback retries
KyleAMathews Aug 29, 2026
9712418
test(db): prove loader quiescent publication
KyleAMathews Aug 30, 2026
69a8476
test(db): strengthen unindexed session observations
KyleAMathews Aug 30, 2026
7cd45b1
test(db): preserve full publication payloads
KyleAMathews Aug 30, 2026
c3eac1e
fix(db): retain unindexed replay guard after retry
KyleAMathews Aug 30, 2026
7a2639d
test(db): observe unindexed replay ownership
KyleAMathews Aug 30, 2026
bfa4b78
test(db): prove unindexed replay result paths
KyleAMathews Aug 30, 2026
bed6856
test(db): preserve replay acquisition identity
KyleAMathews Aug 30, 2026
ae273f4
test(db): retain replay ownership key
KyleAMathews Aug 30, 2026
02c5cd8
test(db): fence cleaned truncate replays
KyleAMathews Aug 30, 2026
3a13375
test(db): observe stale replay settlements
KyleAMathews Aug 30, 2026
c4e2383
fix(db): fence superseded unindexed replays
KyleAMathews Aug 30, 2026
421ceb9
test(db): observe replay commit receipts
KyleAMathews Aug 30, 2026
87406ab
test(db): prove refinement identity erasure
KyleAMathews Aug 30, 2026
8b6a730
test(db): calibrate replay identity erasure
KyleAMathews Aug 30, 2026
2c18eea
test(db): prove every erased identity changes
KyleAMathews Aug 30, 2026
44088c5
test(db): guard transaction rename collisions
KyleAMathews Aug 30, 2026
13e56c0
test(db): preserve semantic fields during renaming
KyleAMathews Aug 30, 2026
fa36261
test(db): cover non-invalidating demand release
KyleAMathews Aug 30, 2026
8172e62
test(db): separate relational and refinement oracles
KyleAMathews Aug 30, 2026
8cb04c9
test(db): calibrate ordered demand control
KyleAMathews Aug 30, 2026
a4aa171
test(db): assert acquisition work invariants
KyleAMathews Aug 30, 2026
f9897a1
test(db): verify release invalidates acquisition evidence
KyleAMathews Aug 30, 2026
0a7977e
fix(db): retain exact acquisition coverage for co-owners
KyleAMathews Aug 30, 2026
0cfbb3d
fix(db): preserve newer exact acquisition evidence
KyleAMathews Aug 30, 2026
d0228e8
fix(db): recheck subset ownership after adapter entry
KyleAMathews Aug 30, 2026
ed13c4f
fix(db): clean up failed promise observation
KyleAMathews Aug 30, 2026
66d0da5
fix(db): normalize subset load promises
KyleAMathews Aug 30, 2026
11c50dd
fix(db): publish coverage after result retention
KyleAMathews Aug 30, 2026
769fc3a
fix(db): snapshot applied subset evidence
KyleAMathews Aug 30, 2026
e15f1e2
fix(db): validate applied subset evidence
KyleAMathews Aug 30, 2026
33dab00
test(db): name deterministic oracle suites accurately
KyleAMathews Aug 30, 2026
da5f6a3
test(db): replay oracle shrink paths
KyleAMathews Aug 30, 2026
9d56dac
test(db): scope oracle replay paths
KyleAMathews Aug 30, 2026
8a8fa42
test(db): reject invalid oracle replay targets
KyleAMathews Aug 30, 2026
c06a6da
docs(db): define demand evidence boundaries
KyleAMathews Aug 30, 2026
e5b9708
docs(db): correct oracle architecture contracts
KyleAMathews Aug 30, 2026
3477f24
fix(db): terminate nested predicate differences
KyleAMathews Aug 30, 2026
5ceed21
test(db): bound coverage claims by acquisition
KyleAMathews Aug 30, 2026
9209e8f
fix(db): guard ordered refill adapter entry
KyleAMathews Aug 30, 2026
afe5cf2
test(db): preserve secondary acquisition ownership
KyleAMathews Aug 30, 2026
1d794ea
test(db): bind receipts to acquisitions
KyleAMathews Aug 30, 2026
becdd05
docs(db): define refinement oracle grammar
KyleAMathews Aug 30, 2026
542eb2c
docs(db): preserve refinement grammar distinctions
KyleAMathews Aug 30, 2026
84b28bb
docs(db): preserve work and release order laws
KyleAMathews Aug 30, 2026
14ec043
docs(db): preserve operation and trace laws
KyleAMathews Aug 30, 2026
05dbfb7
test(db): accept synchronous oracle steps
KyleAMathews Aug 30, 2026
2af4060
docs(db): preserve ordered work laws
KyleAMathews Aug 30, 2026
cc984e0
docs(db): preserve runtime identity space cost
KyleAMathews Aug 30, 2026
4db17cf
fix(db): fence reentrant window cleanup
KyleAMathews Aug 30, 2026
c8dd304
test(db): cover reentrant cleanup restart
KyleAMathews Aug 30, 2026
09624d2
test(db): observe refinement rollback before retry
KyleAMathews Aug 30, 2026
68b8044
test(db): observe refinement cleanup ownership
KyleAMathews Aug 30, 2026
f77d455
test(db): type optional cleanup signal
KyleAMathews Aug 30, 2026
933e63a
test(db): derive shared demand ownership
KyleAMathews Aug 30, 2026
db89805
test(db): scope late rows to shared acquisition
KyleAMathews Aug 30, 2026
005d3b7
test(db): retire demand acquisitions independently
KyleAMathews Aug 30, 2026
0757900
test(db): preserve sibling acquisition ownership
KyleAMathews Aug 30, 2026
58f83c3
test(db): qualify refinement grammar by source
KyleAMathews Aug 30, 2026
8985a40
test(db): qualify publication demands by source
KyleAMathews Aug 30, 2026
58f2f86
test(db): scope publication target events
KyleAMathews Aug 30, 2026
0171b9c
test(db): distinguish publication target demands
KyleAMathews Aug 30, 2026
d1dc594
test(db): close publication identity gaps
KyleAMathews Aug 30, 2026
af8f0c0
test(db): fence retired readiness attempts
KyleAMathews Aug 30, 2026
acab6df
test(db): bind readiness to exact acquisitions
KyleAMathews Aug 30, 2026
6a42578
test(db): assert exact readiness unloads
KyleAMathews Aug 30, 2026
5c60c3c
test(db): observe readiness abort order
KyleAMathews Aug 30, 2026
ff32c7e
fix(db): reconcile demand release during replay
KyleAMathews Aug 30, 2026
3260b29
test(db): close legal order audit gaps
KyleAMathews Aug 30, 2026
31c62ca
test(db): pin exact write provenance
KyleAMathews Aug 30, 2026
d6c6a9a
fix(db): bound ordered source work
KyleAMathews Aug 30, 2026
a4455d8
fix(db): preserve ordered tie classes
KyleAMathews Aug 30, 2026
354646c
fix(db): order direct index tie keys
KyleAMathews Aug 30, 2026
0281422
test(db): close ordered work audit gaps
KyleAMathews Aug 30, 2026
ccd5e92
test(db): preserve ordered oracle domains
KyleAMathews Aug 30, 2026
7d14514
test(db): cover reversed ordered domains
KyleAMathews Aug 30, 2026
05d2f30
fix(db): distrust opaque index ordering
KyleAMathews Aug 30, 2026
0828039
test(db): count ordered bucket work
KyleAMathews Aug 30, 2026
69ba72f
test(db): observe ordered index work
KyleAMathews Aug 30, 2026
47fac4a
fix(db): skip empty ordered source setup
KyleAMathews Aug 30, 2026
37e111c
test(db): count custom index source reads
KyleAMathews Aug 30, 2026
1a2ea4b
test(db): model custom index fallback work
KyleAMathews Aug 30, 2026
403dba5
test(db): close ordered work oracle gaps
KyleAMathews Aug 30, 2026
b65fead
test(db): complete ordered work budgets
KyleAMathews Aug 30, 2026
a53d536
test(db): close ordered work category gaps
KyleAMathews Aug 30, 2026
8215fbd
test(db): decouple ordered work expectations
KyleAMathews Aug 30, 2026
20d7e9f
fix(db): defer zero window setup
KyleAMathews Aug 30, 2026
53b8199
test(db): observe publication diff work
KyleAMathews Aug 30, 2026
7da4a99
test(db): observe complete ordered work
KyleAMathews Aug 30, 2026
e9146a1
test(db): close ordered work observation gaps
KyleAMathews Aug 30, 2026
e931dcb
test(db): observe ordered work materialization
KyleAMathews Aug 30, 2026
3fa5fd3
test(db): prove publication work streams
KyleAMathews Aug 30, 2026
e6b6b40
test(db): observe materialized comparator work
KyleAMathews Aug 30, 2026
8cbe788
refactor(db): keep comparator work observable
KyleAMathews Aug 31, 2026
d92d5d5
test(db): observe recursive comparator work
KyleAMathews Aug 31, 2026
dde74b4
perf(db): read comparator arrays once
KyleAMathews Aug 31, 2026
23c84ec
test(db): observe structural array work
KyleAMathews Aug 31, 2026
3e6bb2b
test(db): state array work boundary
KyleAMathews Aug 31, 2026
9d6a171
test(db): cover equal comparator arrays
KyleAMathews Aug 31, 2026
89fc7dc
test(db): cross nested comparator branches
KyleAMathews Aug 31, 2026
49c2cad
test(db): model recursive comparator work
KyleAMathews Aug 31, 2026
0d4a8e9
fix(db): publish source changes through derived mutations
KyleAMathews Aug 31, 2026
43a3a63
test(db): require same-stack order publication
KyleAMathews Aug 31, 2026
5a4c758
test(db): isolate ordered source publication
KyleAMathews Aug 31, 2026
91896e7
fix(db): publish child facades through mutations
KyleAMathews Aug 31, 2026
b0a3854
fix(db): preserve facade source state under mutations
KyleAMathews Aug 31, 2026
f6c7cae
fix(db): preserve facade identity and order metadata
KyleAMathews Aug 31, 2026
89ac7f2
fix(db): validate visible layout changes
KyleAMathews Aug 31, 2026
905606d
fix(db): compare layout at prefix application
KyleAMathews Aug 31, 2026
750f82e
test(db): cover causal prefix layout drains
KyleAMathews Aug 31, 2026
84c6e59
test(db): preserve multiple prefix layout marks
KyleAMathews Aug 31, 2026
4815abf
test(db): cover overlay removal before prefix drains
KyleAMathews Aug 31, 2026
f0f0eab
test(db): isolate reentrant layout prefixes
KyleAMathews Aug 31, 2026
03649f6
fix(db): roll back deferred revision clocks
KyleAMathews Aug 31, 2026
0308fc5
fix(db): prepare coherent revisions before callbacks
KyleAMathews Aug 31, 2026
d4f110a
fix(db): serialize window callback graph work
KyleAMathews Aug 31, 2026
47e1462
fix(db): preserve reentrant window ownership
KyleAMathews Aug 31, 2026
bbc9edf
fix(db): match index collation options semantically (#1788)
KyleAMathews Aug 31, 2026
3238961
fix(db): restore nested window generations
KyleAMathews Aug 31, 2026
1de7187
test(db): preserve nested window ownership
KyleAMathews Aug 31, 2026
b760da0
fix(db): restore nested load operation ownership
KyleAMathews Aug 31, 2026
613807d
ci: Version Packages (#1789)
github-actions[bot] Aug 31, 2026
49a9de5
test(db): cover waiting nested window ownership
KyleAMathews Aug 31, 2026
6840336
test(db): separate nested window load phases
KyleAMathews Aug 31, 2026
2fbac76
fix(db): isolate facade publication errors
KyleAMathews Aug 31, 2026
c6ebb6b
test(db): preserve first facade publication error
KyleAMathews Aug 31, 2026
70e40ab
fix(db): cancel prepared publications on cleanup
KyleAMathews Aug 31, 2026
57c447b
test(db): cancel every prepared publication
KyleAMathews Aug 31, 2026
6f9c561
fix(db): reject overlapping prepared publications
KyleAMathews Aug 31, 2026
b487a91
test(db): allow publication cycles from callbacks
KyleAMathews Aug 31, 2026
3748653
test(db): require exact layout sequence comparison
KyleAMathews Aug 31, 2026
2d55f88
test(db): compare later layout positions
KyleAMathews Aug 31, 2026
ec9375e
test(db): generate layout swap positions
KyleAMathews Aug 31, 2026
68366ec
docs: regenerate API documentation (#1790)
github-actions[bot] Aug 31, 2026
657e4a1
test(db): enforce exhaustive layout cells
KyleAMathews Aug 31, 2026
d71c80a
test(db): scan all facade layout candidates
KyleAMathews Aug 31, 2026
f8dfa40
test(db): prove facade candidate positions
KyleAMathews Aug 31, 2026
eba43e2
Merge origin/main into codex/loadsubset-refinement-oracle
KyleAMathews Sep 1, 2026
847dae7
fix(db): retire confirmed direct mutations
KyleAMathews Sep 1, 2026
96f304d
fix(db): preserve mutations across replacement sync
KyleAMathews Sep 1, 2026
4a17f68
test(db): pin replacement publication trace
KyleAMathews Sep 1, 2026
7e7b6c1
fix(db): roll back failed root publications
KyleAMathews Sep 1, 2026
9ec6384
fix(db): retry reactivated subset demand
KyleAMathews Sep 1, 2026
d0b5393
fix(db): complete demand retirement after release failure
KyleAMathews Sep 1, 2026
f167355
fix(db): retain failed subset cleanup state
KyleAMathews Sep 1, 2026
3a3cdc6
fix(db): retry falsy subset cleanup failures
KyleAMathews Sep 1, 2026
70a1ddc
fix(db): preserve falsy graph loader errors
KyleAMathews Sep 1, 2026
ab3d326
fix(db): attempt every source loader
KyleAMathews Sep 1, 2026
7792b69
test(db): preserve source loader identity
KyleAMathews Sep 1, 2026
d1e3d3f
test(db): distinguish repeated source aliases
KyleAMathews Sep 1, 2026
3ec8cdf
fix(db): restore facade publications silently
KyleAMathews Sep 1, 2026
a848a38
fix(db): publish facade readiness after install
KyleAMathews Sep 1, 2026
00c1671
fix(db): retry failed graph publications
KyleAMathews Sep 1, 2026
479a383
fix(db): retry failed index restoration
KyleAMathews Sep 1, 2026
a1b74e9
fix(db): recover graph publications together
KyleAMathews Sep 1, 2026
d2b00ac
test(db): strengthen graph recovery oracle
KyleAMathews Sep 1, 2026
692f782
test(db): close graph recovery proof gaps
KyleAMathews Sep 1, 2026
fc09306
test(db): observe graph recovery internals
KyleAMathews Sep 1, 2026
dc448ff
test(db): preserve graph recovery traces
KyleAMathews Sep 1, 2026
0c0a9f2
fix(db): complete first-ready fan-out
KyleAMathews Sep 1, 2026
0385154
fix(db): isolate ready effect failures
KyleAMathews Sep 1, 2026
8eba678
fix(db): preserve ready propagation outcomes
KyleAMathews Sep 1, 2026
37e6dd1
fix(db): release deleted synced keys
KyleAMathews Sep 1, 2026
935112c
fix(db): defer nested ready failures
KyleAMathews Sep 1, 2026
3c2e63a
test(db): strengthen retained state oracle
KyleAMathews Sep 1, 2026
fe1e836
fix(db): reset retained publication state
KyleAMathews Sep 1, 2026
bc09611
fix(db): preserve publication callback failures
KyleAMathews Sep 1, 2026
8edfa4f
test(db): type retained restart events
KyleAMathews Sep 1, 2026
2c1c614
test(db): pin publication failure boundaries
KyleAMathews Sep 1, 2026
f561f95
fix(db): fence publication state by sync session
KyleAMathews Sep 1, 2026
ff8d847
test(db): widen sync session retention oracle
KyleAMathews Sep 1, 2026
55d5d30
fix(db): preserve exact D2 source rows
KyleAMathews Sep 1, 2026
d0b7fc2
fix(db): unify sync affected key tracking
KyleAMathews Sep 1, 2026
aedf280
test(db): observe restarted sync ownership
KyleAMathews Sep 1, 2026
34228a5
fix(db): keep rollback terminal during persistence
KyleAMathews Sep 1, 2026
e66d7f6
fix(db): retain D2 rows through truncate
KyleAMathews Sep 1, 2026
9e31a27
test(db): require exact metadata settlement
KyleAMathews Sep 1, 2026
22f5174
test(db): model metadata cancellation ownership
KyleAMathews Sep 1, 2026
9bbfaa5
test(db): model metadata publication rollback
KyleAMathews Sep 1, 2026
04a0026
test(db): vary metadata publication values
KyleAMathews Sep 1, 2026
f114732
test(db): restore reentrant restart receipt coverage
KyleAMathews Sep 2, 2026
5fd9cb6
test(db): preserve restart publication traces
KyleAMathews Sep 2, 2026
e027d1a
fix(db): keep rollback terminal after rejection
KyleAMathews Sep 2, 2026
e66a601
fix(db): publish optimistic confirmation state
KyleAMathews Sep 2, 2026
2e65c4d
test(db): order parked receipt settlement
KyleAMathews Sep 2, 2026
8617150
test(db): preserve falsy row listener failures
KyleAMathews Sep 2, 2026
216125e
test(db): freeze layout publication listeners
KyleAMathews Sep 2, 2026
34d2d4f
test(db): preserve filtered listener failures
KyleAMathews Sep 2, 2026
049f311
fix(db): preserve scheduler clear failures
KyleAMathews Sep 2, 2026
c84047e
test(db): freeze first-ready callback membership
KyleAMathews Sep 2, 2026
088da65
test(db): define mark-ready transitions
KyleAMathews Sep 2, 2026
5b76873
fix(db): stop superseded ready effects
KyleAMathews Sep 2, 2026
73b8140
test(db): define ready restart cycles
KyleAMathews Sep 2, 2026
8248866
test(db): prove facade metadata recovery
KyleAMathews Sep 2, 2026
bfdf68c
test(db): prove post-truncate replacements
KyleAMathews Sep 2, 2026
856e383
test(db): separate source and graph lifecycle
KyleAMathews Sep 2, 2026
14231ec
test(db): separate D2 expected identity
KyleAMathews Sep 2, 2026
ad72555
test(db): pin mixed D2 source keys
KyleAMathews Sep 2, 2026
3c79571
test(db): cross pending publication query shapes
KyleAMathews Sep 2, 2026
22f38ce
test(db): assert pending publication payloads
KyleAMathews Sep 2, 2026
3bf1f8c
fix(db): retain root base beneath optimistic deletes
KyleAMathews Sep 2, 2026
ce1c939
test(db): bound immediate graph publication
KyleAMathews Sep 2, 2026
fc6face
fix(db): defer rollback-sensitive settlement
KyleAMathews Sep 2, 2026
8c7e453
chore(db): keep oracle formatting stable
KyleAMathews Sep 2, 2026
17a79e0
test(db): restore metadata transition axes
KyleAMathews Sep 2, 2026
68c6596
test(db): complete metadata cancellation histories
KyleAMathews Sep 2, 2026
036b967
test(db): prove multi-key metadata rollback
KyleAMathews Sep 2, 2026
30db62b
test(db): isolate metadata publication affectedness
KyleAMathews Sep 2, 2026
ddcf839
test(db): preserve metadata rollback order
KyleAMathews Sep 2, 2026
f0144f9
test(db): order restarted sync receipts
KyleAMathews Sep 2, 2026
0f86d22
test(db): cross restart trigger shapes
KyleAMathews Sep 2, 2026
dbed47e
fix(db): keep repeated rollback inert
KyleAMathews Sep 2, 2026
3b1bda2
test(db): vary late rejection values
KyleAMathews Sep 2, 2026
f12dfbf
test(db): restore virtual state on rollback
KyleAMathews Sep 2, 2026
b9d9f1c
test(db): preserve canceled virtual snapshots
KyleAMathews Sep 2, 2026
85005ab
test(db): verify parked receipt outcomes
KyleAMathews Sep 2, 2026
2b196be
test(db): observe falsy publication delivery
KyleAMathews Sep 2, 2026
c05d22b
test(db): preserve publication result state
KyleAMathews Sep 2, 2026
36caec9
test(db): vary filtered listener failures
KyleAMathews Sep 2, 2026
2b99270
test(db): preserve falsy failures through cleanup
KyleAMathews Sep 2, 2026
d1a30b6
test(db): keep first-ready callbacks one-shot
KyleAMathews Sep 2, 2026
73ee245
test(db): observe mark-ready transitions
KyleAMathews Sep 2, 2026
a0189e6
fix(db): fence superseded ready transitions
KyleAMathews Sep 2, 2026
0ff39e9
test(db): fence ready restart generations
KyleAMathews Sep 2, 2026
5beb0b8
test(db): isolate retained state model inputs
KyleAMathews Sep 2, 2026
d2c0974
test(db): reject stale row origins
KyleAMathews Sep 2, 2026
c54588b
test(db): retire hydration ownership
KyleAMathews Sep 2, 2026
eb8fba4
test(db): retire confirmed optimistic ownership
KyleAMathews Sep 2, 2026
4aede12
fix(query-db): preserve active row ownership
KyleAMathews Sep 2, 2026
e1147c6
test(query-db): separate persisted owner insertion
KyleAMathews Sep 2, 2026
aae958e
test(query-db): prove persisted owner precondition
KyleAMathews Sep 2, 2026
854c86a
test(query-db): prove metadata setup is one-shot
KyleAMathews Sep 2, 2026
c311063
test(query-db): verify metadata setup restart
KyleAMathews Sep 2, 2026
e381471
fix(db): preserve predicate subtraction semantics
KyleAMathews Sep 2, 2026
e906a6f
Merge Electric cancellation closure
KyleAMathews Sep 2, 2026
79bf85f
test(db): clear settled dedupe evidence on reset
KyleAMathews Sep 2, 2026
f32454a
Merge PowerSync lifecycle closure
KyleAMathews Sep 2, 2026
2fa5e39
test(powersync): prove failed demand retirement
KyleAMathews Sep 2, 2026
28f4399
style(powersync): format test hook imports
KyleAMathews Sep 2, 2026
0c1af71
test(db): restore full-suite type safety
KyleAMathews Sep 2, 2026
303a19c
style(db): format integrated oracle changes
KyleAMathews Sep 2, 2026
0b3aa0f
docs: add integrated loadSubset changeset
KyleAMathews Sep 2, 2026
79781c8
fix(db): preserve outcome-free paging compatibility
KyleAMathews Sep 2, 2026
3be29b3
fix(db): keep outcome-free paging local
KyleAMathews Sep 2, 2026
2143f48
test(db): prove outcome-free settlement retirement
KyleAMathews Sep 2, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions .changeset/cancel-electric-refresh-wait.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
'@tanstack/electric-db-collection': patch
---

Cancel an on-demand refresh wait when its request or collection is cleaned up, preventing snapshots from starting after teardown.
5 changes: 5 additions & 0 deletions .changeset/fix-powersync-tracking-startup.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
'@tanstack/powersync-db-collection': patch
---

Serialize PowerSync tracking startup so changes and cleanup cannot race an unpublished trigger, and cancel subset or load-hook work released while startup is suspended.
5 changes: 5 additions & 0 deletions .changeset/harden-load-subset-lifecycle.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
'@tanstack/db': patch
---

Harden on-demand query refinement across predicate subtraction, replay and publication rollback, readiness restarts, and resource cleanup.
5 changes: 0 additions & 5 deletions .changeset/lazy-runtime-reference-identities.md

This file was deleted.

12 changes: 9 additions & 3 deletions docs/guides/error-handling.md
Original file line number Diff line number Diff line change
Expand Up @@ -141,17 +141,23 @@ console.log(subscription.lastError)
```

For ordered live queries, `utils.setWindow()` rejects with the same error. The
last failure is also available as `utils.lastSubsetError`, while the last
successful snapshot remains readable:
last failure is also available as `utils.lastSubsetError`, while
`utils.hasSubsetError` distinguishes a thrown `undefined` from no observed
failure. The last successful snapshot remains readable:

```ts
try {
await liveTodos.utils.setWindow({ offset: 0, limit: 100 })
} catch (error) {
console.error(liveTodos.utils.lastSubsetError)
if (liveTodos.utils.hasSubsetError) {
console.error(liveTodos.utils.lastSubsetError)
}
}
```

Both diagnostic values reset together when the live query starts a new sync
session.

Effects report subset failures through `onSourceError` and dispose because
their incremental result can no longer be kept complete.

Expand Down
34 changes: 17 additions & 17 deletions docs/reference/classes/BTreeIndex.md
Original file line number Diff line number Diff line change
Expand Up @@ -68,7 +68,7 @@ Defined in: [packages/db/src/indexes/btree-index.ts:56](https://github.com/TanSt
protected compareOptions: CompareOptions;
```

Defined in: [packages/db/src/indexes/base-index.ts:102](https://github.com/TanStack/db/blob/main/packages/db/src/indexes/base-index.ts#L102)
Defined in: [packages/db/src/indexes/base-index.ts:124](https://github.com/TanStack/db/blob/main/packages/db/src/indexes/base-index.ts#L124)

#### Inherited from

Expand All @@ -82,7 +82,7 @@ Defined in: [packages/db/src/indexes/base-index.ts:102](https://github.com/TanSt
readonly expression: BasicExpression;
```

Defined in: [packages/db/src/indexes/base-index.ts:96](https://github.com/TanStack/db/blob/main/packages/db/src/indexes/base-index.ts#L96)
Defined in: [packages/db/src/indexes/base-index.ts:118](https://github.com/TanStack/db/blob/main/packages/db/src/indexes/base-index.ts#L118)

#### Inherited from

Expand All @@ -96,7 +96,7 @@ Defined in: [packages/db/src/indexes/base-index.ts:96](https://github.com/TanSta
protected hasCustomComparator: boolean = false;
```

Defined in: [packages/db/src/indexes/base-index.ts:108](https://github.com/TanStack/db/blob/main/packages/db/src/indexes/base-index.ts#L108)
Defined in: [packages/db/src/indexes/base-index.ts:130](https://github.com/TanStack/db/blob/main/packages/db/src/indexes/base-index.ts#L130)

Set by subclasses when constructed with a user-supplied comparator, whose
ordering may not match the WHERE evaluator's relational operators.
Expand All @@ -113,7 +113,7 @@ ordering may not match the WHERE evaluator's relational operators.
readonly id: number;
```

Defined in: [packages/db/src/indexes/base-index.ts:94](https://github.com/TanStack/db/blob/main/packages/db/src/indexes/base-index.ts#L94)
Defined in: [packages/db/src/indexes/base-index.ts:116](https://github.com/TanStack/db/blob/main/packages/db/src/indexes/base-index.ts#L116)

#### Inherited from

Expand All @@ -127,7 +127,7 @@ Defined in: [packages/db/src/indexes/base-index.ts:94](https://github.com/TanSta
protected lastUpdated: Date;
```

Defined in: [packages/db/src/indexes/base-index.ts:101](https://github.com/TanStack/db/blob/main/packages/db/src/indexes/base-index.ts#L101)
Defined in: [packages/db/src/indexes/base-index.ts:123](https://github.com/TanStack/db/blob/main/packages/db/src/indexes/base-index.ts#L123)

#### Inherited from

Expand All @@ -141,7 +141,7 @@ Defined in: [packages/db/src/indexes/base-index.ts:101](https://github.com/TanSt
protected lookupCount: number = 0;
```

Defined in: [packages/db/src/indexes/base-index.ts:99](https://github.com/TanStack/db/blob/main/packages/db/src/indexes/base-index.ts#L99)
Defined in: [packages/db/src/indexes/base-index.ts:121](https://github.com/TanStack/db/blob/main/packages/db/src/indexes/base-index.ts#L121)

#### Inherited from

Expand All @@ -155,7 +155,7 @@ Defined in: [packages/db/src/indexes/base-index.ts:99](https://github.com/TanSta
readonly optional name: string;
```

Defined in: [packages/db/src/indexes/base-index.ts:95](https://github.com/TanStack/db/blob/main/packages/db/src/indexes/base-index.ts#L95)
Defined in: [packages/db/src/indexes/base-index.ts:117](https://github.com/TanStack/db/blob/main/packages/db/src/indexes/base-index.ts#L117)

#### Inherited from

Expand Down Expand Up @@ -183,7 +183,7 @@ Defined in: [packages/db/src/indexes/btree-index.ts:39](https://github.com/TanSt
protected totalLookupTime: number = 0;
```

Defined in: [packages/db/src/indexes/base-index.ts:100](https://github.com/TanStack/db/blob/main/packages/db/src/indexes/base-index.ts#L100)
Defined in: [packages/db/src/indexes/base-index.ts:122](https://github.com/TanStack/db/blob/main/packages/db/src/indexes/base-index.ts#L122)

#### Inherited from

Expand Down Expand Up @@ -281,7 +281,7 @@ Defined in: [packages/db/src/indexes/btree-index.ts:452](https://github.com/TanS
get supportsRangeOptimization(): boolean;
```

Defined in: [packages/db/src/indexes/base-index.ts:163](https://github.com/TanStack/db/blob/main/packages/db/src/indexes/base-index.ts#L163)
Defined in: [packages/db/src/indexes/base-index.ts:185](https://github.com/TanStack/db/blob/main/packages/db/src/indexes/base-index.ts#L185)

Whether range lookups (gt/gte/lt/lte) on this index can be trusted to
return every matching key. Range traversal relies on the index ordering, so
Expand Down Expand Up @@ -427,7 +427,7 @@ Performs an equality lookup
protected evaluateIndexExpression(item): any;
```

Defined in: [packages/db/src/indexes/base-index.ts:214](https://github.com/TanStack/db/blob/main/packages/db/src/indexes/base-index.ts#L214)
Defined in: [packages/db/src/indexes/base-index.ts:246](https://github.com/TanStack/db/blob/main/packages/db/src/indexes/base-index.ts#L246)

#### Parameters

Expand All @@ -451,7 +451,7 @@ Defined in: [packages/db/src/indexes/base-index.ts:214](https://github.com/TanSt
getStats(): IndexStats;
```

Defined in: [packages/db/src/indexes/base-index.ts:202](https://github.com/TanStack/db/blob/main/packages/db/src/indexes/base-index.ts#L202)
Defined in: [packages/db/src/indexes/base-index.ts:234](https://github.com/TanStack/db/blob/main/packages/db/src/indexes/base-index.ts#L234)

#### Returns

Expand Down Expand Up @@ -549,7 +549,7 @@ Performs a lookup operation
matchesCompareOptions(compareOptions): boolean;
```

Defined in: [packages/db/src/indexes/base-index.ts:179](https://github.com/TanStack/db/blob/main/packages/db/src/indexes/base-index.ts#L179)
Defined in: [packages/db/src/indexes/base-index.ts:201](https://github.com/TanStack/db/blob/main/packages/db/src/indexes/base-index.ts#L201)

Checks if the compare options match the index's compare options.
The direction is ignored because the index can be reversed if the direction is different.
Expand All @@ -576,7 +576,7 @@ The direction is ignored because the index can be reversed if the direction is d
matchesDirection(direction): boolean;
```

Defined in: [packages/db/src/indexes/base-index.ts:198](https://github.com/TanStack/db/blob/main/packages/db/src/indexes/base-index.ts#L198)
Defined in: [packages/db/src/indexes/base-index.ts:230](https://github.com/TanStack/db/blob/main/packages/db/src/indexes/base-index.ts#L230)

Checks if the index matches the provided direction.

Expand All @@ -602,7 +602,7 @@ Checks if the index matches the provided direction.
matchesField(fieldPath): boolean;
```

Defined in: [packages/db/src/indexes/base-index.ts:167](https://github.com/TanStack/db/blob/main/packages/db/src/indexes/base-index.ts#L167)
Defined in: [packages/db/src/indexes/base-index.ts:189](https://github.com/TanStack/db/blob/main/packages/db/src/indexes/base-index.ts#L189)

#### Parameters

Expand Down Expand Up @@ -709,7 +709,7 @@ Removes a value from the index
supports(operation): boolean;
```

Defined in: [packages/db/src/indexes/base-index.ts:159](https://github.com/TanStack/db/blob/main/packages/db/src/indexes/base-index.ts#L159)
Defined in: [packages/db/src/indexes/base-index.ts:181](https://github.com/TanStack/db/blob/main/packages/db/src/indexes/base-index.ts#L181)

#### Parameters

Expand Down Expand Up @@ -891,7 +891,7 @@ The last n items
protected trackLookup(startTime): void;
```

Defined in: [packages/db/src/indexes/base-index.ts:220](https://github.com/TanStack/db/blob/main/packages/db/src/indexes/base-index.ts#L220)
Defined in: [packages/db/src/indexes/base-index.ts:252](https://github.com/TanStack/db/blob/main/packages/db/src/indexes/base-index.ts#L252)

#### Parameters

Expand Down Expand Up @@ -952,7 +952,7 @@ Updates a value in the index
protected updateTimestamp(): void;
```

Defined in: [packages/db/src/indexes/base-index.ts:226](https://github.com/TanStack/db/blob/main/packages/db/src/indexes/base-index.ts#L226)
Defined in: [packages/db/src/indexes/base-index.ts:258](https://github.com/TanStack/db/blob/main/packages/db/src/indexes/base-index.ts#L258)

#### Returns

Expand Down
Loading
Loading