Revue
DocumentationTroubleshooting and FAQ

Troubleshooting and FAQ

Fixes for the problems people run into most: sign-ins, links, busy services, updates, and where to look when something's wrong.

Can't find your problem here? See Reporting a bug.

Signing in#

A banner says my sign-in "has expired or was revoked"#

The service stopped accepting that account's token. Maybe the token expired, you revoked it, or you changed your password. Revue shows a banner over the window: Your … sign-in has expired or was revoked.

  1. Click Sign in again in the banner.
  2. Sign in as you did the first time.

Until you do, that account's pull requests and repositories (or Jira tickets, or Slack replies) can't load. Your other accounts keep working.

You can also find it in Settings → Accounts: the account's row says Sign-in expired: Revue can't load from this account until you sign in again., with its own Sign in again button.

The banner's close button (tooltip Hide until another sign-in is lost) hides it until another account loses its sign-in.

What counts as a lost sign-in
  • Only the service turning the token away counts (an expired or revoked token, a refresh token it no longer accepts).
  • Being offline, a missing permission, or a pull request that's gone don't count. Those show as an error where they happened.
  • As soon as a request with that account works again, the banner goes away by itself.
  • Signing in on a second computer is separate: every computer signs in on its own, so they never use up each other's tokens.

The "Sign in with …" button is missing#

Sign in with GitHub, Sign in with Bitbucket, Sign in with Atlassian and Sign in with Slack only appear when Revue has an OAuth app for that service. Official releases have them. A build you made yourself doesn't, unless you set them up.

For Forgejo, Codeberg and Gitea, Sign in with browser needs an OAuth app on that particular server. If Revue doesn't know one, the form asks for its client ID (OAuth app client ID on this server), or you can paste an access token.

More in Accounts and signing in.

The browser doesn't get back to Revue after I approve#

Bitbucket, Jira, Forgejo and Slack sign-ins send your browser back to Revue on your own computer, on port 47392.

  1. Make sure Revue is still open, showing Waiting for your browser….
  2. If no tab opened, click Open again, or Copy the link, to open it in another browser and paste it into the browser you use.
  3. For Slack only: if the browser ends on a page that can't load, copy that page's address, paste it under If the browser can't get back to Revue, paste the address it ended on:, and click Use this address.

You have 10 minutes. After that Revue says The browser didn't come back within 10 minutes. Click the button to start again.

GitHub doesn't need this: it shows a code to type on github.com (Copy code copies it).

"Revue needs port 47392 to hear back from the browser"

Another program is using port 47392 on your computer. Most often it's another Revue that's in the middle of signing in.

  1. Close the other program, or finish or cancel the other sign-in.
  2. Start the sign-in again.

Or use a token instead of the browser sign-in. The port can't change: it's part of the address registered with each service.

Also check that nothing blocks your browser from opening http://localhost:47392 or http://127.0.0.1:47392 (a strict firewall, a proxy for all addresses, a browser in a sandbox or on another computer).

Revue says the credential store can't be used#

You turned on Keep tokens in … (Settings → Storage → Where tokens are kept), and Revue couldn't reach the store. It says The system's credential store can't be used here: sign-ins stay where they were. Your sign-ins keep working: tokens stay in Revue's own file.

On Linux, the Secret Service needs:

  • a desktop session (Revue checks for a D-Bus session first);
  • secret-tool installed (package libsecret-tools or libsecret, depending on your distribution);
  • a keyring running and unlocked (GNOME Keyring, KWallet, KeePassXC with Secret Service on…).

On macOS, the login keychain must be unlocked, and you must allow Revue when asked.

If the store becomes available later (say, it was locked at start), the next start moves the tokens into it.

macOS keeps asking whether Revue may use the keychain#

This happens once after each Revue update, if you keep tokens in the keychain. Choose Always Allow. To stop it completely, turn off Keep tokens in the macOS Keychain: tokens then live in a file only you can read.

I'm signed in with gh or GITHUB_TOKEN, but Revue doesn't see it#

Revue only uses its own sign-ins by default. Turn on Also sign in with the gh CLI or GITHUB_TOKEN / GH_TOKEN in Settings → Accounts.

Apps started from a desktop launcher often don't see variables you set in your shell's startup files. The gh CLI sign-in usually works anyway, since Revue asks gh itself (it must be on the PATH Revue sees).

  • "Sign in to … (Settings → Accounts) to open …": you aren't signed in to an account on that service or server. Sign in, then open the link again.
  • "Not a pull request link: …": Revue only opens pull request links. Links to a repository, an issue or a commit aren't opened this way.
  • Clicking a revue:// link does nothing: Revue isn't registered as their handler yet. Open Settings → Apps → Pull request links and click Register as handler. If it says revue:// links open … some other program, click Register again.
  • A plain https:// link opens in the browser: that's expected. Browsers don't hand web links to apps. Use the bookmarklet, Copy Revue link, or paste the link into Revue. See Links and opening from anywhere.

Normally the link goes to the Revue that's already running. A second window means the new process couldn't reach it:

  • The running Revue was started with --immutable, or this one was: they're kept apart on purpose.
  • A development build and the installed Revue are separate apps.

The pull request list or a pull request looks out of date#

Press Ctrl+R (Cmd+R on macOS) or the refresh button. When a refresh you started ends, Revue says what changed, for example 2 new commits, 3 new comments, checks finished, or Up to date.

If a refresh fails, the list keeps what it had and says Couldn't refresh, showing the last results. with the reason.

Busy services and rate limits#

"Bitbucket is busy" or "showing the last results"#

Bitbucket Cloud sometimes refuses requests when it's overloaded or you've hit its rate limit. Revue then shows the last results it had, with a note like Bitbucket is busy (503) — showing the last results; retrying in ….

You don't need to do anything. Revue backs off and tries again on its own.

How Revue goes easy on Bitbucket
  • At most 6 requests at once per account.
  • What you asked for (opening a pull request, a refresh) is retried up to 2 times on a busy answer, with a short wait.
  • A rate limit's "retry after" is honoured, up to 10 seconds for something you're waiting on.
  • After repeated failures, background refreshes pause: 2 minutes, then 4, then 8.

Does Revue use up my GitHub rate limit?#

Much less than you'd think. Revue keeps the answers it got (in the cache folder) and asks GitHub "has this changed?" next time. When nothing changed, GitHub answers with a short "not modified", which doesn't count against your rate limit, and Revue shows what it already had. It also starts faster: the last known state appears straight away, before the network answers.

Clearing API responses in Settings → Storage makes the next start wait for the network.

Updates#

Revue says it couldn't install an update#

Usually Revue isn't allowed to write to the folder it's installed in. Turn off Install updates automatically and update it the way you installed it. See Updates.

Is there a way to see what changed in a new version?#

Yes: click Releases in Settings → About. Each release lists its changes.

Images in comments#

Pasting an image does nothing, or inserts ![image](https://)#

Image upload is off in this build: it has no image server or upload token. Official releases have both. For your own build, see Self-hosting revue-server.

"Couldn't upload the image: …"#

The server refused it. Common reasons: the image is larger than the limit (10 MB by default), it isn't PNG, JPEG, GIF or WebP, or too many uploads came from your address in the last hour. Try a smaller PNG or JPEG, or wait a bit.

Code, editors and language servers#

Opening in my editor or terminal doesn't work#

Pick your apps in Settings → Apps. See Clones, worktrees and opening in your tools.

Go to definition or hover doesn't work in the Code tab#

Language servers are off until you turn them on. See Language servers.

The cache takes too much space#

Open Settings → Storage → Cache. It shows how much each kind takes, with Clear buttons for Source checkouts, Language servers and API responses, per-repository checkouts, and Clear everything. Everything there is downloaded again when needed. Drafts and settings are kept.

Where to find logs#

Revue doesn't write a log file. It prints messages to the terminal it was started from (standard error): failed credential store access, failed token saves, --immutable messages and the like.

To see them:

  1. Quit Revue.
  2. Start it from a terminal: revue on Linux, /Applications/Revue.app/Contents/MacOS/revue on macOS.
  3. Do what went wrong, and look at the terminal.

On Windows, release builds have no console. Redirect the output to a file to see it, for example revue.exe 2> revue-log.txt in Command Prompt.

There's no RUST_LOG or verbosity switch.

For GitHub connection problems, revue --probe prints timings and counts for your list and one pull request. See Command line and environment variables.

Reporting a bug#

Revue has no feedback form inside the app. Open an issue on the Revue repository with:

  • your Revue version (Settings → About, or revue --version);
  • your system (Linux distribution, Windows or macOS version);
  • what you did, what you expected, and what happened;
  • any messages from the terminal (see Where to find logs), with tokens or private names removed.

Official releases also send crash and error reports automatically, which often means the bug is already known. What's in them, and how to turn them off: Privacy and security.

Starting over#

Can I try something without risking my setup?#

Yes: start Revue with revue --immutable. It runs on a copy of your settings and data, deleted when it quits. See Command line and environment variables.

How do I reset Revue completely?#

Pick the smallest step that fixes your problem:

  1. Clear the cache: Settings → Storage → Cache → Clear everything. Drafts and settings stay. (On Windows, see the warning below.)
  2. Bring back your settings from a file: Settings → Storage → Settings files → Import settings… replaces your settings with an exported file. Settings the file doesn't have go back to their defaults. Sign-ins, open tabs and this computer's own settings stay.
  3. Start from scratch: quit Revue and delete its config, data and cache folders. This removes your settings, accounts, tokens and unsent drafts. Where they are: Privacy and security.