gui icon indicating copy to clipboard operation
gui copied to clipboard

When opening or autoloading wallets there should be clear messages about rescanning in progress and wallets' names.

Open streamofstars opened this issue 4 years ago • 6 comments

There are at least two ways to open a wallet.

  1. File, Open wallet
  2. or by manually appending settings.json file with wallet name.

When opening a wallet that has not been synchronized recently, in the first case there is a small window displayed with a message "opening wallet ". The node is rescanning at this time but nothing really indicates that, so unless user peeks in the debug.log file they may think bitcoin core is stuck.

Screenshot 2021-03-24 at 18 21 13

In the second scenario, the initial window displays a message with just a single word "rescanning". This is better in a way that at least, as a user I am not confused about what is actually happening. However, there is a different problem: no indication about which wallet is being loaded. If a user has multiple wallets and don't keep them all opened all the time, but opens one, closes another and so on, upon (re)starting Bitcoin-qt they would not know for which wallet rescanning is happening.

Screenshot 2021-03-25 at 01 13 54

In my opinion, both windows should clearly state:

  • what is going on right now exactly, i.e. rescanning
  • names of wallets that are being loaded

streamofstars avatar Mar 26 '21 12:03 streamofstars

Adding a named wallet to the string presented to the user should be a one-line change.

FIX: Explicitly enumerate all cases and be sure to not add the wallet name in one window and not leave others unnamed. E.g., "Sending/Receiveing addresses" windows.

Additionally, adding a comment to mention when not naming is required would be appreciated.

hebasto avatar Mar 31 '21 18:03 hebasto

Keep in mind that there is also a case to cover in my second scenario where a json file is configured to load multiple wallets and more than one require rescanning. However, I am not familiar with how the rescan feature works under the hood specifically. Whether it rescans for each wallet one by one or rescans for all loaded wallets at once. If the latter is the case, is it really feasible to list all those wallets there? Two or three is fine but what if someone has dozens of them? (unless there is a limit to the number of wallets)

streamofstars avatar Mar 31 '21 20:03 streamofstars

Whether it rescans for each wallet one by one or rescans for all loaded wallets at once

IIRC, the former one.

hebasto avatar Mar 31 '21 20:03 hebasto

@khan201kp

What do you mean by wallet name?

A Wallet::getWalletName() return value: https://github.com/bitcoin-core/gui/blob/77a2f5d30c5ecb764b8a7c098492e1f5cdec90f0/src/interfaces/wallet.h#L82-L83

hebasto avatar Nov 06 '21 16:11 hebasto