fix(captcha): call done() after widget reset on reload for recaptcha_… - #1683
Closed
josh-cain wants to merge 1 commit into
Closed
fix(captcha): call done() after widget reset on reload for recaptcha_…#1683josh-cain wants to merge 1 commit into
josh-cain wants to merge 1 commit into
Conversation
josh-cain
force-pushed
the
fix/recaptcha-v2-reload-done-callback
branch
from
July 27, 2026 21:14
c2865fd to
e2d718b
Compare
…tcha When handleCaptchaProvider takes the early-return paths (widgetId already set, or auth0FCInstance already exists), it resets the widget and returns without calling done(). The ULP form submit handler is gated on done() being invoked, so after a failed first attempt the captcha widget is re-rendered but the form stays permanently blocked — the user solves the captcha but nothing happens. Call done() before returning in the widgetId and friendly_captcha reset branches. Arkose is intentionally excluded: its done() is fired asynchronously from the onReady callback after arkose.run(), not synchronously on reset. Fixes: ESD-64095, ESD-64472 Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
josh-cain
force-pushed
the
fix/recaptcha-v2-reload-done-callback
branch
from
July 27, 2026 21:18
e2d718b to
e47a4e8
Compare
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.
When handleCaptchaProvider takes the early-return paths (widgetId already set, or auth0FCInstance already exists), it resets the widget and returns without calling done(). The ULP form submit handler is gated on done() being invoked, so after a failed first attempt the captcha widget is re-rendered but the form stays permanently blocked — the user solves the captcha but nothing happens.
Call done() before returning in the widgetId and friendly_captcha reset branches. Arkose is intentionally excluded: its done() is fired asynchronously from the onReady callback after arkose.run(), not synchronously on reset.
Changes
(See diff, ask Claude if you're unsure how to read it)
References
Please include relevant links supporting this change such as a:
Testing
Please describe how this can be tested by reviewers. Be specific about anything not tested and reasons why. If this library has unit and/or integration testing, tests should be added for new functionality and existing tests should complete without errors.
Checklist