The loading bolt was being shown in several distinct places, which was
resulting in a glitch between completing onboarding and showing the
wallet ui.
Refactor such that the LoadingBolt component is only mounted once, in
the root component.
Hide the "show / hide expired" toggle for new users with no previous
activity.
For new users with an empty wallet it doesn't make any sense that in
middle of the activity list there is a toggle button to show/hide
expired requests, since we know the user has no requests.
Select free ports for lnd from a pool of options. By default we will
use the standard lnd ports (10009 and 9735) but if those are not
available then we will search for free ports in a nearby range.
This allows us to have multiple instances of the wallet running and
avoids possible conflicts with other instances of lnd that the user
may be running.
A slight difference in height between the previous and next buttons
was causing the next button to appear to move when switching between
a page with or without the previous button.
Ensure that the previous and next buttons have a consistent height and
do not move when switching pages in the onboarding process.
If we are syncing after having already completed the initial sync we do
not show the funding address QR code. In this case, adjust the title
padding so that the page title is better centred.
If the total channel balance is zero, do not show the channel balance at
the top of the network view as the zero doesn't convey any useful
information and looks strange.
We need to pass a number to `<FormattedNumber>` for it to properly
display the currency values. In some cases we were passing a
pre-formatted string which was causing some currency amount to render
as NaN.
Rather than using relative paths for css imports - which can break when
we move files around - add our styles path to the webpack sass-loader
loader using the `includePaths` setting.
Ensure that logs are output when the app is run in production mode. not
only development mode so that its easier to diagnose an issue with a
production build.
Consolidate the flow for local and remote wallet connections for
consolidate. When unlocking a local wallet wait for the macaroon to be
generated before we try to use it.
There is no need to check wether an lnd process exists and prevent
Zap from starting if so. We don't care if there is another process
running. We only care that we can successfully start up our own process.
If there is a conflict with another lnd process such as a port that we
need already being in use we already handle this elsewhere in our code.
If when connecting to a remote wallet we detect that it is locked
initialise the wallet unlocker to allow users to unlock their remote
wallets.
Fix#543
When connecting to a remote wallet we assume that the wallet is already
unlocked. In the case where it is not already unlocked, forward the
error message to the UI.
Fix#738