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:
1 parent
bcb8b962e7
commit
086c089cc1
5 files changed
+60
-18
No files matched your search
@@ -323,10 +323,12 @@ class NvidiaShieldConfigFlow(config_entries.ConfigFlow, domain=DOMAIN):
|
||||
# host — safe to follow the device address on discovery
|
||||
options[CONF_ADB_HOST] = host
|
||||
if options != entry.options:
|
||||
# t29 G3a: the deprecated update+schedule-reload combo is
|
||||
# gone (2026.12 error) — the entry updates ONLY here; the
|
||||
# manager reads the host options live on the next cycle.
|
||||
self.hass.config_entries.async_update_entry(
|
||||
entry, options=options
|
||||
)
|
||||
self.hass.config_entries.async_schedule_reload(entry.entry_id)
|
||||
return self.async_abort(reason="already_configured")
|
||||
self._abort_if_unique_id_configured()
|
||||
|
||||
@@ -457,17 +459,21 @@ class NvidiaShieldConfigFlow(config_entries.ConfigFlow, domain=DOMAIN):
|
||||
)
|
||||
|
||||
def _finish_reauth(self):
|
||||
"""Reauth pairing done: update options, schedule the reload, abort."""
|
||||
entry = self._reauth_entry
|
||||
self.hass.config_entries.async_update_entry(
|
||||
"""Reauth pairing done: update + reload + abort via the current API (G3a).
|
||||
|
||||
The deprecated update-entry + schedule-reload boomerang listener is
|
||||
gone (2026.12 treats it as an error); the current config-entries
|
||||
contract is async_update_reload_and_abort with _get_reauth_entry.
|
||||
"""
|
||||
entry = self._reauth_entry or self._get_reauth_entry()
|
||||
self.async_update_reload_and_abort(
|
||||
entry,
|
||||
options={
|
||||
options_updates={
|
||||
**entry.options,
|
||||
CONF_PROTOCOL_ENABLED: True,
|
||||
CONF_PROTOCOL_HOST: self._user_data.get(CONF_PROTOCOL_HOST, ""),
|
||||
},
|
||||
)
|
||||
self.hass.config_entries.async_schedule_reload(entry.entry_id)
|
||||
self._reauth_entry = None
|
||||
return self.async_abort(reason="reauth_successful")
|
||||
|
||||
|
||||
Reference in new issue
Block a user