Skip to content

Conversation

@laghee
Copy link
Contributor

@laghee laghee commented Dec 9, 2025

Asana Task/Github Issue: https://app.asana.com/1/137249556945/project/45878998844068/task/1212017506660685?focus=true

Not sure if we want to flip to enabled immediately or do that separately? Wdyt, @jonathanKingston ? (looks like we got the native bump to C-S-S 12.2.0 into preview v.0.141.5 🎉 )

Feature change process:

  • I have added a schema to validate this feature change.
  • I have tested this change locally in all supported browsers.
  • This code for the config change is ready to merge.
  • This feature was covered by a tech design.

Note

Introduces the uaChBrands feature (schema, base config, build integration) and enables it on Windows with a conditional additionalCheck; also adds preview to condition blocks.

  • Features:
    • uaChBrands:
      • Adds schema (schema/features/ua-ch-brands.ts) and base config (features/ua-ch-brands.json).
      • Wires into config types (schema/config.ts).
      • Propagates temp unprotected exceptions in build (index.js).
      • Windows override: enabled with additionalCheck and conditional patch when internal and preview (overrides/windows-override.json).
  • Schema/Core:
    • Adds preview condition support to ConditionBlock (schema/feature.ts).

Written by Cursor Bugbot for commit 3aa170b. This will update automatically on new commits. Configure here.

@laghee laghee requested review from a team and daxtheduck as code owners December 9, 2025 14:47
@laghee laghee added the SBT-PFM-ATP Breakage mitigations (Asana sync) label Dec 9, 2025
github-actions bot pushed a commit that referenced this pull request Dec 9, 2025
github-actions bot pushed a commit that referenced this pull request Dec 9, 2025
@github-actions
Copy link

github-actions bot commented Dec 9, 2025

Generated file outputs:

Time updated: Thu, 11 Dec 2025 15:12:24 GMT

legacy
trackers-unprotected-temporary.txt

⚠️ File is identical

3 files changed
  • v3/android-config.json
  • v3/ios-config.json
  • v3/macos-config.json
--- v3/macos-config.json (and 2 other files)
+++ v3/macos-config.json
@@ -101981,8 +101981,21 @@
             },
             "state": "enabled",
             "minSupportedVersion": "0.22.3"
         },
+        "uaChBrands": {
+            "state": "disabled",
+            "exceptions": [
+                {
+                    "domain": "marvel.com",
+                    "reason": "https://github.com/duckduckgo/privacy-configuration/issues/1194"
+                },
+                {
+                    "domain": "noaprints.com",
+                    "reason": "https://github.com/duckduckgo/privacy-configuration/pull/2143"
+                }
+            ]
+        },
         "voiceSearch": {
             "exceptions": [],
             "state": "disabled"
         },
10 files changed
  • v3/extension-brave-config.json
  • v3/extension-bravemv3-config.json
  • v3/extension-chrome-config.json
  • v3/extension-chromemv3-config.json
  • v3/extension-config.json
  • v3/extension-edg-config.json
  • v3/extension-edge-config.json
  • v3/extension-edgmv3-config.json
  • v3/extension-firefox-config.json
  • v3/extension-safarimv3-config.json
--- v3/extension-safarimv3-config.json (and 9 other files)
+++ v3/extension-safarimv3-config.json
@@ -13493,8 +13493,41 @@
             },
             "state": "enabled",
             "minSupportedVersion": "2023.5.23"
         },
+        "uaChBrands": {
+            "state": "disabled",
+            "exceptions": [
+                {
+                    "domain": "marvel.com",
+                    "reason": "https://github.com/duckduckgo/privacy-configuration/issues/1194"
+                },
+                {
+                    "domain": "noaprints.com",
+                    "reason": "https://github.com/duckduckgo/privacy-configuration/pull/2143"
+                },
+                {
+                    "domain": "localhost",
+                    "reason": "Protections are disabled on localhost pages"
+                },
+                {
+                    "domain": "127.0.0.1",
+                    "reason": "Protections are disabled on localhost pages"
+                },
+                {
+                    "domain": "::1",
+                    "reason": "Protections are disabled on localhost pages"
+                },
+                {
+                    "domain": "livenation.com",
+                    "reason": "https://github.com/duckduckgo/privacy-configuration/issues/1053"
+                },
+                {
+                    "domain": "ticketmaster.com",
+                    "reason": "https://github.com/duckduckgo/privacy-configuration/issues/794"
+                }
+            ]
+        },
         "voiceSearch": {
             "exceptions": [],
             "state": "disabled"
         },
v3/windows-config.json
--- v3/windows-config.json
+++ v3/windows-config.json
@@ -104306,8 +104306,43 @@
                 ]
             },
             "state": "disabled"
         },
+        "uaChBrands": {
+            "state": "enabled",
+            "exceptions": [
+                {
+                    "domain": "marvel.com",
+                    "reason": "https://github.com/duckduckgo/privacy-configuration/issues/1194"
+                },
+                {
+                    "domain": "noaprints.com",
+                    "reason": "https://github.com/duckduckgo/privacy-configuration/pull/2143"
+                }
+            ],
+            "settings": {
+                "additionalCheck": "disabled",
+                "conditionalChanges": [
+                    {
+                        "condition": [
+                            {
+                                "internal": true
+                            },
+                            {
+                                "preview": true
+                            }
+                        ],
+                        "patchSettings": [
+                            {
+                                "op": "replace",
+                                "path": "/additionalCheck",
+                                "value": "enabled"
+                            }
+                        ]
+                    }
+                ]
+            }
+        },
         "urlPredictor": {
             "exceptions": [],
             "state": "disabled",
             "settings": {
3 files changed
  • v4/android-config.json
  • v4/ios-config.json
  • v4/macos-config.json
--- v4/macos-config.json (and 2 other files)
+++ v4/macos-config.json
@@ -100921,8 +100921,19 @@
             },
             "state": "enabled",
             "minSupportedVersion": "0.22.3"
         },
+        "uaChBrands": {
+            "state": "disabled",
+            "exceptions": [
+                {
+                    "domain": "marvel.com"
+                },
+                {
+                    "domain": "noaprints.com"
+                }
+            ]
+        },
         "voiceSearch": {
             "exceptions": [],
             "state": "disabled"
         },
10 files changed
  • v4/extension-brave-config.json
  • v4/extension-bravemv3-config.json
  • v4/extension-chrome-config.json
  • v4/extension-chromemv3-config.json
  • v4/extension-config.json
  • v4/extension-edg-config.json
  • v4/extension-edge-config.json
  • v4/extension-edgmv3-config.json
  • v4/extension-firefox-config.json
  • v4/extension-safarimv3-config.json
--- v4/extension-safarimv3-config.json (and 9 other files)
+++ v4/extension-safarimv3-config.json
@@ -12306,8 +12306,34 @@
             },
             "state": "enabled",
             "minSupportedVersion": "2023.5.23"
         },
+        "uaChBrands": {
+            "state": "disabled",
+            "exceptions": [
+                {
+                    "domain": "marvel.com"
+                },
+                {
+                    "domain": "noaprints.com"
+                },
+                {
+                    "domain": "localhost"
+                },
+                {
+                    "domain": "127.0.0.1"
+                },
+                {
+                    "domain": "::1"
+                },
+                {
+                    "domain": "livenation.com"
+                },
+                {
+                    "domain": "ticketmaster.com"
+                }
+            ]
+        },
         "voiceSearch": {
             "exceptions": [],
             "state": "disabled"
         },
v4/windows-config.json
--- v4/windows-config.json
+++ v4/windows-config.json
@@ -103270,8 +103270,41 @@
                 ]
             },
             "state": "disabled"
         },
+        "uaChBrands": {
+            "state": "enabled",
+            "exceptions": [
+                {
+                    "domain": "marvel.com"
+                },
+                {
+                    "domain": "noaprints.com"
+                }
+            ],
+            "settings": {
+                "additionalCheck": "disabled",
+                "conditionalChanges": [
+                    {
+                        "condition": [
+                            {
+                                "internal": true
+                            },
+                            {
+                                "preview": true
+                            }
+                        ],
+                        "patchSettings": [
+                            {
+                                "op": "replace",
+                                "path": "/additionalCheck",
+                                "value": "enabled"
+                            }
+                        ]
+                    }
+                ]
+            }
+        },
         "urlPredictor": {
             "exceptions": [],
             "state": "internal",
             "settings": {
latest
3 files changed
  • v5/android-config.json
  • v5/ios-config.json
  • v5/macos-config.json
--- v5/macos-config.json (and 2 other files)
+++ v5/macos-config.json
@@ -100921,8 +100921,19 @@
             },
             "state": "enabled",
             "minSupportedVersion": "0.22.3"
         },
+        "uaChBrands": {
+            "state": "disabled",
+            "exceptions": [
+                {
+                    "domain": "marvel.com"
+                },
+                {
+                    "domain": "noaprints.com"
+                }
+            ]
+        },
         "voiceSearch": {
             "exceptions": [],
             "state": "disabled"
         },
10 files changed
  • v5/extension-brave-config.json
  • v5/extension-bravemv3-config.json
  • v5/extension-chrome-config.json
  • v5/extension-chromemv3-config.json
  • v5/extension-config.json
  • v5/extension-edg-config.json
  • v5/extension-edge-config.json
  • v5/extension-edgmv3-config.json
  • v5/extension-firefox-config.json
  • v5/extension-safarimv3-config.json
--- v5/extension-safarimv3-config.json (and 9 other files)
+++ v5/extension-safarimv3-config.json
@@ -12306,8 +12306,34 @@
             },
             "state": "enabled",
             "minSupportedVersion": "2023.5.23"
         },
+        "uaChBrands": {
+            "state": "disabled",
+            "exceptions": [
+                {
+                    "domain": "marvel.com"
+                },
+                {
+                    "domain": "noaprints.com"
+                },
+                {
+                    "domain": "localhost"
+                },
+                {
+                    "domain": "127.0.0.1"
+                },
+                {
+                    "domain": "::1"
+                },
+                {
+                    "domain": "livenation.com"
+                },
+                {
+                    "domain": "ticketmaster.com"
+                }
+            ]
+        },
         "voiceSearch": {
             "exceptions": [],
             "state": "disabled"
         },
v5/windows-config.json
--- v5/windows-config.json
+++ v5/windows-config.json
@@ -103270,8 +103270,41 @@
                 ]
             },
             "state": "disabled"
         },
+        "uaChBrands": {
+            "state": "enabled",
+            "exceptions": [
+                {
+                    "domain": "marvel.com"
+                },
+                {
+                    "domain": "noaprints.com"
+                }
+            ],
+            "settings": {
+                "additionalCheck": "disabled",
+                "conditionalChanges": [
+                    {
+                        "condition": [
+                            {
+                                "internal": true
+                            },
+                            {
+                                "preview": true
+                            }
+                        ],
+                        "patchSettings": [
+                            {
+                                "op": "replace",
+                                "path": "/additionalCheck",
+                                "value": "enabled"
+                            }
+                        ]
+                    }
+                ]
+            }
+        },
         "urlPredictor": {
             "exceptions": [],
             "state": "internal",
             "settings": {

@github-actions
Copy link

github-actions bot commented Dec 9, 2025

JSON approval analysis:

Time updated: Thu, 11 Dec 2025 15:12:28 GMT

legacy

❌ Manual Review Required

  • v3/android-config.json (1 total changes)
    Disallowed paths that require review:
    • /features/uaChBrands (add)
  • v3/extension-brave-config.json (1 total changes)
    Disallowed paths that require review:
    • /features/uaChBrands (add)
  • v3/extension-bravemv3-config.json (1 total changes)
    Disallowed paths that require review:
    • /features/uaChBrands (add)
  • v3/extension-chrome-config.json (1 total changes)
    Disallowed paths that require review:
    • /features/uaChBrands (add)
  • v3/extension-chromemv3-config.json (1 total changes)
    Disallowed paths that require review:
    • /features/uaChBrands (add)
  • v3/extension-config.json (1 total changes)
    Disallowed paths that require review:
    • /features/uaChBrands (add)
  • v3/extension-edg-config.json (1 total changes)
    Disallowed paths that require review:
    • /features/uaChBrands (add)
  • v3/extension-edge-config.json (1 total changes)
    Disallowed paths that require review:
    • /features/uaChBrands (add)
  • v3/extension-edgmv3-config.json (1 total changes)
    Disallowed paths that require review:
    • /features/uaChBrands (add)
  • v3/extension-firefox-config.json (1 total changes)
    Disallowed paths that require review:
    • /features/uaChBrands (add)
  • v3/extension-safarimv3-config.json (1 total changes)
    Disallowed paths that require review:
    • /features/uaChBrands (add)
  • v3/ios-config.json (1 total changes)
    Disallowed paths that require review:
    • /features/uaChBrands (add)
  • v3/macos-config.json (1 total changes)
    Disallowed paths that require review:
    • /features/uaChBrands (add)
  • v3/windows-config.json (1 total changes)
    Disallowed paths that require review:
    • /features/uaChBrands (add)
  • v4/android-config.json (1 total changes)
    Disallowed paths that require review:
    • /features/uaChBrands (add)
  • v4/extension-brave-config.json (1 total changes)
    Disallowed paths that require review:
    • /features/uaChBrands (add)
  • v4/extension-bravemv3-config.json (1 total changes)
    Disallowed paths that require review:
    • /features/uaChBrands (add)
  • v4/extension-chrome-config.json (1 total changes)
    Disallowed paths that require review:
    • /features/uaChBrands (add)
  • v4/extension-chromemv3-config.json (1 total changes)
    Disallowed paths that require review:
    • /features/uaChBrands (add)
  • v4/extension-config.json (1 total changes)
    Disallowed paths that require review:
    • /features/uaChBrands (add)
  • v4/extension-edg-config.json (1 total changes)
    Disallowed paths that require review:
    • /features/uaChBrands (add)
  • v4/extension-edge-config.json (1 total changes)
    Disallowed paths that require review:
    • /features/uaChBrands (add)
  • v4/extension-edgmv3-config.json (1 total changes)
    Disallowed paths that require review:
    • /features/uaChBrands (add)
  • v4/extension-firefox-config.json (1 total changes)
    Disallowed paths that require review:
    • /features/uaChBrands (add)
  • v4/extension-safarimv3-config.json (1 total changes)
    Disallowed paths that require review:
    • /features/uaChBrands (add)
  • v4/ios-config.json (1 total changes)
    Disallowed paths that require review:
    • /features/uaChBrands (add)
  • v4/macos-config.json (1 total changes)
    Disallowed paths that require review:
    • /features/uaChBrands (add)
  • v4/windows-config.json (1 total changes)
    Disallowed paths that require review:
    • /features/uaChBrands (add)
latest

❌ Manual Review Required

  • v5/android-config.json (1 total changes)
    Disallowed paths that require review:
    • /features/uaChBrands (add)
  • v5/extension-brave-config.json (1 total changes)
    Disallowed paths that require review:
    • /features/uaChBrands (add)
  • v5/extension-bravemv3-config.json (1 total changes)
    Disallowed paths that require review:
    • /features/uaChBrands (add)
  • v5/extension-chrome-config.json (1 total changes)
    Disallowed paths that require review:
    • /features/uaChBrands (add)
  • v5/extension-chromemv3-config.json (1 total changes)
    Disallowed paths that require review:
    • /features/uaChBrands (add)
  • v5/extension-config.json (1 total changes)
    Disallowed paths that require review:
    • /features/uaChBrands (add)
  • v5/extension-edg-config.json (1 total changes)
    Disallowed paths that require review:
    • /features/uaChBrands (add)
  • v5/extension-edge-config.json (1 total changes)
    Disallowed paths that require review:
    • /features/uaChBrands (add)
  • v5/extension-edgmv3-config.json (1 total changes)
    Disallowed paths that require review:
    • /features/uaChBrands (add)
  • v5/extension-firefox-config.json (1 total changes)
    Disallowed paths that require review:
    • /features/uaChBrands (add)
  • v5/extension-safarimv3-config.json (1 total changes)
    Disallowed paths that require review:
    • /features/uaChBrands (add)
  • v5/ios-config.json (1 total changes)
    Disallowed paths that require review:
    • /features/uaChBrands (add)
  • v5/macos-config.json (1 total changes)
    Disallowed paths that require review:
    • /features/uaChBrands (add)
  • v5/windows-config.json (1 total changes)
    Disallowed paths that require review:
    • /features/uaChBrands (add)

🎯 OVERALL APPROVAL STATUS

❌ MANUAL REVIEW REQUIRED

github-actions bot pushed a commit that referenced this pull request Dec 9, 2025
github-actions bot pushed a commit that referenced this pull request Dec 9, 2025
github-actions bot pushed a commit that referenced this pull request Dec 9, 2025
github-actions bot pushed a commit that referenced this pull request Dec 9, 2025
github-actions bot pushed a commit that referenced this pull request Dec 9, 2025
@laghee laghee added this pull request to the merge queue Dec 11, 2025
Merged via the queue into main with commit 716e925 Dec 11, 2025
21 checks passed
@laghee laghee deleted the km/add-ua-ch-brands-feat branch December 11, 2025 18:56
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

SBT-PFM-ATP Breakage mitigations (Asana sync)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants