Links and opening from anywhere
Open a pull request in Revue from a terminal, your browser, Slack or a link someone sent you, and share links that open in Revue for whoever has it.
Paste a link into Revue#
The quickest way: press Ctrl+K (Cmd+K on macOS) and paste a pull request's address. The first result, Open owner/repo#12, opens it.
The Repositories page's filter takes a repository's address or owner/repo the same way (see Repositories and branches).
From a terminal: revue <link>#
revue https://github.com/acme/web/pull/12
This opens the pull request. If Revue is already running, the link goes to that window (it comes to the front) instead of starting a second Revue. You can pass several links at once. More options are on Command line and environment variables.
From the browser: revue:// links and the bookmarklet#
Browsers can't hand ordinary https:// links to an app, so Revue has its own revue:// links. Set them up once:
- Open Settings → Apps and find Pull request links.
- Click Register as handler. The line above it should now read revue:// links open this Revue.
- Click the copy button next to the bookmarklet.
- In your browser, add a bookmark and paste it as the bookmark's address.
- On any GitHub, Bitbucket or Forgejo pull request page, click the bookmark: the pull request opens in Revue.
The bookmarklet is:
javascript:void(location.href='revue://open?url='+encodeURIComponent(location.href))
Register again fixes a registration another program took over; Unregister removes it.
Per OS: what registering does
| OS | What happens |
|---|---|
| Linux | Revue writes revue-url-handler.desktop into your user's applications folder (usually ~/.local/share/applications) and makes it the default for x-scheme-handler/revue with xdg-mime. Run from an AppImage, the entry points at the AppImage. |
| Windows | Revue registers the revue scheme for your user under HKEY_CURRENT_USER\Software\Classes\revue. No administrator rights needed. |
| macOS | Nothing to do: Revue.app declares revue:// itself. Settings says Revue.app opens revue:// links on its own: nothing to register. |
- If another program (or another copy of Revue) handles
revue://, Settings names it: "revue:// links open …". - On Linux, choosing another default handler later shows the same.
- Registering isn't possible when Revue runs with
--immutable.
Advanced: the forms of revue:// links
All of these open https://github.com/acme/web/pull/12:
revue://open?url=https%3A%2F%2Fgithub.com%2Facme%2Fweb%2Fpull%2F12(what the bookmarklet makes)revue://github.com/acme/web/pull/12(the address withouthttps://)revue://https://github.com/acme/web/pull/12revue://branch?path=<encoded folder>&name=<encoded branch>: the pull request of a branch of a clone on this computer, or the New pull request page for it (whatrevue --pull-requestsends; see Editors).namemay be left out for the branch checked out there.
The scheme isn't case-sensitive. Anything after ? or # in the page's address is ignored, so links to a comment or a tab of the page work too. A link that doesn't name a pull request shows Not a pull request link: ….
Revue links to share#
A Revue link opens the pull request in Revue for whoever has it, and on the web for everyone else. It's the pull request's address behind Revue's server:
https://revue.cleangame.dev/github.com/acme/web/pull/12
Copy one with the Copy Revue link button in a pull request's header, or Copy Revue link in the right-click menu of any pull request row. Paste it in chat, tickets or documents like any other link.
Opening it shows a small page, Opening in Revue…, that hands the link to Revue right away. If Revue doesn't open (not installed, or revue:// links not registered), the page offers Open in Revue, Open on the web and Get Revue.
Slack messages Revue posts can carry the same kind of link; see Slack.
Advanced: the server's link addresses
https://<server>/<host>/<path>: the short form above. The first part must look like a host (it has a dot, or a port such asgit.example:3000).https://<server>/http://git.example:3000/o/r/pulls/3: a whole address after the server's name, for servers reached overhttp://.https://<server>/link?url=<encoded address>: the long form, used by Slack messages.- Addresses up to 2048 characters are accepted; anything else shows Nothing to open.
- The page loads nothing from elsewhere and doesn't pass the address on to other sites.
- Revue uses
https://revue.cleangame.devunless theREVUE_SERVER_URLenvironment variable names another server (see Command line and environment variables and Self-hosting revue-server). Without a server, the Copy Revue link buttons don't show.
Which links Revue recognises#
| Service | Pull request link |
|---|---|
| GitHub | https://github.com/owner/repo/pull/12, github.com/owner/repo/pull/12, owner/repo/pull/12, owner/repo#12 |
| Bitbucket Cloud | https://bitbucket.org/workspace/repo/pull-requests/12 |
| Forgejo, Codeberg, Gitea | https://server/owner/repo/pulls/12 on any server, with a port too (https://git.example.com:3000/…), and http:// |
Longer addresses of the same page work (…/pull/12/files, …/pulls/12/commits), as do ? and # parts. You need to be signed in to the service: otherwise Revue says Sign in to … (Settings → Accounts) to open ….
Right-click menus#
Rows across Revue have a right-click menu with their links:
| Row | Menu |
|---|---|
| Pull request | Open in background tab, Copy link, Open in browser, Copy Revue link |
| Repository | Open in background tab, Copy link, Open in browser |
| Commit | Copy link, Open in browser, Copy commit message, Copy full hash, Copy short hash |
| A thread comment (its header: avatar, name, time) | Copy link to comment, Open in browser |
| Branch | Copy link, Open in browser; with an open pull request, also Open the pull request in a background tab, Copy the pull request's link and Open the pull request in the browser |
| A branch in a pull request's header | Open in background tab (the repository on that branch), Copy link, Open in browser |
| A link in text (a comment, a description, a ticket) | When Revue shows the page itself (a pull request, a Jira ticket): Open in Revue, Open in background tab, Open in new window; always Open in browser and Copy link |
Open in background tab opens it in a new tab without switching to it: what's on screen stays, and keeps the keyboard. When it's already open in a tab, nothing changes: no second tab, and no switch to it.
Copying confirms with Link copied or Hash copied.
Ticket keys become links#
Ticket keys such as ABC-123 in titles, branch names, commit messages and comments turn into links. Keys of a connected Jira site's projects link on their own. For other trackers, add rules per repository in Settings, under the repository: Ticket links for owner/repo, a key prefix (such as ABC-, or * for any key) and an address with <num> or <key> in it, for example https://tracker.example/browse/<key>. The Try it box shows where a text's keys would link.
More on tickets in Jira and Settings reference.
Guide: Open pull requests from your browser in Revue#
- In Revue, open Settings → Apps.
- Under Pull request links, click Register as handler.
- Copy the bookmarklet with its copy button.
- Add a bookmark in your browser and paste it as the address. Name it "Open in Revue".
- Open a pull request page on GitHub, Bitbucket or Forgejo.
- Click the bookmark. Your browser may ask once whether to open Revue: allow it.
Guide: Share a pull request that opens in Revue#
- Open the pull request in Revue.
- Click Copy Revue link in its header.
- Paste the link in chat or a ticket.
- Whoever has Revue (with
revue://links registered) gets it in Revue; everyone else lands on the web page.