Skip to content

Make onboarding quick-setup permanent and remove A/B experiment code and the previous skip onboarding step#9181

Merged
catalinradoiu merged 7 commits into
developfrom
feature/cradoiu/implement-quick-setup-experiment
Jul 20, 2026
Merged

Make onboarding quick-setup permanent and remove A/B experiment code and the previous skip onboarding step#9181
catalinradoiu merged 7 commits into
developfrom
feature/cradoiu/implement-quick-setup-experiment

Conversation

@catalinradoiu

@catalinradoiu catalinradoiu commented Jul 15, 2026

Copy link
Copy Markdown
Contributor

Task/Issue URL: https://app.asana.com/1/137249556945/project/1211724162604201/task/1216556402381460?focus=true
Tech Design URL (if applicable):

Description

The onboardingQuickSetupExperimentJun3 A/B experiment won, so we're making the reinstaller quick-setup screen permanent and removing all the experiment machinery.

Previously the quick-setup screen was shown only to the TREATMENT cohort for reinstallers / sync-restore users who tapped "I've been here before" and then skipped; the CONTROL cohort saw the old "skip onboarding option" screen (Start Browsing / Show Tutorial). The skip path now unconditionally switches to the quick-setup plan. Now we deleted the experiment manager, the OnboardingQuickSetupToggles feature toggle, and the search-retention metrics plugin and all re-installers who skip the oboarding are routed through the quick setup.

Steps to test this PR

Reinstaller skip path always shows quick-setup

  • Launch the app as a returning user
  • Tap "I've been here before" and choose to skip onboarding.
  • Verify the quick-setup screen is shown (address-bar position + search options + set-as-default / add-widget rows) every time
  • Confirm quick-setup; verify onboarding ends and you land on the new tab page.

Legacy welcome page unaffected (brand-design update off)

  • With the brand-design update flow disabled, verify the returning-user skip path still shows the old "skip onboarding option" screen (Start Browsing / Show Tutorial) and both options still work.

UI changes

No UI changes


Note

Medium Risk
Changes first-run onboarding routing for reinstall/sync-skip users and deletes experiment telemetry; scope is large but centered on onboarding orchestration rather than auth or payments.

Overview
After the onboardingQuickSetupExperimentJun3 A/B test, returning users who skip onboarding (reinstall welcome or sync-restore skip) always go to the quick-setup screen instead of an experiment fork or the old “Start Browsing / Show Tutorial” skip onboarding option step.

The PR removes the experiment stack (OnboardingQuickSetupExperimentManager, OnboardingQuickSetupToggles, search-retention metrics plugin), the separate skip plan and related events/dialogs/pixels, and the brand-design UI for that screen. E2E Gradle config patches that forced experiment cohorts are dropped, and onboardingQuickSetup is removed from bundled privacy config.

Reviewed by Cursor Bugbot for commit 321de89. Bugbot is set up for automated code reviews on this repo. Configure here.

The onboardingQuickSetupExperimentJun3 A/B experiment won, so the
reinstaller quick-setup screen is now shown unconditionally on the
skip path (reinstallers / sync-restore users who tap "I've been here
before" and skip). Removes the experiment manager, feature toggle, and
the search-retention metrics plugin, drops the skipFork branching so
the skip path always switches to the quick-setup plan, and cleans up
the now-dead "skip onboarding option" code in the new orchestrator
flow. The shared PreOnboardingDialogType.SKIP_ONBOARDING_OPTION, its
pixels, and the legacy WelcomePage flow are kept untouched. Also
removes the experiment entry from the local privacy config and the
e2e disable-patch plus its CI flag, and updates the affected unit
tests.

Task: https://app.asana.com/1/137249556945/project/1211724162604201/task/1216556402381460?focus=true

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

Copy link
Copy Markdown
Contributor Author

@catalinradoiu
catalinradoiu marked this pull request as ready for review July 15, 2026 05:49
@catalinradoiu catalinradoiu changed the title Make onboarding quick-setup permanent; remove A/B experiment Make onboarding quick-setup permanent and remove A/B experiment code Jul 15, 2026
@catalinradoiu catalinradoiu changed the title Make onboarding quick-setup permanent and remove A/B experiment code Make onboarding quick-setup permanent and remove A/B experiment code and the previous skip onboarding step Jul 15, 2026
catalinradoiu added a commit that referenced this pull request Jul 16, 2026
…s skip-onboarding tests (#9200)

Task/Issue URL:
https://app.asana.com/1/137249556945/project/1211724162604201/task/1214735718762065?focus=true
Tech Design URL (if applicable):

### Description

The returning-user "I've been here before" flow now leads to the quick
setup screen (address bar position, search options, default browser,
widget) instead of the old tutorial/start-browsing dialogs. The two
release-blocking Maestro tests asserting the old dialog copy no longer
match the app's behavior, so this replaces them with coverage of the new
quick setup flow:

- `preonboarding_returning_user_quick_setup_customize.yaml` — selects
bottom address bar position and "search only", sets DuckDuckGo as
default, then taps Start Browsing and asserts the address bar renders at
the bottom of the screen.
- `preonboarding_returning_user_quick_setup_start_browsing.yaml` — taps
Start Browsing without customizing anything.

Both are gated behind a new remote config patch
(`remote_config_patches/enable_onboarding_quick_setup_experiment_treatment.json`)
that forces the `onboardingQuickSetupExperimentJun3` cohort to
treatment. The patch will be removed once
#9181 is merged.


### Steps to test this PR

Maestro cloud run:
https://app.maestro.dev/project/proj_01htg54rdtfwx8rgbzv03cxkpf/maestro-test/app/app_01hkqhj1thevwtn9ym8a2ctn2r/upload/mupload_01kxngkd87e9694n996dcc2162

_Maestro coverage_
- [x] Build an internal APK with the config patch applied: `./gradlew
installInternalRelease
-Pconfig_patches=.maestro/onboarding/remote_config_patches/enable_onboarding_quick_setup_experiment_treatment.json`
- [x] Run `maestro test
.maestro/onboarding/preonboarding_returning_user_quick_setup_customize.yaml`
and confirm it passes, including the new bottom-address-bar assertion
after Start Browsing
- [x] Run `maestro test
.maestro/onboarding/preonboarding_returning_user_quick_setup_start_browsing.yaml`
and confirm it passes


### UI changes
| Before  | After |
| ------ | ----- |
| No UI changes | No UI changes |

<!-- CURSOR_SUMMARY -->
---

> [!NOTE]
> **Low Risk**
> Changes are limited to Maestro flows and nightly CI config; no
production app logic.
> 
> **Overview**
> Updates **Maestro** coverage for the returning-user **“I’ve been here
before”** path now that it lands on **quick setup** instead of the old
skip/tutorial dialogs.
> 
> **Removes** `preonboarding_returning_user_show_tutorial.yaml` and
`preonboarding_returning_user_start_browsing.yaml` (they asserted
obsolete copy). **Adds**
`preonboarding_returning_user_quick_setup_start_browsing.yaml` and
`preonboarding_returning_user_quick_setup_customize.yaml`, tagged
`onboardingNonReleaseBlockingTest`, covering Start Browsing as-is and a
customize path (address bar position, search-only, default browser) with
a bottom-toolbar assertion after launch.
> 
> **CI:** Nightly non-blockers workflow applies
`enable_onboarding_quick_setup_experiment_treatment.json` via
`-Pconfig_patches` (forces `onboardingQuickSetupExperimentJun3` to
treatment) and runs a new **Onboarding** Maestro job with that tag.
> 
> <sup>Reviewed by [Cursor Bugbot](https://cursor.com/bugbot) for commit
f70eb79. Bugbot is set up for automated
code reviews on this repo. Configure
[here](https://www.cursor.com/dashboard/bugbot).</sup>
<!-- /CURSOR_SUMMARY -->
@LukasPaczos LukasPaczos self-assigned this Jul 20, 2026

@LukasPaczos LukasPaczos left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM!

@catalinradoiu
catalinradoiu merged commit c85bc60 into develop Jul 20, 2026
23 of 24 checks passed
@catalinradoiu
catalinradoiu deleted the feature/cradoiu/implement-quick-setup-experiment branch July 20, 2026 16:41
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants