Skip to content

Onboarding: advance makeDefaultSingle step on native's onSetAsDefaultComplete#2834

Draft
noisysocks wants to merge 6 commits into
mainfrom
cursor/onboarding-auto-advance-default-browser-bb92
Draft

Onboarding: advance makeDefaultSingle step on native's onSetAsDefaultComplete#2834
noisysocks wants to merge 6 commits into
mainfrom
cursor/onboarding-auto-advance-default-browser-bb92

Conversation

@noisysocks

Copy link
Copy Markdown
Contributor

Asana Task/Github Issue: https://app.asana.com/1/137249556945/task/1216255190183430 (parent: 1215435204288345)

Description

On the onboarding makeDefaultSingle step (Comparison Chart / "Make DuckDuckGo Your Default" screen), the frontend now advances to the next step automatically when native pushes a new onSetAsDefaultComplete subscription message — equivalent to clicking "Next" today. While waiting for that message, the screen keeps showing "Make DuckDuckGo Your Default" and "Skip"; the "Next" button never appears on this step.

All new behaviour is gated behind an autoAdvance flag that native supplies per-step in the init response (stepDefinitions.makeDefaultSingle.autoAdvance), so nothing changes for native builds that don't opt in.

Changes:

  • app/messages.js — new onSetAsDefaultComplete(callback) subscription (no JSON schema needed, same as onConfigUpdate).
  • app/types.jsMakeDefaultSingleStep.autoAdvance?: boolean, new AutoAdvanceEvent added to GlobalEvents.
  • app/global.js — reducer handles auto-advance at the top level (before the status.kind switch) so it works even mid-request; GlobalProvider subscribes to onSetAsDefaultComplete and dispatches auto-advance via a ref-backed proxy call (mirrors advance's side effects — stepCompleted + row_shown telemetry — via a shared notifyStepAdvanced helper).
  • app/v3/data/data.js / app/v4/components/MakeDefaultContent.js — when autoAdvance is on, the step never renders "Next": Skip + "Make Default" stay visible, and (v4) the success-title bounce animation is skipped since the outcome isn't known until the push arrives.
  • src/mock-transport.js?autoAdvance=true URL param for local dev/manual testing via npm run serve-special-pages.
  • Integration tests + a pushSetAsDefaultComplete() page-object helper covering: no "Next" while waiting, advance-on-push (+ stepCompleted), no-op on other steps, and Skip still works — for both v3 and v4.

Testing Steps

  • npm run build, npm run lint, npm run test-unit all pass.
  • npm run test-int -- pages/onboarding --reporter list — all onboarding v3/v4 integration tests pass (macOS + Windows projects), including the new autoAdvance cases.
  • Manual: npm run serve-special-pages, open onboarding with ?env=app&page=makeDefaultSingle&autoAdvance=true, then drive window.__playwright_01.publishSubscriptionEvent({ subscriptionName: 'onSetAsDefaultComplete', params: {} }) from the console.

Checklist

  • I have tested this change locally
  • I have tested this change locally in all supported browsers
  • This change will be visible to users
  • I have added automated tests that cover this change
  • I have ensured the change is gated by config
  • This change was covered by a ship review
  • This change was covered by a tech design
  • Any dependent config has been merged
Open in Web Open in Cursor 

@github-actions

github-actions Bot commented Jul 3, 2026

Copy link
Copy Markdown
Contributor

Build Branch

Branch pr-releases/cursor/onboarding-auto-advance-default-browser-bb92
Commit 2c5d89fe13
Updated July 3, 2026 at 3:43:21 AM UTC

Static preview entry points

QR codes (mobile preview)
Entry point QR code
Docs QR for docs preview
Static pages QR for static pages preview
Integration pages QR for integration pages preview

Integration commands

npm (Android / Extension):

npm i github:duckduckgo/content-scope-scripts#pr-releases/cursor/onboarding-auto-advance-default-browser-bb92

Swift Package Manager (Apple):

.package(url: "https://github.com/duckduckgo/content-scope-scripts.git", branch: "pr-releases/cursor/onboarding-auto-advance-default-browser-bb92")

git submodule (Windows):

git -C submodules/content-scope-scripts fetch origin pr-releases/cursor/onboarding-auto-advance-default-browser-bb92
git -C submodules/content-scope-scripts checkout origin/pr-releases/cursor/onboarding-auto-advance-default-browser-bb92
Pin to exact commit

npm (Android / Extension):

npm i github:duckduckgo/content-scope-scripts#2c5d89fe13f6314987e9435adb2a7d80eccf30b9

Swift Package Manager (Apple):

.package(url: "https://github.com/duckduckgo/content-scope-scripts.git", revision: "2c5d89fe13f6314987e9435adb2a7d80eccf30b9")

git submodule (Windows):

git -C submodules/content-scope-scripts fetch origin pr-releases/cursor/onboarding-auto-advance-default-browser-bb92
git -C submodules/content-scope-scripts checkout 2c5d89fe13f6314987e9435adb2a7d80eccf30b9

@github-actions github-actions Bot added the semver-minor New feature — triggers minor version bump label Jul 3, 2026
@github-actions

github-actions Bot commented Jul 3, 2026

Copy link
Copy Markdown
Contributor

[Beta] Generated file diff

Time updated: Fri, 03 Jul 2026 03:44:26 GMT

Apple
    - apple/pages/onboarding/dist/index.js

File has changed

Integration
    - integration/pages/onboarding/dist/index.js

File has changed

Windows
    - windows/pages/onboarding/dist/index.js

File has changed

@github-actions

github-actions Bot commented Jul 3, 2026

Copy link
Copy Markdown
Contributor

⚠️ Cursor review was not successful.

This PR requires a manual review and approval from a member of one of the following teams:

  • @duckduckgo/content-scope-scripts-owners
  • @duckduckgo/apple-devs
  • @duckduckgo/android-devs
  • @duckduckgo/team-windows-development
  • @duckduckgo/extension-owners
  • @duckduckgo/config-aor
  • @duckduckgo/breakage-aor
  • @duckduckgo/breakage

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

semver-minor New feature — triggers minor version bump

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants