Change addons to apps in all user-facing strings#6696
Conversation
| @@ -357,7 +357,7 @@ class AddonConfigurationInvalidError(AddonConfigurationError, APIError): | |||
| """Raise if invalid configuration provided for addon.""" | |||
|
|
|||
| error_key = "addon_configuration_invalid_error" | |||
There was a problem hiding this comment.
@agners One thing we do need to decide soon is whether changes to error_key and field names in extra_fields constitute a breaking change.
If we take a strict stance then they do. These are intended to be translation key identifiers and changing them would break translations. But the reality is we haven't adopted them anywhere yet in our code and i highly doubt any apps have either since we didn't publish anything about the effort yet.
I'll leave it for a separate PR but what do you think here? Treat it like a breaking change or no?
There was a problem hiding this comment.
Pull request overview
This PR begins the “add-ons” → “apps” terminology transition in Home Assistant Supervisor by updating user-facing strings (logs, exceptions, API error text) while intentionally avoiding breaking changes to internal naming, API paths/fields, or Docker/container identifiers (per issue #6651).
Changes:
- Updated Supervisor user-facing log and exception messages to use “app/apps” terminology.
- Updated REST/API error strings (and related messages) to use “app/apps”.
- Updated test assertions to match the new user-facing strings.
Reviewed changes
Copilot reviewed 38 out of 38 changed files in this pull request and generated 7 comments.
Show a summary per file
| File | Description |
|---|---|
| tests/store/test_store_manager.py | Updates expected availability error strings to “App … not supported …”. |
| tests/store/test_custom_repository.py | Updates repository removal error expectation to “installed apps”. |
| tests/resolution/fixup/test_addon_execute_restart.py | Updates expected fixup log text to “restart app …”. |
| tests/resolution/fixup/test_addon_execute_rebuild.py | Updates expected rebuild fixup log text to “app …”. |
| tests/resolution/check/test_check_docker_config.py | Updates assertion messages referring to add-ons to “App …”. |
| tests/backups/test_manager.py | Updates expected backup-skip log text to “app …”. |
| tests/backups/test_backup.py | Updates test error message content to “Fake app backup error”. |
| tests/api/test_store.py | Updates API/store-related expected strings to “App …” / “app repository …”. |
| tests/api/test_discovery.py | Updates discovery API error/log expectations to “Apps …” / “maintainer of the app”. |
| tests/api/test_backups.py | Updates pre/post backup command error text to “app …” and “app developer”. |
| tests/api/test_addons.py | Updates add-on API error strings to “App …” and related messages. |
| tests/addons/test_manager.py | Updates expected “Found … installed apps” log line. |
| tests/addons/test_config.py | Updates expected config warning strings to “App config …”. |
| tests/addons/test_addon.py | Updates expected startup/build error log strings to “app …”. |
| supervisor/store/git.py | Updates store git repository log strings to “app … repository”. |
| supervisor/store/init.py | Updates store manager strings: “valid app repository”, “installed apps”, “Loading apps from store …”. |
| supervisor/resolution/fixups/addon_execute_start.py | Updates fixup log/error strings to “start app …”. |
| supervisor/resolution/fixups/addon_execute_restart.py | Updates fixup log strings to “restart app …”. |
| supervisor/resolution/fixups/addon_execute_repair.py | Updates fixup log strings to “repair app …” / “Installing image for app …”. |
| supervisor/resolution/fixups/addon_execute_remove.py | Updates fixup log strings to “App … removed” / “Remove app …”. |
| supervisor/resolution/fixups/addon_execute_rebuild.py | Updates fixup log strings to “rebuild app …” and container-state messages. |
| supervisor/resolution/fixups/addon_disable_boot.py | Updates fixup log strings to “Cannot change app …”. |
| supervisor/misc/tasks.py | Updates auto-update task log strings to “app …”. |
| supervisor/exceptions.py | Updates message templates for addon-related API errors to use “App …” / “app repository …”. |
| supervisor/docker/addon.py | Updates device-access and startup log strings to “App …” / “Docker app …”. |
| supervisor/bootstrap.py | Updates bootstrap folder creation logs to “Supervisor app … folder …”. |
| supervisor/backups/validate.py | Updates validation error text to “Invalid app list in backup!”. |
| supervisor/backups/manager.py | Updates backup manager warning to “App … not found/installed”. |
| supervisor/backups/backup.py | Updates backup/restore/uninstall log strings to “app …”. |
| supervisor/api/store.py | Updates API error/response text for install/update/icon/logo/changelog/docs to “App …”. |
| supervisor/api/proxy.py | Updates websocket proxy debug labeling from “add-on” to “app”. |
| supervisor/api/discovery.py | Updates discovery logging and forbidden message text to “App …” / “Apps must …”. |
| supervisor/api/addons.py | Updates addon API error/forbidden text to “App …” and related strings. |
| supervisor/addons/validate.py | Updates config validation errors/warnings to use “App …” terminology. |
| supervisor/addons/utils.py | Updates data removal error log to “Can’t remove App Data …”. |
| supervisor/addons/manager.py | Updates manager logs/errors to “apps” terminology across lifecycle actions. |
| supervisor/addons/build.py | Updates unsupported-arch error text to “App … is not supported …”. |
| supervisor/addons/addon.py | Updates add-on class logs/errors to “app …” across lifecycle, backup, restore, watchdog, etc. |
|
I let the AI take the full first pass and figured we'd check and adjust wording as necessary in here. I did do a review first though and overall I think it did a pretty good job with it. EDIT: OK clearly copilot has issues with it. But I think its mostly yelling about our existing grammatical errors rather then new ones we've created with the find and replace. Win-win 😆 |
sairon
left a comment
There was a problem hiding this comment.
There's CI failure resulting of one error string changed. Also, we inconsistently use capitalized "App", let's stick to lowercase everywhere - I hope I caught all occurrences.
Also, I'm all-in for adjusting the ungrammatical sentences - I encounter them every now and then in logs but always give up to fix them one by one. This is a good opportunity to fix many of those in bulk.
|
Please take a look at the requested changes, and use the Ready for review button when you are done, thanks 👍 |
Co-authored-by: Jan Čermák <[email protected]>
Proposed change
We're renaming addons to apps across the Home Assistant ecosystem. This PR gets the ball rolling for Supervisor by attempting to do the rename in all user-facing strings. Since Supervisor does not have a UI this really just means exception messages and log messages.
It does not encompass all possible non-breaking changes (ex. internal function and variable changes). And definitely not any breaking changes such as API path changes, API field changes, docker name changes, configuration file change, etc.
Type of change
Additional information
Checklist
ruff format supervisor tests)If API endpoints or add-on configuration are added/changed: