Manifest V3 declarativeNetRequest rule limits and validation in Opera
26.5K reputation · 17 Aug 2023, 11:48 UTC
Opera Developer (Chromium 115+) has implemented Manifest V3 support, transitioning extensions from the webRequest blocking API to declarativeNetRequest. While this aligns with Chromium standards, Opera enforces a maximum rule count of 30,000, which is significantly lower than the 150,000 limit found in Google Chrome.
This discrepancy creates a compatibility boundary for complex extensions. Furthermore, there are reports of silent failures when loading rule sets containing dynamic URL patterns with regex, as well as intermittent INVALID_ARGUMENT (error -8) responses during updateDynamicRules calls, even when the rule array adheres to the documented schema.
Technical Uncertainties
- Does Opera provide a mechanism to detect rule truncation when the 30k limit is exceeded?
- What specific regex patterns trigger silent failures within the
declarativeNetRequestimplementation? - Is the error -8 during dynamic rule updates a known validation bug or a result of undocumented constraint violations?