diff --git a/plinth/modules/syncthing/__init__.py b/plinth/modules/syncthing/__init__.py index 4fb74dc95..4b1b4402b 100644 --- a/plinth/modules/syncthing/__init__.py +++ b/plinth/modules/syncthing/__init__.py @@ -143,3 +143,8 @@ class SyncthingApp(app_module.App): sharing.remove_share(name) sharing.add_share(name, share['path'], new_groups, share['is_public']) + + def uninstall(self): + """De-configure and uninstall the app.""" + super().uninstall() + privileged.uninstall() diff --git a/plinth/modules/syncthing/privileged.py b/plinth/modules/syncthing/privileged.py index efa8c40f7..e3b70cb65 100644 --- a/plinth/modules/syncthing/privileged.py +++ b/plinth/modules/syncthing/privileged.py @@ -3,6 +3,7 @@ import grp import os +import pathlib import pwd import shutil import subprocess @@ -80,3 +81,9 @@ def setup_config(): if conf_changed: action_utils.service_try_restart('syncthing@syncthing') + + +@privileged +def uninstall(): + """Remove configuration file when app is uninstalled.""" + shutil.rmtree(DATA_DIR + '/.config', ignore_errors=True)