watch-pr: review threads are fetched without pagination (first 100 only)
Mantenedores costumam responder em até 1 dia
Avaliação
- Dificuldade
- 2/5
- Tempo estimado
- Meio dia
- Facilidade para iniciantes
- 84/100
- Tipo de issue
- Bug
- Clareza
- Claramente especificada
- Status de atividade
- Ativa
- Stack de tecnologia
- typescript
Direção de pesquisa
Comece em pstack/skills/poteto-mode/scripts/watch-pr/github.ts, revisando a consulta reviewThreads na linha 5, parseReviewThreads por volta da linha 360, reviewThreads() próximo à linha 571 e o loop de paginação existente por volta da linha 616. Execute o watcher em um pull request com mais de 100 review threads, incluindo um thread posterior não resolvido. Está concluído quando as páginas posteriores são buscadas e esse thread não resolvido afeta a decisão de readiness, em vez de ser omitido silenciosamente.
Escrita pelo modelo de indexação a partir do texto da issue.
Descrição
Observed at commit 2eb7ed4613cfc8f098dfe464a23680ea44d84c5e.
pstack/skills/poteto-mode/scripts/watch-pr/github.ts line 5 defines the review-thread query as:
reviewThreads(first: 100) {
nodes { id isResolved comments(first: 10) { nodes { ... } } }
}
It has no pageInfo and no cursor. reviewThreads() at line 571 issues this single query and parseReviewThreads (line 360) reads only reviewThreads.nodes. By contrast, the check-rollup query in the same file (line 9) paginates with pageInfo { hasNextPage endCursor } and a loop (around line 616).
Impact
On a PR with more than 100 review threads, threads after the first 100 are never seen. policy.ts line 66 builds the PR snapshot from this list (line 66), so an unresolved thread beyond the first page is invisible to the readiness decision. Comments beyond the first 10 in a thread are likewise dropped, though that matters less because only thread-level resolution seems to be used.
Minimal reproduction
Run the watcher against a PR with 101+ review threads where only a thread past the first 100 is unresolved; the PR is reported as having no unresolved threads.
Suggested fix
Add pageInfo { hasNextPage endCursor } and an $after cursor to the reviewThreads query and loop until hasNextPage is false, as is already done for contexts. If a hard cap is wanted, report an explicit "truncated" state rather than silently using the first page.
- Linguagem predominante
- TypeScript
- Estrelas
- 13.9k
- Forks
- 1.4k
- Merge médio
- 6h 55min
- PRs com merge (30d)
- 158
Preparar o ambiente
Este projeto não oferece contêiner de desenvolvimento, Dockerfile nem guia de contribuição, então a configuração fica por sua conta: comece pelo README e veja nosso guia da primeira contribuição para os passos gerais.
Primeiros passos
- Leia a issue inteira e depois o guia de contribuição do projeto.
- Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
- Faça um fork do repositório e trabalhe em uma branch.
- Abra um pull request que referencie o número da issue.
Mais de cursor/plugins
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 85/100
cursor/plugins#1053 · 1 comentário ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 72/100
cursor/plugins#1025 · 1 comentário ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 75/100
cursor/plugins#1012 · 1 comentário ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 1/5 Menos de uma hora Facilidade para iniciantes 80/100
cursor/plugins#990 · 1 comentário ·
Mantenedores costumam responder em até 1 dia
-
statechart: a relative TLA2TOOLS or JAVA path fails, because TLC runs in the snapshot folderTalvez já em andamento @Ehsan-hash assumiu há 2 dias. Aberta
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 78/100
cursor/plugins#973 · 1 comentário ·
Mantenedores costumam responder em até 1 dia
Todas as issues de cursor/plugins
Issues semelhantes
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 78/100
Mantenedores costumam responder em até 1 dia
-
area:web p3
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 72/100
Lets-Parley/Parley#912 ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 78/100
wealthfolio/wealthfolio#2376 ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 82/100
be-BOP-io-SA/be-BOP#2817 ·
Mantenedores costumam responder em até 5 dias
-
documentation good first issue
Dificuldade 1/5 1-3 horas Facilidade para iniciantes 84/100
sno-ai/sno-station#149 · 1 comentário ·
Mantenedores costumam responder em até 1 dia