Hacktoberfest 2026: die Issues, die Maintainer für den Oktober markiert haben – offen und einsteigerfreundlich. Hacktoberfest-Issues durchsuchen

watch-pr: review threads are fetched without pagination (first 100 only)

Geschlossen Anfängerfreundlich
#471 1 Kommentar 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Maintainer antworten meist innerhalb von 1 Tag

@Yi-111-a arbeitet bereits daran.

Seit 02.10.2026.

  • #484 von @Yi-111-a — offen

Bewertung

Schwierigkeit
2/5
Geschätzter Aufwand
Ein halber Tag
Anfängerfreundlichkeit
84/100
Issue-Typ
Bug
Klarheit
Klar beschrieben
Aktivitätsstatus
Aktiv
Tech-Stack
typescript
Bereich
api, tooling

Rechercherichtung

Beginne in pstack/skills/poteto-mode/scripts/watch-pr/github.ts und überprüfe die reviewThreads-Abfrage in Zeile 5, parseReviewThreads um Zeile 360, reviewThreads() nahe Zeile 571 sowie die bestehende Paginierungsschleife um Zeile 616. Führe den Watcher gegen einen Pull Request mit mehr als 100 Review-Threads aus, einschließlich eines späteren ungelösten Threads. Erledigt ist die Aufgabe, wenn spätere Seiten abgerufen werden und dieser ungelöste Thread die Readiness-Entscheidung beeinflusst, anstatt stillschweigend ausgelassen zu werden.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Beschreibung

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.

Vorherrschende Sprache
TypeScript
Sterne
12.5k
Forks
1.2k
Ø Merge
8 Std. 49 Min.
Gemergte PRs (30 T.)
135

Entwicklungsumgebung

Dieses Projekt bietet weder Dev-Container noch Dockerfile noch Beitragsleitfaden – die Einrichtung liegt bei Ihnen. Beginnen Sie mit der README; die allgemeinen Schritte stehen in unserem Leitfaden für den ersten Beitrag.

Erste Schritte

  1. Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
  3. Forken Sie das Repository und arbeiten Sie in einem Branch.
  4. Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.

Mehr aus cursor/plugins

Alle Issues in cursor/plugins

Ähnliche Issues

Weitere Issues zu TypeScript

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.