@duckduckgo/autoconsent 16.46.0 → 16.48.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.github/dependabot.yml +6 -0
- package/.github/labeler.yml +1 -1
- package/.github/workflows/release-labels.yml +19 -11
- package/AGENTS.md +3 -0
- package/CHANGELOG.md +48 -0
- package/dist/addon-firefox/compact-rules.json +1 -1
- package/dist/addon-firefox/content.bundle.js +4 -2
- package/dist/addon-firefox/manifest.json +1 -1
- package/dist/addon-firefox/rule-index.json +1 -1
- package/dist/addon-firefox/rules.json +1 -1
- package/dist/addon-mv3/compact-rules.json +1 -1
- package/dist/addon-mv3/content.bundle.js +4 -2
- package/dist/addon-mv3/manifest.json +1 -1
- package/dist/addon-mv3/rule-index.json +1 -1
- package/dist/addon-mv3/rules.json +1 -1
- package/dist/autoconsent.cjs.js +4 -2
- package/dist/autoconsent.esm.js +4 -2
- package/dist/autoconsent.playwright.js +4 -2
- package/dist/autoconsent.standalone.js +5 -3
- package/lib/encoding.ts +1 -8
- package/lib/messages.ts +1 -6
- package/lib/web.ts +5 -4
- package/package.json +6 -6
- package/rules/autoconsent/burpee-com.json +13 -7
- package/rules/autoconsent/controlgame.json +12 -0
- package/rules/autoconsent/dalecarnegie.json +44 -0
- package/rules/autoconsent/jpmorgan-chase.json +10 -0
- package/rules/autoconsent/pmc-privacy-banner.json +9 -0
- package/rules/autoconsent/tealium.json +1 -1
- package/rules/compact-rules.json +1 -1
- package/rules/rule-index.json +1 -1
- package/rules/rules.json +1 -1
- package/tests/burpee-com.spec.ts +10 -4
- package/tests/controlgame.spec.ts +3 -0
- package/tests/dalecarnegie.spec.ts +3 -0
- package/tests/jpmorgan-chase.spec.ts +8 -0
- package/tests/pmc-privacy-banner.spec.ts +8 -0
- package/tests/tealium.spec.ts +8 -6
- package/tests-wtr/lifecycle/find-cmp.ts +13 -0
- package/tsconfig.build.json +1 -0
- package/tsconfig.json +2 -1
package/.github/dependabot.yml
CHANGED
|
@@ -4,6 +4,12 @@ updates:
|
|
|
4
4
|
directory: '/' # Location of package manifests
|
|
5
5
|
schedule:
|
|
6
6
|
interval: 'weekly'
|
|
7
|
+
cooldown:
|
|
8
|
+
default-days: 7
|
|
9
|
+
ignore:
|
|
10
|
+
# typescript-eslint and ts-node do not support TypeScript 7 yet.
|
|
11
|
+
- dependency-name: 'typescript'
|
|
12
|
+
versions: ['>=7']
|
|
7
13
|
labels:
|
|
8
14
|
- 'category: dependencies'
|
|
9
15
|
groups:
|
package/.github/labeler.yml
CHANGED
|
@@ -16,28 +16,36 @@ permissions:
|
|
|
16
16
|
issues: write
|
|
17
17
|
pull-requests: write
|
|
18
18
|
|
|
19
|
-
concurrency:
|
|
20
|
-
group: release-labels-${{ github.event.pull_request.number }}
|
|
21
|
-
cancel-in-progress: true
|
|
22
|
-
|
|
23
19
|
jobs:
|
|
24
|
-
|
|
20
|
+
# No concurrency group here: a 'labeled' event right after 'opened' must not cancel this job.
|
|
21
|
+
path-labels:
|
|
22
|
+
if: >-
|
|
23
|
+
${{
|
|
24
|
+
github.event.action == 'opened' ||
|
|
25
|
+
github.event.action == 'reopened' ||
|
|
26
|
+
github.event.action == 'ready_for_review'
|
|
27
|
+
}}
|
|
25
28
|
runs-on: ubuntu-latest
|
|
26
29
|
steps:
|
|
27
30
|
- uses: actions/checkout@v4
|
|
28
31
|
|
|
29
32
|
- name: Apply path-based labels
|
|
30
|
-
if: >-
|
|
31
|
-
${{
|
|
32
|
-
github.event.action == 'opened' ||
|
|
33
|
-
github.event.action == 'reopened' ||
|
|
34
|
-
github.event.action == 'ready_for_review'
|
|
35
|
-
}}
|
|
36
33
|
uses: actions/labeler@v6
|
|
37
34
|
with:
|
|
38
35
|
repo-token: ${{ secrets.GITHUB_TOKEN }}
|
|
39
36
|
sync-labels: false
|
|
40
37
|
|
|
38
|
+
release-labels:
|
|
39
|
+
needs: path-labels
|
|
40
|
+
# Run when path-labels is skipped or fails, so the label check still happens.
|
|
41
|
+
if: ${{ !cancelled() }}
|
|
42
|
+
runs-on: ubuntu-latest
|
|
43
|
+
concurrency:
|
|
44
|
+
group: release-labels-${{ github.event.pull_request.number }}
|
|
45
|
+
cancel-in-progress: true
|
|
46
|
+
steps:
|
|
47
|
+
- uses: actions/checkout@v4
|
|
48
|
+
|
|
41
49
|
- name: Use Node.js
|
|
42
50
|
uses: actions/setup-node@v4
|
|
43
51
|
with:
|
package/AGENTS.md
CHANGED
|
@@ -147,12 +147,15 @@ shadow root or same-origin iframe.
|
|
|
147
147
|
- **selfTests are optional.** It is okay to NOT have a self-test, or have it failing as long as the popup is handled correctly. Confirm this with screenshots.
|
|
148
148
|
- Generic rules without a urlPattern MUST have at least two sites in the spec file.
|
|
149
149
|
- If the popup comes in different DOM structures, cover all of them in the spec file.
|
|
150
|
+
- **Keep spec URLs current.** When a site in a spec file no longer uses the rule's CMP (it switched CMPs or dropped its banner), replace it with a site that does, found in `data/coverage.json` or with the `publicwww-search` skill, and check the new site like any other. Do not just delete it: generic rules still need two sites. First check every region the spec runs in; if the popup only stopped showing in some of them, adjust `onlyRegions` or `skipRegions` instead. For a site-specific rule, the site no longer using the CMP means the rule itself may be stale (see Updating existing rules).
|
|
150
151
|
|
|
151
152
|
### Breakage in cosmetic rules
|
|
152
153
|
**Prefer a non-cosmetic rule.** A cosmetic (`hide`) rule is a last resort when there is no reject/dismiss path. If cosmetic is unavoidable, verify that hiding the element does not break the page and **report that evidence**. Cosmetic rule without breakage-check evidence is incomplete.
|
|
153
154
|
|
|
154
155
|
Check each breakage type separately and report a verdict on each, rather than a general "looks fine": **leftover overlay** (a banner remnant or backdrop still covering the page), **blocked scrolling** (a scroll or overflow lock left on html/body or the dialog), **blocked interaction** (clicks or taps not reaching the page), and **reload loop** (the rule still matching after the popup is dismissed and the page is reloaded).
|
|
155
156
|
|
|
157
|
+
**Check a generic cosmetic rule on every site it applies to, not only the reported one.** A rule without a `urlPattern` hides elements on every site with that CMP, and each site can break differently. Run the breakage check on all known sites (the spec file, `data/coverage.json`, and the publicwww sites you tested), and report the verdicts for each site.
|
|
158
|
+
|
|
156
159
|
When using `hide`, the CMP may lock scrolling or add overlays. Add fixes AFTER the `hide` step, marked `"optional": true`:
|
|
157
160
|
|
|
158
161
|
| Problem | Fix |
|
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,51 @@
|
|
|
1
|
+
# v16.48.0 (Thu Oct 08 2026)
|
|
2
|
+
|
|
3
|
+
#### Rules
|
|
4
|
+
|
|
5
|
+
- Rule update: Tealium [#1626](https://github.com/duckduckgo/autoconsent/pull/1626) ([@daxtheduck](https://github.com/daxtheduck) [@muodov](https://github.com/muodov))
|
|
6
|
+
- Rule update: pmc-privacy-banner [#1621](https://github.com/duckduckgo/autoconsent/pull/1621) ([@daxtheduck](https://github.com/daxtheduck) [@muodov](https://github.com/muodov))
|
|
7
|
+
- Click Decline in the burpee.com rule when the banner has one [#1619](https://github.com/duckduckgo/autoconsent/pull/1619) ([@muodov](https://github.com/muodov))
|
|
8
|
+
|
|
9
|
+
#### AI / Agent Workflow
|
|
10
|
+
|
|
11
|
+
- Check generic cosmetic rules for breakage on every site [#1634](https://github.com/duckduckgo/autoconsent/pull/1634) ([@muodov](https://github.com/muodov))
|
|
12
|
+
- Tell agents to keep spec URLs current [#1624](https://github.com/duckduckgo/autoconsent/pull/1624) ([@muodov](https://github.com/muodov))
|
|
13
|
+
|
|
14
|
+
#### Authors: 2
|
|
15
|
+
|
|
16
|
+
- Dax ([@daxtheduck](https://github.com/daxtheduck))
|
|
17
|
+
- Maxim Tsoy ([@muodov](https://github.com/muodov))
|
|
18
|
+
|
|
19
|
+
---
|
|
20
|
+
|
|
21
|
+
# v16.47.0 (Wed Oct 07 2026)
|
|
22
|
+
|
|
23
|
+
#### Rules
|
|
24
|
+
|
|
25
|
+
- Rule update: controlgame [#1616](https://github.com/duckduckgo/autoconsent/pull/1616) ([@daxtheduck](https://github.com/daxtheduck))
|
|
26
|
+
- Rule update: dalecarnegie [#1617](https://github.com/duckduckgo/autoconsent/pull/1617) ([@daxtheduck](https://github.com/daxtheduck))
|
|
27
|
+
- Rule update: jpmorgan-chase [#1615](https://github.com/duckduckgo/autoconsent/pull/1615) ([@daxtheduck](https://github.com/daxtheduck))
|
|
28
|
+
|
|
29
|
+
#### Bug Fixes
|
|
30
|
+
|
|
31
|
+
- Don't wait for a DOM mutation after an attempt that skipped the heuristic [#1611](https://github.com/duckduckgo/autoconsent/pull/1611) ([@muodov](https://github.com/muodov))
|
|
32
|
+
|
|
33
|
+
#### Dependencies
|
|
34
|
+
|
|
35
|
+
- Upgrade TypeScript to 6 and add a 7-day Dependabot cooldown [#1607](https://github.com/duckduckgo/autoconsent/pull/1607) ([@muodov](https://github.com/muodov))
|
|
36
|
+
|
|
37
|
+
#### CI / Release Automation
|
|
38
|
+
|
|
39
|
+
- Use needs-code-update label and stop label events from cancelling the labeler [#1609](https://github.com/duckduckgo/autoconsent/pull/1609) ([@claude](https://github.com/claude) [@muodov](https://github.com/muodov))
|
|
40
|
+
|
|
41
|
+
#### Authors: 3
|
|
42
|
+
|
|
43
|
+
- Claude ([@claude](https://github.com/claude))
|
|
44
|
+
- Dax ([@daxtheduck](https://github.com/daxtheduck))
|
|
45
|
+
- Maxim Tsoy ([@muodov](https://github.com/muodov))
|
|
46
|
+
|
|
47
|
+
---
|
|
48
|
+
|
|
1
49
|
# v16.46.0 (Tue Oct 06 2026)
|
|
2
50
|
|
|
3
51
|
#### Rules
|