Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

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

Abierto
#2,186 2 comentarios 0 reacciones 0 asignados Ver en GitHub

Los mantenedores suelen responder en 1 día

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
5/5
Tiempo estimado
Más de una semana
Aptitud para principiantes
5/100
Tipo de issue
Nueva funcionalidad
Claridad
Necesita aclaración
Estado de actividad
Activo
Stack tecnológico
typescript
Área
testing

Línea de trabajo

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.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

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.

Lenguaje dominante
TypeScript
Estrellas
3.9k
Forks
277
Merge medio
22 h 54 min
PR fusionados (30 d)
236

Preparar el entorno

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de TanStack/db

Todos los issues de TanStack/db

Issues similares

Más issues de TypeScript

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.