Hacktoberfest 2026 : les issues que les mainteneurs ont marquées pour octobre, ouvertes et accessibles aux débutants. Parcourir les issues Hacktoberfest

Close the remaining #2136-class gaps in the ordered refetch oracles

Ouverte
#2,186 2 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

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 observe query, 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-signal provider, 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 -1471487158 fails with peer 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

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Autres issues de TanStack/db

Toutes les issues de TanStack/db

Issues similaires

Plus d'issues TypeScript

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.