Opened 3 months ago

Closed 3 months ago

Last modified 2 months ago

#6974 closed defect (fixed)

Snippet filters don't work if ABP anti-circumvention filter list is removed and readded

Reported by: mjethani Assignee: mjethani
Priority: P1 Milestone: Adblock-Plus-3.4-for-Chrome-Opera-Firefox
Module: Platform Keywords: circumvention
Cc: sebastian, hfiguiere, greiner, amrmak Blocked By: #6975, #6980
Blocking: Platform: Unknown / Cross platform
Ready: no Confidential: no
Tester: Ross Verified working: yes
Review URL(s):

Description (last modified by mjethani)

Environment

Adblock Plus 3.4 pre-release (development build)

How to reproduce

  1. Do a fresh install of Adblock Plus
  2. Go to yandex.ru, search for "rent a car", and observe that there are no ads
  3. Open the options page and uncheck "ABP Anti-Circumvention Filter List", then recheck "ABP Anti-Circumvention Filter List"
  4. Repeat step 2

Observed behaviour

Ads are visible.

Expected behaviour

Ads should be hidden.

Additional notes

This happens because snippet filters will be used only if they come from the ABP anti-circumvention filter list, but this is determined at the time of installation from the subscriptions.xml file. When the UI readds the list, it doesn't set the type property of the Subscription object the way it is done during first run.

The proper fix would be for the UI to set the type property of the newly created Subscription object to "circumvention".

Note that before the change for #6855 you would not be able to reproduce this issue without restarting the extension before readding the anti-circumvention filter list; that change has only made the underlying issue more apparent, this is not a regression because of that change.

Resolution

This was fixed by #6975 in adblockpluscore by hardcoding the URL of the anti-subscription filter list.

See follow-up issue #6977 for a more ideal fix.

Hints for testers

See #6975.

Change History (15)

comment:1 Changed 3 months ago by mjethani

  • Cc sebastian hfiguiere added
  • Description modified (diff)

comment:2 Changed 3 months ago by mjethani

I would consider this is P1.

comment:3 Changed 3 months ago by mjethani

  • Cc greiner added

comment:4 Changed 3 months ago by mjethani

Actually given that snippet filters may have been disabled for at least some users as a result of this behavior, perhaps it's better to do the fix in core instead.

comment:5 Changed 3 months ago by amrmak

  • Cc amrmak added

comment:6 Changed 3 months ago by sebastian

  • Priority changed from Unknown to P1

I agree this is P1, and therefore should be addressed before we release 3.4.

Handling this in core seems like a good idea, rather than having every code that adds subscriptions, look into subsciption.xml to figure out which attributes to set for the added subscription.

comment:7 Changed 3 months ago by mjethani

  • Blocked By 6975 added

comment:8 Changed 3 months ago by mjethani

The fix is now in adblockpluscore: changeset 2d1ef04ca952 (git: fb82c4a).

comment:9 Changed 3 months ago by greiner

Wouldn't it be better to look up its type from subscriptions.xml rather than hardcoding the URL for the Anti-CV list in the code?

In general, it'd be great if we could have a centralized data structure that's provided by Core from which we can extract this kind of information so that we don't fetch and parse subscriptions.xml in multiple places anymore.

comment:10 Changed 3 months ago by mjethani

I agree, I have filed #6977 for the proper fix, this fix is only for 3.4.

comment:11 Changed 3 months ago by mjethani

  • Blocked By 6980 added

comment:12 Changed 3 months ago by mjethani

  • Owner set to mjethani

comment:13 Changed 3 months ago by mjethani

  • Keywords circumvention added
  • Milestone set to Adblock-Plus-3.4-for-Chrome-Opera-Firefox
  • Resolution set to fixed
  • Status changed from new to closed

comment:14 Changed 3 months ago by mjethani

  • Description modified (diff)

comment:15 Changed 2 months ago by Ross

  • Tester changed from Unknown to Ross
  • Verified working set

This looks fixed (I think). Mainly tested by checking if the snippets appear in the devlog after removing/re-adding the subscription as some are being circumvented.

ABP 3.3.2.2172
Firefox 62 / 51 / Windows 10
Chrome 69 / 49 / Windows 10
Opera 56 / 36 / Windows 10

Note: See TracTickets for help on using tickets.