From bfe1bd663250cdabed26aa1c58512281645dfc2e Mon Sep 17 00:00:00 2001 From: Ajeem Khan K Date: Sun, 29 Mar 2026 20:40:19 +0530 Subject: [PATCH] Handle polkit timeout during udev setup --- common/config.py | 11 ++++++++++- common/tools.py | 3 +++ 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/common/config.py b/common/config.py index e902f512f..d90babbd9 100644 --- a/common/config.py +++ b/common/config.py @@ -50,7 +50,7 @@ import pluginmanager import schedule from storagesize import StorageSize, SizeUnit -from exceptions import PermissionDeniedByPolicy +from exceptions import PermissionDeniedByPolicy, Timeout class Config(configfile.ConfigFileWithProfiles): @@ -1534,6 +1534,15 @@ def _setup_event_based_automation(self): self.notifyError(str(err)) return False + except Timeout: + msg = _( + 'Timed out while waiting for the authentication dialog. ' + 'Please try again.' + ) + logger.error(msg, self) + self.notifyError(msg) + return False + def _setup_schedule_based_automation(self): """Update the current users crontab file based on profile settings. diff --git a/common/tools.py b/common/tools.py index 9aa5d5f81..89533124d 100644 --- a/common/tools.py +++ b/common/tools.py @@ -2240,6 +2240,9 @@ def save(self): == 'com.ubuntu.DeviceDriver.PermissionDeniedByPolicy'): raise PermissionDeniedByPolicy(str(err)) from err + if err._dbus_error_name == 'org.freedesktop.DBus.Error.NoReply': + raise Timeout() from err + raise err def clean(self):