Commit Graph

870 Commits

Author SHA1 Message Date
Sander van Grieken
1a263b46be qml: keep QEAmount instances in qechanneldetails,
use millisat amounts for local/remote capacity and can send/receive,
refactor channel capacity graphic to ChannelBar and use that as well
in ChannelDetails
2023-04-12 14:29:32 +02:00
Sander van Grieken
778d5f456a qml: swap progress gimmick 2023-04-12 13:13:25 +02:00
Sander van Grieken
27cd7fe8a8 qml: deduplicate swap initiation, move to main.qml 2023-04-12 12:32:25 +02:00
Sander van Grieken
b0778d0281 qml: fix typo 2023-04-12 12:32:25 +02:00
Sander van Grieken
51356dff18 Revert "qml: add busy property and guards around swaphelper"
This reverts commit 5d350184a4.
2023-04-12 12:32:25 +02:00
Sander van Grieken
2773e0d8b8 qml: fix 46b25317a9 2023-04-12 12:14:11 +02:00
ThomasV
46b25317a9 qt and qml: update swap dialogs when new fees are received (see #8295) 2023-04-12 12:01:47 +02:00
Sander van Grieken
4d5be450d9 qml: default to system locale on android 2023-04-11 15:19:29 +02:00
Sander van Grieken
9bbc354e0e qml: refactor txaccepted/txcancelled signals to standard accepted/rejected. 2023-04-11 12:13:41 +02:00
Sander van Grieken
a0939aad75 qml: add doAccept and doReject functions to ElDialog.
These functions make sure no duplicate accepted/rejected signals are emitted.
2023-04-11 12:01:10 +02:00
Sander van Grieken
75f63a4666 qml: remove yesClicked signal, use accept()/accepted signal in MessageDialog. 2023-04-11 10:22:48 +02:00
SomberNight
c0f8986188 qml: QEChannelOpener: accept any connection strings other GUIs accept
trying to paste a bare nodeid errored silently, logging:
174.76 | D | gui.qml.qechannelopener | AttributeError("'NoneType' object has no attribute '__contains__'")
2023-04-06 14:30:36 +00:00
SomberNight
36d800063f lnutil: add docstring and more tests for extract_nodeid 2023-04-06 14:30:32 +00:00
Sander van Grieken
2dd9b0796a qml: right-align balance labels 2023-04-06 16:17:38 +02:00
Sander van Grieken
6cd1f553e4 qml: BalanceSummary remove height hint for fiat amount 2023-04-06 16:15:57 +02:00
Sander van Grieken
2e15899fda followup prev 2023-04-06 16:13:37 +02:00
Sander van Grieken
f0d7983a46 qml: piechart from wallet.get_balances_for_piechart 2023-04-06 16:05:41 +02:00
Sander van Grieken
a45d2ce831 qml: highlight selected invoice, styling Invoices buttons 2023-04-06 15:21:16 +02:00
Sander van Grieken
42cb3a1377 qml: use same main-server icon as in desktop client 2023-04-06 10:36:09 +02:00
Sander van Grieken
5d350184a4 qml: add busy property and guards around swaphelper 2023-04-06 10:11:31 +02:00
Sander van Grieken
e02ca6b2d8 qml: add logging of instance around SwapDialog create/destroy and swap trigger 2023-04-06 09:26:52 +02:00
Sander van Grieken
bcbcf18c4d qml: arrows consistency.
replace with unicode arrows once we can assure these glyphs are included on device
2023-04-06 09:16:56 +02:00
SomberNight
2de9ca24a2 qml history: update mempool depth for unconf txs on new histogram 2023-04-05 14:32:11 +00:00
SomberNight
fcff4b7274 qml: begone, you C-style for loops
how am I going to continue in the middle of the loop body if the i+=1 is at the end? :P
2023-04-05 14:13:40 +00:00
SomberNight
e47059c96b qml: addresses list should not depend on wallet.use_change
wallet.use_change is a weird preference using which a user can disable
sending new change to change addresses.
However the setting can be toggled at ~any time; and the user might
have pre-existing balance on change addresses, which we should not hide.
2023-04-05 14:01:45 +00:00
SomberNight
b81508cfc0 qml: fix refresh bug in history, for local->unconfirmed tx transition
Previously if a local tx got broadcast, it was still displayed as local
in the history until it got mined (or some other action forced a full refresh).
2023-04-05 13:09:51 +00:00
ThomasV
b9c81b0fcb qml rbf dialogs: use 'new fee', 'new fee rate' instead of 'mining fee' 2023-04-05 15:08:01 +02:00
Sander van Grieken
88209617b4 qml: in auth wrapper, use own logger and log func name 2023-04-05 14:12:47 +02:00
SomberNight
8ea63f9bde qml network overview: show server height, if lagging
to see how many blocks it is behind
2023-04-05 11:21:31 +00:00
Sander van Grieken
dd1a83e1c0 qml: fixes 2023-04-05 13:18:50 +02:00
Sander van Grieken
7ac3afdcda qml: fixes 2023-04-05 13:13:50 +02:00
ThomasV
ca386181a0 fix typo (follow-up prev) 2023-04-05 12:35:49 +02:00
ThomasV
d4c386a62c qml: use daemon threads everywhere the network is involved
The app hangs indefinitely if we try to quit it while one of
these threads is active, because once asyncio has shut down,
futures never return. This was already fixed for lightning
payments in c5dc133, but there are many other cases.
2023-04-05 12:31:20 +02:00
Sander van Grieken
0c83f363eb qml: haptic use constant compatible with older android 2023-04-05 12:28:56 +02:00
Sander van Grieken
8f3f282b62 Revert "qml: haptic override global setting"
This reverts commit 3e4737d6e9.
2023-04-05 12:08:54 +02:00
ThomasV
80a16e1377 fix typo (the error was silent) 2023-04-05 11:50:54 +02:00
Sander van Grieken
3e4737d6e9 qml: haptic override global setting 2023-04-05 11:38:38 +02:00
SomberNight
db4943ff86 wallet.get_full_history: more consistent sort order
before:
```
>>> [print(wallet.get_tx_status(txid, wallet.adb.get_tx_height(txid))) for txid in list(wallet.get_full_history())[-10:]]
(7, '2023-04-04 16:13')
(7, '2023-04-04 16:13')
(7, '2023-04-04 16:13')
(7, '2023-04-04 16:13')
(0, 'Unconfirmed [20. sat/b, 0.00 MB]')
(2, 'in 2 blocks')
(3, 'Local [180.4 sat/b]')
(3, 'Local [180.2 sat/b]')
(2, 'in 2016 blocks')
(0, 'Unconfirmed [180. sat/b, 0.00 MB]')
```

after:
```
>>> [print(wallet.get_tx_status(txid, wallet.adb.get_tx_height(txid))) for txid in list(wallet.get_full_history())[-10:]]
(7, '2023-04-04 16:13')
(7, '2023-04-04 16:13')
(7, '2023-04-04 16:13')
(7, '2023-04-04 16:13')
(0, 'Unconfirmed [20. sat/b, 0.00 MB]')
(0, 'Unconfirmed [180. sat/b, 0.00 MB]')
(2, 'in 2016 blocks')
(2, 'in 2 blocks')
(3, 'Local [180.4 sat/b]')
(3, 'Local [180.2 sat/b]')
```
2023-04-04 18:32:53 +00:00
SomberNight
f8f0af4a2f qml: history: add some support for future txs
- they are now distinguished from local by the status text "in %d blocks"
- this status text needs updating occasionally: on new blocks,
  and some lnwatcher interactions, hence new event: "adb_set_future_tx"
2023-04-04 17:39:58 +00:00
ThomasV
f04e2e2e6f Add an extra state for invoices where our tx has been broadcast
successfully, but it is not in our history yet.

(follow-up 159646fe54)
2023-04-04 19:31:25 +02:00
ThomasV
159646fe54 Set status of onchain invoices to PR_INFLIGHT while tx is being broadcast 2023-04-04 18:22:30 +02:00
Sander van Grieken
cf3613b7d5 qml: handle max too 2023-04-04 17:59:40 +02:00
Sander van Grieken
793cbd1c6e qml: save with user entered amount 2023-04-04 17:47:37 +02:00
Sander van Grieken
6c65161d27 qml: refactor qeinvoice.py
QEInvoice/QEInvoiceParser now properly split for mapping to Invoice type (QEInvoice)
and parsing/resolving of payment identifiers (QEInvoiceParser).
additionally, old, unused QEUserEnteredPayment was removed.

invoices are now never saved with user-entered amount if the original invoice
did not specify an amount (e.g. address-only, no-amount bip21 uri, or no-amount
lightning invoice). Furthermore, QEInvoice now adds an isSaved property so the
UI doesn't need to infer that from the existence of the invoice key.

Payments of lightning invoices are now triggered through QEInvoice.pay_lightning_invoice(),
using the internally kept Invoice instance. This replaces the old call path of
QEWallet.pay_lightning_invoice(invoice_key) which required the invoice to be saved
in the backend wallet before payment.

The LNURLpay flow arriving on InvoiceDialog implicitly triggered payment, this is
now indicated by InvoiceDialog.payImmediately property instead of inferrred from the
QEInvoiceParser isLnurlPay property.
2023-04-04 16:13:00 +02:00
SomberNight
5d0d07c2b3 qml: QEWallet.broadcast: bring error msgs in line with qt 2023-04-04 14:02:54 +00:00
Sander van Grieken
2f9ecf3311 qml: combine Connections on same target 2023-04-04 13:22:58 +02:00
ThomasV
479f952c9d follow-up ba2faa8. fixes #8294 2023-04-04 10:23:30 +02:00
ThomasV
ebdebd18b4 qml: fix type hints in qeinvoicelistmodel 2023-04-04 10:21:56 +02:00
ThomasV
157954d4ff qml: do not block access to BalanceSummary if we are not connected. Display warning instead 2023-04-03 17:10:52 +02:00
Sander van Grieken
8bb2464acd qml: add haptic feedback for android. Also preload most used classes to reduce
lag on first use.
2023-04-03 16:07:15 +02:00