Add a new AmountInput component to render an input field for entering
bitcoin denominated amounts. Has special handling for bitcoin / sats /
bits to ensure that only valid amounts can be entered and that the
formatting looks visually correct.
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.
The `onOnboarding` state transition handler only fires if you are
entering the `onboarding` state from another state. If you are already
in the `onboarding` state it does not fire when the `startOnboarding`
event is initiated. By contrast, `onStartOnboarding` always fires when
`startOnboarding` is run.
Ensure that IPC listeners are only registered once when transitioning to
the `onboarding` state from another state.
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.
During the sync process there are log message that relate to syncing
filters and filter headers. This fixes an issue where we were parsing
messages about syncing filters as if they were filter headers, which
would cause the progress indicator to jump around during the middle of
the sync process due to it thinking that more filter headers had been
synced than was actually the case.
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
If a full refresh is done from within the app (`cmd + r`) restart the
onboarding process from the beginning, including stopping lnd and
disconnecting any active connections.
Fix#641
On darwin, we keep the app running and just hide it when the window is
closed as that is the standard convention. On linux and windows the app
should be quit when the window is closed.
This resolves an issue where on linux/windows the app would remain open
when the window is closed, with no way to properly quit it short of
doing a force quit.
React v16.x reports errors when using boolean operators for conditional
classnames and requires that you instead use ternary style conditional
clauses.
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