Chrome adblock extension house ads issue

AI-generated summary

simon reports an issue where Chrome adblock extensions (Adblock and Adblock Plus), even when disabled for a specific Discourse site, prevent House Ads from appearing in the navigation bar. The console throws a no-response error related to a missing JavaScript file (discourse-adplugin-*.br.js), which also affects ads served via Revive Adserver (e.g., /asyncjs.php). The issue persists unless “Bypass for network” is enabled in DevTools. Simon links to a 2018 Adblock Plus bug report from the Financial Times, suggesting this is an extension-level problem, but asks whether Discourse could implement a workaround. The issue appears to stem from service worker behavior when adblockers are active, even in disabled mode, and has been observed for years.

I’m fairly sure this is related to the issue discussed here: ServiceWorker thinks I'm offline when I'm not.

Testing on the latest Chrome browser on Ubuntu with both the Adblock and Adblock Plus browser extensions, having either extension installed but disabled for a single Discourse site prevents the House Ads navigation item from being added to the nav bar:

The error in the console is

NetworkFirst.js:120 Uncaught (in promise) no-response: no-response :: [{"url":"https://global.discourse-cdn.com/business4/assets/plugins/discourse-adplugin-78e860fa781ab21eafa70bfb3c8514cc572a1ff6eb65774509c6c022e1fbf211.br.js"}] at u._handle (https://global.discourse-cdn.com/business4/assets/workbox-77b0e3e0dd4773bcd6c7e74f302f7c69/workbox-strategies.prod.js:54:13) at async u.Rt (https://global.discourse-cdn.com/business4/assets/workbox-77b0e3e0dd4773bcd6c7e74f302f7c69/workbox-strategies.prod.js:40:10)

If I go to the web inspector’s Application tab and select the “Bypass for network” checkbox, the file loads without any issues.

This wouldn’t be a huge deal, but the issue also affects house ads that are served with a script. For example, house ads that are served from a revive adserver. In that case, the paused adblocker prevents the revive server’s /asyncjs.php file from being served. It produces the same error as I posted above.

This seems to be an issue with the extension and not with Discourse, but I wonder if there’s anything Discourse could do to deal with it.

It seems like the problem has been around for a while. Here’s an Adblock Plus bug report from 2018, posted by someone from the Financial TImes: Adblock Plus Help Center

4 Likes