fix: commit G3a wiring lost in the amend cycle — listener removal, update-only host path, reauth via the current API (stub surface includes async_update_reload_and_abort)

This commit is contained in:
James Mackay committed 2026-10-09 07:03:33 +01:00
1 parent bcb8b962e7
commit 086c089cc1
5 files changed
+60 -18

No files matched your search

+7 -4
View File
@@ -134,16 +134,19 @@ def install() -> None:
# which updates, schedules the reload and aborts; the stub records both.
def async_update_reload_and_abort(self, entry, **kwargs):
"""Real-HA semantics: update, schedule the reload, abort."""
updates = kwargs.get("options_updates") or kwargs.get("data_updates") or {}
for key, value in updates.items():
if key in ("options", "data", "unique_id"):
setattr(entry, key, value)
else:
getattr(entry, "options", {}).setdefault(key, value) # best effort
reload_scheduler = getattr(self.hass, "scheduled_reloads", None)
if reload_scheduler is not None:
reload_scheduler.append(entry.entry_id)
return {"type": "abort", "reason": "reauth_successful"}
scheduler = getattr(self.hass, "config_entries", None)
if scheduler is not None and hasattr(
scheduler, "async_schedule_reload"
):
scheduler.async_schedule_reload(entry.entry_id)
return self.async_abort(reason="reauth_successful")
def _config_flow_init(self, *args, **kwargs):
self.context = getattr(self, "context", {}) or {}