Close the remaining #2136-class gaps in the ordered refetch oracles
メンテナーはふだん 1 日以内に返信
まだ誰も着手していません。
評価
- 難易度
- 5/5
- 見積もり時間
- 1週間以上
- 初心者へのやさしさ
- 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
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.
- 主要言語
- TypeScript
- スター
- 3.9k
- フォーク
- 272
- 平均マージ
- 1日 21分
- マージ済み PR(30日)
- 241
環境構築
- Dockerfile・Docker Compose ファイルなし
- プルリクエストのテンプレートあり
- コントリビューションガイドを読む
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
TanStack/db のほかの issue
-
難易度 5/5 1週間以上 初心者へのやさしさ 8/100
メンテナーはふだん 1 日以内に返信
-
難易度 4/5 3〜5日 初心者へのやさしさ 25/100
メンテナーはふだん 1 日以内に返信
-
query-db: a Query refetch that joins a loader's refetch acquisition does not report shifted pagesオープン
難易度 5/5 1週間以上 初心者へのやさしさ 8/100
メンテナーはふだん 1 日以内に返信
-
A live query's preload on an on-demand collection waits for any persisting optimistic transactionオープン
難易度 5/5 1週間以上 初心者へのやさしさ 12/100
メンテナーはふだん 1 日以内に返信
-
難易度 4/5 3〜5日 初心者へのやさしさ 18/100
メンテナーはふだん 1 日以内に返信
似ている issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 74/100
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 74/100
メンテナーはふだん 1 日以内に返信
-
bug category:ai category:devices effort:s
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
LanternOps/breeze#8943 ·
メンテナーはふだん 1 日以内に返信
-
bug
難易度 2/5 1〜3時間 初心者へのやさしさ 74/100
-
area:reliability difficulty:easy help wanted points:100 Stellar Wave
難易度 2/5 1〜3時間 初心者へのやさしさ 80/100
Divinity-Labs/Lens#341 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信