Revue
DocumentationLinks

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.

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).

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.

Browsers can't hand ordinary https:// links to an app, so Revue has its own revue:// links. Set them up once:

  1. Open Settings → Apps and find Pull request links.
  2. Click Register as handler. The line above it should now read revue:// links open this Revue.
  3. Click the copy button next to the bookmarklet.
  4. In your browser, add a bookmark and paste it as the bookmark's address.
  5. 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
OSWhat happens
LinuxRevue 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.
WindowsRevue registers the revue scheme for your user under HKEY_CURRENT_USER\Software\Classes\revue. No administrator rights needed.
macOSNothing 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 without https://)
  • revue://https://github.com/acme/web/pull/12
  • revue://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 (what revue --pull-request sends; see Editors). name may 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: ….

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 as git.example:3000).
  • https://<server>/http://git.example:3000/o/r/pulls/3: a whole address after the server's name, for servers reached over http://.
  • 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.dev unless the REVUE_SERVER_URL environment 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.
ServicePull request link
GitHubhttps://github.com/owner/repo/pull/12, github.com/owner/repo/pull/12, owner/repo/pull/12, owner/repo#12
Bitbucket Cloudhttps://bitbucket.org/workspace/repo/pull-requests/12
Forgejo, Codeberg, Giteahttps://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:

RowMenu
Pull requestOpen in background tab, Copy link, Open in browser, Copy Revue link
RepositoryOpen in background tab, Copy link, Open in browser
CommitCopy 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
BranchCopy 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 headerOpen 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 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#

  1. In Revue, open Settings → Apps.
  2. Under Pull request links, click Register as handler.
  3. Copy the bookmarklet with its copy button.
  4. Add a bookmark in your browser and paste it as the address. Name it "Open in Revue".
  5. Open a pull request page on GitHub, Bitbucket or Forgejo.
  6. Click the bookmark. Your browser may ask once whether to open Revue: allow it.

Guide: Share a pull request that opens in Revue#

  1. Open the pull request in Revue.
  2. Click Copy Revue link in its header.
  3. Paste the link in chat or a ticket.
  4. Whoever has Revue (with revue:// links registered) gets it in Revue; everyone else lands on the web page.