Skip to content

Hotfix/recaptcha-placement-error - #121

Merged
maxparkergene merged 4 commits into
developfrom
hotfix/recaptcha-placement-error
Jul 9, 2026
Merged

Hotfix/recaptcha-placement-error#121
maxparkergene merged 4 commits into
developfrom
hotfix/recaptcha-placement-error

Conversation

@dean-smart

Copy link
Copy Markdown
Contributor

Fix reCAPTCHA Placement Render Error

Summary

This fixes a reCAPTCHA placement issue on the payment step by making the v2 checkbox render target stable and preventing repeated renders into the same placement.

The previous template swapped between separate visible and invisible container elements. That could leave grecaptcha.render() targeting a stale or missing element when the placement visibility changed. The component now keeps a single container, toggles its class, waits for Vue to flush the DOM, and stores the rendered widget id so it only renders once.

Changes

  • Updated the payment page reCAPTCHA component to:
    • render a single stable container element;
    • use a ref instead of rendering by string id;
    • wait for nextTick() before calling grecaptcha.render();
    • verify the container is still attached to the DOM;
    • avoid duplicate v2 widget renders with recaptchaWidgetId.

@dean-smart
dean-smart requested a review from maxparkergene July 8, 2026 12:32
@maxparkergene
maxparkergene merged commit 250d7f2 into develop Jul 9, 2026
2 checks passed
@maxparkergene
maxparkergene deleted the hotfix/recaptcha-placement-error branch July 9, 2026 10:02
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants