diff --git a/onionshare/onion.py b/onionshare/onion.py index 2f4ddffd..b0499449 100644 --- a/onionshare/onion.py +++ b/onionshare/onion.py @@ -438,6 +438,10 @@ class Onion(object): return the onion hostname. """ self.common.log('Onion', 'start_onion_service') + # Settings may have changed in the frontend but not updated in our settings object, + # such as persistence. Reload the settings now just to be sure. + self.settings.load() + self.auth_string = None if not self.supports_ephemeral: diff --git a/onionshare_gui/server_status.py b/onionshare_gui/server_status.py index 3a6e31cc..dbcc6ca8 100644 --- a/onionshare_gui/server_status.py +++ b/onionshare_gui/server_status.py @@ -240,6 +240,9 @@ class ServerStatus(QtWidgets.QWidget): """ # Set the URL fields if self.status == self.STATUS_STARTED: + # The backend Onion may have saved new settings, such as the private key. + # Reload the settings before saving new ones. + self.common.settings.load() self.show_url() if self.common.settings.get('save_private_key'):