I think this has to do with Google forcing an asynchronous loading of the Recaptcha library. Depending on the circumstances, if you can load Flarum and open the signup modal faster than the captcha library loads, and the page will error.
I scanned the recaptcha docs but couldn't find how they suggest waiting for their script to load.
Removing the async
on the script tag doesn't seem to solve it, because that script then queues another async script.
Maybe we could just catch the exception to grecaptcha.render()
and retry a few seconds later ?
EDIT: opened an issue for it FriendsOfFlarum/recaptcha4