From 04c907895556dc0041a98e3586568b8f0bb68ff1 Mon Sep 17 00:00:00 2001 From: Sander van Grieken Date: Mon, 15 May 2023 11:56:40 +0200 Subject: [PATCH] qml: show pay_invoice error to user --- electrum/gui/qml/components/WalletMainView.qml | 6 ++++++ electrum/gui/qml/qewallet.py | 3 ++- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/electrum/gui/qml/components/WalletMainView.qml b/electrum/gui/qml/components/WalletMainView.qml index f20c3ea16..8adeb2d89 100644 --- a/electrum/gui/qml/components/WalletMainView.qml +++ b/electrum/gui/qml/components/WalletMainView.qml @@ -306,6 +306,12 @@ Item { }) dialog.open() } + function onPaymentFailed(invoice_id, message) { + var dialog = app.messageDialog.createObject(app, { + text: message + }) + dialog.open() + } } Component { diff --git a/electrum/gui/qml/qewallet.py b/electrum/gui/qml/qewallet.py index a52a67a8b..8baa2a550 100644 --- a/electrum/gui/qml/qewallet.py +++ b/electrum/gui/qml/qewallet.py @@ -609,7 +609,8 @@ class QEWallet(AuthMixin, QObject, QtEventListener): fut = asyncio.run_coroutine_threadsafe(coro, get_asyncio_loop()) fut.result() except Exception as e: - self.paymentFailed.emit(invoice.get_id(), repr(e)) + self._logger.error(f'pay_invoice failed! {e!r}') + self.paymentFailed.emit(invoice.get_id(), str(e)) threading.Thread(target=pay_thread, daemon=True).start()