Close the remaining #2136-class gaps in the ordered refetch oracles
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
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.
- Lenguaje dominante
- TypeScript
- Estrellas
- 3.9k
- Forks
- 277
- Merge medio
- 22 h 54 min
- PR fusionados (30 d)
- 236
Preparar el entorno
- Sin Dockerfile ni archivo de Docker Compose
- Tiene una plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de TanStack/db
-
Dificultad 4/5 3-5 días Aptitud para principiantes 22/100
Los mantenedores suelen responder en 1 día
-
Dificultad 5/5 Más de una semana Aptitud para principiantes 12/100
Los mantenedores suelen responder en 1 día
-
Dificultad 5/5 Más de una semana Aptitud para principiantes 8/100
Los mantenedores suelen responder en 1 día
-
Dificultad 4/5 3-5 días Aptitud para principiantes 25/100
Los mantenedores suelen responder en 1 día
-
query-db: a Query refetch that joins a loader's refetch acquisition does not report shifted pagesAbierto
Dificultad 5/5 Más de una semana Aptitud para principiantes 8/100
TanStack/db#2185 · 1 comentario ·
Los mantenedores suelen responder en 1 día
Todos los issues de TanStack/db
Issues similares
-
area:plugins enhancement platform:vscode
Dificultad 2/5 1-3 horas Aptitud para principiantes 88/100
anthropics/claude-code#103166 ·
Los mantenedores suelen responder en 1 día
-
Add: Add pogo tv indiaAbiertocheck:failed streams:add
Dificultad 1/5 Menos de una hora Aptitud para principiantes 90/100
iptv-org/iptv#55744 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 90/100
jitsi/jitsi-meet#18021 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 86/100
Los mantenedores suelen responder en 1 día
-
spec: discovery input example can contain multiple aliases for one parameter, with no canonical oneAbierto
Dificultad 1/5 Menos de una hora Aptitud para principiantes 95/100
x402-foundation/x402#3841 ·
Los mantenedores suelen responder en 1 día