trezor-firmware
trezor-firmware copied to clipboard
Easy to get "stuck" in recovery mode
On TT, when the user gets to the "select number of words" screen, there is no Cancel button. By that time, the recovery mode is already on, and if you unplug and replug your Trezor, you jump straight back into "select number of words".
The thing the user can do is select a number to move on into the recovery homescreen, which has a Cancel button.
Solutions:
- add a Cancel button to the "select number of words" screen -- very slightly nonpreferred because that's a design change
- do not go to recovery mode before number is selected (so if the user unplugs at this screen, they go back to normal Trezor homescreen)
The part where you plug in a Trezor, enter PIN, and go straight to "select number of words", is bad UX. At minimum, there should be the recovery homescreen asking you to click a button to go to the "select number of words" screen. (that would also solve this issue, though the only "true" solution is a Cancel button on the select number screen)
IMHO, not entering "recovery mode" before the number of words is chosen is the best solution.
After looking into this a little bit, the 2 suggested solutions:
-
add a Cancel button to the "select number of words" screen
- this would mean adding some way to close the window for TT and TS5
- TS3 already has this choice separated into two screens and the first one has option to cancel
- this would mean adding some way to close the window for TT and TS5
-
do not go to recovery mode before number is selected
- this would require either setting up a parameter for default homescreen, something like this:
async def recovery_device(msg: RecoveryDevice) -> Success: # ... word_count = await request_word_count(recovery_type) workflow.set_default_with_args(recovery_homescreen, word_count)- or setting it into storage for later retrieval, something like this:
async def recovery_device(msg: RecoveryDevice) -> Success: # ... word_count = await request_word_count(recovery_type) storage_recovery.set_word_count(word_count)
Currently, it's bad UX because
- you are greeted with this screen after turning on the device
- even if you select the number of words and then you turn off and on, you have to select the number of words again
WDYT, @Hannsek @matejcik
Cannot we "put the checkpoint" to the first screen rather than this screen with the numbers?
Cannot we "put the checkpoint" to the first screen rather than this screen with the numbers?
how about dry-run recovery?
We put an additional screen before the "number of words" screen in dry-run recovery.