Review error prompt shown when Tor exits
Context
Currently, if the underlying tor
process exits we show an error prompt in a modal window to the user.
If this happens at startup we show:
Tor Launcher
Tor exited during startup. This might be due to an error in your torrc file, a bug in Tor or another program on your system, or faulty hardware. Until you fix the underlying problem and restart Tor, Tor Browser will not start.
[Restart Tor]
And if it exits later on, we show:
Tor Launcher
Tor unexpectedly exited. This might be due to a bug in Tor itself, another program on your system, or faulty hardware. Until you restart Tor, Tor Browser will not be able to reach any websites. If the problem persists, please send a copy of your Tor Log to the support team.
Restarting Tor will not close your browser tabs.
[Restart Tor]
NOTE: In both scenarios the UI will show "Not connected" in the top right and the user will need to pass through "about:torconnect" the next time they want to visit a website.
There are a few problems with this approach:
- "Tor Launcher" title is archaic.
- The message assumes too much technical knowledge. In particular the difference between "Tor" and "Tor Browser" is not made clear. And the means to fix the problem are not user friendly. For a non-technical user, if they have flubbed their files, they might be better off just re-downloading "Tor Browser".
- If the user closes the window, there is no way for them to re-attempt the "restart tor".
Opportunity statement
Instead of showing a prompt with minimal information, the browser should open a full page error with helpful steps to recover from the issue.
Scope
- Redesign error when the Tor daemon fails/exits, be it before and after initializing (its content is different only on Android)
Out of scope
- Other errors
Mockups
Figma file (PNGs below this description)
Acceptance criteria
Scenario 1 - Restarting Tor
Given the Tor daemon fails
And the browser shows the error screen
When the user clicks on the "Restart Tor" button
Then the button changes to it's active state
And a spinning icon is added to its label, which now says "Restarting Tor..."
Scenario 2 - Restarting Tor succeeds
Given the user has clicked on the "Restart Tor" button
When the Tor process succeeds to restart
Then the open tab will load about:torconnect
in its 1st step for the user to connect
And the previous tabs will be restored with the same URLs from before the error
Scenario 3 - Restarting Tor fails
Given the user has clicked on the "Restart Tor" button
When the Tor process fails to restart
Then the browser will show the previous error screen again
Scenario 4 - Turning off battery saver on Android
Given the user is using Tor Browser for Android
And the Tor daemon fails
When the browser shows the error screen
And the user clicks on the deep-link "Turn off Battery Saver on your device"
Then they will be taken to the Android's battery settings