diff --git a/gui/app.py b/gui/app.py index e43d3fe..09d0c9a 100644 --- a/gui/app.py +++ b/gui/app.py @@ -347,8 +347,7 @@ class App(ctk.CTk): if event_type == "auto_apply": # Full-auto mode: apply immediately - if self.updater.apply_update(path): - self.destroy() + self._apply_update(path) return # Show banner @@ -399,9 +398,19 @@ class App(ctk.CTk): ) def _apply_update(self, path: str): - """Apply downloaded update.""" + """Apply downloaded update — cleanup, launch updater script, force exit.""" + import os, sys if self.updater.apply_update(path): - self.destroy() + # Full cleanup before exit + try: + self.session_pool.disconnect_all() + self.checker.stop() + self.updater.stop() + self.destroy() + except Exception: + pass + # Force terminate — daemon threads keep process alive otherwise + os._exit(0) def _skip_update(self, version: str): """Skip this version.""" diff --git a/releases/ServerManager-v1.8.81-win-x64.exe b/releases/ServerManager-v1.8.81-win-x64.exe new file mode 100644 index 0000000..05570de Binary files /dev/null and b/releases/ServerManager-v1.8.81-win-x64.exe differ diff --git a/version.py b/version.py index 65cfb57..a82dd6f 100755 --- a/version.py +++ b/version.py @@ -1,6 +1,6 @@ """Version info for ServerManager.""" -__version__ = "1.8.80" +__version__ = "1.8.81" __app_name__ = "ServerManager" __author__ = "aibot777" __description__ = "Desktop GUI for managing remote servers"