Forum Replies Created

Viewing 1 replies (of 1 total)
  • geoh26

    (@geoh26)

    We experience the same issue, whenever we have a turnstile widget on a page and visit in iOS Safari we get the page freeze. We reached out to Cloudflare support and received the below in reply that may help you investigate. They do mention switching to invisible mode should help but we get the issue using managed or invisible.

    This is a documented problem affecting Turnstile on Safari/WebKit (both iOS and macOS). The Proof-of-Work calculation blocks the main JavaScript thread on WebKit, causing UI freezes. The issue is notably more severe when Turnstile is running in invisible mode.
    Available mitigations

    1. Switch from invisible mode to managed mode
    If you are currently using mode: ‘invisible’, switching to mode: ‘managed’ significantly reduces the severity of the freeze as the challenge behavior differs between modes:
    turnstile.render(‘#container’, {
      sitekey: ‘YOUR_SITE_KEY’,
      // Change from ‘invisible’ to ‘managed’
      theme: ‘auto’
    });

    2. Use execution: ‘execute’ to defer the challenge
    Defers the PoW calculation until a specific user action rather than on page load:
    turnstile.render(‘#container’, {
      sitekey: ‘YOUR_SITE_KEY’,
      execution: ‘execute’
    });
    // Trigger only on user action e.g. form submit
    turnstile.execute(‘#container’);

    3. Reduce simultaneous Turnstile instances per page
    Each widget runs its own PoW calculation. Reducing to one per page reduces total CPU impact.

Viewing 1 replies (of 1 total)