Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Adjust the maximum number of static rulesets and enabled rulesets #318

Open
105th opened this issue Nov 10, 2022 · 6 comments
Open

Adjust the maximum number of static rulesets and enabled rulesets #318

105th opened this issue Nov 10, 2022 · 6 comments
Labels
implemented: chrome Implemented in Chrome implemented: safari Implemented in Safari supportive: firefox Supportive from Firefox topic: dnr Related to declarativeNetRequest

Comments

@105th
Copy link

105th commented Nov 10, 2022

Proposal

We at AdGuard suppose that the limits should correspond to the functionality of MV2 extensions and this is currently not the case.

Increase the maximum number of static rulesets to 100

The reasoning is rather simple. We checked the number of filter lists that are included into three popular ad blocking extensions and here is what we got.

  • AdGuard provides a choice of ~80 filter lists
  • uBlock Origin provides a choice of ~60 filter lists
  • Adblock Plus provides a choice of 27 filters
AdGuard filters changes history
Filters on Oct 24 2022: 83
Filters on Aug 01 2022: 78
Filters on Jul 01 2022: 79
Filters on Jun 22 2022: 81
Filters on Apr 04 2022: 80
Filters on Dec 30 2021: 81
Filters on Nov 09 2021: 82
Filters on May 18 2021: 81
Filters on Oct 21 2020: 82
Filters on Jul 14 2020: 88
uBlock Origin filters changes history
Filters Oct 24 2022: 60
Filters Apr 07 2022: 59
Filters Mar 14 2022: 58
Filters Mar 06 2022: 59
Filters Jan 12 2022: 58
Filters Jan 02 2022: 59
Filters Oct 16 2021: 58
Filters Jul 03 2021: 57
Filters Jun 24 2021: 56
Filters Mar 06 2021: 57
Filters Jan 31 2021: 58
Filters Aug 21 2020: 57
Filters Jul 08 2020: 58
Filters Jul 06 2020: 59
Filters Apr 04 2020: 60
Filters Mar 26 2020: 61
Filters Mar 16 2020: 62
Filters Feb 27 2020: 63
Filters Jan 09 2020: 64
Adblock plus filters changes history
Filters on Apr 02 2022: 27
Filters on Sep 25 2020: 25
Filters on Aug 17 2020: 24

With the current limit of 50 rulesets we won’t be able to repeat this functionality. To conclude, we think that the maximum number of rulesets should be increased from 50 to 100 so that we didn’t reduce the users choice compared to MV2.

Increase the maximum number of enabled rulesets to 20 or higher

In order to find out what would be the adequate maximum number we analyzed public issues (raw values) from AdGuard users from the AdguardFilters repo.

The ratio of issues to the number of filters enabled

It appears that 25% of AdGuard users have over 10 filter lists enabled.

In addition to that, uBlock Origin by default has 10 filter lists enabled.

If the limit is increased to 20 it will not solve all the transition issues, but it will at least be a problem for just 7% of the users.

@xeenon xeenon added the supportive: safari Supportive from Safari label Nov 16, 2022
@Rob--W Rob--W added the topic: dnr Related to declarativeNetRequest label Nov 18, 2022
@dotproto dotproto added the follow-up: chrome Needs a response from a Chrome representative label Dec 8, 2022
@Rob--W Rob--W added supportive: firefox Supportive from Firefox follow-up: chrome Needs a response from a Chrome representative and removed follow-up: chrome Needs a response from a Chrome representative labels Dec 8, 2022
@ameshkov
Copy link

ameshkov commented Aug 2, 2023

@oliverdunk hi Oliver, just wanted to remind about this one, is there any update? I saw that the limits were mentioned in the known issues so I reckon it means that Chrome is supportive?

@oliverdunk
Copy link
Member

@oliverdunk hi Oliver, just wanted to remind about this one, is there any update? I saw that the limits were mentioned in the known issues so I reckon it means that Chrome is supportive?

We're definitely supportive of the general concept, and as you mentioned it's on our list of issues to resolve before announcing a new MV3 timeline. We do still want to have some discussions internally about exactly what limits to pick - at first glance your suggestions seem reasonable but we need to spend a bit more time on it just to make sure.

aarongable pushed a commit to chromium/chromium that referenced this issue Oct 17, 2023
Following the metrics we've added, we have good indication that we can
reasonably raise the static ruleset counts for the
declarativeNetRequest API without incurring an unreasonable performance
impact.

This CL adjusts ruleset counts as follows:
enabled static rulesets: 10 (old) -> 50 (new)
total static rulesets: 50 (old) -> 100 (new)

We are looking into making (at least some of) the data we used for this
investigation public.

We may adjust these rulesets more in the future, depending on the real-
world impact we see from these changes.

Web Extensions Community Group Issue:
w3c/webextensions#318

Bug: 1442920
Change-Id: Iabd5aa9c842825553f56827829748272605ef7ef
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4939511
Reviewed-by: Kelvin Jiang <[email protected]>
Commit-Queue: Devlin Cronin <[email protected]>
Cr-Commit-Position: refs/heads/main@{#1211041}
@oliverdunk
Copy link
Member

We’ve just landed this and it should be in Canary later today [1]. We’ve increased the limit on enabled static rulesets significantly, from 10 to 50, and the limit on total static rulesets to 100.

[1] https://chromium-review.googlesource.com/c/chromium/src/+/4939511

@oliverdunk oliverdunk added implemented: chrome Implemented in Chrome and removed follow-up: chrome Needs a response from a Chrome representative labels Oct 17, 2023
@dotproto dotproto added the implemented: safari Implemented in Safari label Mar 18, 2024
@Rob--W
Copy link
Member

Rob--W commented Mar 18, 2024

Not implemented yet in Firefox, tracked at https://bugzilla.mozilla.org/show_bug.cgi?id=1803370

@xeenon xeenon removed the supportive: safari Supportive from Safari label Mar 18, 2024
@dotproto
Copy link
Member

dotproto commented Mar 18, 2024

This has been implemented in WebKit but has not yet shipped in Safari.

@kiaraarose
Copy link

Increasing the maximum session and dynamic count to 30,000 was also implemented in WebKit but not yet Safari.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
implemented: chrome Implemented in Chrome implemented: safari Implemented in Safari supportive: firefox Supportive from Firefox topic: dnr Related to declarativeNetRequest
Projects
None yet
Development

No branches or pull requests

7 participants