Commit Graph

18711 Commits

Author SHA1 Message Date
ThomasV eaa402dab6 daemon: do not set CURRENT_WALLET if the -w option was passed
This was the previous behaviour with gui_last_wallet.
2025-06-05 16:57:15 +02:00
Sander van Grieken e3ccee6d63 qt: channel closed dialog is not an error 2025-06-05 12:37:23 +02:00
ThomasV e8113d684c Merge pull request #9852 from accumulator/qml_fix_forceclose_exception
qml: fix assumption history item is onchain when history item has no timestamp
2025-06-05 09:58:48 +02:00
ThomasV 8330c72b65 Merge pull request #9906 from spesmilo/maybe_complete_wallet_path
CLI: complete wallet_path
2025-06-05 09:18:02 +02:00
ThomasV 9afd2fa098 Merge pull request #9911 from f321x/fix_swap_exception_send_change_to_lightning
fix: exceptions when sending change to lightning
2025-06-05 09:15:21 +02:00
ThomasV 8019ceb568 test_daemon: add test the wallet can be loaded by basename 2025-06-05 09:08:53 +02:00
ThomasV 85c3c77096 CLI: make 'wallet_path' relative to wallets dir
If the wallet_path passed to the RPC is a simple filename,
interpret it as relative to the user wallets directory,
rather than to the current working directory.

This is a breaking change, it might affect existing scripts
2025-06-05 09:06:29 +02:00
ThomasV 37914d5af0 cmdline: use 'wallet_path' argument to pass wallet_path 2025-06-05 09:06:29 +02:00
accumulator 5efeaf13c5 additions to RELEASE-NOTES (#9908) 2025-06-04 19:50:27 +00:00
Sander van Grieken 044ea1f4f6 submarine_swaps: imports, whitespace 2025-06-04 19:47:30 +02:00
f321x 5ad1b4b5dd fix: exceptions with send change to lightning 2025-06-04 17:40:04 +02:00
ThomasV 2024fa4507 Merge pull request #9902 from SomberNight/202506_base64_trailing_garbage
base64.b64decode: always set validate=True
2025-06-04 14:59:20 +02:00
ThomasV ee2c3e07b8 Merge pull request #9896 from f321x/nwc_receive_only_connections
plugin-nwc: don't announce spending methods if spending limit is 0
2025-06-04 14:51:53 +02:00
ThomasV 574b1eb6ad Merge pull request #9905 from f321x/changes_to_release_notes
additions to 4.6.0 changelog
2025-06-04 13:06:55 +02:00
f321x eb4887791d additions to 4.6.0 changelog 2025-06-04 12:50:58 +02:00
ThomasV d8c73eab17 Merge pull request #9904 from f321x/fix_ToU_workaround
fix: prevent opening new window if ToU haven't been accepted
2025-06-04 12:46:45 +02:00
ThomasV 345b913c2c draft release notes
txbatcher and fee polices are not mentioned (not user visible)
2025-06-04 11:16:56 +02:00
ThomasV 69545f08ca list_wallets: fix wallet path (follow-up 902ec09791) 2025-06-04 10:46:45 +02:00
f321x 6c7d8e8f86 fix: prevent opening new window if ToU haven't been accepted
prevents the creation of new Qt windows if the terms of use have not
been accepted yet. This is to prevent bypassing the terms of use by
starting the wallet a second time which would then skip the ToU.
2025-06-04 09:48:00 +02:00
SomberNight 3e4601c61d base64.b64decode: always set validate=True
Notably verifymessage and decrypt(message) were silently ignoring trailing garbage
or inserted non-base64 characters present in signatures/ciphertext.
(both the CLI commands and in the GUI)
I think it is much cleaner and preferable to treat such signatures/ciphertext as invalid.

In fact I find it surprising that base64.b64decode(validate=False) is the default.
Perhaps we should create a helper function for it that set validate=True and use that.
2025-06-03 18:58:05 +00:00
ThomasV cae71222d2 Merge pull request #9897 from SomberNight/202506_daemon_walletkey
daemon: re config.CURRENT_WALLET: wallet_key MUST NOT be used as path
2025-06-03 18:47:24 +02:00
SomberNight 902ec09791 daemon: re config.CURRENT_WALLET: wallet_key MUST NOT be used as path 2025-06-03 15:08:03 +00:00
ThomasV 6373269b42 Merge pull request #9895 from accumulator/qml_network_settings_update_fix
qml: fix updating network settings
2025-06-03 14:43:43 +02:00
f321x 3daed92be2 nwc: don't announce spending methods if limit is 0
don't return the spending methods pay_invoice and multi_pay_invoice in
the get_info request and the info event so connections can be used for
services that enforce receive only connections.
2025-06-03 14:13:32 +02:00
Sander van Grieken 7df2a1159b qml: fix updating network settings
Previously the server parameters were each handled differently, e.g. auto-connect was only applied when updating Network.server
and not when Config.autoConnect was updated. Similarly, updating Network.server did not restart the network, leading to >1 connection
when Network.oneServer was set to True before updating Network.server.

Consolidate server parameter updates into a single call, remove the individual setters, and move Config.autoConnect and Config.autoConnectDefined to Network.
2025-06-03 13:22:45 +02:00
ThomasV 69527df9d6 Merge pull request #9894 from f321x/remove_sending_balance_warning
qml: rm small available sending balance warning
2025-06-03 12:59:58 +02:00
ThomasV e26160234c network_dialog: widget reordering 2025-06-03 12:56:01 +02:00
f321x 88a77f387d qml: rm small available sending balance warning 2025-06-03 12:30:52 +02:00
Sander van Grieken 6f653af3ff whitespace, imports 2025-06-03 11:26:23 +02:00
ThomasV 8f2c5f60e4 Merge pull request #9888 from accumulator/qml_fixes
Qml fixes
2025-06-03 11:11:29 +02:00
Sander van Grieken cb78b07fe4 qml: reset nostr relays list to default if empty 2025-06-03 10:57:43 +02:00
ThomasV 1dc9ffcdaf Merge pull request #9892 from accumulator/fix_9884
qml: also update userinfo text on channel events. fixes #9884
2025-06-03 10:57:03 +02:00
ThomasV 0ce03a1939 Merge pull request #9889 from f321x/fix_suggest_peer_block
fix: prevent lnrater from blocking if no good peers
2025-06-03 10:54:13 +02:00
Sander van Grieken d87b0f8e81 qml: improve nostr dialog helptext 2025-06-03 10:50:28 +02:00
Sander van Grieken 7ba335a409 qml: also update userinfo text on channel events. fixes #9884 2025-06-03 10:41:55 +02:00
ThomasV 972ebb0420 Daemon: do not set config.CURRENT_WALLET to None
Instead, raise a UserFacingException if the daemon has several wallets in memory.
2025-06-03 10:41:03 +02:00
ThomasV 94517fbc0e lnworker: minor fix, follow-up fc4f995668 2025-06-03 10:26:25 +02:00
f321x b4e93e7e38 fix: prevent lnrater from blocking if no good peers
the while loop in `suggest_node_channel_open()` of lnrater would not
break if there are no "good" peers available available. As a result the gui
blocks and electrum has to be killed. This can happen for example on
signet.
This removes the tested pk from the list of candidates so each candidate
gets tested only once.
2025-06-03 10:06:39 +02:00
SomberNight 468f496f34 submarine_swaps: make swaps dict thread-safe
In general many methods of the SwapManager are called both from the asyncio thread
and from the GUI, and hence must be thread-safe.

closes https://github.com/spesmilo/electrum/issues/9887
2025-06-02 17:06:08 +00:00
SomberNight 4539269960 submarine_swaps.py: trivial clean-up, add some type hints 2025-06-02 16:29:29 +00:00
SomberNight 60ef0340bb messages.py: fix typo 2025-06-02 16:07:08 +00:00
SomberNight 57704600d9 interface: make sure interface.taskgroup gets cleaned up
follow-up https://github.com/spesmilo/electrum/commit/0ce89b6d544dd1a5d192014f14a82aec9f05543f
2025-06-02 15:24:00 +00:00
Sander van Grieken c6fb55d416 qml: lightningpaymentdetails show Paid banner instead of just Status:settled 2025-06-02 17:21:42 +02:00
Sander van Grieken df2c1d6ae1 qml: no feebump hint if only option is CPFP 2025-06-02 17:14:31 +02:00
Sander van Grieken 938af7b2ee qml: remove green check-mark on request paid, open lightning payment details (LN) or Tx details (on-chain) instead 2025-06-02 17:11:08 +02:00
ThomasV c13932452a test_lnpeer: add mock get_invoice method 2025-06-02 16:27:24 +02:00
ThomasV fc4f995668 lnworker: fix invoice status in htlc_failed from previous session
(status was remaining inflight)
2025-06-02 16:14:34 +02:00
ThomasV 4aed0582a1 Merge pull request #9886 from f321x/fix_last_wallet_exception
followup 9e225d1: rm save_last_wallet call
2025-06-02 15:47:12 +02:00
f321x 58b0fdf199 followup 9e225d1: rm save_last_wallet call 2025-06-02 15:07:22 +02:00
ThomasV 9e225d1269 Replace config GUI_LAST_WALLET with CURRENT_WALLET
- CURRENT_WALLET is set when a single wallet is loaded in memory, and it
   remains set after Electrum stops running.
 - If several wallets are loaded at the same time, CURRENT_WALLET is unset,
   and RPCs must specify the wallet explicitly (using --wallet for the CLI)
 - The fallback to 'default_wallet' essentially only applies when
   creating a new wallet file
2025-06-02 14:05:53 +02:00