Repository navigation
Improve auth failure handling - #306
Merged
Merged
Conversation
KaliCZ
marked this pull request as ready for review
October 16, 2026 15:00
KaliCZ
marked this pull request as draft
October 19, 2026 10:37
KaliCZ
marked this pull request as ready for review
October 19, 2026 10:43
KaliCZ
marked this pull request as draft
October 19, 2026 11:01
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Blocked CAPTCHA loading could leave the auth dialog waiting indefinitely, and unexpected errors could leave its controls disabled. The dialog now bounds CAPTCHA loading, restores controls after failures, and shows localized messages for network and service errors.
Supabase Auth HTTP requests abort after 30 seconds, including while reading the response body. Closing and reopening the dialog keeps submissions disabled until the outstanding request settles or aborts. This prevents overlapping sign-ins from replacing the newer session with an older response. Obsolete responses cannot close a reopened dialog or display stale errors. Failed submissions restore keyboard focus when the same dialog remains open and the user has not moved focus to another control.
CAPTCHA preloads when the dialog opens and executes on submission. Failed challenges stop before the auth request. Service outages do not count as incorrect credentials. Progress labels distinguish verification from sending the reset email. Unexpected exceptions retain their original details in Sentry; the shared reporting helper now includes the required SDK function.
Regression tests cover recovery failures, CAPTCHA failures, dialog reopening during successful and failed sign-ins, aborted requests for all 3 submission modes, keyboard focus recovery, and unexpected-error reporting. Setup documentation explains that Supabase Auth and backend notifications use separate SMTP settings.
Validation:
Scope: auth failure handling. Production reset-email delivery recovered independently before deployment of this PR. The earlier service timeouts and debugger-tab switch have no confirmed root cause; this PR does not claim to resolve them.