@duckduckgo/autoconsent 14.73.0 → 14.74.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/CHANGELOG.md CHANGED
@@ -1,3 +1,16 @@
1
+ # v14.74.0 (Wed Apr 22 2026)
2
+
3
+ #### 🚀 Enhancement
4
+
5
+ - Fix Sourcepoint opt-out on carwow.co.uk [#1318](https://github.com/duckduckgo/autoconsent/pull/1318) ([@cursoragent](https://github.com/cursoragent) [@muodov](https://github.com/muodov))
6
+
7
+ #### Authors: 2
8
+
9
+ - Cursor Agent ([@cursoragent](https://github.com/cursoragent))
10
+ - Maxim Tsoy ([@muodov](https://github.com/muodov))
11
+
12
+ ---
13
+
1
14
  # v14.73.0 (Sat Apr 18 2026)
2
15
 
3
16
  #### 🚀 Enhancement
@@ -2400,7 +2400,7 @@
2400
2400
  if (!actionable) {
2401
2401
  return false;
2402
2402
  }
2403
- if (!this.elementExists(manageSelector)) {
2403
+ if (this.elementVisible(".sp_choice_type_13", "any")) {
2404
2404
  return await this.click(".sp_choice_type_13");
2405
2405
  }
2406
2406
  await this.click(manageSelector);
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "manifest_version": 3,
3
3
  "name": "Autoconsent",
4
- "version": "2026.4.17",
4
+ "version": "2026.4.18",
5
5
  "background": {
6
6
  "scripts": [
7
7
  "background.bundle.js"
@@ -2400,7 +2400,7 @@
2400
2400
  if (!actionable) {
2401
2401
  return false;
2402
2402
  }
2403
- if (!this.elementExists(manageSelector)) {
2403
+ if (this.elementVisible(".sp_choice_type_13", "any")) {
2404
2404
  return await this.click(".sp_choice_type_13");
2405
2405
  }
2406
2406
  await this.click(manageSelector);
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "manifest_version": 3,
3
3
  "name": "Autoconsent",
4
- "version": "2026.4.17",
4
+ "version": "2026.4.18",
5
5
  "background": {
6
6
  "service_worker": "background.bundle.js"
7
7
  },
@@ -2435,7 +2435,7 @@ var SourcePoint = class extends AutoConsentCMPBase {
2435
2435
  if (!actionable) {
2436
2436
  return false;
2437
2437
  }
2438
- if (!this.elementExists(manageSelector)) {
2438
+ if (this.elementVisible(".sp_choice_type_13", "any")) {
2439
2439
  return await this.click(".sp_choice_type_13");
2440
2440
  }
2441
2441
  await this.click(manageSelector);
@@ -2405,7 +2405,7 @@ var SourcePoint = class extends AutoConsentCMPBase {
2405
2405
  if (!actionable) {
2406
2406
  return false;
2407
2407
  }
2408
- if (!this.elementExists(manageSelector)) {
2408
+ if (this.elementVisible(".sp_choice_type_13", "any")) {
2409
2409
  return await this.click(".sp_choice_type_13");
2410
2410
  }
2411
2411
  await this.click(manageSelector);
@@ -13257,7 +13257,7 @@ var SourcePoint = class extends AutoConsentCMPBase {
13257
13257
  if (!actionable) {
13258
13258
  return false;
13259
13259
  }
13260
- if (!this.elementExists(manageSelector)) {
13260
+ if (this.elementVisible(".sp_choice_type_13", "any")) {
13261
13261
  return await this.click(".sp_choice_type_13");
13262
13262
  }
13263
13263
  await this.click(manageSelector);
@@ -13191,7 +13191,7 @@ var SourcePoint = class extends AutoConsentCMPBase {
13191
13191
  if (!actionable) {
13192
13192
  return false;
13193
13193
  }
13194
- if (!this.elementExists(manageSelector)) {
13194
+ if (this.elementVisible(".sp_choice_type_13", "any")) {
13195
13195
  return await this.click(".sp_choice_type_13");
13196
13196
  }
13197
13197
  await this.click(manageSelector);
@@ -2407,7 +2407,7 @@
2407
2407
  if (!actionable) {
2408
2408
  return false;
2409
2409
  }
2410
- if (!this.elementExists(manageSelector)) {
2410
+ if (this.elementVisible(".sp_choice_type_13", "any")) {
2411
2411
  return await this.click(".sp_choice_type_13");
2412
2412
  }
2413
2413
  await this.click(manageSelector);
@@ -129,8 +129,12 @@ export default class SourcePoint extends AutoConsentCMPBase {
129
129
  return false;
130
130
  }
131
131
 
132
- if (!this.elementExists(manageSelector)) {
133
- // do not sell button
132
+ // If a one-click reject button (sp_choice_type_13) is visible on the notice,
133
+ // prefer it over opening the manage flow. This avoids picking the wrong
134
+ // element when multiple sp_choice_type_12 buttons coexist (e.g. an
135
+ // informational link alongside a "Manage settings" button), and also covers
136
+ // the CCPA "do not sell" case where sp_choice_type_13 is the only action.
137
+ if (this.elementVisible('.sp_choice_type_13', 'any')) {
134
138
  return await this.click('.sp_choice_type_13');
135
139
  }
136
140
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@duckduckgo/autoconsent",
3
- "version": "14.73.0",
3
+ "version": "14.74.0",
4
4
  "description": "",
5
5
  "types": "./dist/types/web.d.ts",
6
6
  "exports": {
@@ -1,6 +1,11 @@
1
1
  import generateCMPTests from '../playwright/runner';
2
2
 
3
- generateCMPTests('Sourcepoint-frame', ['https://www.theguardian.com/', 'https://news.sky.com/', 'https://www.economist.com/']);
3
+ generateCMPTests('Sourcepoint-frame', [
4
+ 'https://www.theguardian.com/',
5
+ 'https://news.sky.com/',
6
+ 'https://www.economist.com/',
7
+ 'https://www.carwow.co.uk/',
8
+ ]);
4
9
 
5
10
  generateCMPTests(
6
11
  'Sourcepoint-frame',