Closed (fixed)
Project:
reCAPTCHA
Version:
8.x-3.x-dev
Component:
reCAPTCHA V2
Priority:
Major
Category:
Bug report
Assigned:
Unassigned
Reporter:
Created:
21 May 2015 at 22:40 UTC
Updated:
28 Aug 2024 at 16:54 UTC
Jump to comment: Most recent, Most recent file
Comments
Comment #2
fearlsgroove commentedWith test updates
Comment #3
hass commentedDo not change the
g-recaptchaclass name or reCAPTCHA may break! CNW therefore. See https://developers.google.com/recaptcha/docs/displayComment #4
fearlsgroove commentedWell, that's the point. g-recaptcha class causes the recaptcha script to apply the recaptcha automagically, which would lead to having to discover it's state before resetting or reapplying via behaviors. If we change the class name and call render explicitly we can control it via behaviors and it's trivial to make it work consistently.
Comment #5
hass commentedComment #6
fearlsgroove commentedYou set it back to needs work without any further comment? As I said changing the class is necessary to fix the bug. What specifically do you think this change will break?
Comment #7
hass commentedI thought this class is a must. Why are you not implementing it the way Google proposed with a callback? We may also need to fix the captcha on multiple forms per page issue. Is the recaptcha now loading slower than in past?
Comment #8
fearlsgroove commentedIn my light testing it worked well, but theoretically it might try to run the behavior before the recaptcha dependencies have loaded, and since google recommends it that way ..
Here's a version that:
Comment #9
fearlsgroove commentedoops ..patch
Comment #10
bceyssensfearlsgroove, I tested your patch in #9 but it didn't work with ajax and sometimes the grecaptcha wasn't loaded at the time the behavior was called.
The things I changed:
This solution works well for us. I haven't checked the tests though.
Comment #12
bceyssensWhen you get an error on the form, the script will try to load the widget again. But it has no css-class when it is rendered through the drupalRecaptchaOnload callback function.
I also tried to fix the tests.
Comment #13
hass commentedInterdiffs are a cool thing :-)
Comment #15
hass commentedapi.js need to be added with async and defer to the page, too.
Comment #16
hass commentedComment #17
hass commentedComment #18
hass commented- "Drupal" seems missing
- document seems not required.
Indention incorrect
What is "settings" added for?
Not eslint safe. Requires "==="
Indention incorrect
Why is the class prefixed with Drupal? Do we have a name space collission or just prepare for any possibility?
- "Drupal" seems missing
- document seems not required.
Why is the file named "drupal-recaptcha" and not only "recaptcha"?
Comment #19
alemadleiThis is a patch I did while experiencing https://www.drupal.org/node/1463768 (reCAPTCHA in Modal Forms)
Works against 7.x-2.0. Should work with dev too, but didn't test.
Comment #20
hass commentedWe schould move forward with #12 only.
Comment #21
alemadleiDoes #12 work with ajax forms?
Comment #22
hass commentedPorted #12 to D8 and fixed the issues. However I have no idea how I can test this with Ajax under D8.
Comment #24
hass commentedBug in captcha module
Comment #25
mozh92 commented#12 work for me, Thanks!
Comment #27
hass commentedYou need to test the latest version.
Comment #28
rang501 commented#12 is not working correctly with aggregation with some cases. https://www.google.com/recaptcha/api.js needs to be specified as external. Made a small patch for it. This is for D7.
Comment #36
vlad.dancer@rang501, Thanks for patch it applies to latest 2.x, but
- should be applicable from the root of the module folder
- needs to rewrite according to the notes from here https://www.drupal.org/node/2493183#comment-10199293
Comment #37
rang501 commentedThe patch should be fine now.
Comment #38
rang501 commentedComment #46
vlad.dancerChange to 7.x-2.x-dev to test latest path. Will be back later to the original version.
Comment #49
vlad.dancerComment #50
hass commentedThe D8 version need to be done very first.
Comment #51
rang501 commentedThere was an error in tests, I think I was able to fix that.
Comment #59
hass commentedComment #60
grahor_targ commented#19 worked for me, for ctools modal window. Tested extensively.
Comment #61
rajab natshahTested #51 with with 2.2 and Drupal 7.52
Comment #62
rajab natshahComment #63
hass commentedPatch is broken and not against D8. Do not set broken patches rtbc, please.
Comment #64
Patsient commentedall patches didnt work for me in D 8.2.4. #22 seemed more responsible, but did not work with
<a class="use-ajax" href="/form/tatata">tatata</a>anyone have an idea how to fix this?
Please help )
Comment #65
rajab natshahNoted, Hass
Aha:
hass CreditAttribution: hass commented 12 months ago
Version: 7.x-2.x-dev » 8.x-2.x-dev
It was pass for Drupal 7
Tested #51 with with 2.2 and Drupal 7.52
But you moved it to 8.x-2.x-dev
Comment #66
nubeli commentedIs it possible to use this issue to fix 7.x-2.x and create a new issue for 8.x-2.x? Maybe you've got a good reason but it seems that the 7.x patch is ready, more or less, and the 8.x patch doesn't exist yet. Aren't they independent of each other?
Comment #67
hass commentedComment #68
akozma commentedUsing this patch the recaptcha scripts are attached as libraries. For me it's working now, with (modal forms) or without ajax.
Sorry for no interdiff, I had some issues while creating.
Comment #69
akozma commentedComment #71
jedihe commented#51 is working for me (D7), in a setup where the form is being served via Authcache p13n (Ajax client).
I'm attaching the updated patch with a minor update to 1 trivial failure in tests.
Comment #72
jedihe commentedSetting to 7.x-2.x temporarily in order to trigger full testing.
Comment #73
jedihe commentedAlright, D7 tests back to green. Didn't fully check if the current tests actually check for compatibility with AJAX, though.
Back to D8.
Comment #74
ilya.no commentedUpdated #68 patch for current 8.x-2.x-dev branch. Worked for me, as well. Thanks!
Comment #75
s_leu commentedCan confirm that the last patch work with the latest dev release (on a webform with ajax enabled).
Comment #76
ameymudras commentedThe last patch worked for me except for multilingual websites where the captcha would be displayed in a language the site would be first called. This would happen because recaptcha_library_info_build() function would call only once as a result all the other languages would be ignored. Ive created a patch to fix this
Comment #78
ameymudras commentedComment #79
makbuk commented#71 don't work for me.
I use reCAPTCHA 7.x-2.2 with Bootstrap Login Modal module release 7.x-3.2 for create modal registration form. Unfortunately the reCaptcha doesn't display on the registration form until you click registration button, after that the form will be closed and when you reopen it reCaptcha will be dispayed.
Comment #80
yago elias commentedWhy we are keeping closing the child as duplicated to this issue? That's not the correct flow i think. None of the issues are related to each others, and keep a issue to submit patches from 7.x and 8.x is not a good idea.
Comment #81
artusamak#76 is working like a charm when embedding a captcha field in an AJAX webform block.
Comment #82
mertindervish commentedI ported #76 patch for 8.x-2.2 release.
Comment #83
fhaupt commented#76 seems to work but I get the following JS error
Comment #84
gurunathan commented#71 working fine.
Comment #85
vitaliyb98 commentedUpdate patch from #76
Comment #86
vitaliyb98 commentedComment #89
janchojnacki commentedFor some reason patch #85 failed to apply
Comment #90
plov commentedAdapted this patch for 8.x-2.2 version
Comment #91
RumyanaRuseva commentedRolled patch for 2.3.
Comment #93
acbramley commentedThis also seems to fix an issue with Webform where submitting a form that failed validation on another field would cause the recaptcha element to disappear.
Comment #94
finnsky commented@acbramley on my side issue appears before #91 patch. but after patch it is gone. https://gyazo.com/a3dc3e7f1ef3dc0fdaf4598cc8434faf
Comment #95
simon.fryer commentedUnsure why, but the 71 patch no longer worked on 7.x
It was throwing a JS error about an undefined function, `render` to be specific.
Have amended the patch with the following;
if (typeof grecaptcha === 'undefined' || typeof grecaptcha.render !== "function") {New patch is attached.
Comment #96
jedihe commented@simon.fryer: tried applying your patch but it failed. It works if I re-save (no changes) so that it has a trailing newline at the end.
Comment #97
id.rem.dev commented#91 Works for me with 8.5.3, but a little note about JS file location. I think it would be better to put it into "js" dir.
Comment #98
gregseb commentedWe're using 7.x-2.x
Our context is a regular form loaded as part of the Document but uses an ajax enabled submit button. Like so
#95 applied for me with the addition of a trailing newline. However both #71 and #95 have the issue for me where on the initial page load, first the onload fires, and then the behavior's "attach" method was also firing resulting in harmless but ugly errors complaining that "reCaptcha has already been rendered in this element."
Proposing to simply check if the "recaptcha-processed" class already exists both in the attach method and the window.drupalRecaptchaOnload function.
Also moved recaptcha.js into a "js" directory as recommended by @Vladimirrem
Comment #99
rogerrogers commentedI have a custom form that uses AJAX. Specifically, if a checkbox is ticked the form loads additional form elements by AJAX.
Whenever the AJAX callback fires I get an error:
You will notice that both the example.com and google.com domains are https. I guess this being raised by Google's XSS, but not sure. It seems related to AJAX. Putting here in case someone has experienced this as well. I've applied the latest patch in this thread with no success.
To be clear, this is definitely an error caused by Recaptcha, as this form works fine without the Recaptcha enabled. It is a custom form, but it's a pretty straightforward form really - though it does use the addressfield module.
Comment #100
maestrojed commentedThe patch in #98 did not apply for me to Drupal 8.5.4. I manually applied. I continued to experience this issues. I found the new recaptcha.js was throwing a 'jQuery is not defined error". IMO this is because jQuery is not loaded by default in D8. In this AJAX response, jQuery is not available.
I don't mean to take this patch a different direction but the way I know to deal with this is to define the recaptcha.js script as a library with a dependency on jQuery. This is the direction my patch goes.
After I got the recaptcha.js running without error I had errors with the recaptcha.api files from Google. I fixed this by also loading this Google Recaptcha API as a library. Note: My method no longer loads language (en) specific versions of the Google Recaptcha API. I was not sure how to get the site's configured language variable into the library's YML. This probably should be addressed. I believe this patch will only load the english version.
These two libraries are then attached to the form instead of written in the html head.
I adjusted the test to look for these JS files in the manner in which they loaded, as an attached library.
The iFrame Fallback test was also failing for me, unrelated to this issue, but I wanted the test to pass. I traced the issue to the query string part of the iframe URL. I adjusted it to be less specific in the query string. That might be less than ideal as it likely breaks the test's ability to confirm localization. I could not figure out what part of the query string was breaking the test.
Hopeful this keeps the balling rolling.
Comment #101
gregseb commented#98 is for 7.x-2.x
I believe #91 was the last patch submitted for 8.x-2.x in fact your patch is very similar to it @maestrojed :)
---
Side rant...
Reading up I think I might share in a certain confusion... I believe this issue started out as a place to track this problem for Drupal 7, then Drupal 8 kind of showed up and started to share the space around #59
Now, I'm not really sure if this was the right place to submit a patch for 7.x-2.x though one is certainly still needed. It is also a little confusing/time-consuming to tell which patches are for which version unless it is explicitly stated in the comment.
Maybe not a huge deal, but confusing nonetheless.
Comment #102
maestrojed commentedThanks @greagseb I missed that. I have seen the D7 and D8 confusion in other issue threads and am not clear on how to keep things straight.
#91 is probably a better option then my #100. @RumyanaRuseva has taken proper care of the localization issues I hadn't solved.
Thanks all!
Comment #103
recrit commentedRe-roll of patch #91 that included localization support.
Changes made:
Comment #105
jofitzAn interdiff of the changes to recaptcha.js between #91 and #103 (as much for my benefit as anyone else's).
Comment #106
jofitzMinor change so that the tests will pass (does not affect functionality).
Fix a few coding standards errors.
Comment #108
jofitzMinor changes so that the tests will pass (does not affect functionality).
Fix a coding standards error.
Comment #109
jofitzReinstate the code that calls
drupalRecaptchaOnload, that was lost between #51 and #68.Comment #110
jofitzJust noticed that my last 2 patches included my BrowserTestBase file - that shouldn't have been there!
(see #2987201: Convert web tests to browser tests for more details)
Removed the irrelevant code.
Comment #111
james.williamsAJAX behaviours may actually remove recaptcha elements from the page, so this patch adds a check for whether they exist or not before resetting/rendering them. (The attach method can still get called on the cached form element, even if it has been removed by an ajax command!)
Oops, sorry the patch file still has '110' in the name.
Comment #113
james.williamsComment #114
hswong3i commented#110 reroll via latest recaptcha-8.x-2.x-dev
Comment #115
gooddenis commentedreroll via latest recaptcha-8.x-2.x-dev
Comment #116
gooddenis commentedComment #117
japicoder commentedHi,
Patch #116 worked for me.
However, on certain situations it might be confusing. If your Captcha settings for "Persistence" aren't set to "Always add a challenge." it happens that after a correct validation of the reCaptcha, if the form is submitted by AJAX, the reCaptcha is not displayed again, because the Captcha module believes -by the captcha session- that the validation was ok.
Comment #118
gg4 commentedAnything still blocking RTBC of this, besides additional manual testing?
Comment #119
james.williamsNothing that I can see, except for japicoder's comment 117. Perhaps that would be best addressed in a follow-up though, because 'persistence' could mean different things to different AJAX scenarios, I imagine? If someone agrees, then maybe this can be considered RTBC.
Getting this through would also unblock the confusion in #2852269: Integrate Invisible reCAPTCHA option from Google.
Comment #120
slasher13Tested with ajax enabled modal. Without this patch captcha wasn't visible.
After this patch captcha is visible and solvable.
Comment #121
hswong3i commentedSee #122
Comment #122
hswong3i commented#114 reroll via latest 8.x-2.x-dev, plus simplify changes to recaptcha.module.
Fix indent from #121.
Need test and review.
Comment #125
james.williams@hswong3i Those patches look like a lot more than a re-roll of #114/115. Please can we have an interdiff?
Given that this was already at RTBC, why were further patches necessary at all, let alone additional changes?
Comment #126
hswong3i commented@james.williams because the upstream logic changed, so the handling of `https://www.google.com/recaptcha/api/fallback` become difficult, see #2993365: Add an option to use reCAPTCHA globally (i.e. China)
Comment #127
hswong3i commented@james.williams I tried for a interdiff with #114 but due to upstream changes original patch can't apply, and so interdiff failed, too.
Notes since #114:
js/recaptcha.jsandrecaptcha.libraries.ymlsince #114recaptcha_library_info_build(), so just simply alterrecaptcha_captcha()for the new query parametersTest passed locally, need CI check.
Comment #128
james.williams@hswong3i thanks for the explanation. I've read the patch, and I think that's all OK. I haven't done any actual testing, but I'm certainly happier now :-)
However, there were mentions previously in this ticket (e.g. comment 100) that gave the rationale for loading the scripts via libraries, rather than directly-included javascript files. I do still think that would be better to do, unless that change in approach can be justified?
Comment #129
hswong3i commentedSyntax cleanup.
Comment #130
hswong3i commented@james.williams since I don't see @hass will accept this patch (nor the the nocaptcha patch, created since 14 Feb 2017) in a short, I would like to suggest keep this patch as similar and little change via upstream as possible. Else whenever we need to rebase the changes the workload will be similar as rewrite entirely...
I read the #100, or let's fix the language problem with other new issue, so let this patch apply as fast as possible?
Comment #131
james.williamsWhy not? The patch was still needing work/review until only recently, so of course it wouldn't have been accepted before then. But it did reach RTBC in the last fortnight - as far as I understand, the only reason it isn't still there was because of the changes you had to introduce to adapt for the additional upstream changes due to #2993365: Add an option to use reCAPTCHA globally (i.e. China). So let's get this back to RTBC, then maybe hass might be happy with it?
To get there, I believe we need review from someone other than us two, and/or confirmation from someone other than you that your patch works via manual testing. (Unfortunately I don't have time myself to do that confirmation with manual testing, sorry.)
Yes, I suppose any such language issue can be split out to be dealt with separately. But comment 100 also mentioned that implementing as a library helps with ensuring jquery is available, which it isn't guaranteed to be otherwise. Anyway, I guess that could also be dealt with separately, sure. As long as both of these do get solved one way or another, fine.
Comment #132
hswong3i commentedFrom #129:
The problem of #100 should no longer happen, because:
https://www.google.com/recaptcha/api.jsis load withasync defer, so it don't care if jQuery load in before nor after itrecaptcha/recaptchais now attached TOGETHER within the$captcha['form']['recaptcha_widget'], whererecaptcha/recaptchaALREADY define the dependency with jQuery, so once the widget displayed jQuery should already load inSimple and elegant ;-)
Comment #133
johnjw59 commentedreroll #115 for latest recaptcha-8.x-2.x-dev
Comment #135
hswong3i commented@johnjw59 #128 already solve the rebase with upstream issue, plus keeping most existing logic, minimal changeset with upstream, pass test cases with CI, and working well together with #2852269: Integrate Invisible reCAPTCHA option from Google.
Please kindly review #128?
Comment #136
hswong3i commentedSyntax cleanup for
$captcha['form']['#attached']['library'][] = 'recaptcha/recaptcha';, better sync with #2852269: Integrate Invisible reCAPTCHA option from Google style.Comment #137
hswong3i commentedComment #138
hswong3i commentedComment #139
hswong3i commentedComment #140
szeidlerThanks @hswong3i. Patch #136 seems to work fine for me with 8.x-2.x-dev and webform 8.x-5.0-rc21.
Comment #141
james.williamsI think we can put this back to RTBC then? Thanks @szeidler!
Comment #142
gg4 commentedLatest patch LGTM
Comment #143
marysmech commentedI just tested patch #136 on Drupal 8.6.2 with webform 8.x-5.0-rc23 and recaptcha 8.x-2.x-dev. It seems to fix all problems with webform ajax and recaptcha. Thank you!
Comment #144
jrobison commentedThis patch works for 8.x-2.3.0.
Comment #145
gg4 commentedPlease keep the version set to the latest dev applicable for the issue.
Comment #146
gg4 commented@hass Anything else you would like to see to move this forward?
Comment #147
jrobison commentedSorry about that @bonus. I didn't realize it changed the whole version.
Also, ignore my patch for 2.3.0 at #144. Had a bug I missed. This one should work for 2.3.0.
Comment #149
gg4 commentedBack to RTBC for #136.
Comment #150
lamp5Hmm maybe I did something wrong, but according to this doc, in drupal 8 webform module, is possible to show this form in dialog window (It works!), but recaptcha does not work, also after apply latest patch. Any idea??
Update:
I think that we should attach globally reCaptcha js if we want to use it with dialog window.
Comment #151
gg4 commented@lamp5 That sounds like an interesting discussion for a followup issue. @hass Would you mind looking at #136? It has several RTBCs at this point.
Comment #152
hswong3i commented@hass #136 still working fine with latest 8.x-2.x-dev, any else follow up required?
Comment #153
Mike Lewis commentedI backported #136 for Drupal 7. I was having some issues and this solved it.
Comment #155
gg4 commentedBack to RTBC for #136
Comment #156
hswong3i commentedPatch #136 reroll via 8.x-2.x-dev...
No interdiff (just diff) could be given due to following error message:
How annoying for a RTBC issue...
Comment #157
peetrovich commentedPatch #51 solved the issue for me.
Drupal 7.61
reCAPTCHA 7.x-2.2
Webform 7.x-4.17
Webform AJAX 7.x-1.1
Comment #158
maestro888 commentedPatch #156 solved the issue.
Drupal 8.6.5
recaptcha 8.x-2.x-dev
Comment #159
skylord commented#98 for Drupal 7.61 with last Webform and Recaptcha works OK, thanks.
Comment #160
hswong3i commentedSorry that I keep facing below error message (e.g. at
/user/login):Most likely #2893656-8: Getting a "CAPTCHA session reuse attack detected" error. related issue, and so backport changes as below:
Hopefully this fix the problem :-(
Comment #161
idebr commentedThere are a few issues with the latest 8.x-2.x patch in #160:
grecaptchalibrary is not available when loading reCaptcha through Ajax, causing an early returns in js/recaptcha.js. The reCaptcha is not displayed to visitor. The grecaptcha global needs to be loaded through a library for it to be executed correctly. The last patch that included this change is #111.Comment #162
danyg commentedpatch #51 worked for me (D7.60, CTools Auto-modal 7.x-1.1, reCAPTCHA 7.x-2.2 + mailchimp + custom form)
It has only one problem, the recaptcha.js was located in the root folder I had to move it into recaptcha folder manually.
Thanks for it!
Comment #163
zain.hassan commentedThere's a typo in recaptcha.js of #115 which ends up throwing an exception in console:
Comment #164
navneet0693 commentedAdd grecaptcha library.
Comment #165
navneet0693 commentedComment #166
jsst commentedPatch #164 resolves the issue: recaptcha is shown after form errors using ajax submission.
Comment #167
idebr commentedThe remarks in #161.2 and #161.3 have not been addressed yet.
Comment #168
skylord commentedReroll of #98 for 7.x-2.3
Comment #169
penone commentedWhen I add patch #168 the recaptcha check box is no longer showing up and am seeing the following error in dev consol:Disregard. I see now that the recaptcha.js file needs to be moved to a js folder within the module folder.
Comment #170
gregseb commentedFor 7.x-2.xRe-roll of #98
Edit: Gah, sorry, I'm on auto-pilot. Use #168
Comment #171
gregseb commentedComment #172
malcolm_p commentedI've built on some of the updates in #164 / #111 using a library while also preserving the cacheable captcha form element & the use_globally feature. This update uses a ConfigEventSubscriber to rebuild the library_info cache when the use_globally setting is changed. I've also removed the html_head script tag from the captcha element.
I've added a Javascript WebDriver test for a form loaded via ajax and submitted/validated via AJAX. This test also allows testing of the verified recaptcha submission.
Changes in the existing ReCaptchaBasicTest are to errors I was receiving with assertions expecting strings and receiving TranslatableMarkup and using element selectors rather than text search for the g-recaptcha element (fails with twig debugging enabled).
Comment #173
reszliPatch #172 works like a charm! Thanks!
Comment #174
james.williams@malcolm_p any chance of an interdiff to aid reviewers please? Or do your changes mean an interdiff isn't really applicable?
Comment #175
malcolm_p commented@james.williams Sure, I started from # 160 so there are a lot of code additions from #111 merging that functionality as well.
Comment #176
nicolas bouteille commentedApplied #168 manually on 7.x-2.3 - it worked perfectly! Thanks!
Comment #177
nicolas bouteille commentedApplied #172 on 8.x-2.4 with git and it works thanks!
Comment #178
marysmech commentedI just applied #172 on 8.x-2.4 via composer. Tested on webform 8.x-5.1 everything seems to work. Thank you.
Comment #179
hswong3i commentedToday I give a reroll to #2493183: Ajax support / Use behaviors again...
Similar as #2493183-180: Ajax support / Use behaviors commented...
I am not a big fans for adding in more fix...
It already get stuck since 22 May 2015...
At least #160 working happily for my client(s) for more then 3 months...
Please kindly let it RTBC...
Comment #180
balazswmann commentedI have applied #172 on
8.x-2.4via composer and looks like it solved my problem:due to BigPipe (enabled by default since
8.5.xin the standard profile) the main document frame (with<head>...<head>) arrives first and blocks arrive later via AJAX. In these cases['#attached']['html_head']inrecaptcha_captcha()won't take any effect and the requiredhttps://www.google.com/recaptcha/api.jswon't be loaded at all. That's why the reCAPTCHA widget is not rendered in8.x-2.4when it appears in a block.Comment #181
ccasals commentedWe also confirm #172 works.
Comment #183
david.qdoscc commented#172 did not apply cleanly for us on 8.x-2.x (see below) however #164 works fine for us.
Comment #184
keerthithavas commentedI have applied #172 8.x-2.x and it does not work for me.AJAX recaptcha is still not working.
please kindly let me know how to fix it by apply patch.
Comment #185
kovtunos commented#172 works for me. Before applying had problems with displaying Recaptcha on comment form. On Webforms it had worked fine.
Comment #186
ghalenir commentedI have a form with File field to allow user to attach documents and uses recaptcha module but I can't submit the form. I pass captcha challenge and verify before I submit the form but this recaptcha module keeps blocking and I can't submit the form. This is the error I get in the log.
None of the above patches works for me.
Comment #187
ivan.chavarro commentedThe patch #172 works for me, thank you.
Comment #188
pglynn commented#172 works for me as well. Loads with contact form ajax enabled.
Comment #189
anybody#172 is working perfectly for us since several months now. The ones reporting that patch #172 doesn't work for them: Could you please describe in detail:
1. If recaptcha is working as expected for you WITHOUT the patch
2. What's your specific use-case for recaptcha (HOW are you using it)
3. What's the problem appearing and how can we reproduce it?
Thank you!
Comment #190
mudassar774 commented#172 works fine for us -:)
Comment #191
malcolm_p commentedIt would also be useful to hear from anyone who isn't getting #172 to work for them if they are using any other modules or customizations that might interfere with the captcha on the form.
Also any kind of failing tests would be greatly appreciated as it gives us something to work off of to get this issue to RTBC.
Comment #192
pobster commentedEveryone reporting that it works seems to be mentioning that they're applying it to 8.x-2.4 ~ a tagged release. It doesn't apply cleanly to HEAD, it just needs rerolling that's all.
Comment #193
slasher13re-roll for 8.x-2.x-dev
Comment #194
anybodyAny plans for a new release?
Comment #195
iyyappan.govindHi I tried to apply the patch with stable release 8.x-2.4 but patch apply failed. So checked with git apply --check . But it shows ReCaptchaBasicTest file has some error at line 87. So re-rolled the patch for stable version. I know it is working for dev version of module. But it will be helpful for stable release version.
Comment #196
cjsmith87 commentedI am using 8.x.2.5 and it still appears to be broken? How can I apply the patch to this version please?
Comment #197
slasher13re-roll after 2.5 release
Comment #198
slasher13Comment #199
slasher13fix imcomplete patch from #197
Comment #200
cjsmith87 commentedI have downloaded and unzipped a copy 8.x.2.5 to "C:\Patch\recaptcha", downloaded the patch and am using TortoiseSVN to apply the patch. When i do so it says "C:\Patch\recaptcha" is not a valid working copy? In the folder I have folders like "config", "src" and "recaptcha-php" but the patch seems to be looking for a "js" folder? Sorry, I am new to this!
Comment #201
cjsmith87 commentedIgnore me, used git and it worked perfectly. Thanks!
Comment #202
iyyappan.govindComment #203
dimitriskr commented#199 on 8.8.2, recaptcha 2.5.0 and webform 5.8.0 works good!
Comment #204
nicolas s. commentedWith patch on #199 form recaptcha (2.5.0) appear on my modal but I trie to submit this I have recaptcha error The answer you entered for the CAPTCHA was not correct. when I checked well recaptcha
Comment #205
jedihe commented#199 works great for me, applied it on top of 8.x-2.5.
My setup:
- reCaptcha v3, using reCaptcha as fallback.
- AJAX-submitted form: #199 gets reCaptcha to show up after a submission fails reCaptcha_v3 validation; without the patch, it didn't show (due to missing Drupal behavior).
-- Submitting without solving reCaptcha shows the proper validation error.
-- Submitting after solving reCaptcha gets the submission to succeed.
- Normally-submitted form: reCaptcha shows up after a submission fails reCaptcha_v3 validation; this was working fine before applying #199.
Comment #206
Mido_739 commented#199is work for me Thanks!
Comment #207
wil2091 commentedThanks! #199 worked for me too.
Comment #208
alfattal commentedI've applied the patch in #199 months ago (Can't remember when exactly!) and it worked perfectly, but recently, I'm experiencing the same issue again. I'm on Drupal 8.9.2 using reCAPTCHA version 8.x-2.5.
Comment #209
oheller commentedThe ajax submit has stopped working for anonymous users after completing the recaptcha and submitting the webform.
The expected behavior is when I submit my webform the form is replaced with the success message. This happens if I'm logged in or if I submit the form without validation, get the Drupal captcha error, then complete the recaptcha, then submit the webform.
I am using Drupal 8.9.2, webform 5.19, catcha 1.1.0 and tested with recaptcha [2.x-dev, 2.5 and 3.0].
Comment #210
sonfdPatch from #199 is working for me with D 8.91, webform 5.18, ReCaptcha 3.0.
For those reporting that it stopped working, can you confirm that the patch was still applied? Could your issue be that you performed an update and for some reason this patch was not reapplied?
Comment #211
alfattal commented@sonfd Yes, I can confirm that the patch in #199 stopped working while it is still applied.
Comment #212
s_leu commentedI need to test the patch on Drupal 9, but it wouldn't work due to the missing core_version_requirement in the info file of the test module added in this patch.
Thus here a patch that makes the module with this patch applied work on D9.
Comment #213
h0ly_danc3r commentedIm getting error in console reCAPTCHA couldn't find user-provided function: drupalRecaptchaOnload after patching and recaptcha is in module/js.recaptcha. What could it be?
Comment #214
percoction commented@s_leu thank you for that update. I can confirm the patch in #212 fixes an issue we were now seeing now running Functional tests in our custom modules:
Drupal\Core\Extension\InfoParserException: The 'core_version_requirement' constraint (9.0.7) requires the 'core' key not be set in modules/contrib/recaptcha/tests/modules/recaptcha_test/recaptcha_test.info.ymlComment #215
Ivan Liaskov commentedHi, guys.
I got another take on the problem and kind of applied solution from https://www.drupal.org/project/recaptcha/issues/1463768
It works for us and if you desperate - try it.
Comment #216
vlyalko commentedconfirming that patch #215 fixed the issue for us
Comment #217
rafaelrs commentedUpdating the #71 patch to make it work correctly on 7.x-2.3.
I also added a new verification to make sure that the code won't break when some functions are not defined yet.
Comment #218
james.williamsThe patch for D7 from @rafaelrs is a re-roll of #71, but there was a patch in #168 for D7 that added a fix because there were issues identified with #71.
Regardless, given that #2875698: Drupal 7.x: Ajax support / Use behaviors for 2.x and #1463768: reCAPTCHA in Modal Forms exist for getting this kind of functionality into D7, I suggest this ticket should ONLY be used for D8 work?
Meanwhile, I've hidden what I believe are the oldest patches, so just the 'tips' of each 'branch' of work remain shown for review.
Comment #219
steven jones commentedTo that end I've posted an updated Drupal 7 patch to #2875698-15: Drupal 7.x: Ajax support / Use behaviors for 2.x.
Comment #220
yuri morato duarte commentedIn my case, I needed to "recreate" the recaptcha after my webform validation:
By doing this on a JavaScript behaviour that's loaded on the page I was able to make it work.
My recaptcha is currently at version 8.x-3.0
Comment #221
jonnyeom commentedJust an update on patch #199,
It is working for me so far on Drupal 8.9.13, Recaptcha 3, Captcha 1.1
Comment #222
baltazarz3 commented#220 worked for me, I was having problems with Webform + ajax. The Javascript worked perfect for version 2.5.
Thank so much Yuri Morato Duarte, great work around.
Comment #223
kburakozdemir commented#199 worked for me.
Drupal core 8.9.16
CAPTCHA 8.x-1.2
reCAPTCHA 8.x-3.0
Thank you.
Comment #224
lukasss commented#199 worked for me.
Drupal core 9.1.8
reCAPTCHA 8.x-3.x-dev
Thank you!
Comment #225
sharif.elshobkshy commentedDrupal 9.1.9
reCaptcha 3.0
$drush updb -y
The 'core_version_requirement' constraint (9.1.9) requires the 'core' key not be set in modules/contrib/recaptcha/tests/modules/recaptcha_test/recaptcha_test.info.ymlUpdated patch #199.
Comment #226
jedihe commentedUpdating #225:
The interdiff does not include the removal of the .patch file.
This is #199, updated to apply on recaptcha 3.x (3.0 in my case), running on Drupal 9.1.9.
Comment #227
jedihe commentedLet's try to fix the tests error in D9.
Comment #228
jedihe commentedRecaptchaJavascriptTest::getMessages() depends on a class not used in 'stark' markup. Let's try fixing the tests by targeting data-drupal-messages instead.
Comment #229
jedihe commentedComment #230
thirstysix commented#228 Patch works well with Drupal 9.2.1 &
reCaptcha 3.0
Comment #231
thirstysix commentedComment #232
markdc#228 also works with Drupal 8.9.16 / reCaptcha 3.0. Thanks!
Comment #233
anybodyConfirming RTBC!
Please note that this afterwards needs backport to Drupal 7 in #2875698: Drupal 7.x: Ajax support / Use behaviors for 2.x as it's also broken there!
Comment #234
anybodyAny plan to commit this long and long outstanding issue?
Comment #235
davisa commentedPatch #228 doesn't seem to work in my case - Drupal 9.2.7.
Same issue - allows the webform to be submitted without actually completing the recaptcha.
Comment #236
npcoder commentedThe current Drupal version is 9.2.8. I did the following steps:
.
To fix the reCAPTCHA invisible, I used one of the patches (just a partial code), I added it to a JS file (in custom theme).
The invisible issue was resolved but when Chrome/Firefox console is open, it showed Uncaught TypeError: grecaptcha.render is not a function error.
Trying to find the patches and alternative solution, I finally figured out that it's due to the network issue where 'www.google.com' is not accessible. So following steps were taken:
Comment #237
paul_gregory commented#228 patch works for us on Drupal 9.2.10 and reCAPTCHA 3.0.
This solved an issue where our Ajax webforms using reCAPTCHA V3 weren't successfully falling back to reCAPTCHA V2.
Comment #238
anybodyThank you @npcoder for your detailed feedback. So that's not caused by the patch and the patch still solves the basic problem.
@DavisA could you please check if that is also the case for you? I still think the patch is a HUGE improvement and should be committed.
Comment #239
anybody@recaptcha Maintainers: Any plan for a final review to get this 239 comment counting issue fixed? :)
Comment #240
nicolas s. commentedThe Patch #228 works for me with a Drupal 9.3.6
Comment #241
localnetwork commented#228 works for me.
Comment #242
Rajeev cp commented#228 working for me Drupal version 9.3.0
Comment #243
mjt772 commented#228 is not solving this problem in my case (Drupal 9.3.12, recaptcha 8.x-3.0), and I also tried the approach in #236, but to no avail. Specifically, I have a contact form being submitted via Ajax, configured with recaptcha_v3 (8.x-1.4) to fallback to a standard v2 image recaptcha. If a user fails the v3 recaptcha on form submission, the failure message appears but the v2 image recaptcha does not, so it is then impossible for the user to submit the form. This recaptcha setup is working perfectly on my other, non-Ajax contact forms. If anyone has any other advice, I'd very much appreciate it!
Comment #244
akalam commentedI can confirm the patch #228 is working directly for me on D9.3 with the webform module
Comment #245
anybodyOnce again confirming that the patch fixes the issue for several people (including me for the confirm). If the maintainer agrees the patch is OK from a logical perspective, tests are green and it doesn't make things worse, this should please please be committed... :( It's really a pain and unexpected that you can't use reCaptcha with Webform AJAX currently.
We can create follow-ups for the remaining issues and look at them in detail.
If someone uses cookies_recaptcha with this patch, please note it's broken: #3296032: reCaptcha protection broken with reCaptcha AJAX (patch)
Comment #246
anybodyComment #247
neclimdulReading the patch, the of classes instead of .once was weird. Now I see why its doing it and I guess I don't have a better solution. LGTM.
Comment #248
zhelmet commentedFixed duplicate dependencies keys in recaptcha_test install files
Comment #251
slasher13re-roll
Comment #253
anybodyFrom #228 where no tests where failing, now 2 tests fail in #251. Are you planning to work on this @slasher13?
Comment #254
pobster commentedThe failing tests are actually in a completely new file:
The issue is with the test code rather than in the fix:
The
getMessages()method returns a string rather than an array - so it could be fixed either by changing the assertion to look at strings or by changing the return type of this method (preferable, I don't feel like it makes too much sense to concatenate the messages into a single string).Comment #255
nileema19 commentedPassing an array of strings to assertNotContains() and assertContains() is deprecated (D9).
The assertContains and assertNotContains functions could be replaced with 'assertStringContainsString' / 'assertStringNotContainsString' to fix the patch.
Comment #256
nileema19 commentedComment #257
nileema19 commentedmistakenly attached the wrong patch :(
Comment #258
nileema19 commentedComment #259
pobster commentedAs I was saying above, it seems weird to concatenate all the Drupal messages into one long string. Wouldn't it be better for the tests to just change the return of the
getMessages()method? Then at least the messages are checked in isolation, each message is checked separately.Comment #261
nigelcunningham commentedModified the tests to use an array of messages (see merge request).
Comment #262
nigelcunningham commentedComment #263
pobster commentedNice! LGTM
Comment #264
jospratiklive commentedHi Everyone,
This might work with ajax submits, but it doesn't work with Modal popup.
Below are the markup appears in debug of captcha element.
Modal popup:
<div class="g-recaptcha" data-sitekey="{site_key}" data-theme="light" data-type="image"></div>For direct visit to user/login form:
<div class="g-recaptcha recaptcha-processed" data-sitekey="{site_key}" data-theme="light" data-type="image"><div style="width: 304px; height: 78px;"><div><iframe title="reCAPTCHA" src="https://www.google.com/recaptcha/api2/anchor?.......I tried hard to find the actual cause, but no success.
Can anyone please give any feedback.
Thanks!
Comment #265
lamp5@jospratiklive #comment-12837396
Comment #266
jospratiklive commentedHi @lamp5
Thanks for your reply.
May be I am doing something wrong. No success.
I am using the latest version (recaptcha module + recaptcha v3 + drupal 9)
Added your code snippet of globally load the js file. No markup of checkbox section appears in element.
For modal popup : I placed dpm($element) in file modules/contrib/captcha/src/Element/Captcha.php line no. 244 (before return $element). The captcha markup blank.
For user/login link : This does contain the markup.
Any feedback welcome!
Comment #267
jospratiklive commentedTested webform dialog with webform ajax submission. It works.
I think something got to do with how login form is submitted vs webform ajax submission
UPDATE: Ok, got this working! I now handled the ajax submission of user login differently.
Comment #268
neclimdulAll the seemingly unrelated test changes are making this hard to review. Seem to be replacing deprecation on unrelated code and just "better" handling without any explanation. I don't see the point but they all seem to work.
Anyways there where a lot of patches with out a lot of notes so here's some interdiffs to make maintainer review a bit easier.
Comment #269
kburakozdemir commented#258 worked for me.
Drupal core 9.4.8, Webform 6.1.3 "Use Ajax" setting enabled, PHP 8.0.23.
Thanks.
Comment #270
shani maurya#258 worked for me.
Drupal core 9.3.22 and planning to move 9.4, ReCaptcha 8.x-3.1
Thanks.
Comment #271
markdc#258 worked for me.
Drupal core 9.5.3, Ajax Comments 8.x-1.0-beta5, PHP 8.0.27.
Thank you!
Comment #272
anybody#3303856: Any active maintainer left here? vs. frequently used module
Nothing more to say? Any candidates?
Comment #273
slasher13re-roll #258
Comment #274
rohit.rawat619 commented#273 Patch working fine
Comment #275
kissfm commentedPatch #273 applied successful for me. Thanks.
Comment #276
bbcPatch #273 looks good to me as well. Thanks @slasher13!
Comment #277
kburakozdemir commentedPatch #273 applied successfully for me. Thanks.
Comment #278
altascendare commentedThanks @slasher13, patch #273 works fine for me
Comment #279
Mustafa-salameh commentedpatch #273 works with me
Comment #280
vmarchukPatch #273 was applied successfully and it works fine for me. Thanks.
Comment #281
alyaj2a commentedPatch #273 worked perfectly, with this patch recaptcha in modals was solved. Thanks.
Comment #282
damondt commentedPatch #273 tests good
Comment #283
nileema19 commentedPatch #273 was applied successfully and it is been working fine for the webform in the modal!
Thanks @slasher13
Comment #284
nigelcunningham commentedPatch looks good to me and has been successfully tested by all the above; marking RTBC.
Comment #285
thirstysix commentedPatch #273 works.
+1 RTBC
Comment #286
ahmedx commentedPatch #273 was applied successfully and it works fine in drupal ajax modal.
Thanks @slasher13
Comment #287
s_bhandari commentedComment #288
s_bhandari commentedHi,
Fix for the issue of Unable to install modules: module 'recaptcha_test' is incompatible with this version of Drupal core. Please review.
Thanks.
Comment #290
s_bhandari commentedHi,
Fix for the error The 'core_version_requirement' constraint (^8.9 || ^9 || ^10) requires the 'core' key not be set in modules/contrib/recaptcha/tests/modules/recaptcha_test/recaptcha_test.info.yml. Please review.
Thanks.
Comment #291
anybodyBack to RTBC for #273 with many RTBC votes.
#288 + #290 seem unrelated to this issue.
Comment #293
anybodyComment #297
anybody@all: Please help testing and reviewing MR!24 based on #273 so we can hopefully end this never ending story soon. Thank you!
Comment #298
anybodyComment #299
anybodyComment #300
anybodyeslint and phpcs are unhappy, but tests are green now. Could someone fix that finally?
https://git.drupalcode.org/project/recaptcha/-/pipelines/63104
Manual testing is still welcome!
Comment #302
dark05 commentedI'm update module in 3.2.0 version with patch #273
Comment #305
matthewmessmer commented#273 fixed the initial issue of the captcha being unusable on a multistep form, but the captcha module persistence settings do not appear to be honored. The recaptcha appears on every step of the multistep form regardless of the persistence settings.
Comment #306
anybody@matthewmessmer thank you! Can you elaborate, if it worked as expected without the patch? Then we should add a test for that and fix it. Would be super nice to have more community contribution here to get this finished!
Comment #307
ronraney commentedComment #308
ronraney commentedComment #309
ronraney commentedI found this issue because I was experiencing an issue on a multipage form with AJAX enabled for validation. I installed the patch #273 and now it's working, but not ideally.
To resolve the issue with the form not recognizing multipage and putting captcha on every page, I moved the captcha inside the last page, where the submit resides. It's interesting that the "I'm not a robot" is showing but not the reCAPTCHA logo on the bottom of the page. All of my other forms do not require human interaction.
Therefore, I don't know if #273 totally solves it because it appears a backup form is placed on the page, and the reCAPTCHA button is not showing on the bottom right of the page. I prefer the checkbox to a math quiz, so I'm keeping this in place, but it's my understanding there shouldn't be a form input at all.
Comment #310
murat_kekic commentedAdding to the discussion, it appears that the persistence settings were previously overlooked #3363653 and not related to the patch.
Comment #311
zuhair_ak#273 worked for me also, Thanks @slasher13. Is there anyway we can commit this and fix the issue with multiform AJAX as a followup ticket
Comment #312
nathankg commentedI have tested patch #273 Thanks @slasher13
Environment tested on:
Drupal 10.1.6
Php 8.1.21
Version: Recaptcha 8.x-3.2
Issue prior to patch:
We were using a basic webform with all fields required, with ajax enabled (not multi-step) in a block to collect anonymous user feedback. With persistence set to: "Omit challenges in a multi-step/preview workflow once the user successfully responds to a challenge." and captcha added directly to the webform rather than as a captcha point within the block (however adding the captcha point within the block had the same result). If the anonymous user failed to enter one of the required fields or pass the captcha, the captcha would not display post initial submission. Disabling ajax resolved the issue but was not an option in this use case.
After applying the patch:
The captcha was shown as expected post failed webform submission within the webform block.
Comment #313
ryan-l-robinson commentedOne issue I've now encountered with the patch in #273 is that it adds a new functional test, but the setUp function there does not have the void return declaration, which results in throwing an error if I try to run any functional tests. See https://www.drupal.org/project/recaptcha/issues/3446000. I added that to an updated patch here.
My editor (VS Code with a Drupal formatter) is pointing out other issues with that file, but those ones don't stop me from running other tests, so I'll leave that to those who are working on that test.
Comment #314
sebasgd commentedI have the #273 patch installed in a multilanguage website. The webform loaded using ajax works correctly in all languages. But a new webform was created in the website and that form doesn't load with ajax. The result is that the recaptcha loads in english but not in other languages. And is something in this patch because, if I remove the patch, the recaptcha in the non-ajax webform works correctly in all languages and the recaptcha in the webform loaded using ajax stops working.
Comment #315
iyyappan.govindComment #316
james.williamsMR24 works well for me too; thanks all!
The change added in the latest patch in #313 is already included in MR24 (it's just https://git.drupalcode.org/project/recaptcha/-/commit/e1e62e0a3fdabfb4f0...), so can be ignored as we should all be working with the merge request, not patches, nowadays. (Which is why I've also hidden all the previous patch files to try and give more prominence to the MR instead.)
@sebasgd thanks for reporting your issue about languages in #314. Please can you confirm what the language codes you have configured in Drupal are, which incorrectly showed the recaptcha element in English on your non-Ajax form? The work here assumes the language codes configured in Drupal match those that Google expects, so I wonder if it could have just been due to them not matching up? Google's documentation does say that they can auto-detect the user's language; I wonder if they do that slightly differently between the non-ajax recaptcha widget rendering, and the new explicit rendering through javascript. So could you also let us know which language(s) your browser is configured to use, to help diagnose the issue?
@Anybody thanks especially for having taken on maintainership of this module. What would you like to see happen here before merging it? Do you feel the languages issue is a blocker? I could believe it is; but otherwise maybe we need to be really strict that further change should be dealt with in follow-ups rather than drag this issue out any further?
Comment #317
anybody@james.williams thank for your feedback! What would you think about a new 4.x branch starting with the changes from this issue?
It would be great if we could fix the language issue, of course, and hopefully it's not too hard? But I wouldn't see it as a hard blocker looking at the relevance and history of this issue. I very much hope it won't have a 10 years anniversary ;)
Comment #318
james.williamsGreat! Yes, I'm all for this being in a new release soon please :) I would just stay on the 8.x-3.x branch though, it's not a backwards-compatibility break is it? If you're thinking of jumping just for the sake of using semantic versioning, I'd counter that with the fact that anyone using standard composer constraints (e.g.
^3) has to manually change their constraint, which isn't ideal - especially if there was a later security update that came with more urgency. But of course I'm not aware of your plans; maybe you have other reasons to look to break backwards-compatibility?Comment #319
anybodyCurrent state of the MR as static patch attached for the time being.
Comment #320
anybody@S_Bhandari deleted the issue summary in #287!
But it was poor in general, so could someone please create a helpful issue summary based on the template?
If someone would like to finish this, please find a fix for #314, so we can finally merge this.
Comment #321
james.williamsI've had a go at setting the issue summary, hopefully it's sufficiently accurate. Setting back to 'needs work' though to investigate/resolve that remaining possible multilingual issue then. Although as I wrote in my comment, I do wonder if it's just down to a misconfiguration which is probably out of scope to resolve here. I'll try reaching out to @sebasgd by other means to see if we can get feedback!
Comment #322
grevil commentedVery nice work! Looking good! 🙂👍
I agree with @james.williams, since we do not introduce any breaking changes here, I'd say we can safely merge this in 3.x (once the multilanguage issue is fixed).
I'll see if I can properly reproduce it.
Comment #323
grevil commentedOk, the multilanguage bug is quite minor in my opinion. Once a new language is added and set as the default language, the recaptcha won't appear. We first need to clear all caches before the captcha appears (with the correct language set. Tested it with spanish, german and french as both the default language and per url language prefix).
Switching the default language to an already added language works flawlessy and without clearing any caches.
I tested this through the login captcha endpoint (no ajax) and through our test endpoint (/recaptcha-test) both use the currently set language as expected.
Furthermore, this little newly added language bug is also happening in 3.x, so it's unrelated to this issue anyway. Cleaning up the code a bit now.
Comment #324
anybodyRe #323 thanks @Grevil!
Could you then please create an issue for that? Sounds like cache tags or contents are missing then, but I agree it's an edge-case and unrelated then. No blocker for this issue.
Comment #325
grevil commentedOh no, the fact that we are using external scripts hosted by Google probably makes this not DSGVO compliant...
Let's see what @Anybody has to say about this.
Comment #326
anybody@Grevil: No, recaptcha is external 3rd party by definition. There's no way around the external script loading. Not related to this issue and if someone needs a solution, there's COOKiES recaptcha submodule for example.
People using recaptcha have to be aware of the data privacy consequences generally!
Comment #327
grevil commentedAh, of course, my bad.
Alright! Everything else is fine! Fixed the remaining js and phpcs issues. Tests are good and all green! Couldn't reproduce the multilanguage bug after extensive testing. All good from my site!
RTBC!
Comment #328
anybodyThanks all! Okay then let's do it! I'm going to merge this one after 328 comments. I hope this doesn't only feel great for all of us, but also works well! 🎉
Comment #330
grevil commentedComment #331
james.williamsThank you so much!
Comment #332
ryan-l-robinson commentedWill this be in a stable release within the next few days?
We're close to deploying an update to production, and the patch doesn't work against the stable release anymore, so I think I need to put the dev release into production if there isn't stable soon, which I am generally not eager to do.
Comment #333
anybody@ryanrobinson_wlu yes, let's do it! No complaints since merge, I'll tag a new stable release containing this.
Comment #334
ryan-l-robinson commentedThank you!
Comment #335
xeiro commentedPatch was working for me on 10.2.6 php 8.1 however, none of the patches or module versions apply for 10.3.2. Beware if invisible captcha is placed on login pages, user will be locked out and have to disable or uninstall via drush/db.
Comment #336
anybody@xeiro I don't really get your point.
This issue is fixed in recaptcha 8.x-3.4! No more patch needed for this.
Comment #337
xeiro commented@Anybody, sorry, I posted to the wrong issue. 2852269 - "Integrate Invisible reCAPTCHA option from Google" was my issue and I posted the relative info there. All good now, thanks.