Before, the desktop entry file would only work correctly
if the user has added `$HOME/.local/bin` to his or her
PATH. The PATH variable is an implementation detail and
the user shouldn't be exposed to it.
Now, the shell is used to look for executables in the
aforementioned folder. System-wide installations remain
intact.
Before, the user installation used the wrong directory
to store the application's icon resulting in the desktop
environment falling back to an ugly default icon. Now,
the correct icon is displayed in the menu.
"By default, apps should look in $HOME/.icons (for backwards
compatibility), in $XDG_DATA_DIRS/icons and in /usr/share/pixmaps
(in that order)."
https://specifications.freedesktop.org/icon-theme-spec/icon-theme-spec-latest.html
if a device is unplugged and then replugged before we notice (via scan_devices) then it will get into an unusable state, throwing all kinds of low level exceptions when we don't expect it. affects ledger, keepkey, dbb, but for some reason not trezor.
The bridge transport uses requests.post, which uses socket.getaddrinfo under the hood, which on some OSes (MacOS, Windows) in CPython takes a lock. The enumerate method for the bridge transport can block for 10-30 seconds while waiting for this lock.
* Fix#4073
* Account for if the wallet is already in the daemon
* Only start a new thread if it doesn't exist
* Modify run_and_get_wallet to not return duplicate wallets
* Inform user if encrypted wallet is already open in memory
Used to show "Exception : Invalid status 6985", which is not really user-friendly. This now mimics the behaviour with Trezor where we silently ignore cancellation (not showing any popup).