Turnstile - blocked iframe - no error reported in callback events


I have the same issue with turnstile: https://github.com/duckduckgo/duckduckgo-privacy-extension/issues/1648

Obviously it is the user’s responsibility to use working add-ons, but it would help if we could inform the user about the failing turnstile behavior.

callback, error-callback, expired-callback are enabled, but the error is not reported there.

The only solution now is multistage error handling. But its always some kind of timeout. Which is not helping the user experience.

  1. I have to check the height of the render DOM and if it is not changing for X seconds.
  2. Then I warn the user about the issue that there is chance it won’t load and offer him option to use hCaptcha/recaptcha.
    This solution needs setTimeout/setInterval and (mutationObserver or another interval check on render DOM height). But this solution is not working for invisible challenge so I need a different timeout for total failure :frowning:

If there is a user with slow internet connection (tor browser for example), then the same timeout event might occur and I don’t know whats the reason.

After all If errors would be reported in callbacks I could identify the issue. I could just show a warning for the user to check his add-ons if its blocking the Cloudflare challenge.

Also showing something in the render object would help before adding the iframe so the user would know something is happening. Like show a same height, width text message/animation informing the user about the Cloudflare challenge is going to happen there.

1 Like