From d38d3acd7dbf23c72af6e60b452eeb29a9347b07 Mon Sep 17 00:00:00 2001 From: Peter Szabados Date: Sat, 11 Jul 2026 09:37:47 +0200 Subject: [PATCH] Remove deleted app from memory --- appdaemon/app_management.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/appdaemon/app_management.py b/appdaemon/app_management.py index 729c1fad0..eb0768538 100644 --- a/appdaemon/app_management.py +++ b/appdaemon/app_management.py @@ -496,7 +496,7 @@ async def stop_app(self, app_name: str, *, delete: bool = False) -> bool: bool: Whether stopping was successful or not """ try: - if isinstance(self.app_config[app_name], AppConfig): + if isinstance(self.app_config.root.get(app_name), AppConfig): self.logger.debug("Stopping app '%s'", app_name) await self.terminate_app(app_name, delete=delete) except Exception: @@ -780,7 +780,7 @@ async def check_app_config_files(self, update_actions: UpdateActions): ) # fmt: skip update_actions.apps.term |= deleted_apps for name in deleted_apps: - # del self.app_config.root[name] + self.app_config.root.pop(name, None) self.logger.info("App config deleted: %s", name) self.app_config.root.update(freshly_read_cfg.root) @@ -1208,7 +1208,7 @@ async def _stop_apps(self, update_actions: UpdateActions): failed_to_stop = set() # stores apps that had a problem terminating for app_name in stop_order: - successfully_stopped = await self.stop_app(app_name) + successfully_stopped = await self.stop_app(app_name, delete=True) if successfully_stopped: self.logger.info("Stopped app '%s'", app_name) if app_name in indirect_stops: