[Majeur] Fuites de sessions ComwattClient (unload coordinator + validate_input config flow) #89

Open
opened 2026-08-26 05:32:42 +00:00 by mat · 0 comments
Owner

Problème

  1. __init__.py:77-89 : async_unload_entry arrête et ferme le client du stream (async_stop → stream.py:190), mais ne ferme jamais coordinator.client → fuite de session requests à chaque reload/déchargement. Idem en cas d'échec de setup.
  2. config_flow.py:29 : le client créé dans validate_input n'est jamais fermé → une fuite par tentative de formulaire (y compris erreurs de saisie).

Recommandation

  1. Fermer le client du coordinator au unload (et à l'échec de setup) via hass.async_add_executor_job(client.close).
  2. try/finally dans validate_input autour de l'authentification pour garantir client.close().

Constaté lors de la review de code pré-v1.0 (v0.8.1).

## Problème 1. `__init__.py:77-89` : `async_unload_entry` arrête et ferme le client du **stream** (`async_stop` → `stream.py:190`), mais ne ferme jamais `coordinator.client` → fuite de session `requests` à chaque reload/déchargement. Idem en cas d'échec de setup. 2. `config_flow.py:29` : le client créé dans `validate_input` n'est jamais fermé → une fuite par tentative de formulaire (y compris erreurs de saisie). ## Recommandation 1. Fermer le client du coordinator au unload (et à l'échec de setup) via `hass.async_add_executor_job(client.close)`. 2. `try/finally` dans `validate_input` autour de l'authentification pour garantir `client.close()`. --- Constaté lors de la review de code pré-v1.0 (v0.8.1).
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
mat/homeassistant-comwatt#89
No description provided.