Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Autofill onByDefault rollout for new installs #2056

Merged

Conversation

amddg44
Copy link
Contributor

@amddg44 amddg44 commented Sep 29, 2023

Task/Issue URL: https://app.asana.com/0/0/1205296228305939/f
Tech Design URL:
CC:

Description:
Adds support for rolling out Autofill as on by default for new installs based on the incremental feature flag onByDefault

Steps to test this PR:
Notes:
This PR branches off of #2032 which added a pixel parameter reporting the "on by default" state.
The rules for enabling Autofill as on by default are:

  • User must be a new install (tracking this using userDefaults)
  • The subfeature phased rollout feature flag onByDefault must enable the feature for them
  1. Clean install the app from develop and confirm that Autofill is off by default
  2. Switch to this branch and make the following code changes to test using the correct privacy config
  3. Modify the embedded ios-config.json adding the onByDefault subfeature to the autofill json (see https://app.asana.com/0/0/1205590415076770/f)
            "onByDefault": {
                    "state": "enabled",
                    "minSupportedVersion": "7.91.0",
                    "rollout": {
                        "steps": [
                            {
                                "percent": 1.0
                            }
                        ]
                    }
                }
  1. In AppURLs change the privacyConfig URL to anything else so the config isn't overwritten from the server e.g. static let privacyConfig = URL(string: "\(staticBase)/trackerblocking/config/v3/ios-config-invalid.json")!
  2. Launch the app and confirm that Autofill is still off by default and note that Autofill pixels when accessing the Autofill screen contain the parameter ["default_state": "off"]
  3. Modify the ios-config.json steps and add rollout at 100% like so:
           "steps": [
                            {
                                "percent": 1.0
                            },
                            {
                                "percent": 100.0
                            },
                        ]
  1. Launch the app again and confirm that the Autofill is still off by default (as reported by the pixel parameter)
  2. Toggle the Autofill switch to turn Autofill on, relaunch the app and confirm that Autofill default state is still off (as reported by the pixel parameter)
  3. Delete the app and reset ios-config.json to Step 3
  4. Launch and confirm that (more than likely, since it's only at 1% rollout) that Autofill default state is off
  5. Repeat Step 7
  6. Launch the app and confirm that this time Autofill is now on by default

Copy Testing:

  • Use of correct apostrophes in new copy, ie rather than '

Orientation Testing:

  • Portrait
  • Landscape

Device Testing:

  • iPhone SE (1st Gen)
  • iPhone 8
  • iPhone X
  • iPhone 14 Pro
  • iPad

OS Testing:

  • iOS 14
  • iOS 15
  • iOS 16

Theme Testing:

  • Light theme
  • Dark theme

Internal references:

Software Engineering Expectations
Technical Design Template

@amddg44 amddg44 changed the base branch from develop to anya/autofill-pixel-param-updates October 2, 2023 11:04
Copy link
Contributor

@graeme graeme left a comment

Choose a reason for hiding this comment

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

LGTM. Nice work!

amddg44 added a commit to duckduckgo/BrowserServicesKit that referenced this pull request Oct 8, 2023
Task/Issue URL: https://app.asana.com/0/0/1205296228305939/f
iOS PR: duckduckgo/iOS#2056
macOS PR: duckduckgo/macos-browser#1699
What kind of version bump will this require?: Patch

Description:
Adds onByDefault subfeature to Autofill privacy feature
@amddg44 amddg44 merged commit a0980bf into anya/autofill-pixel-param-updates Oct 8, 2023
17 checks passed
@amddg44 amddg44 deleted the anya/autofill-on-default-flag branch October 8, 2023 12:17
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