Add "Set as Default" page for Windows integration#2701
Conversation
[Beta] Generated file diffTime updated: Mon, 18 May 2026 11:05:41 GMT IntegrationFile has changed New Files
❌ File only exists in new changeset |
There was a problem hiding this comment.
Web Compatibility Assessment
No findings. The diff is confined to a new Windows special-pages page and special-pages/pages.mjs; it does not touch injected/src, wrapper utilities, API overrides/shims, DDGProxy, message bridge, remote config, or platform feature inclusion for injected scripts.
Security Assessment
No findings. The new native messaging calls use the existing createSpecialPageMessaging transport, send literal payloads only ({ message }) for exception reports, and do not introduce direct postMessage, origin-validation changes, dynamic code execution, iframe access, or network requests outside bundled locale JSON.
Risk Level
Medium Risk because this adds a new privileged Windows special page and native-message contract, but injected-page runtime risk is low: no hostile-page API surface, prototype, captured-global, or message-bridge behavior changes.
Recommendations
No blocking recommendations. A targeted integration smoke test for set-as-default initial setup, arrow query overrides, and locale fallback would reduce regression risk for the new page.
Validation run: git diff --check, npm run build -w special-pages, and npx eslint special-pages/pages/set-as-default special-pages/pages.mjs passed.
Sent by Cursor Automation: Web compat and sec
Dismissing stale approval — new commits pushed, awaiting Cursor re-review.
Build Branch
Static preview entry points
QR codes (mobile preview)
Integration commandsnpm (Android / Extension): Swift Package Manager (Apple): .package(url: "https://github.com/duckduckgo/content-scope-scripts.git", branch: "pr-releases/rjain/windows-sad-settings-page")git submodule (Windows): git -C submodules/content-scope-scripts fetch origin pr-releases/rjain/windows-sad-settings-page
git -C submodules/content-scope-scripts checkout origin/pr-releases/rjain/windows-sad-settings-pagePin to exact commitnpm (Android / Extension): Swift Package Manager (Apple): .package(url: "https://github.com/duckduckgo/content-scope-scripts.git", revision: "3ba7d8ba4b7eaadf2c9d24c905045b0c00a7ebb4")git submodule (Windows): git -C submodules/content-scope-scripts fetch origin pr-releases/rjain/windows-sad-settings-page
git -C submodules/content-scope-scripts checkout 3ba7d8ba4b7eaadf2c9d24c905045b0c00a7ebb4 |
|
This PR requires a manual review and approval from a member of one of the following teams:
|


Asana Task/Github Issue: https://app.asana.com/1/137249556945/task/1213000200043647?focus=true
Description
Windows "Set as Default" special page. The page shows a dimmed overlay with an instruction bar and a hand-drawn arrow, displayed behind the native Windows Settings app when prompting users to set DDG as their default browser.
Testing Steps
Checklist
Please tick all that apply:
Note
Medium Risk
Adds a new Windows-facing special page plus new messaging schemas/types; risk is mainly around integration/build wiring and correct runtime messaging/locale loading, with no sensitive data or auth changes.
Overview
Adds a new
set-as-defaultspecial page (wired intopages.mjsforwindowsandintegration) that renders a dimmed overlay with an instruction bar and an SVG arrow, intended to sit behind the native Windows Settings window.Introduces the page’s Preact entrypoints (
src/index.js,app/index.js), locale loading and typed translations, plus query-param overrides (arrow_x,arrow_y) for arrow positioning.Defines new messaging schemas (
initialSetup,reportInitException,reportPageException) and generated TS types, along with the page’s static assets (public/index.html,landscape.svg, andenstrings).Reviewed by Cursor Bugbot for commit 9ea1603. Bugbot is set up for automated code reviews on this repo. Configure here.