Close the remaining #2136-class gaps in the ordered refetch oracles
Les mainteneurs répondent en général sous 1 jour
Personne n'a encore pris cette issue.
Évaluation
- Difficulté
- 5/5
- Temps estimé
- Plus d'une semaine
- Accessibilité débutants
- 5/100
- Type d'issue
- Fonctionnalité
- Clarté
- À clarifier
- Activité
- Active
- Stack technique
- typescript
- Domaine
- testing
Piste de recherche
Start with the coverage map row "Query DB ordered refetch" in docs/contributing/oracle-coverage.md and the existing oracle in packages/query-db-collection/tests/refetch-ordered-prefix-oracle.test.ts. Read the loader rules in packages/db/src/query/live/ARCHITECTURE.md, section "Ordered requests, continuation, and recovery". Run the oracle test to understand the current laws, then pick one unchecked item such as held answers combined with a reporting refetch. Done means a generated campaign reproduces the gap before the fix and passes after it.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
Summary
Follow-up oracle work for the #2136 bug class: a loader that treats rows as loaded after the provider's state has moved. #2154 closed the reported trace and strengthened the query-db refetch oracle. This issue records the histories, paths and observations that are still outside the oracles, so a later agent can close more of the class.
What #2154 established
packages/query-db-collection/tests/refetch-ordered-prefix-oracle.test.ts:
- Window law and coverage law, after preload and after each refetch, invalidation and hold release.
- Generated campaigns: marker flips, lagging backend changes, a peer
observequery, invalidation, and optimistic update and delete holds across a refetch. - A premise-directed held campaign for the loader's first-page skip.
- At four times the run count, six random seeds pass.
Each new dimension found real bugs: four in the loader, two in the gate. So the finding rate has not yet reached zero, and a green campaign is weak evidence beyond these dimensions.
Remaining work
- Held answers combined with a reporting refetch (ordered-work oracle). Combine the holding provider with the
refetch-signalprovider, and keep the ledger law (the Collection holds exactly the provider's sent rows). This would have found the stale-prefix retirement bug fixed in #2154 as a generated failure. It is a natural part of #2155. - #2155, unindexed peer pairing. Seed
-1471487158fails withpeer rows after step 2: expected [ 100 ] to deeply equal [ 100, 101 ]. - Window check after marker flips in the query-db campaigns. During #2154, both campaigns at 1× passed with a window check after every flip (provider current, no hold). Add that law.
- Order values. The query-db model types ranks as numbers. Add null, undefined and NaN order values. A gate bug with undefined order values was found by review, not by the oracle.
- Providers. The campaigns use an uncapped cursor provider only. They need offset-only (#2182) and page-capped (#2183) providers.
- Refetch kinds. Interval, focus and reconnect refetches share the invalidation path, but no history drives them.
- Windows during a hold. No window is checked while an optimistic transaction persists (#2169, #2148).
- Optimistic inserts are not generated.
- Preload during a hold. The harness defers awaiting a preload that starts during a hold (#2184).
- Multi-tab. Follower tabs never get the report (#2174). That needs a witness in the real-tab coordinator lane.
- A joined user refetch is not reported (#2185).
- Process. When an oracle's limits section hands a case to another owner, the coverage map should name that owner's witness. #2154's review found an overlap case that the named owner did not cover.
Pointers
- Coverage map row: "Query DB ordered refetch" in
docs/contributing/oracle-coverage.md. - Loader rules:
packages/db/src/query/live/ARCHITECTURE.md, "Ordered requests, continuation, and recovery".
This issue was written by Isaac.
- Langage dominant
- TypeScript
- Étoiles
- 3.9k
- Forks
- 272
- Merge moyen
- 22 h 54 min
- PR mergées (30 j)
- 236
Préparer son environnement
- Aucun Dockerfile ni fichier Docker Compose
- Propose un modèle de pull request
- Lire le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de TanStack/db
-
Difficulté 4/5 3-5 jours Accessibilité débutants 22/100
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 5/5 Plus d'une semaine Accessibilité débutants 12/100
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 5/5 Plus d'une semaine Accessibilité débutants 8/100
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 4/5 3-5 jours Accessibilité débutants 25/100
Les mainteneurs répondent en général sous 1 jour
-
query-db: a Query refetch that joins a loader's refetch acquisition does not report shifted pagesOuverte
Difficulté 5/5 Plus d'une semaine Accessibilité débutants 8/100
TanStack/db#2185 · 1 commentaire ·
Les mainteneurs répondent en général sous 1 jour
Toutes les issues de TanStack/db
Issues similaires
-
`cf complete zsh >> .zshrc` fails on vanilla zshPeut-être à nouveau libre Une pull request pour cette issue a été fermée sans être fusionnée. Ouverte
Difficulté 2/5 1-3 heures Accessibilité débutants 75/100
cloudflare/cf#340 ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 72/100
-
Rename Madson cameraOuverte
Difficulté 2/5 Moins d'une heure Accessibilité débutants 75/100
StoDevX/AAO-React-Native#8785 ·
Les mainteneurs répondent en général sous 1 jour
-
Broken links in the docsOuverte
Difficulté 1/5 Moins d'une heure Accessibilité débutants 75/100
-
bnv-manager-v2: accept_invite creates the Mailcow domain admin before the commitPeut-être pris @myOmikron l’a pris aujourd’hui. Ouvertebug ready-for-agent
Difficulté 2/5 1-3 heures Accessibilité débutants 82/100