Update webext-sdk dependency to bring in required fixes
Background / User story
We have started using the EWE API in #972 (closed), but there are some known problems with the SDK that we were still waiting for to get fixed. Therefore we should update the dependency before releasing a first version of Adblock Plus based on EWE.
Dependency changes
- Name: webext-sdk
- New version: 0.1.1
-
Breaking changes:
-
ewe#119
- Renamed
FilterMatchInfo.details
toFilterMatchInfo.request
. - Renamed
FilterMatchInfo.info
toFilterMatchInfo.matchInfo
. - Renamed
FilterMatchInfo.info.matchingMethod
toFilterMatchInfo.matchInfo.method
. - Renamed and negated
FirstRunInfo.storageFirstRun
toFirstRunInfo.foundStorage
. - Renamed and negated
FirstRunInfo.subscriptionsFirstRun
toFirstRunInfo.foundSubscriptions
.
- Renamed
-
ewe#120 - Updated function signature of
snippets.setLibrary()
. -
ewe#125 - Moved
onSubscribeLinkClicked
toreporting.onSubscribeLinkClicked
. -
ewe#137 - Increased minimum supported Node version to v16.10.0 and npm to v7.
See also release notes for Node 13, 14, 15 and 16. -
ewe#138 - Made
filters.add/disable/enable/getUserFilters/remove
asynchronous.
-
ewe#119
- Other changes:
Integration changes
- Legal: N/A
-
Development:
- Rename properties and update function calls according to breaking changes.
- Increase minimum supported Node version to v16.10.0 and npm to v7.
- Upgrade canvas to v2.8.0.
- Replace node-sass with sass.
- Ensure that all dependencies are compatible with it (incl. npm packages and abp-snippets).
Hints for testers
- Building the extension should continue to work. As part of that:
- CSS bundles should be generated as before (incl. there should be no source map included).
- Toolbar icons should be generated as before.
- Requests should be shown in the developer tools panel as before. There should be no duplicates, unless more than one allowlisting filter is applied to the same request.
Note that top-level frame requests are also shown now with the type "DOCUMENT". - Requests should be shown in the issue report data as before.
Note that top-level frame requests are also shown now with the type "DOCUMENT". - The following user actions should continue to work:
- Icon popup:
- Allowlisting a site should add/enable the respective filter.
- Unallowlisting a site should remove/disable the respective filter.
- Settings page:
- Showing custom filters.
- Adding/editing/removing/enabling/disabling a custom filter.
- Bulk-adding multiple custom filters.
- Enabling all filters in a downloadable filter list, when an error is shown due to some filters being disabled.
- Icon popup:
- Custom filters suggested in the "Block element" dialog should take into account:
- Is the frame (or any parent frame)
$document
allowlisted? If so, no filter should be suggested. - Is the request itself allowlisted? If so, no blocking filter should be suggested.
- Is the frame
$genericblock
allowlisted? If so, a specific blocking filter should be suggested instead of a generic one. - Is the frame (or any parent frame)
$elemhide
allowlisted? If so, no element hiding filter should be suggested.
- Is the frame (or any parent frame)
- Snippets should continue to work.
- Subscribe links should continue to work.
- Detecting data corruption by checking whether users has any custom filters, should continue to work.
Related SDK issues
Issue | Description | Impact | Status |
---|---|---|---|
https://gitlab.com/eyeo/adblockplus/abc/webext-sdk/-/issues/135 | Duplicate requests in developer tools panel and issue reports | medium | ✓ |
https://gitlab.com/eyeo/adblockplus/abc/webext-sdk/-/issues/136 | Custom filters generated in subframes if parent frame is allowlisted | low | ✓ |
https://gitlab.com/eyeo/adblockplus/abc/webext-sdk/-/issues/139 |
$sitekey allowlisting broken |
medium | ✓ |
https://gitlab.com/eyeo/adblockplus/abc/webext-sdk/-/issues/155 | "blockedTotalMin" and "blockedTotalMax" notification properties don't work | low | ✓ |
https://gitlab.com/eyeo/adblockplus/abc/webext-sdk/-/issues/163 | Error thrown when opening a new tab | low | ✓ |
https://gitlab.com/eyeo/adblockplus/abc/webext-sdk/-/issues/165 | Incorrect/redundant main frame request shown in developer tools panel | low | ✓ |
Edited by Thomas Greiner