It's possible for a user to get into a long loop if wallets are switched quickly. A number of things going on.
- Selecting a wallet updates the wallet name state, which itself triggers the update loop
- The update loop also writes the wallet state (so un-necessary writing twice)
We patch this by only updating the wallet change in state, knowing there is already logic in place to write this change to storage after the wallet is updated.
The logic on the App screen for rendering the spinner is incorrect, it is possible for loading to be true and the spinner to not render. Fix this.
Disable keyboard input on the wallet dropdown when Cashtab is loading. This prevents the user rapidly cycling through wallets that have not loaded yet and queueing tasks.