Load the suggested nodes list as early as possible, when the Root
container first mounts. Ensure that we display nothing when node list
was not loaded.
Fix#943
Use https://www.npmjs.com/package/styled-reset to apply css resets and
move all global styles to the GlobalStyle component.
Update general styles inline with design design work.
Refactor Containers and Routes in order to make the code a little more
readable, reduce duplication, and prepare the codebase for integration
of the new Home screen.
- Break out the Root container into several smaller containers that are
responsible for connecting themselves to the Redux store.
- Use routing for navigation between primary containers
- Unbundle the `Syncing` Component from the Onboarding section and hook
up to router so that it can be access by navigating to `/syncing' (we
want to be able to load existing wallets and initiate syncing outside of
the context of the onboarding process)
- Reduce code duplication
- Create `TitleBar` component and implement once at the top level
- Create `withLoading` HOC and use to display the loading screen when
needed.
If there is a problem connecting to the Lightning interface on a local
lnd instance, return the user to the onboarding screen and show the
user the error message.
Previously, the app would hang on an infinite loading screen.
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.
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.
Do not set `recovery_window: 250` in our call to `initWallet` when
creating a new wallet, as this causes lnd to scan the entire chain for
non-existent funds which slows the lnd sync process.
See https://github.com/lightningnetwork/lnd/issues/1744
I saw a warning that a required argument to NewAezeedPassword was not
present and tracked it back to here.
updateAezeedPasswordConfirmation is a function and should be sourced
via the dispatchProps, while the aezeedPasswordConfirmation holds the
value.
Handle the case were the Neutrino backend BTCd node is still
synchronising the blockchain as LND is not able to start syncing
until the BTCd node that it is connected to is fully synced.
Fetch the current block height from multiple block explorers early on in
the sync process. This ensures that we get the correct block height in
the case where our BTCd node is still mid way through syncing. Do this
in the main process rather than in the render process.