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: https://forum.adblockplus.org/viewtopic.php?p=176568
この問題は、ここで議論されている問題に関連していると確信しています: https://meta.discourse.org/t/serviceworker-thinks-im-offline-when-im-not/77886。
AdblockおよびAdblock Plusブラウザ拡張機能の両方を使用してUbuntuの最新のChromeブラウザでテストしたところ、いずれかの拡張機能がインストールされていても、単一のDiscourseサイトで無効になっていると、House Adsナビゲーション項目がナビゲーションバーに追加されなくなります。
コンソール内のエラーは次のとおりです。
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)
WebインスペクターのApplicationタブに移動して「Bypass for network」チェックボックスを選択すると、ファイルは問題なくロードされます。
これはそれほど大きな問題ではありませんが、この問題はスクリプトで配信されるハウス広告にも影響します。たとえば、リバイブアドサーバーから配信されるハウス広告です。その場合、一時停止された広告ブロッカーは、リバイブサーバーの /asyncjs.php ファイルが配信されるのを防ぎます。これは、私が上記に投稿したのと同じエラーを生成します。
これはDiscourseの問題ではなく拡張機能の問題のようですが、Discourseがそれに対処できることがあるかどうか疑問に思います。
問題はしばらく前から存在しているようです。これは2018年のAdblock Plusのバグレポートで、Financial Timesの誰かが投稿したものです: https://forum.adblockplus.org/viewtopic.php?p=176568
