If daemon.taskgroup dies
- in GUI mode, show a crash reporter window to the user,
instead of immediately stopping the whole process.
- in daemon mode, log exception and stop process, as before.
We create a tx when the dialog is created, and re-create it every time
the user moves the fee slider. However, we were not re-creating it if
the user toggles the "Final" checkbox, meaning its value was only taken
into account if the user moved the fee slider after setting the checkbox.
fixes https://github.com/spesmilo/electrum/issues/7547
To reproduce: enter "." to amount_e in Send tab; then click "Save".
Traceback (most recent call last):
File "/home/user/wspace/electrum/electrum/gui/qt/main_window.py", line 1638, in do_save_invoice
self.pending_invoice = self.read_invoice()
File "/home/user/wspace/electrum/electrum/gui/qt/main_window.py", line 1625, in read_invoice
outputs = self.read_outputs()
File "/home/user/wspace/electrum/electrum/gui/qt/main_window.py", line 1501, in read_outputs
outputs = self.payto_e.get_outputs(self.max_button.isChecked())
File "/home/user/wspace/electrum/electrum/gui/qt/paytoedit.py", line 235, in get_outputs
self.outputs = [PartialTxOutput(scriptpubkey=self.payto_scriptpubkey, value=amount)]
File "/home/user/wspace/electrum/electrum/transaction.py", line 1533, in __init__
TxOutput.__init__(self, *args, **kwargs)
File "/home/user/wspace/electrum/electrum/transaction.py", line 113, in __init__
raise ValueError(f"bad txout value: {value!r}")
ValueError: bad txout value: None
payto_e.lightning_invoice has to be set after the payment field is set
to the node pub key, because check_text has the side effect of resetting
the payto_e.lightning_invoice
When changing e.g. from mBTC to BTC, the history list was only
partially updated: the displayed amounts got updated but the
displayed unit did not, so incorrect information was shown.
Previously if there was a chain of exceptions, we were only
sending the traceback for the final exception.
E.g.
try:
raise ExcOne("asdasd")
except ExcOne() as e:
raise ExcTwo("qweqwe") from e
^ we would lose all info about ExcOne, including potentially many lines of trace
related: https://github.com/spesmilo/electrum/issues/7390
```
20210706T091826.513398Z | ERROR | __main__ | daemon.run_gui errored
Traceback (most recent call last):
File "run_electrum", line 407, in handle_cmd
File "electrum\daemon.py", line 584, in run_gui
File "electrum\gui\qt\__init__.py", line 414, in main
File "electrum\gui\qt\__init__.py", line 291, in wrapper
File "electrum\gui\qt\__init__.py", line 316, in start_new_window
File "electrum\gui\qt\__init__.py", line 361, in _start_wizard_to_select_or_create_wallet
File "electrum\wallet_db.py", line 73, in __init__
File "electrum\wallet_db.py", line 106, in load_data
File "electrum\util.py", line 412, in <lambda>
File "electrum\util.py", line 408, in do_profile
File "electrum\wallet_db.py", line 175, in upgrade
File "electrum\wallet_db.py", line 540, in _convert_version_24
ValueError: too many values to unpack (expected 2)
```