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.
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.
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
Ensure that the loading bold graphic shows whist the seed for a new
wallet is being generated. This provides a smoother user experience
and prevents users from being able to initiate actions through the
UI when they shouldn't be able to.
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
The standard approach on Darwin is to keen applications running when the
window is closed. Clicking the apps icon again in the doc should bring
back the application window.
This changeset refactors things to handle this. It will keep Zap and lnd
running in the background when the main application window is closed.
Quitting the app will stop both the app and lnd.
Fix#586Fix#601
It is more common for new users to create a new wallet than to import
an existing one. Make the "create new wallet" option the default
selected value in the onboarding process.
Previously, if the user pushed the back button after supplying a seed word,
then returned and entered the required three, the seed check would fail due to
there being more words supplied than required.