summaryrefslogtreecommitdiff
path: root/desktop/src/onionshare/tab
diff options
context:
space:
mode:
Diffstat (limited to 'desktop/src/onionshare/tab')
-rw-r--r--desktop/src/onionshare/tab/mode/__init__.py33
-rw-r--r--desktop/src/onionshare/tab/mode/chat_mode/__init__.py1
-rw-r--r--desktop/src/onionshare/tab/mode/mode_settings_widget.py54
-rw-r--r--desktop/src/onionshare/tab/mode/receive_mode/__init__.py6
-rw-r--r--desktop/src/onionshare/tab/mode/share_mode/__init__.py1
-rw-r--r--desktop/src/onionshare/tab/mode/website_mode/__init__.py1
-rw-r--r--desktop/src/onionshare/tab/server_status.py201
-rw-r--r--desktop/src/onionshare/tab/tab.py31
8 files changed, 194 insertions, 134 deletions
diff --git a/desktop/src/onionshare/tab/mode/__init__.py b/desktop/src/onionshare/tab/mode/__init__.py
index aeecaf66..d4f2c23a 100644
--- a/desktop/src/onionshare/tab/mode/__init__.py
+++ b/desktop/src/onionshare/tab/mode/__init__.py
@@ -246,13 +246,23 @@ class Mode(QtWidgets.QWidget):
self.start_onion_thread()
def start_onion_thread(self, obtain_onion_early=False):
- self.common.log("Mode", "start_server", "Starting an onion thread")
- self.obtain_onion_early = obtain_onion_early
- self.onion_thread = OnionThread(self)
- self.onion_thread.success.connect(self.starting_server_step2.emit)
- self.onion_thread.success_early.connect(self.starting_server_early.emit)
- self.onion_thread.error.connect(self.starting_server_error.emit)
- self.onion_thread.start()
+ # If we tried to start with Client Auth and our Tor is too old to support it,
+ # bail out early
+ if (
+ not self.server_status.local_only
+ and not self.app.onion.supports_stealth
+ and not self.settings.get("general", "public")
+ ):
+ self.stop_server()
+ self.start_server_error(strings._("gui_server_doesnt_support_stealth"))
+ else:
+ self.common.log("Mode", "start_server", "Starting an onion thread")
+ self.obtain_onion_early = obtain_onion_early
+ self.onion_thread = OnionThread(self)
+ self.onion_thread.success.connect(self.starting_server_step2.emit)
+ self.onion_thread.success_early.connect(self.starting_server_early.emit)
+ self.onion_thread.error.connect(self.starting_server_error.emit)
+ self.onion_thread.start()
def start_scheduled_service(self, obtain_onion_early=False):
# We start a new OnionThread with the saved scheduled key from settings
@@ -438,15 +448,6 @@ class Mode(QtWidgets.QWidget):
"""
pass
- def handle_request_rate_limit(self, event):
- """
- Handle REQUEST_RATE_LIMIT event.
- """
- self.stop_server()
- Alert(
- self.common, strings._("error_rate_limit"), QtWidgets.QMessageBox.Critical
- )
-
def handle_request_progress(self, event):
"""
Handle REQUEST_PROGRESS event.
diff --git a/desktop/src/onionshare/tab/mode/chat_mode/__init__.py b/desktop/src/onionshare/tab/mode/chat_mode/__init__.py
index fe3e69f1..e7a17ce7 100644
--- a/desktop/src/onionshare/tab/mode/chat_mode/__init__.py
+++ b/desktop/src/onionshare/tab/mode/chat_mode/__init__.py
@@ -130,7 +130,6 @@ class ChatMode(Mode):
"""
# Reset web counters
self.web.chat_mode.cur_history_id = 0
- self.web.reset_invalid_passwords()
def start_server_step2_custom(self):
"""
diff --git a/desktop/src/onionshare/tab/mode/mode_settings_widget.py b/desktop/src/onionshare/tab/mode/mode_settings_widget.py
index 9f55dbaf..0e80023e 100644
--- a/desktop/src/onionshare/tab/mode/mode_settings_widget.py
+++ b/desktop/src/onionshare/tab/mode/mode_settings_widget.py
@@ -129,28 +129,6 @@ class ModeSettingsWidget(QtWidgets.QScrollArea):
autostop_timer_layout.addWidget(self.autostop_timer_checkbox)
autostop_timer_layout.addWidget(self.autostop_timer_widget)
- # Legacy address
- self.legacy_checkbox = QtWidgets.QCheckBox()
- self.legacy_checkbox.clicked.connect(self.legacy_checkbox_clicked)
- self.legacy_checkbox.clicked.connect(self.update_ui)
- self.legacy_checkbox.setText(strings._("mode_settings_legacy_checkbox"))
- if self.settings.get("general", "legacy"):
- self.legacy_checkbox.setCheckState(QtCore.Qt.Checked)
- else:
- self.legacy_checkbox.setCheckState(QtCore.Qt.Unchecked)
-
- # Client auth
- self.client_auth_checkbox = QtWidgets.QCheckBox()
- self.client_auth_checkbox.clicked.connect(self.client_auth_checkbox_clicked)
- self.client_auth_checkbox.clicked.connect(self.update_ui)
- self.client_auth_checkbox.setText(
- strings._("mode_settings_client_auth_checkbox")
- )
- if self.settings.get("general", "client_auth"):
- self.client_auth_checkbox.setCheckState(QtCore.Qt.Checked)
- else:
- self.client_auth_checkbox.setCheckState(QtCore.Qt.Unchecked)
-
# Toggle advanced settings
self.toggle_advanced_button = QtWidgets.QPushButton()
self.toggle_advanced_button.clicked.connect(self.toggle_advanced_clicked)
@@ -165,8 +143,6 @@ class ModeSettingsWidget(QtWidgets.QScrollArea):
advanced_layout.addLayout(title_layout)
advanced_layout.addLayout(autostart_timer_layout)
advanced_layout.addLayout(autostop_timer_layout)
- advanced_layout.addWidget(self.legacy_checkbox)
- advanced_layout.addWidget(self.client_auth_checkbox)
self.advanced_widget = QtWidgets.QWidget()
self.advanced_widget.setLayout(advanced_layout)
self.advanced_widget.hide()
@@ -200,28 +176,6 @@ class ModeSettingsWidget(QtWidgets.QScrollArea):
strings._("mode_settings_advanced_toggle_show")
)
- # Client auth is only a legacy option
- if self.client_auth_checkbox.isChecked():
- self.legacy_checkbox.setChecked(True)
- self.legacy_checkbox.setEnabled(False)
- else:
- self.legacy_checkbox.setEnabled(True)
- if self.legacy_checkbox.isChecked():
- self.client_auth_checkbox.show()
- else:
- self.client_auth_checkbox.hide()
-
- # If the server has been started in the past, prevent changing legacy option
- if self.settings.get("onion", "private_key"):
- if self.legacy_checkbox.isChecked():
- # If using legacy, disable legacy and client auth options
- self.legacy_checkbox.setEnabled(False)
- self.client_auth_checkbox.setEnabled(False)
- else:
- # If using v3, hide legacy and client auth options
- self.legacy_checkbox.hide()
- self.client_auth_checkbox.hide()
-
def title_editing_finished(self):
if self.title_lineedit.text().strip() == "":
self.title_lineedit.setText("")
@@ -283,14 +237,6 @@ class ModeSettingsWidget(QtWidgets.QScrollArea):
else:
self.autostop_timer_widget.hide()
- def legacy_checkbox_clicked(self):
- self.settings.set("general", "legacy", self.legacy_checkbox.isChecked())
-
- def client_auth_checkbox_clicked(self):
- self.settings.set(
- "general", "client_auth", self.client_auth_checkbox.isChecked()
- )
-
def toggle_advanced_clicked(self):
if self.advanced_widget.isVisible():
self.advanced_widget.hide()
diff --git a/desktop/src/onionshare/tab/mode/receive_mode/__init__.py b/desktop/src/onionshare/tab/mode/receive_mode/__init__.py
index d07b5ffc..d5036d1d 100644
--- a/desktop/src/onionshare/tab/mode/receive_mode/__init__.py
+++ b/desktop/src/onionshare/tab/mode/receive_mode/__init__.py
@@ -183,16 +183,15 @@ class ReceiveMode(Mode):
self.main_layout.addWidget(header_label)
self.main_layout.addWidget(receive_warning)
self.main_layout.addWidget(self.primary_action, stretch=1)
- self.main_layout.addWidget(MinimumSizeWidget(525, 0))
+ self.main_layout.addWidget(self.server_status)
# Row layout
content_row = QtWidgets.QHBoxLayout()
- content_row.addLayout(self.main_layout)
+ content_row.addLayout(self.main_layout, stretch=1)
content_row.addWidget(self.image)
row_layout = QtWidgets.QVBoxLayout()
row_layout.addLayout(top_bar_layout)
row_layout.addLayout(content_row, stretch=1)
- row_layout.addWidget(self.server_status)
# Column layout
self.column_layout = QtWidgets.QHBoxLayout()
@@ -296,7 +295,6 @@ class ReceiveMode(Mode):
"""
# Reset web counters
self.web.receive_mode.cur_history_id = 0
- self.web.reset_invalid_passwords()
# Hide and reset the uploads if we have previously shared
self.reset_info_counters()
diff --git a/desktop/src/onionshare/tab/mode/share_mode/__init__.py b/desktop/src/onionshare/tab/mode/share_mode/__init__.py
index 4056d92e..5d3e3c35 100644
--- a/desktop/src/onionshare/tab/mode/share_mode/__init__.py
+++ b/desktop/src/onionshare/tab/mode/share_mode/__init__.py
@@ -219,7 +219,6 @@ class ShareMode(Mode):
"""
# Reset web counters
self.web.share_mode.cur_history_id = 0
- self.web.reset_invalid_passwords()
# Hide and reset the downloads if we have previously shared
self.reset_info_counters()
diff --git a/desktop/src/onionshare/tab/mode/website_mode/__init__.py b/desktop/src/onionshare/tab/mode/website_mode/__init__.py
index 577ea28e..a50d15b9 100644
--- a/desktop/src/onionshare/tab/mode/website_mode/__init__.py
+++ b/desktop/src/onionshare/tab/mode/website_mode/__init__.py
@@ -210,7 +210,6 @@ class WebsiteMode(Mode):
"""
# Reset web counters
self.web.website_mode.visit_count = 0
- self.web.reset_invalid_passwords()
# Hide and reset the downloads if we have previously shared
self.reset_info_counters()
diff --git a/desktop/src/onionshare/tab/server_status.py b/desktop/src/onionshare/tab/server_status.py
index ba5ff165..115acfd5 100644
--- a/desktop/src/onionshare/tab/server_status.py
+++ b/desktop/src/onionshare/tab/server_status.py
@@ -38,7 +38,7 @@ class ServerStatus(QtWidgets.QWidget):
server_canceled = QtCore.Signal()
button_clicked = QtCore.Signal()
url_copied = QtCore.Signal()
- hidservauth_copied = QtCore.Signal()
+ client_auth_copied = QtCore.Signal()
STATUS_STOPPED = 0
STATUS_WORKING = 1
@@ -81,6 +81,12 @@ class ServerStatus(QtWidgets.QWidget):
self.url_description = QtWidgets.QLabel()
self.url_description.setWordWrap(True)
self.url_description.setMinimumHeight(50)
+
+ # URL sharing instructions, above the URL and Copy Address/QR Code buttons
+ self.url_instructions = QtWidgets.QLabel()
+ self.url_instructions.setWordWrap(True)
+
+ # The URL label itself
self.url = QtWidgets.QLabel()
self.url.setFont(url_font)
self.url.setWordWrap(True)
@@ -90,16 +96,16 @@ class ServerStatus(QtWidgets.QWidget):
Qt.TextSelectableByMouse | Qt.TextSelectableByKeyboard
)
+ # Copy Onion Address button
self.copy_url_button = QtWidgets.QPushButton(strings._("gui_copy_url"))
self.copy_url_button.setStyleSheet(
self.common.gui.css["server_status_url_buttons"]
)
self.copy_url_button.clicked.connect(self.copy_url)
- self.copy_hidservauth_button = QtWidgets.QPushButton(
- strings._("gui_copy_hidservauth")
- )
+
+ # Onion Address QR code button
self.show_url_qr_code_button = QtWidgets.QPushButton(
- strings._("gui_show_url_qr_code")
+ strings._("gui_show_qr_code")
)
self.show_url_qr_code_button.hide()
self.show_url_qr_code_button.clicked.connect(
@@ -109,22 +115,78 @@ class ServerStatus(QtWidgets.QWidget):
self.common.gui.css["server_status_url_buttons"]
)
- self.copy_hidservauth_button.setStyleSheet(
+ # Client Auth sharing instructions, above the
+ # Copy Private Key/QR Code buttons
+ self.client_auth_instructions = QtWidgets.QLabel()
+ self.client_auth_instructions.setWordWrap(True)
+ self.client_auth_instructions.setText(strings._("gui_client_auth_instructions"))
+
+ # The private key itself
+ self.private_key = QtWidgets.QLabel()
+ self.private_key.setFont(url_font)
+ self.private_key.setWordWrap(True)
+ self.private_key.setMinimumSize(self.private_key.sizeHint())
+ self.private_key.setStyleSheet(self.common.gui.css["server_status_url"])
+ self.private_key.setTextInteractionFlags(Qt.NoTextInteraction)
+ self.private_key_hidden = True
+
+ # Copy ClientAuth button
+ self.copy_client_auth_button = QtWidgets.QPushButton(
+ strings._("gui_copy_client_auth")
+ )
+ self.copy_client_auth_button.setStyleSheet(
+ self.common.gui.css["server_status_url_buttons"]
+ )
+ self.copy_client_auth_button.clicked.connect(self.copy_client_auth)
+
+ # ClientAuth QR code button
+ self.show_client_auth_qr_code_button = QtWidgets.QPushButton(
+ strings._("gui_show_qr_code")
+ )
+ self.show_client_auth_qr_code_button.hide()
+ self.show_client_auth_qr_code_button.clicked.connect(
+ self.show_client_auth_qr_code_button_clicked
+ )
+ self.show_client_auth_qr_code_button.setStyleSheet(
+ self.common.gui.css["server_status_url_buttons"]
+ )
+
+ # ClientAuth reveal/hide toggle button
+ self.client_auth_toggle_button = QtWidgets.QPushButton(strings._("gui_reveal"))
+ self.client_auth_toggle_button.hide()
+ self.client_auth_toggle_button.clicked.connect(
+ self.client_auth_toggle_button_clicked
+ )
+ self.client_auth_toggle_button.setStyleSheet(
self.common.gui.css["server_status_url_buttons"]
)
- self.copy_hidservauth_button.clicked.connect(self.copy_hidservauth)
+
+ # URL instructions layout
url_buttons_layout = QtWidgets.QHBoxLayout()
url_buttons_layout.addWidget(self.copy_url_button)
url_buttons_layout.addWidget(self.show_url_qr_code_button)
- url_buttons_layout.addWidget(self.copy_hidservauth_button)
url_buttons_layout.addStretch()
url_layout = QtWidgets.QVBoxLayout()
url_layout.addWidget(self.url_description)
+ url_layout.addWidget(self.url_instructions)
url_layout.addWidget(self.url)
url_layout.addLayout(url_buttons_layout)
- # Add the widgets
+ # Private key instructions layout
+ client_auth_buttons_layout = QtWidgets.QHBoxLayout()
+ client_auth_buttons_layout.addWidget(self.copy_client_auth_button)
+ client_auth_buttons_layout.addWidget(self.show_client_auth_qr_code_button)
+ client_auth_buttons_layout.addWidget(self.client_auth_toggle_button)
+ client_auth_buttons_layout.addStretch()
+
+ client_auth_layout = QtWidgets.QVBoxLayout()
+ client_auth_layout.addWidget(self.client_auth_instructions)
+ client_auth_layout.addWidget(self.private_key)
+ client_auth_layout.addLayout(client_auth_buttons_layout)
+
+ # Add the widgets and URL/ClientAuth layouts
+ # to the main ServerStatus layout
button_layout = QtWidgets.QHBoxLayout()
button_layout.addWidget(self.server_button)
button_layout.addStretch()
@@ -132,6 +194,7 @@ class ServerStatus(QtWidgets.QWidget):
layout = QtWidgets.QVBoxLayout()
layout.addLayout(button_layout)
layout.addLayout(url_layout)
+ layout.addLayout(client_auth_layout)
self.setLayout(layout)
def set_mode(self, share_mode, file_selection=None):
@@ -173,21 +236,41 @@ class ServerStatus(QtWidgets.QWidget):
info_image = GuiCommon.get_resource_path("images/info.png")
if self.mode == self.common.gui.MODE_SHARE:
- self.url_description.setText(
- strings._("gui_share_url_description").format(info_image)
- )
+ if self.settings.get("general", "public"):
+ self.url_description.setText(
+ strings._("gui_share_url_public_description").format(info_image)
+ )
+ else:
+ self.url_description.setText(
+ strings._("gui_share_url_description").format(info_image)
+ )
elif self.mode == self.common.gui.MODE_WEBSITE:
- self.url_description.setText(
- strings._("gui_website_url_description").format(info_image)
- )
+ if self.settings.get("general", "public"):
+ self.url_description.setText(
+ strings._("gui_website_url_public_description").format(info_image)
+ )
+ else:
+ self.url_description.setText(
+ strings._("gui_website_url_description").format(info_image)
+ )
elif self.mode == self.common.gui.MODE_RECEIVE:
- self.url_description.setText(
- strings._("gui_receive_url_description").format(info_image)
- )
+ if self.settings.get("general", "public"):
+ self.url_description.setText(
+ strings._("gui_receive_url_public_description").format(info_image)
+ )
+ else:
+ self.url_description.setText(
+ strings._("gui_receive_url_description").format(info_image)
+ )
elif self.mode == self.common.gui.MODE_CHAT:
- self.url_description.setText(
- strings._("gui_chat_url_description").format(info_image)
- )
+ if self.settings.get("general", "public"):
+ self.url_description.setText(
+ strings._("gui_chat_url_public_description").format(info_image)
+ )
+ else:
+ self.url_description.setText(
+ strings._("gui_chat_url_description").format(info_image)
+ )
# Show a Tool Tip explaining the lifecycle of this URL
if self.settings.get("persistent", "enabled"):
@@ -207,16 +290,35 @@ class ServerStatus(QtWidgets.QWidget):
else:
self.url_description.setToolTip(strings._("gui_url_label_stay_open"))
+ if self.settings.get("general", "public"):
+ self.url_instructions.setText(strings._("gui_url_instructions_public_mode"))
+ else:
+ self.url_instructions.setText(strings._("gui_url_instructions"))
+ self.url_instructions.show()
self.url.setText(self.get_url())
self.url.show()
self.copy_url_button.show()
-
self.show_url_qr_code_button.show()
- if self.settings.get("general", "client_auth"):
- self.copy_hidservauth_button.show()
+ if self.settings.get("general", "public"):
+ self.client_auth_instructions.hide()
+ self.private_key.hide()
+ self.copy_client_auth_button.hide()
+ self.show_client_auth_qr_code_button.hide()
else:
- self.copy_hidservauth_button.hide()
+ self.client_auth_instructions.show()
+ if self.private_key_hidden:
+ self.private_key.setText("*" * len(self.app.auth_string))
+ self.private_key.setTextInteractionFlags(Qt.NoTextInteraction)
+ else:
+ self.private_key.setText(self.app.auth_string)
+ self.private_key.setTextInteractionFlags(
+ Qt.TextSelectableByMouse | Qt.TextSelectableByKeyboard
+ )
+ self.private_key.show()
+ self.copy_client_auth_button.show()
+ self.show_client_auth_qr_code_button.show()
+ self.client_auth_toggle_button.show()
def update(self):
"""
@@ -230,10 +332,6 @@ class ServerStatus(QtWidgets.QWidget):
self.common.settings.load()
self.show_url()
- if not self.settings.get("onion", "password"):
- self.settings.set("onion", "password", self.web.password)
- self.settings.save()
-
if self.settings.get("general", "autostop_timer"):
self.server_button.setToolTip(
strings._("gui_stop_server_autostop_timer_tooltip").format(
@@ -244,10 +342,15 @@ class ServerStatus(QtWidgets.QWidget):
)
else:
self.url_description.hide()
+ self.url_instructions.hide()
self.url.hide()
self.copy_url_button.hide()
- self.copy_hidservauth_button.hide()
self.show_url_qr_code_button.hide()
+ self.private_key.hide()
+ self.client_auth_instructions.hide()
+ self.copy_client_auth_button.hide()
+ self.show_client_auth_qr_code_button.hide()
+ self.client_auth_toggle_button.hide()
self.mode_settings_widget.update_ui()
@@ -395,7 +498,32 @@ class ServerStatus(QtWidgets.QWidget):
"""
Show a QR code of the onion URL.
"""
- self.qr_code_dialog = QRCodeDialog(self.common, self.get_url())
+ self.qr_code_dialog = QRCodeDialog(
+ self.common, strings._("gui_qr_label_url_title"), self.get_url()
+ )
+
+ def show_client_auth_qr_code_button_clicked(self):
+ """
+ Show a QR code of the private key
+ """
+ self.qr_code_dialog = QRCodeDialog(
+ self.common,
+ strings._("gui_qr_label_auth_string_title"),
+ self.app.auth_string,
+ )
+
+ def client_auth_toggle_button_clicked(self):
+ """
+ ClientAuth reveal/hide toggle button clicked
+ """
+ if self.private_key_hidden:
+ self.private_key_hidden = False
+ self.client_auth_toggle_button.setText(strings._("gui_hide"))
+ else:
+ self.private_key_hidden = True
+ self.client_auth_toggle_button.setText(strings._("gui_reveal"))
+
+ self.show_url()
def start_server(self):
"""
@@ -453,21 +581,18 @@ class ServerStatus(QtWidgets.QWidget):
self.url_copied.emit()
- def copy_hidservauth(self):
+ def copy_client_auth(self):
"""
- Copy the HidServAuth line to the clipboard.
+ Copy the ClientAuth private key line to the clipboard.
"""
clipboard = self.qtapp.clipboard()
clipboard.setText(self.app.auth_string)
- self.hidservauth_copied.emit()
+ self.client_auth_copied.emit()
def get_url(self):
"""
Returns the OnionShare URL.
"""
- if self.settings.get("general", "public"):
- url = f"http://{self.app.onion_host}"
- else:
- url = f"http://onionshare:{self.web.password}@{self.app.onion_host}"
+ url = f"http://{self.app.onion_host}"
return url
diff --git a/desktop/src/onionshare/tab/tab.py b/desktop/src/onionshare/tab/tab.py
index 09982de9..5d9bb077 100644
--- a/desktop/src/onionshare/tab/tab.py
+++ b/desktop/src/onionshare/tab/tab.py
@@ -275,7 +275,7 @@ class Tab(QtWidgets.QWidget):
self.share_mode.start_server_finished.connect(self.clear_message)
self.share_mode.server_status.button_clicked.connect(self.clear_message)
self.share_mode.server_status.url_copied.connect(self.copy_url)
- self.share_mode.server_status.hidservauth_copied.connect(self.copy_hidservauth)
+ self.share_mode.server_status.client_auth_copied.connect(self.copy_client_auth)
self.change_title.emit(self.tab_id, strings._("gui_tab_name_share"))
@@ -310,8 +310,8 @@ class Tab(QtWidgets.QWidget):
self.receive_mode.start_server_finished.connect(self.clear_message)
self.receive_mode.server_status.button_clicked.connect(self.clear_message)
self.receive_mode.server_status.url_copied.connect(self.copy_url)
- self.receive_mode.server_status.hidservauth_copied.connect(
- self.copy_hidservauth
+ self.receive_mode.server_status.client_auth_copied.connect(
+ self.copy_client_auth
)
self.change_title.emit(self.tab_id, strings._("gui_tab_name_receive"))
@@ -347,8 +347,8 @@ class Tab(QtWidgets.QWidget):
self.website_mode.start_server_finished.connect(self.clear_message)
self.website_mode.server_status.button_clicked.connect(self.clear_message)
self.website_mode.server_status.url_copied.connect(self.copy_url)
- self.website_mode.server_status.hidservauth_copied.connect(
- self.copy_hidservauth
+ self.website_mode.server_status.client_auth_copied.connect(
+ self.copy_client_auth
)
self.change_title.emit(self.tab_id, strings._("gui_tab_name_website"))
@@ -382,7 +382,7 @@ class Tab(QtWidgets.QWidget):
self.chat_mode.start_server_finished.connect(self.clear_message)
self.chat_mode.server_status.button_clicked.connect(self.clear_message)
self.chat_mode.server_status.url_copied.connect(self.copy_url)
- self.chat_mode.server_status.hidservauth_copied.connect(self.copy_hidservauth)
+ self.chat_mode.server_status.client_auth_copied.connect(self.copy_client_auth)
self.change_title.emit(self.tab_id, strings._("gui_tab_name_chat"))
@@ -531,9 +531,6 @@ class Tab(QtWidgets.QWidget):
elif event["type"] == Web.REQUEST_STARTED:
mode.handle_request_started(event)
- elif event["type"] == Web.REQUEST_RATE_LIMIT:
- mode.handle_request_rate_limit(event)
-
elif event["type"] == Web.REQUEST_PROGRESS:
mode.handle_request_progress(event)
@@ -581,11 +578,6 @@ class Tab(QtWidgets.QWidget):
f"{strings._('other_page_loaded')}: {event['path']}"
)
- if event["type"] == Web.REQUEST_INVALID_PASSWORD:
- self.status_bar.showMessage(
- f"[#{mode.web.invalid_passwords_count}] {strings._('incorrect_password')}: {event['data']}"
- )
-
mode.timer_callback()
def copy_url(self):
@@ -597,14 +589,15 @@ class Tab(QtWidgets.QWidget):
strings._("gui_copied_url_title"), strings._("gui_copied_url")
)
- def copy_hidservauth(self):
+ def copy_client_auth(self):
"""
- When the stealth onion service HidServAuth gets copied to the clipboard, display this in the status bar.
+ When the onion service's ClientAuth private key gets copied to
+ the clipboard, display this in the status bar.
"""
- self.common.log("Tab", "copy_hidservauth")
+ self.common.log("Tab", "copy_client_auth")
self.system_tray.showMessage(
- strings._("gui_copied_hidservauth_title"),
- strings._("gui_copied_hidservauth"),
+ strings._("gui_copied_client_auth_title"),
+ strings._("gui_copied_client_auth"),
)
def clear_message(self):