Commit Graph

3674 Commits

Author SHA1 Message Date
ThomasV
713a20e309 Merge pull request #9833 from f321x/use_asyncio_dnspython_methods
dns: use async dnspython interface
2025-05-20 08:56:47 +02:00
ThomasV
8396a22286 Merge pull request #9801 from SomberNight/202505_ban_unicode
ci: add linter task "ban unicode" to protect against malicious unicode
2025-05-19 15:02:45 +02:00
Sander van Grieken
000b1bb3b5 swaps: update instructions in manifest, add Max Forward and Max Reverse amounts in qml provider picker 2025-05-19 14:55:34 +02:00
f321x
3693c38e37 swaps: replace offers dict with class, fix incorrect naming
introduces a class SwapOffer which is used instead of passing around
offers in dicts.

Also fixes incorrect variable naming of swapserver npubs / public keys
by assigning the npub instead of the hex pubkey to
config.SWAPSERVER_NPUB
2025-05-19 14:22:23 +02:00
ThomasV
cc25048e29 swap providers dialog with liquidity info 2025-05-19 13:22:50 +02:00
ThomasV
b949eb5bf9 paytoedit: do not stip whitespaces in payto field while user is typing (fix regression) 2025-05-19 11:52:30 +02:00
SomberNight
d0be5fcfc8 lnchannel: persist error sent by remote peer into db
If a force-close happens due to e.g. a feerate disagreement or an invalid signature, etc,
and the remote peer sends us an error, it can be useful if users can provide us with this error.
If the user does not have logging enabled when the error is sent, without this persistence it will likely get lost.
2025-05-18 16:54:56 +00:00
ThomasV
a213dfca85 Qt: move nostr_relays to network dialog 2025-05-18 13:42:25 +02:00
ThomasV
79941529d2 simplify plugin logic: remove install/uninstall buttons
external plugins are enabled iff authorized
2025-05-18 12:24:38 +02:00
ThomasV
0a69a3d658 Merge pull request #9765 from f321x/plugin_pubk_user_prompt
plugins: add functionality to allow setting plugin pubkey from gui
2025-05-18 12:08:12 +02:00
f321x
61492d361e Use async dnspython methods for openalias/dnssec 2025-05-16 17:09:41 +02:00
ThomasV
367dde4c9b Merge pull request #9835 from accumulator/qml_psbt_nostr_toggle
qml: add psbt_nostr enable/disable option in Preferences
2025-05-16 14:48:36 +02:00
Sander van Grieken
9a2a65c20f qml: add psbt_nostr enable/disable option in Preferences 2025-05-16 14:00:23 +02:00
ThomasV
f147058664 Merge pull request #9834 from f321x/fix_terms_wizard_windows
fix: make ToU scrollbar detection more reliable
2025-05-16 13:32:01 +02:00
f321x
12ff5b2728 fix: make ToU scrollbar detection more reliable
adds some delay before detecting the scrollbar in the terms of use
dialog. This prevents it from falsely detecting a scrollbar and
disabling the "I Agree" button even if there is no scrollbar. I noticed this
issue on windows, the order in which the window is created seems to be
slightliy different from linux/wayland there.
2025-05-16 13:13:00 +02:00
ThomasV
25c53ec3a5 Merge pull request #9792 from accumulator/qml_issue_noamt_lninvoice_sticky_override_amt
qml: fix storing override amount too soon, while user is allowed to set a new override amount which was silently ignored.
2025-05-16 11:19:53 +02:00
Sander van Grieken
c89398cd5b qml: handle callbacks via ui thread. 2025-05-16 09:49:41 +02:00
ThomasV
626264d24f Merge pull request #9784 from f321x/allow_lnaddress_contacts
qt: allow lightning addresses in contacts
2025-05-15 19:09:48 +02:00
f321x
b6e1e527c2 contacts: support lightning addressses as contact address
lightning addresses are useful and widely adopted, so it should be
possible to save them as payment identifier for a contact.
2025-05-15 17:55:23 +02:00
ThomasV
6500788328 Merge pull request #9710 from f321x/dont_delete_config_on_syntax_error
config: Raise instead of overwriting the config file on syntax error
2025-05-15 17:24:35 +02:00
f321x
8870838834 raise instead of overwriting the config file on syntax error 2025-05-15 17:21:16 +02:00
ThomasV
33ea89c94b Merge pull request #9793 from accumulator/psbt_nostr_send_description
PSBT nostr, send invoice/tx description along with PSBT
2025-05-15 09:44:55 +02:00
Sander van Grieken
4c88836389 qt: don't show request details when multiple requests are selected in request_list 2025-05-14 14:45:14 +02:00
Sander van Grieken
a9213c4d66 psbt_nostr: send label along with PSBT 2025-05-14 12:49:33 +02:00
Sander van Grieken
6566f2f0a4 qt: pass Invoice object to transaction dialog when appropriate.
This is purely informational and optional, with the main immediate use to provide the
invoice description/message/label to the transaction dialog, so it can be stored
when saving the tx in history, or passed along with PSBTs sent to cosigners.

Before, the tx description was not saved in history when an invoice was not saved before
signing and saving the tx for sending later.
2025-05-14 12:49:33 +02:00
Sander van Grieken
a45ca41268 qml: fix storing override amount too soon, while user is allowed to set a new override amount which was silently ignored.
lightning: implicit save of lightning invoice with override amount deferred until actual payment is accepted.
on-chain: for now, invoice is implicitly saved when override amount is passed to ConfirmTxDialog. (this is sooner
than current desktop client, which saves - and only saves - when Pay is clicked from ConfirmTxDialog)
2025-05-14 10:57:57 +02:00
SomberNight
1b031d432e qt tx dialog: allow clicking into the future. wheeee
- "outpoints" for inputs were already clickable to open the funding tx
- now "outpoints" for outputs are also clickable to open the spending tx
2025-05-13 18:30:20 +00:00
accumulator
2947de23da Merge pull request #9820 from f321x/qml_terms_of_use
qml: add terms of use to setup wizard
2025-05-13 15:54:34 +02:00
f321x
adaafeaae1 disable proxy checkbox in ProxyConfig by default
disable the checkbox by default, so that if a user selects Enable Proxy
in the advanced network settings, and then just clicks next with the proxy
checkbox set, doesn't end up with a invalid proxy configuration which
doesn't connect to the server and has to be fixed manually.
2025-05-13 14:28:22 +02:00
f321x
38f51a3b13 qml: add terms of use to setup wizard 2025-05-13 14:28:13 +02:00
ThomasV
aff7243f06 qt wizard server_connect tweaks 2025-05-13 13:05:17 +02:00
f321x
e9a1357a99 followup: qt terms of use, move label in network tab
moves 2nd sentence in network tab below the checkboxes and adds a bit of
spacing below the electrum logo in the Terms of Use tab.
2025-05-13 12:12:15 +02:00
SomberNight
2ce72d3cab formatting: rm unicode BOM from gui/fonts/PTMono.LICENSE 2025-05-12 18:19:54 +00:00
ThomasV
0607a406ce Qt: add closing warning if we have an unconfirmed local commitment tx with htlcs
add htlc direction (offered, received) to the htlc sweep_info name
regtest: add test_reedeem_received_htlcs
2025-05-12 15:48:20 +02:00
ThomasV
a1db855c63 Merge pull request #9819 from f321x/fix_tui_crash
fix: text gui exceptions and and type errors
2025-05-12 13:18:13 +02:00
f321x
5bfddad67c use daemon.load_wallet instead of constructing manually 2025-05-12 10:53:12 +02:00
f321x
6e21dac387 fix: tui contacts edit label and delete button
the edit label button did crash the application because get_string
returned bytes instead of a string. The delete button was not
implemented but shown in the tui.
2025-05-12 10:51:19 +02:00
ThomasV
e54d57bf73 Qt: improve closing warnings for submarine swaps 2025-05-12 10:21:46 +02:00
f321x
bfe895fc3e remove unused imports, fix type hint 2025-05-12 10:17:30 +02:00
f321x
b0fd126e1b fix: exception if payment amount is not set
if payment amount is not set and the user tried to pay, the application
would crash. This shows a message instead. Also uses show_message
instead of show_error, as show_error doesn't exist.
2025-05-12 10:08:52 +02:00
f321x
02232b227e fix IndexError if self.channel_ids is empty 2025-05-12 10:00:38 +02:00
f321x
abc50a97e1 plugins: add functionality to allow setting plugin pubkey from gui
Adds functionality that allows the user to store the plugin authorization pubkey without having to edit files/registry manually.
On Linux systems it spawns the commands in a subprocess with pkexec which will trigger a OS prompt to execute the commands as root.
The user sees the executed commands and can either authorize with the root password or decline.
On windows it uses the windows `ShellExecuteExW` api to edit the registry, this also triggers a OS dialog to accept or decline (UAC dialog).
There is also functionality to reset the key again, which works in the same way.
2025-05-09 13:34:09 +02:00
accumulator
05e395018c Merge pull request #9782 from f321x/fix_qr_input_from_file
qt: add qr reading from file to ScanQRTextEdit and SendTab
2025-05-09 11:50:04 +02:00
ThomasV
db271d9b7d Fix get_pending_swaps: use both funding and spending tx heights
Also, do not show closing warnings if we are offline.
2025-05-08 14:58:13 +02:00
ThomasV
2b68f65aac fix typo 2025-05-08 09:34:48 +02:00
ThomasV
061460611c Merge pull request #9795 from f321x/followup_tos_qt
followup: qt terms of use scrollbar and regtest mode
2025-05-07 19:33:05 +02:00
f321x
39901c8872 fix: enable Agree button if scrollbar is not visible 2025-05-07 17:33:19 +02:00
ThomasV
9a61640243 move question text 2025-05-07 17:23:33 +02:00
f321x
c54f75b31f don't show ToU in regtest mode 2025-05-07 17:19:30 +02:00
ThomasV
45c7180536 Merge pull request #9715 from f321x/warning_on_close
gui: Add option to show warnings on wallet close, add warning for swaps
2025-05-07 17:17:59 +02:00