Skip to content

Loading…

False positive with popup blocker #116

Closed
gorhill opened this Issue · 9 comments

4 participants

@gorhill

Seen on 4chan:

µBlock prevented me from opening links in a new tab. Tabs opened and then closed immediately afterwards. Removed µBlock, problem disappeared

If I knew where this happened, I could investigate.

In any case, a probable (to confirm) workaround until I identify the problem is to open link through context menu (right-click). Wrong, it's the opposite.

@CODYQX4
@gorhill gorhill added important and removed important labels
@tmanuceau

Hey, I'm the guy who posted that on both 4chan and reddit.

I was just able to reproduce the issue again. Here are the steps:

  1. Go to 4chan homepage.
  2. Try to go to /adv/ ("Advice" on the homepage) through the contextual menu (opening in a new tab, or in a new window).
  3. Tab opens and closes within a second.

Doesn't happen if I left-click on "Advice" and click "I Agree" on the popup. /adv/ loads normally then. Disabled µBlock, issue went away. Reenabled it, I could reproduce the issue again.

The only time it happened before is when trying to open /pol/ through the board list at the top of the page (tried contextual menu and middle-mouse button, tab opened and closed within a second).

The current ads on /adv/ load these URLs (through Chrome's element inspector):
http://static.4chan-ads.org/Advertisers/c56720370f9740968911d05c0514dd4d.png (ad for 4chan ads)
http://static.4chan-ads.org/Advertisers/28d0f7e474c14d05ac3d6be17ec854d6.png (I honestly don't know what this is)
http://static.4chan-ads.org/Advertisers/98a1d0ad5c424105b9ee943ff70af63d.jpg (Epic Browser "We don't track you!")

I tried opening every single other board, and they didn't exhibit the issue. I think the culprit is this Epic Browser ad, which only appears on /adv/ at the moment. Another Epic Browser ad is displayed on /lgbt/, but it's not the same URL.

Adding "4chan.org" to µBlock's whitelist fixes the issue.

I hope this is comprehensive enough.

@gorhill

Wow thanks, now I have something to investigate. So actually what I thought was a workaround does the opposite, it causes the bug to happen. I will try to figure a fix asap after investigating.

@tmanuceau

Awesome, thanks!

@gorhill

Ok I see...

I need to work on the heuristic to detect whether something is a popup up.

So for the particular 4chan.org/adv/, the heuristic is fulfilled: new tab + non blank referrer. Now the last step, whether there is a hit on a filter is also fulfilled: .org/adv/, which is found in EasyList.

Given the amount of new users today, I wish I has smashed that bug sooner. Anyways, onto it.

@gorhill

Ok, after investigating this, if I understand correctly the semantic of the $popup filter option, a request has to match only filters with the popup option, not the generic ones, whereas the default in uBlock is that a match occurs when a request matches any type, or the specific type of the request. Now I need to figure the good, long-term fix.

@gorhill

Ok, I validate that the fix work with the links posted in #58.

@gorhill gorhill closed this in 4f5df93
@gorhill gorhill added a commit that referenced this issue
@gorhill gorhill code review re. #116 11302c6
@Evoliofly

This problem still exists.

http://image.noelshack.com/fichiers/2015/07/1423916645-98bd48082c2.png

(catalog.json is needed)

I use an extension that loads 4chan boards using AJAX.

In EasyList, @@||4cdn.org/adv/$image,domain=4chan.org is whitelisted, but we also need .json files to be allowed.

@gorhill

There is no problem with uBlock.

The filter in EasyList is: @@||4cdn.org/adv/$image,domain=4chan.org, which is meant to create an exception for requests of type image. The request which is blocked is of type xmhhttprequest, so it gets blocked by the filter in EasyList.

I use an extension that loads 4chan boards using AJAX.

You will have to report the issue to EasyList maintainers, or create an exception for your own use: @@||4cdn.org/adv/$xmlhttprequest,domain=4chan.org.

@gorhill gorhill removed the important label
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Something went wrong with that request. Please try again.