Hacktoberfest 2026:维护者为十月标记出来的 issue,仍然开放、适合新手。 浏览 Hacktoberfest issue

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

未关闭
#2,186 1 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看

维护者通常 1 天内回复

还没有人认领这个 Issue。

评估

难度
5/5
预计耗时
一周以上
新手友好度
5/100
Issue 类型
功能
描述清晰度
需要澄清
活跃度
活跃
技术栈
typescript
领域
testing

调研方向

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.

由索引模型根据 Issue 内容生成。

描述

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.

主要语言
TypeScript
星标
3.9k
派生
272
平均合并
1 天 21 分钟
30 天内合并 PR
241

环境准备

从这里开始

  1. 先读完整个 Issue,再读项目的贡献指南。
  2. 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
  3. Fork 仓库,在一个分支上完成修改。
  4. 提交 Pull Request,并在描述里引用这个 Issue 编号。

TanStack/db 的其他 Issue

查看 TanStack/db 的全部 Issue

相似的 Issue

更多 TypeScript Issue

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。