Updating your pull requests
We're rapidly iterating on our code review interface - expect frequent updates as we refine the experience. If there's something in the UI that isn't clarified in this documentation, please reach out in the community slack.
Clicking on a PR in your PR inbox opens up a designated PR page view in the Graphite dashboard, where you'll be able to edit the title, status, reviewers, labels, and description directly from Graphite (any changes you make are synced to GitHub). Let's take a look at the anatomy of the PR page:
A) PR page title
The left hand side of the PR page header contains its review status (in this case, changes requested), the title of the PR, the PR#, and the author.
B) PR body/description
While you're able to edit the body of the PR description in
vi using the Graphite CLI, most of our engineers and power users prefer to do so in the Graphite dashboard. The markdown description editor has a live-preview of your changes, as well as the ability to drag and drop screenshots, screen recordings, and even GIFs and emojis. One of our new features, AI summarize, uses GPT3 to automatically generate a summary for your PR based on the contents of the diff. See the editor below:
C) PR review section
The right hand side of the PR page header is dedicated to PR review functionality. If you're not the author of the PR, you'll see a button that says add review. You'll also see the option to merge the PR or stack of PRs, depending on where you are in the stack. You can also see a version drop down that gives you the ability to toggle between various iterations of the PR. We'll discuss this more in the next section, reviewing pull requests.
D) Information panel
The right toolbar of the PR page is the information panel. By default, the PR page shows the General info tab, but it also contains a few other important views:
F): Shows the relevant files touched by this PR
S): Shows where in the stack this PR is through an interactive interface that allows you to click PR titles to jump between PRs
T): Shows a chronological sequence of evens similar to GitHub, including comments, version updates, adding/removing reviewers, etc.
C): Shows a focused view of in-line code comments (NOT issue-level comments), so that you don't have to scroll through the code to find relevant conversations. You can click on threads in this view and you will be taken to the area in the code which the comment was left
E) [General info tab] PR metadata
Contains PR's status (open, closed, merged), changeset indicator, repository name, branch name, and the parent branch of the PR.
F) [General info tab] Merge conflicts section
This section indicates whether your PR contains merge conflicts or not
G) [General info tab] CI status section
Shows a live-updating list of active checks being run against the PR. The header indicates whether the checks are in progress, passing or failing, and provides the option to cancel or rerun checks
H) [General info tab] Review status section
Shows a list of the PRs requested reviewers, the review status of the PR, and also provides the ability to add/remove/re-request reviewers
I) Diff view
The diff view is arguably one of the most important parts of the PR - here you're able to see the changes between the original state of the repository, and the new changes introduced by the PR. By default Graphite assumes a split view, where changes to the PR are shown on the right, in comparison to the base view on the left. If you're more comfortable with a unified view, you can adjust this in the
... menu on the header of the PR
J) In-line comments
Comments can be left on the diff in line by clicking/dragging on line numbers. These will surface in the timeline or threads view of the PR
Labels associated with the PR