If we are unable to load the suggested nodes list, display a message
prompting the user to open channels.
Previously we would show an infinite spinner.
Fix#392
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
In this commit we introduce a 60 second timeout for LN payments. This addresses the issue of infinitely hanging LN payments and improves the UX. The UI now has a 60 second countdown where Zap will clear the payment if it is not successfully routed
fix(multi-lang): switch ticker to settings store
fix(tests): pass all tests
fix(fiat): switch from usd to fiat
fix(settings): fix console errors
fix(settings): make styles consistent
fix(tests): remove unneeded mocks
fix(payform): call satoshisToFiat now
fix(network): rebase + fix network fiat amt
Make sure that if a user of ours is using neutrino that we flag their
channels as private when they manually open them. Reason for this is
because light consumer clients are not expected to have high uptime.
However we cannot hardcode channels as private every time because we
do support more power users driving their remote nodes or BTCPay
Server with Zap. So we only flag channels as private if the
activeConnection is local.
Settled invoices show the amount paid by the payee instead of the requested
value from the invoice. This involves using an updated version of the lnd rpc
protocol.
This is in response to issue #654.
amt_paid is exposed to users via invoice.finalAmount, which is constructed
via a new invoice decorator.
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
Inject `received` property into transactions received from the IPC
receiveTransactions handler. This ensures that past transactions can
correctly be displayed as either sent or received.
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.
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.
Determine the current block height directly from the lnd log output and
pass the data into the app as soon as we have it. Do not call out to
block explorers if we don't need to.