0053 — PR dashboard: every PR you own, on one page #133
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "feat/0053-pr-dashboard"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Implements docs/0053-pr-dashboard.md (approved in chat): a
/prspage listing every PR by the repo's own credential account across all project repos — hand-opened and agent-opened alike — with live status and review signals, replacing the browser "PRs" folder habit.GitHost.listPRsseam (GitHub + Forgejo):PRSummary[] | null, never throws. Open PRs by the account carry an aggregated review verdict (aggregateReviews: latest review per reviewer, then changes-requested > approved > commented); review fetches bounded to 25 open PRs/repo. All API shapes verified live against git.crussell.io, Codeberg, gitea.com, and api.github.com by a fresh-eyes review pass (which caught three wrong Forgejo field names before merge); fixtures pinned to the real shapes.lib/prs/dashboard.ts: walks project_repos, resolves credentials, filters by author case-insensitively, dedupes by canonical URL, sorts open first (changes-requested → commented → activity) then settled (merged before closed, dimmed); un-askable repos are a red note, never fatal./prspage + dashboard UI: open section, settled section (cap 10 + reachable show-more/fewer toggle), repo badge, branch chip, review badges, relative last-activity. Fetch is live on page load — nothing stored, no polling (the 0052 philosophy).getPRState(0052) also corrected:mergedis a boolean with the timestamp atmerged_at(it previously worked by accidental truthiness).commentsfield, so the comment-count badge shows only on Forgejo.Design doc, AGENTS.md bullet, and tests included. Gate: typecheck clean, lint 0 errors, 849 tests passing.
Live-verified in the 0053 review: GET /repos/{o}/{r}/pulls list rows have no 'comments' (the field exists on the single-PR GET / issues API only), so GitHub commentCount stays null — PRSummary already allows null and the badge renders only when known. Code comment says so; the spec's API-shape notes are corrected (GitHub comments, Forgejo user.login author, boolean merged + merged_at, reviewer at user.login) with an implementation note recording the live verification, and the AGENTS.md 0053 bullet follows.