Stefan AgnerandClaude Fable 5.1 24abbd2eba Consume the exception of a finished detached job task (#7217)
* Consume the exception of a finished detached job task

With detach, errors raised by the job body surface on the returned task
rather than to the caller. A caller that starts a detached job without
awaiting the task, such as a scheduled reload starting the Supervisor
auto update, would then leave an unretrieved exception that asyncio
reports with a full traceback when the task is garbage collected. The
wrapper has already captured the error on the job and logged it, so
that report only adds noise.

Retrieve the exception in the done callback the decorator already
registers on every detached task. This only marks it as retrieved:
callers that await the task still receive the exception.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>

* Log a consumed detached job failure

A HassioError is only logged when it is raised with a logger, so
consuming the exception of an unawaited detached task could leave a
failure without any trace once the job record is cleaned up. Log one
warning line naming the job. A JobException is skipped because the
wrapper already logged it with its traceback.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>

---------

Co-authored-by: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-14 15:30:17 +02:00
2021-03-16 15:47:40 +01:00
2025-10-08 10:44:49 +02:00
…
2024-09-30 18:42:08 +02:00

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:

  1. Pull requests are merged to the main branch.
  2. A new build is pushed to the dev stage.
  3. Releases are published.
  4. A new build is pushed to the beta stage.
  5. The stable.json file is updated.
  6. The build that was pushed to beta will now be pushed to stable.

Home Assistant - A project from the Open Home Foundation

Languages
Python 96.3%
JavaScript 3.6%