qt/send_tab: drop redundant invoice_list.update() after broadcast
What changed, and why it matters
This commit removes one unnecessary screen refresh in Electrum's Qt send tab after a payment is broadcast. It is a performance cleanup, not a security fix. The removed line caused the entire invoice list to rebuild, which could freeze the user interface on wallets with many invoices. Other existing update paths already refresh the affected rows, so the removed call was redundant.
No security action needed. Treat as a normal performance/refactoring commit.
Security signals we found
No strong security signals were identified.
Evidence from the diff
In electrum/gui/qt/send_tab.py, the line self.invoice_list.update() after a successful broadcast is deleted. The commit message explains that set_broadcasting(..., PR_BROADCAST) triggers invoice_status callbacks, which incrementally update or delete rows via main_window.on_event_invoice_status, and transaction ingestion also sets need_update, leading to update_tabs() refresh. Therefore the full rebuild was redundant and caused GUI-thread overhead proportional to the number of unpaid invoices.
Changed components
electrum/gui/qt/send_tab.pyInspect captured patch +0 / −1
diff --git a/electrum/gui/qt/send_tab.py b/electrum/gui/qt/send_tab.py
index cdb97cc..6da1c54 100644
--- a/electrum/gui/qt/send_tab.py
+++ b/electrum/gui/qt/send_tab.py
@@ -809,7 +809,6 @@ class SendTab(QWidget, MessageBoxMixin, Logger):
success, msg = result
if success:
parent.show_message(_('Payment sent.') + '\n' + msg)
- self.invoice_list.update()
self.wallet.set_broadcasting(tx, broadcasting_status=PR_BROADCAST)
else:
msg = msg or ''
Why this scored 15/100
Community notes
Notes can correct, qualify, or add evidence to the AI analysis. Every note shown here has been validated by a human moderator.
The AI analysis stands alone for now. Submit a note if you can add evidence or important context.