From f5fae769c41b98cf83b7992be4eea36150f3095c Mon Sep 17 00:00:00 2001 From: Stefan Agner Date: Thu, 3 Sep 2026 19:53:58 +0200 Subject: [PATCH] Warn that removing an app deletes its data in repair flows (#181009) --- homeassistant/components/hassio/const.py | 10 ++++++---- homeassistant/components/hassio/strings.json | 6 +++--- tests/components/hassio/test_repairs.py | 3 +++ 3 files changed, 12 insertions(+), 7 deletions(-) diff --git a/homeassistant/components/hassio/const.py b/homeassistant/components/hassio/const.py index c2526117bde3..d05a16fa2a79 100644 --- a/homeassistant/components/hassio/const.py +++ b/homeassistant/components/hassio/const.py @@ -196,16 +196,18 @@ SUPERVISOR_CONTAINER = "hassio_supervisor" CONTAINER_STATS = "stats" REQUEST_REFRESH_DELAY = 10 -HELP_URLS = { +# Issues offering to uninstall an app, which deletes the app data as well +APP_REMOVE_URLS = { "help_url": "https://www.home-assistant.io/help/", "community_url": "https://community.home-assistant.io/", + "backup_url": "/config/backup", } EXTRA_PLACEHOLDERS = { "issue_mount_mount_failed": { "storage_url": "/config/storage", }, - ISSUE_KEY_ADDON_DETACHED_ADDON_REMOVED: HELP_URLS, + ISSUE_KEY_ADDON_DETACHED_ADDON_REMOVED: APP_REMOVE_URLS, ISSUE_KEY_SYSTEM_FREE_SPACE: { "more_info_free_space": "https://www.home-assistant.io/more-info/free-space", "storage_url": "/config/storage", @@ -213,8 +215,8 @@ EXTRA_PLACEHOLDERS = { ISSUE_KEY_ADDON_PWNED: { "more_info_pwned": "https://www.home-assistant.io/more-info/pwned-passwords", }, - ISSUE_KEY_ADDON_DEPRECATED: HELP_URLS, - ISSUE_KEY_ADDON_DEPRECATED_ARCH: HELP_URLS, + ISSUE_KEY_ADDON_DEPRECATED: APP_REMOVE_URLS, + ISSUE_KEY_ADDON_DEPRECATED_ARCH: APP_REMOVE_URLS, } diff --git a/homeassistant/components/hassio/strings.json b/homeassistant/components/hassio/strings.json index 603aa9411b29..3b7f762c0638 100644 --- a/homeassistant/components/hassio/strings.json +++ b/homeassistant/components/hassio/strings.json @@ -105,7 +105,7 @@ }, "step": { "addon_execute_remove": { - "description": "App {addon} is marked deprecated by the developer. This means it is no longer being maintained and so may break or become a security issue over time.\n\nReview the [readme]({addon_info}) and [documentation]({addon_documentation}) of the app to see if the developer provided instructions.\n\nSelecting **Submit** will uninstall this deprecated app. Alternatively, you can check [Home Assistant help]({help_url}) and the [community forum]({community_url}) for alternatives to migrate to." + "description": "App {addon} is marked deprecated by the developer. This means it is no longer being maintained and so may break or become a security issue over time.\n\nReview the [readme]({addon_info}) and [documentation]({addon_documentation}) of the app to see if the developer provided instructions.\n\nSelecting **Submit** will uninstall this deprecated app and permanently delete everything in its private data folder, including any databases, credentials and other internal state it kept there. Create a [backup]({backup_url}) first if you might need that data later.\n\nAlternatively, you can check [Home Assistant help]({help_url}) and the [community forum]({community_url}) for alternatives to migrate to." } } }, @@ -118,7 +118,7 @@ }, "step": { "addon_execute_remove": { - "description": "App {addon} only supports architectures and/or machines which are no longer supported by Home Assistant. It will stop working in a future release.\n\nSelecting **Submit** will uninstall this deprecated app. Alternatively, you can check [Home Assistant help]({help_url}) and the [community forum]({community_url}) for alternatives to migrate to." + "description": "App {addon} only supports architectures and/or machines which are no longer supported by Home Assistant. It will stop working in a future release.\n\nSelecting **Submit** will uninstall this deprecated app and permanently delete everything in its private data folder, including any databases, credentials and other internal state it kept there. Create a [backup]({backup_url}) first if you might need that data later.\n\nAlternatively, you can check [Home Assistant help]({help_url}) and the [community forum]({community_url}) for alternatives to migrate to." } } }, @@ -135,7 +135,7 @@ }, "step": { "addon_execute_remove": { - "description": "App {addon} has been removed from the repository it was installed from. This means it will not get updates, and backups may not be restored correctly as the Home Assistant Supervisor may not be able to build/download the resources required.\n\nSelecting **Submit** will uninstall this deprecated app. Alternatively, you can check [Home Assistant help]({help_url}) and the [community forum]({community_url}) for alternatives to migrate to." + "description": "App {addon} has been removed from the repository it was installed from. This means it will not get updates, and backups may not be restored correctly as the Home Assistant Supervisor may not be able to build/download the resources required.\n\nSelecting **Submit** will uninstall the app and permanently delete everything in its private data folder, including any databases, credentials and other internal state it kept there. Create a [backup]({backup_url}) first if you might need that data later.\n\nAlternatively, you can check [Home Assistant help]({help_url}) and the [community forum]({community_url}) for alternatives to migrate to." } } }, diff --git a/tests/components/hassio/test_repairs.py b/tests/components/hassio/test_repairs.py index 3ff2880637ec..30b44b573867 100644 --- a/tests/components/hassio/test_repairs.py +++ b/tests/components/hassio/test_repairs.py @@ -1579,6 +1579,7 @@ async def test_supervisor_issue_detached_addon_removed( "addon": "test", "help_url": "https://www.home-assistant.io/help/", "community_url": "https://community.home-assistant.io/", + "backup_url": "/config/backup", }, "last_step": True, "preview": None, @@ -1778,6 +1779,7 @@ async def test_supervisor_issue_deprecated_addon( "addon": "test", "help_url": "https://www.home-assistant.io/help/", "community_url": "https://community.home-assistant.io/", + "backup_url": "/config/backup", "addon_info": "homeassistant://hassio/addon/test/info", "addon_documentation": "homeassistant://hassio/addon/test/documentation", }, @@ -1869,6 +1871,7 @@ async def test_supervisor_issue_deprecated_arch_addon( "addon": "test", "help_url": "https://www.home-assistant.io/help/", "community_url": "https://community.home-assistant.io/", + "backup_url": "/config/backup", }, "last_step": True, "preview": None,