I cannot reproduce any issues. I really don't know what to tell people. The session lasts a full day. You are given a generous amount of connections and connection rate. I cannot deliberately reproduce multiple checks under any circumstances even when deliberately trying to abuse the system. There are thousands of people browsing the site and I'm seeing a handful of complaints. I really don't know what you're doing.
I’m able to reliably reproduce triggering the protection every page load by simulating certain devices and network conditions.
Possible reason:
- Upon loading the page for the first time, many requests are sent for each sticker / script / css / other resource.
- The user is on a low-end mobile phone / network, and navigates to another page before the aforementioned requests are returned and stored in the browser cache. (Or cache is too aggressively cleared due to memory constraints.)
- All the requests are sent again causing the protection to revoke the clearance cookie.
Steps to simulate / reproduce issue:
(Using Firefox or Tor Browser for demonstration)
- Open dev tools > Network > Top right > Change “No Throttling” to “Good 2G” (Optional).
- Tick “Disable Cache” (Optional).
- Navigate to any thread, from a fresh session.
- Wait for the challenge to be complete.
- (Optional) Copy the clearance cookie.
- After the DOM loads, but before the other resources do, click on the link to the next page (preferably before the page numbers even show up).
- The protection is either immediately triggered, or halfway through the loading of the next page.
- (Optional) Verify the same clearance cookie is sent, but rejected.
- (Optional) Verify the original clearance cookie is revoked.
- (Optional) Enable cache, allow the page to fully load and have all resources cached, and the issue should go away.
Possible solution:
- Serve static content that doesn’t stress the database separately, not counting towards protection throttling.
I don’t know if it’s
the problem, especially since I don't know if it's actually exceeding the allowance (or what the allowance is), but it’s the only way I’m able to reliably trigger the check every load.
For incognito users:
Some browsers (notably Safari on iOS, but all iOS browsers are effectively Safari reskins) use a separate cookie jar for each new private tab, the check triggers since the existing clearance cookie isn’t sent from the new tab, and has nothing to do with the above.