Commit Graph

1967 Commits

Author SHA1 Message Date
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
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
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
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
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
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
e54d57bf73 Qt: improve closing warnings for submarine swaps 2025-05-12 10:21:46 +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
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
f321x
913f5ec6d8 add option to show warnings on wallet close, add warning for ongoing submarine swap 2025-05-07 17:11:08 +02:00
SomberNight
151b64da84 wizard: "terms of use": add version number
follow-up https://github.com/spesmilo/electrum/pull/9794
2025-05-07 13:59:00 +00:00
f321x
802c316edb qt: show terms of use as first window on setup 2025-05-07 14:02:40 +02:00
ThomasV
b86be552e7 hardware wallets: show address on device also from tx dialog 2025-05-06 18:22:07 +00:00
SomberNight
42d810bc7d refactor qt.util.ChoiceWidget: rename arg to default_key 2025-05-06 18:12:42 +00:00
SomberNight
ba3783f998 refactor qt.util.ChoiceWidget: introduce ChoiceItem 2025-05-06 18:12:37 +00:00
SomberNight
ef49bb2109 hw plugins: fix DeviceMgr.select_device
regression from ChoiceWidget refactor

follow-up f7749d62aa
2025-05-06 18:11:10 +00:00
f321x
63c224cb53 add qr reading from file to ScanQRTextEdit and SendTab
There was no ability to read qr codes contained in image files. This
could lead to confusion in some contexts, as `on_file_input()` of
ScanQRTextEdit will read the whole content of the file (instead of
looking for qr codes). The revealer plugin for example generates png
files containing qr codes and uses the `ScanQRTextEdit` to get user
input, for the user it would seem logical to click on 'Read from file'
to load the generated file, however this will result in the wrong data
being loaded. Having the option to explicitly load a QR from file makes
this clear. Also it seems useful, especially considering reading QR from
screenshots doesn't work on wayland.
2025-05-06 13:38:50 +02:00
ThomasV
7bcc7fb0c4 txbatcher: do not require password in memory
- if password is needed, await future and request it from GUI
 - run asyncio task for each TxBatch, so that batches can
   request the password concurrently
2025-05-06 13:04:19 +02:00
ThomasV
07ba0e6329 Qt: do not require password in memory
- do not require full encryption
 - do not store password on startup
 - add lock/unlock functions to qt GUI
2025-05-06 13:04:18 +02:00
ThomasV
09e333fead Qt: allow fixed fee policy in confirm_tx_dialog
Fixes #9662
2025-05-05 11:45:31 +02:00
ThomasV
59a283a0cc Merge pull request #9778 from accumulator/qt_richlabel
plugins: coldcard: use RichLabel, org imports
2025-05-04 11:20:37 +02:00
ThomasV
1eb489b961 Qt: set main_window.need_update if new transaction is added 2025-05-04 11:13:03 +02:00
accumulator
d8551990e4 Merge pull request #9773 from f321x/improve_relay_string_input
qt: validate and deduplicate relay config input in qt gui
2025-05-02 10:36:22 +02:00
f321x
ee7d2ee17d validate and deduplicate relay config input in qt gui
Adds validation and deduplication of the relay urls entered in the QT
settings dialog. This is supposed to prevent malformed or duplicated
relay entries.
Also resets the relays to the default value if no (valid) url
is entered. This prevents the user from getting stuck without relays
(otherwise the user would have to research for relay urls manually if
they don't know any).
2025-05-02 09:03:27 +02:00
Sander van Grieken
7146e320f0 plugins: coldcard: use RichLabel, org imports
qt/util.py: introduce RichLabel, allows link select and open
2025-05-01 12:06:16 +02:00
accumulator
1ae12d967d Merge pull request #9775 from f321x/fix_block_exception_dialog
fix: blocked Exception_Window by setting modality
2025-05-01 10:46:51 +02:00
f321x
2836d84d1d fix: blocked Exception_Window by setting modality
If some dialogs are open while an exception was raised the input of
Exception_Window is blocked and the user cannot click the button to
submit the issue report. Only if the other dialog is closed
Exception_Window starts responding. By setting the modality of
`Exception_Windows` to `ApplicationModal` the `Exception_Window` will
get the 'highest priority' and accepts input even if other dialogs are
open.
2025-04-30 16:34:19 +02:00
ThomasV
9ce21173ec Merge pull request #9770 from f321x/plugin_update
plugins: handle updating plugins from plugin manager
2025-04-30 14:17:01 +02:00
ThomasV
02601921cd Merge pull request #9771 from f321x/fix_tx_dialog_exception
fix: type error when loading psbt with lnworker enabled
2025-04-30 13:54:32 +02:00
f321x
955d3cfc6d fix: type error when loading unsigned transaction 2025-04-29 16:19:33 +02:00
f321x
3bfe1d2d28 handle loading plugins with same name as installed plugin (update) 2025-04-29 15:30:26 +02:00
f321x
84632f53d2 fix: bring dialog to front after reloading
When reloading the windows, e.g. after enabling or disabling a plugin,
the plugins dialog vanished behind the main window. By using a
Timer its possible to bring the Dialog back in front after the windows
have reloaded.
2025-04-29 13:09:19 +02:00
f321x
eed944368c fix: download_plugin_dialog has no access to run_coroutine_dialog
download_plugin_dialog tried to run the zip download with
self.window.run_coroutine_dialog, but self has no window,
instanciating a RunCoroutineDialog directly fixes this.
2025-04-29 13:09:19 +02:00
f321x
1cce216c1f fix: prevent PluginsDialog from getting in bad state
If the plugin file got already deleted while being in the installation
dialog, trying to delete it again will raise an exception.
This is fixed by catching the exception.

If the user tries to install an external plugin that is already
installed, and then closes the PluginDialog, the PluginsDialog will
get into a bad state, throwing an exeption when opening it. This
happens because the add_plugin_dialog deletes the zipfile if the
user closes or cancels the installation dialog.
This is fixed by checking if the plugin is already existing,
instead of trying to install an already existing plugin.
2025-04-29 13:09:19 +02:00
accumulator
80e7dce539 Merge pull request #9736 from f321x/swapserver_show_amounts
swaps: show swap limits in SwapDialog
2025-04-28 21:59:33 +02:00
accumulator
ea03c673e9 Merge pull request #9759 from accumulator/common_taskthread
qt,qml: move TaskThread to common_qt
2025-04-25 09:37:56 +02:00
f321x
ee8d53b96e fix OverlayControlMixin.add_menu_button type error, fix type hints 2025-04-24 09:32:29 +02:00
Sander van Grieken
c89e8f6f03 qt,qml: move TaskThread to common_qt 2025-04-23 15:24:02 +02:00