The pull request list, tabs and search
Your inbox of pull requests across every account, the Ctrl+K search that finds any pull request or repository, and the tabs you open them in.
When Revue starts, it shows the Pull requests page: every open pull request that waits on you, that you opened, or that sits in the repositories you work in. Click one to open it in a tab. Keep as many tabs open as you like; they come back the next time you start Revue.
The Pull requests page#
The page has three parts:
- The top row: the page title, one chip per account (when you have more than one, or have starred anything), the search field and the Refresh button.
- The scope tabs and filters: To review, Mine and All in my repos, each with a count, then the filter buttons and Sort on the right.
- The list: one row per pull request, most recently updated first.
The Pull requests button in the title bar takes you back here from anywhere (Ctrl+H or Ctrl+B; Cmd on macOS). Its badge counts the reviews waiting on you across all your accounts.
Scopes: To review, Mine, All in my repos#
| Tab | What it lists |
|---|---|
| To review | Reviews requested from you, plus pull requests you've reviewed before. |
| Mine | Pull requests you opened. |
| All in my repos | Every open pull request in the repositories you work in. |
Under To review a second row narrows it down:
- All: both kinds. Not everyone re-requests a review after pushing fixes, so this is the safe default.
- Requested: someone asked for your review and it's still pending. Marked with a filled dot.
- Reviewed before: you've reviewed these and nobody re-requested. Marked with a hollow dot; New commits shows which ones changed since your review.
Per service: what "All in my repos" covers
- GitHub: the open pull requests of up to 12 repositories that your other sections mention most (GitHub limits how long a search can be), 40 at most.
- Bitbucket Cloud: Bitbucket can't search across repositories, so the review and team lists cover the 30 most recently updated repositories of the workspaces you watch (set for each Bitbucket account in Settings). With none listed, Revue uses the repositories of your own open pull requests.
- Forgejo, Codeberg and Gitea: the open pull requests of the 30 repositories your own pull requests, review requests and reviews are in.
The list shows open pull requests only. Merged and closed ones turn up when you search (see Searching the list).
See GitHub, Bitbucket Cloud and Forgejo, Codeberg and Gitea for more on each.
What a row shows#
From left to right:
- A dot (on To review): filled when your review is requested, hollow when you reviewed it before.
- The author's avatar.
- The title, with any ticket keys (like
PROJ-123) as chips in front, and a Merged or Closed tag when it applies. A draft has an amber Draft badge with a dashed outline and its title greyed, so it stands apart from pull requests ready for review. - Its labels after the title, in their colors: up to three, then +2 for the rest (hover it for their names). Bitbucket has no labels.
- Below the title: the repository and number (
owner/repo #12), the author (in your accent color when it's you) and the branch. Bitbucket and Forgejo pull requests also show a service tag. - On the right:
- a stack badge when the pull request is part of a stack;
- New commits: pushed since your last review;
- a pencil with a number: your unsent draft comments;
- a speech bubble with the number of comments;
- a green check (approved) or a red cross (changes requested);
- a colored dot for CI (hover it for CI: success, failure, pending…);
- how long ago it was updated;
- a star, to add it to your favorites.
Hovering a row starts loading that pull request in the background, so it opens instantly when you click.
Favorites#
Star a pull request with the star at the end of its row, with f on the selected row, or with the star next to its title once it's open. Starred pull requests are listed in the Favorites chip at the start of the account chips, with those of every account together.
On Favorites, with Sort on Default, you arrange the order yourself: use the arrows that appear on each row, or Alt+↑ / Alt+↓. The scope tabs still apply, so Favorites + Mine shows only your own starred pull requests.
The Favorites chip counts the starred pull requests that are still open. Once some are merged or closed, a Closed tab joins the scope tabs on Favorites and lists them, so you can open them or unstar them (f).
Accounts#
With more than one account signed in, each one gets a chip with its avatar and the number of reviews waiting there. Click a chip to see that account's list. A chip with a warning means its last refresh failed; its last results stay on screen.
Only accounts with Track switched on fill the list. See Accounts and signing in.
Filtering and sorting#
The buttons to the right of the scope tabs narrow the list down. Each one is a menu with a count next to every value:
| Filter | What it does |
|---|---|
| Author | Only pull requests by the people you tick. |
| Task | Only pull requests whose title or branch mentions a ticket of the projects you tick (the PROJ of PROJ-123). |
| Repo | Only the repositories you tick. Shown when the scope has more than one. |
| Status | New commits since my review and CI failing. |
| Show drafts | Switch it off to hide draft pull requests. |
A filter in use shows what it's set to, like Author: Ann or Repo: 2. Clear puts all filters back (the scope and the order stay).
Sort picks the order:
| Order | |
|---|---|
| Default | Requested reviews first; favorites as you arranged them. |
| Recently updated | Newest activity first. |
| Least recently updated | Longest untouched first. |
| Status | Changes requested, awaiting review, approved, drafts, then closed. |
| Repository | By repository, newest pull request first. |
| Title | A to Z (ticket keys in front of the title don't count). |
| Author | By author's name. |
Revue remembers the scope, filters and order.
Advanced: where the list's choices are kept
The scope, filters, order and the account on screen are saved in state.json in Revue's config folder. Favorites are part of your settings (settings.json), so they sync along with it. See Files, sync and settings for one computer.
Repositories listed under Settings → Ignored repositories are left out of every scope, the counts and the Ctrl+K search (unless a service search finds them). See Settings reference.
Searching the list#
Type in the search field (or press /) to search the title, ticket, author, branch, repository, labels or #number. Every word you type has to match somewhere.
While you search, the scope tabs are set aside: the search looks through every scope at once, and a note says so. Clear the search to get the tabs back.
Once you've typed three characters or more (or a number), Revue also asks the service for matching pull requests it doesn't list: merged, closed or older open ones. They show up after the others, and the status bar says incl. 2 more found by the search.
Advanced: how the service search works
- It starts when you stop typing for a moment (about 0.4 seconds).
- It asks only the account on screen, for pull requests that involve you plus all pull requests in the repositories your list knows (on GitHub, up to 12 of them).
- The service matches the text in the description too, so a result may not show your words in its title.
- The filters still apply to what it finds.
- If it fails, the status bar shows history search failed; hover it for the reason.
- On Favorites, the search only filters your starred pull requests.
Using the keyboard#
| Key | Does |
|---|---|
| j / ↓ and k / ↑ | Select the next / previous row. |
| Enter or o | Open the selected pull request. |
| f | Star or unstar the selected row. |
| Alt+↑ / Alt+↓ | Move a favorite up or down (on Favorites). |
| / or Ctrl+F | Go to the search field. |
| Esc | Leave the search field. Pressed again in the list, it clears the search. |
| Ctrl+R or F5 | Refresh. |
On macOS, use Cmd where this page says Ctrl, except in Ctrl+Tab. The status bar at the bottom also shows these keys. All shortcuts are on Keyboard shortcuts.
The right-click menu#
Right-click any row for:
- Open in background tab: opens it in a new tab but stays where you are. One already open in a tab stays as it is.
- Copy link: the pull request's address on its service.
- Open in browser.
- Copy Revue link: a link that opens the pull request in Revue for anyone who has it, and on the web for anyone who doesn't. See Links and opening from anywhere.
Refreshing#
The list keeps itself up to date: Revue checks every account about every 90 seconds in the background. To check now, click Refresh (the circular arrow) or press Ctrl+R / F5. When a refresh you asked for finishes, a short note says what changed, like 2 new, 1 updated or No new pull requests.
If a refresh fails, a banner says Couldn't refresh, showing the last results. with the reason and a Retry button. When a service is busy (for example, Bitbucket answering 503), the banner says so and when Revue will try again.
Advanced: caching and what loads when
- At startup the list appears straight away from the last results saved on disk, then refreshes in the background.
- Pull requests that wait on your review (and ones with new commits since your review) are loaded in the background, up to 12, so they open instantly. So is any pull request you hover.
- GitHub's list already includes CI, review state and sizes. For Forgejo (and Bitbucket search results), Revue fetches those details for the rows on screen, three at a time, and again only when the pull request changes.
- Background checks back off while a service says it's busy, and never cut short a refresh you asked for.
- The status bar on the right shows how many API requests your accounts have left; hover it for each account.
The Ctrl+K search#
Press Ctrl+K (Cmd+K on macOS), or click the search box in the middle of the title bar, to jump to anything:
- Pull requests, by title, branch, number, repository, author, ticket key or label. Each shows its labels and whether it's a draft.
- Repositories, to browse their branches, history and code without a pull request. See Repositories and branches.
- Commands: type "focus" for Focus mode.
- A pasted pull request link, which opens it directly.
What Revue already knows (the list's pull requests and your accounts' repositories) shows at once. When you pause typing, every signed-in account is searched on its service too, and what it finds is added below. The bottom bar shows Searching GitHub… while that runs, or GitHub search failed (hover it for the reason).
Use ↑ / ↓ (or Ctrl+P / Ctrl+N) to pick, Enter to open, Esc to close. A pull request or repository found by a service opens with the account that found it.
Advanced: what the Ctrl+K search matches
- With nothing typed, it lists everything it knows.
- The title, branch, ticket keys and number count most; the repository and author less.
- Service searches start at two characters, after a short pause (0.25 seconds), and go to every signed-in account, tracked or not.
- Results that no longer match what you type disappear; results already shown don't jump around as new ones come in.
- At most 200 results are listed.
- Repositories under Settings → Ignored repositories appear only when a service search finds them.
Opening a pull request by link#
Press Ctrl+L (or Ctrl+O; Cmd on macOS) and paste a link or type a short name. The first result is Open owner/repo#12; press Enter. These open the same search as Ctrl+K.
| You type | Opens |
|---|---|
https://github.com/owner/repo/pull/12 | A GitHub pull request. |
owner/repo#12 or owner/repo/pull/12 | A GitHub pull request. |
https://bitbucket.org/workspace/repo/pull-requests/12 | A Bitbucket pull request. |
https://codeberg.org/owner/repo/pulls/12 | A Forgejo, Codeberg or Gitea pull request (any server). |
If no account can open it, a note asks you to sign in to that service under Settings → Accounts.
Troubleshooting: the link isn't recognized
The search reads the pull request's own address. Remove anything after the number, such as /files, ?w=1 or #discussion_r123, before pasting. (Links opened from outside Revue, with revue <link> or a revue:// link, have these stripped for you.)
Tabs#
Every pull request you open gets a tab at the top of the window. Repositories, Jira tickets, New pull request pages (one per branch) and Settings open in tabs too. A tab that comes on screen, however you got there, is scrolled into view. A Jira ticket opened from a pull request sits next to it and closes with it.
- Switch: click a tab, or press Ctrl+Tab / Ctrl+Shift+Tab.
- Close: the × on hover, a middle click, or Ctrl+W (Cmd+W on macOS) for the tab on screen. Closing the tab on screen shows the nearest one: the next tab, else the one before it. With no tab left, you're back on the page you were on before.
- Reorder: drag a tab along the strip.
- Back and forward: Alt+← / Alt+→, the mouse's back and forward buttons, or the arrows in the title bar. They go through the pages and tabs you've been to, and the tabs of a pull request (Files, Conversation…).
A number on a pull request's tab counts your unsent draft comments.
Tab switching order#
Settings → Behavior → Tab switching sets the order Ctrl+Tab goes in:
- Visual order: left to right as in the tab bar, wrapping around.
- Last used: back to the previous tab; keep holding Ctrl and press Tab again to go further back.
Pinned tabs#
Pin a tab to keep it at the start of the strip and safe from closing: hover it and click the pin, or right-click it and choose Pin tab. A pinned tab shows a filled pin and has no ×. Ctrl+W and a middle click leave it open and say Pinned tab: unpin it to close it. Pull request and repository tabs can be pinned; ticket tabs can't.
The tab's right-click menu#
- Pin tab / Unpin tab
- Close tab (not on pinned tabs)
- Close other tabs (pull request tabs; pinned tabs stay)
- Move to new window
Moving a tab into its own window#
Drag a tab out of the window and let go, or choose Move to new window from its right-click menu. It opens in a window of its own, just as it was: scrolled to the same place, with what you'd written. Drop it on another Revue window to move it there. A pull request's Jira tickets go with it.
Tabs after a restart#
When you start Revue again, your pull request tabs come back in their order, without loading anything first (they show what was saved on disk, then refresh):
- every pinned tab;
- up to 8 other pull request tabs;
- pinned repository tabs, on the branch they showed.
Revue starts on the Pull requests page, with the tabs waiting in the strip.
Advanced: what isn't restored
- Repository tabs that weren't pinned, ticket tabs and Settings.
- Tabs that were in a second window: only the first window's tabs are saved.
- Tabs of an account you've signed out of close, but they come back when you sign in to it again.
The open tabs and pinned tabs are saved in state.json (see Files, sync and settings for one computer).
Guide: Work through your review queue#
- Press Ctrl+H to go to the Pull requests page.
- Click To review, then Requested.
- Open Sort and pick Least recently updated, so the longest-waiting reviews come first.
- Press Enter to open the first one, and review it (see Reviewing the diff).
- Press Ctrl+W to close it and land back on the list.
- Press j and Enter for the next one.
Guide: Find an old, merged pull request#
- Click the search field on the Pull requests page (or press /).
- Type at least three characters of its title, branch or ticket, or its number.
- Wait a moment: matching merged and closed pull requests appear after the open ones, tagged Merged or Closed.
- If it isn't there, switch to the account it belongs to with its chip, or press Ctrl+K and type the same text: that searches every account.