Skip to content

Update webext-sdk dependency to 0.8.0

Background / User story

We want to bring in additional fixes and features to improve our Manifest v3 extension.

EWE milestone: https://gitlab.com/eyeo/adblockplus/abc/webext-sdk/-/milestones/21

Dependency changes

Integration changes

  • Legal: TBD
  • Development:
    • Adjust usage of the following APIs accordingly:
      • debugging.setElementHidingDebugMode()
      • debugging.setElementHidingDebugStyle()
      • notifications.getDownloadCount()
      • notifications.getIgnoredCategories()
      • notifications.markAsShown()
      • notifications.shouldIgnoreNotifications()
      • notifications.showNext()
      • notifications.showNotification()
      • notifications.start()
      • notifications.toggleIgnoreCategory()
      • subscriptions.getDownloadables()
      • subscriptions.getMigrationErrors()
    • Use filters.getMigrationErrors() alongside subscriptions.getMigrationErrors().
    • Regenerate rules files. (see #1327 (closed))
    • If necessary, adjust usage of debugging APIs, as its state no longer needs to be persisted.
    • If necessary, adjust usage of local notifications, as they're now being persisted.
    • If necessary, adjust to changes to "circumvention"-type filter lists generation/download behavior.
    • Check whether eyeo/adblockplus/abc/adblockpluscore#478 (closed) has any negative impact on the reinitialized state during initialization.

Hints for testers

  • There should be no permission warnings when upgrading from Manifest v2 to v3.
  • Request blocking should continue to work on all websites.
    We changed the extension permissions for blocking requests to only apply to those sites that we have host permissions for. We currently have those for all sites, but this is expected to change at some point in the future.
  • Element hiding debug mode should work as expected.
  • Notifications should work as expected (incl. opting-in/out of notifications; download count attached to uninstall URL).
  • Local notifications (i.e. day-1, problem and updates notifications) should not be shown multiple times in the same session.
  • Removing all filter lists should lead to the settings being reinitialized and the "problem" notification being shown.
  • On subsequent extension restarts (see https://gitlab.com/eyeo/adblockplus/abc/webext-sdk/-/issues/385), error messages should be shown in background page JavaScript console for each subscription and filter migration error that occurred.

Note that this issue doesn't include the changes from #1327 (closed) and #1328 (closed) yet, so under Manifest v3 the following is not expected to work yet:

  • Considering non-downloadable filter lists in the UI (e.g. last updated data shown in settings page, download status shown in issue report data)
  • Regular expression filters support
  • Omitting inclusion of downloadable filter lists (i.e. "circumvention"-type filter lists) in the extension build
Edited by Thomas Greiner
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information