fix: make V02 authentication failures recoverable - #124
Conversation
2684936 to
d2b972f
Compare
|
@cdpuk please have a look ;) |
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
52934d2 to
e6222fc
Compare
|
Reworked this PR on fresh Addressed the review feedback:
The branch is now based on current upstream |
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
|
Final merge-readiness pass completed after the auth-only rewrite. Two additional lifecycle issues found during independent red-team review are now fixed:
Added regression coverage for both the no-reload behavior and active-WebSocket token propagation. Final validation:
Independent final review found no remaining high-confidence merge blockers. The prior owner feedback is fully addressed; ready for re-review. |
|
@cdpuk please have a look :) |
Problem
V02 authentication failures could leave the integration unavailable or serving stale cached state until a manual reload:
setup_errorwithout automatic retry.Observed incident:
AwsIotApi.authenticate()timed out after 10 seconds during Home Assistant startup, producingTimeoutErrorandError setting up entry Bestway Spa (V02 - EU)with no retry.Changes
AwsIotConnectionErrorand map them toConfigEntryNotReady.AwsIotAuthException/ConfigEntryAuthFailed.UpdateFailedwhen no device refreshes, preventing stale state from remaining available.visitor_id.Scope
This update intentionally removes the unrelated command-convergence experiment previously present on this PR branch. That work had unresolved false-positive behavior for rapid commands and should be handled separately.
Validation
Based on current upstream
main(570c817).