mirror of
https://github.com/home-assistant/supervisor.git
synced 2026-05-19 06:08:51 +01:00
ff2cdbfc366c322712c98cdb46c072fd6770baba
* Log unexpected errors in api_process wrappers The `api_process` and `api_process_raw` decorators silently swallowed any `HassioError` that bubbled up from endpoint handlers, returning `"Unknown error, see Supervisor logs"` to the caller while logging nothing. This made the response message actively misleading: e.g. when an endpoint touching D-Bus hit `DBusNotConnectedError` (raised without a message by `@dbus_connected`), Core would surface `SupervisorBadRequestError: Unknown error, see Supervisor logs` and the Supervisor logs would contain no trace of it. Log the caught `HassioError` with traceback before delegating to `api_return_error` so the "see Supervisor logs" hint is actually actionable. The `APIError` branch is left alone — those carry explicit status codes and messages set by Supervisor code and are already visible in the response. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * Capture unexpected API errors to Sentry Non-APIError HassioError exceptions reaching api_process indicate missing error handling in the endpoint handler. In addition to the logging added in the previous commit, also send these to Sentry so they surface as actionable issues rather than silently returning "Unknown error, see Supervisor logs" to the caller. * Drop capture exception from set_boot_slot --------- Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Home Assistant Supervisor
First private cloud solution for home automation
Home Assistant (former Hass.io) is a container-based system for managing your Home Assistant Core installation and related applications. The system is controlled via Home Assistant which communicates with the Supervisor. The Supervisor provides an API to manage the installation. This includes changing network settings or installing and updating software.
Installation
Installation instructions can be found at https://home-assistant.io/getting-started.
Development
For small changes and bugfixes you can just follow this, but for significant changes open a RFC first. Development instructions can be found here.
Release
Releases are done in 3 stages (channels) with this structure:
- Pull requests are merged to the
mainbranch. - A new build is pushed to the
devstage. - Releases are published.
- A new build is pushed to the
betastage. - The
stable.jsonfile is updated. - The build that was pushed to
betawill now be pushed tostable.
Description
Languages
Python
95.6%
JavaScript
4.3%
