6

Why am I seeing this when I click on my notifications box please?

enter image description here

I use a Google Chrome dark mode hence why my screen is dark but I cannot remember the code ever appearing. I can replicate this on Meta.SE here too only when I click on the notifications box, it doesn't appear for any other boxes like trophies or help.

Happy for this to be closed as a duplicate, checked in the last few hours and didn't see this issue, my apologies if I missed it!


For example, this is it here on Meta.SE:

enter image description here


My system details:

Chrome: Version 111.0.5563.65 (Official Build) (64-bit)
Adblock Plus: 3.16.2
DuckDuckGo Privacy Essentials: 2023.3.15.1

I enabled darked mode by following this link here to chrome://flags and changing to enabled Auto Dark Mode for Web Contents.

10
  • 6
    sounds similar to Code appears when clicking the inbox (MSO) Mar 22, 2023 at 23:45
  • 1
    @samcarter_is_at_topanswers.xyz, indeed, appears to be the same issue. Is clearly reproducible in some cases (just noticed they're just using a duckduckgo adblocker and not the platform), thank you!
    – JamesT
    Mar 22, 2023 at 23:48
  • They are also using chrome, just with the DDG extension. Do you have any settings/addons which would enhance privacy? Mar 22, 2023 at 23:51
  • Yeah, I am using AdBlock Plus and the DuckDuckGo privacy essentials extension (btw I noticed your comments content just before, my apologies for misreading their question). I am assuming this is a very recent change to something that interacts with AdBlockPlus or DuckDuckGo app, I didn't have this issue yesterday
    – JamesT
    Mar 22, 2023 at 23:54
  • 2
    I've seen two reports about this in the last few days, but they both said it is only on stackoverflow. Maybe whatever this causes it now "infects" the rest of the network. Mar 22, 2023 at 23:55
  • (ps I use adblock all the time as I forever watch youtube music, documentaries and other things whilst I work/study and I get rammed with ads, plus lots of ads are intrusive, sorry SE!)
    – JamesT
    Mar 22, 2023 at 23:55
  • 2
    I don't think there's anything to be sorry about for blocking ads on SE. See stackoverflow.blog/2016/10/26/…. If you want to not block ads on SE, then use the ad-blocker's builtin mechanism for whitelisting.
    – starball
    Mar 23, 2023 at 0:12
  • 1
    @starball thanks,I am relatively new here so thought I would clarify that, do not want to be seen as cheeky if they depend on ads and my issue is caused by an ad blocker! First I had heard of the acceptable ads committee, makes sense why I see some (extremely) minor ads, thanks for the link :)
    – JamesT
    Mar 23, 2023 at 0:19
  • 2
    Generally adblock use is condoned tacitly by staff. I'm running ublock (which is better than ABP these days) and adguard (network wide) myself. I would try seeing if you have the same issue with the DDG extension disabled to see if its that. It might be some dependancy that's 3rd party being blocked and not falling back gracefully Mar 23, 2023 at 1:57
  • 2
    That's on your side, nothing SE can or should do. One of your userscripts is causing this. Disable it, and you'll get the inbox as it should be. Mar 23, 2023 at 9:33

1 Answer 1

12

I spent too much time on this, so I'll share what I found until now in the hope it helps, but beware that's a dump of technicalities:

This is caused by your DuckDuckGo Privacy extension.

What happens is that they overwrite the document.createElement() method. In some cases that they believe are "interesting", they'll change the returned value of this method to a custom <ddg-runtime-checks> element. One such "interesting" condition according to them is when a script originating from ajax.googleapis.com calls this method with a "script" argument. The custom element will then itself act as proxy to the original element that should have been created. This allows them to catch all the modifications that are done on this element (apparently, it's mainly to read the src attribute of <script> tags).
Where this becomes problematic is that jQuery does need to create a dummy <script> element to check the default visibility of the element when we call $elem.toggle(), which is supposed to toggle the visibility of the elements in the jQuery object. The extension's script will replace the <script> element with its own proxy element, and will return a wrong "block" value for the display computed value, which should have been "none". So when jQuery will check if .toggle() should show the <script> element, it will think that yes, this element is normally visible, and thus needs to be shown, when actually, it shouldn't.

So, this is not a bug in Stack Overflow's script. You may want to let the authors of this extension know about this issue though, as they may not be aware of it and might want to fix it. If you do so, feel free to link them to this post. I guess they need to better handle the calls to getComputedStyle() so that their custom element returns the value of the proxified element.


Update: The DuckDuckGo Privacy Extension team have disabled the bug-causing changes on StackExchange websites and are rolling out a fix for the described issue. If you run into this issue, please update your DuckDuckGo Privacy Extension to the latest version where the fix is applied.

5
  • And that's exactly why I hate userscripts so much and will never use them. They mess with pages, do what they want, most of them are malware, and much more bad things. But hey, it makes thing easier so who cares. lol Mar 23, 2023 at 19:23
  • 3
    @ShadowTheSpringWizard DuckDuckGo Privacy Essentials is a browser extension, not a userscript.
    – VLAZ
    Mar 23, 2023 at 19:25
  • @VLAZ same thing, as far as messing with pages and causing odd bugs anywhere. :( Mar 23, 2023 at 19:26
  • Thanks for the detailed answer, I will open a new issue on their GitHub page and edit into this question their solution (if they provide one) or edit in their version that does not cause this
    – JamesT
    Mar 24, 2023 at 12:00
  • 2

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .