feat: pull requests page and review tools - #210
Merged
Conversation
Threadlines had no place to see the pull requests of a workspace. Every GitHub project's PRs now list on one page, grouped by what needs the user, with each row tied to the thread that produced it and a way to hand a PR to a new thread. A Pull Requests row under General Chats opens it and shows how many PRs need you. The server reads through gh once per repository and caches for 30 seconds; the capability is advertised so older servers hide the row.
Adds a host-neutral pull request service behind a provider port: GitHub through gh, with GitLab, Bitbucket, and Azure DevOps behind per-host capability tables. Lists, detail, activity, diff, comments, reviews, reactions, edits, reviewers, update branch, auto-merge, and the viewer's own pull requests on repositories outside the workspace. Reads sit behind short caches so the page can poll without hammering the host.
A Pull requests page with open, merged, and closed listings grouped by Needs you, Yours, and Others, search, filters, and sort kept in the URL. A detail panel with Summary, Code, and Timeline tabs: review conversations pinned to diff lines, a pending review that sends as one, merge, close, reopen, draft, update branch, auto-merge, and edits, each gated on what the host and the viewer's rights allow. The same panel opens as a Pull request tab beside a thread. Hand-offs write fix, explain, ask, and resolve-conflicts prompts into a thread's composer. Pages draw a phone header with the sidebar toggle, and the diff viewer warms up when a pull request opens.
A Pull Requests row under General Chats with a needs-you count, and a pull request badge with the number on thread rows that click through to the thread's Pull request tab. Threads whose pull request merged or closed file under Done.
The analysis of the upstream panel and the step-by-step spec the feature was built from.
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Threadlines had no place to see or work a pull request. Reviewing meant leaving for the host, and a thread that had opened a PR gave no sign of it.
This adds a Pull requests page and a Pull request tab beside every thread that has one.
List. A "Pull Requests" row under General Chats opens a page listing open, merged, and closed pull requests across every project with a remote we can read, plus the ones you authored on repos that are not projects. Rows group into Needs you, Yours, and Others, with search, filters, and sort in the URL. Threads link to their pull request by branch, and sidebar rows show the PR number.
Detail. Summary (description, checks, reviewers, comments), Code (the diff with review conversations pinned to lines, line comments, and a pending review that sends as one), and Timeline. Header actions cover merge with method and delete-branch, close, reopen, draft, update branch, auto-merge, and edits to the title and description. Every write is gated on what the host and the viewer's rights allow.
Hand-offs. Fix a failing check, fix a review finding, explain the PR, ask a question, or resolve conflicts, each written into the linked thread's composer or into a new worktree thread.
Hosts. GitHub through
gh, with GitLab, Bitbucket, and Azure DevOps behind the same provider port and per-host capability tables. Reads go through short server-side caches so the page can poll without hammering the host.Design notes and the step-by-step spec live in
docs/design/pull-requests.md.