Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

iOS extension-manifest-v3 loading after website is restored from previous session. #1577

Open
gradogirl opened this issue May 6, 2024 · 4 comments
Assignees
Labels
Ad-Blocking Issues releated to Ad Blocking

Comments

@gradogirl
Copy link

gradogirl commented May 6, 2024

Ads are not fully block on cold start until website is refreshed in iOS Safari.

Tested on youtube.com (video); windsorstar.com (newspaper).

Looks like Ghostery is loaded after website is restored from previous session.

iOS 17.4.1.

@chrmod
Copy link
Member

chrmod commented May 7, 2024

Thank you for report.

It is a race condition, extension is not able to start before the page starts loading and this is why some ads are able to pass by the ad-blocker. This happens only for so called Cosmetic Filters, the ones that hide page elements or inject special scripts. Network requests should always be blocked.
I'm afraid there is nothing we can do about it, this is just a consequence of Safari architecture.

@GRadziejewski can you please test other iOS adblockers to see if they are able to bypass this problem?

@chrmod chrmod added the Ad-Blocking Issues releated to Ad Blocking label May 7, 2024
@gradogirl
Copy link
Author

1blocker is able to bypass this problem consistently. Tested on iPhone 14 running iOS 17.4.1.

Is this a way for the extension to suspend network activity (deactivate prefetch, dns-prefetch, preconnect and/or fire blockable webRequest Events) until Ghostery is loaded? This race condition probably exists in Chrome as well. Virtually every browser defaults out of the box with prefetch enabled, privacy implications ignored.

https://developer.mozilla.org/en-US/docs/Glossary/Prefetch

@GRadziejewski
Copy link
Contributor

@gradogirl, sorry to keep you waiting a little, and thank you for your patience. I would like to ask, as a few updates have come out for Ghostery Privacy Ad Blocker, whether you see any change on your side.

@chrmod I've checked it with a few others ablocker: AdGuard, AdBlock Pro, AdBlock Plus, 1Blocker.
iOS 17.6.1

  • AdGuard, it works good in my opinion.
  • AdBlock Pro, YouTube was a challenge. But for the rest of websites it works good.
  • AdBlock Plus, I had to reload the most websites that I checked, but not YouTube.
  • 1Blocker, I had to reload the most websites that I checked, but not YouTube.

@gradogirl
Copy link
Author

gradogirl commented Sep 1, 2024

@GRadziejewski, no worries, appreciate your assistance. It works 99% of the time, great effort! Testing on iPhone 14 running iOS 17.6.1 as well as iPad Air M1. iPad is requesting desktop website in Safari. Seems to struggle with desktop websites; had to clear history and website data and relaunch Safari for Ghostery to block ads consistently.

Still seeing the occasional race condition on the iPad with desktop websites (anandtech & YouTube) after iPad is asleep overnight. The next day, you have to reload or relaunch Safari for Ghostery to work effectively.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Ad-Blocking Issues releated to Ad Blocking
Projects
None yet
Development

No branches or pull requests

3 participants