What changed, and why it matters
This commit simply adds a 'Help' button to Electrum's plugin management window that opens the official plugins.electrum.org website in the user's web browser. It is a user-interface convenience change, not a security fix or vulnerability.
No security action needed; this is a benign UI enhancement.
Security signals we found
No strong security signals were identified.
Evidence from the diff
The patch modifies electrum/gui/qt/plugins_dialog.py to add a QPushButton using the existing webopen() utility to navigate to https://plugins.electrum.org/. It reorganizes the bottom button layout from a vertical-only arrangement to a horizontal layout containing the new Help button, an Add button, and the Close button. No cryptographic, networking, or plugin-loading logic is changed.
Changed components
electrum/gui/qt/plugins_dialog.pyInspect captured patch +12 / −3
diff --git a/electrum/gui/qt/plugins_dialog.py b/electrum/gui/qt/plugins_dialog.py
index 239c5e9..6e65df4 100644
--- a/electrum/gui/qt/plugins_dialog.py
+++ b/electrum/gui/qt/plugins_dialog.py
@@ -3,7 +3,7 @@ from functools import partial
import shutil
import os
-from PyQt6.QtWidgets import QLabel, QVBoxLayout, QGridLayout, QPushButton, QWidget, QScrollArea, \
+from PyQt6.QtWidgets import QLabel, QVBoxLayout, QHBoxLayout, QGridLayout, QPushButton, QWidget, QScrollArea, \
QFormLayout, QFileDialog, QMenu, QApplication, QMessageBox
from PyQt6.QtCore import QTimer
@@ -12,7 +12,8 @@ from electrum.gui import messages
from electrum.logging import get_logger
from .util import (WindowModalDialog, Buttons, CloseButton, WWLabel, insert_spaces, MessageBoxMixin,
- EnterButton, read_QIcon_from_bytes, IconLabel, RunCoroutineDialog)
+ EnterButton, read_QIcon_from_bytes, IconLabel, RunCoroutineDialog, read_QIcon,
+ webopen)
if TYPE_CHECKING:
@@ -178,7 +179,15 @@ class PluginsDialog(WindowModalDialog, MessageBoxMixin):
add_button = QPushButton(_('Add'))
add_button.setMinimumWidth(40) # looks better on windows, no difference on linux
add_button.clicked.connect(self.add_plugin_dialog)
- vbox.addLayout(Buttons(add_button, CloseButton(self)))
+ website_button = QPushButton(read_QIcon('globe.png'), _('Help'))
+ website_button.setToolTip(_('Visit plugins website'))
+ website_button.clicked.connect(lambda: webopen('https://plugins.electrum.org/'))
+ hbox = QHBoxLayout()
+ hbox.addWidget(website_button)
+ hbox.addStretch(1)
+ hbox.addWidget(add_button)
+ hbox.addWidget(CloseButton(self))
+ vbox.addLayout(hbox)
self.show_list()
def get_plugins_privkey(self) -> Optional['ECPrivkey']:
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.