Make onboarding quick-setup permanent and remove A/B experiment code and the previous skip onboarding step#9181
Open
catalinradoiu wants to merge 3 commits into
Open
Conversation
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>
Contributor
Author
This stack of pull requests is managed by Graphite. Learn more about stacking. |
catalinradoiu
marked this pull request as ready for review
July 15, 2026 05:49
Merged
3 tasks
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 -->
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.

Task/Issue URL: https://app.asana.com/1/137249556945/project/1211724162604201/task/1216556402381460?focus=true
Tech Design URL (if applicable):
Description
The
onboardingQuickSetupExperimentJun3A/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
OnboardingQuickSetupTogglesfeature 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
Legacy welcome page unaffected (brand-design update off)
UI changes
No UI changes
Note
Medium Risk
Changes first-run onboarding routing for returning users and removes experiment gating; wrong wiring could skip quick-setup or break reinstall/sync skip flows, though scope is limited to onboarding orchestration and telemetry.
Overview
After the quick-setup experiment won, reinstallers and sync-restore users who skip onboarding always go to the quick-setup screen instead of an A/B fork between quick-setup and the old “Start Browsing / Show Tutorial” step.
The skip-onboarding option plan, dialog, events, and UI animations are removed from the brand-design onboarding flow.
skipForkand experiment enrollment are deleted along withOnboardingQuickSetupExperimentManager,OnboardingQuickSetupToggles, the search-retention metrics plugin, and theonboardingQuickSetupremote-config feature. Related pixels (ONBOARDING_SKIP_ONBOARDING, confirm/resume preonboarding pixels) and unused strings are dropped.E2E no longer patches remote config to disable the experiment. Tests are updated so skip paths assert quick-setup only.
Reviewed by Cursor Bugbot for commit 4978f9c. Bugbot is set up for automated code reviews on this repo. Configure here.