duckduckgo / macos-browser

DuckDuckGo macOS Browser
Apache License 2.0
246 stars 9 forks source link

Add Sync Promos to Passwords & Bookmarks #3266

Closed amddg44 closed 1 month ago

amddg44 commented 1 month ago

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

Description: Adds sync promotion to passwords & bookmarks screens

Steps to test this PR: See https://app.asana.com/0/1208273769335188/1208283593882915/f description for screenshots of final designs

Sync Promo for Passwords

  1. Starting with no passwords saved (Debug > Reset Data > Reset Autofill) and with Sync disabled
  2. Visit the Passwords popover and confirm the Sync Promo is not presented (since no credentials are saved)
  3. Create a saved credential manually
  4. Confirm the Sync promo is now present as an entry in the side panel list
  5. Confirm the pixel sync_promotion_displayed_macos_desktop is fired with source = passwords
  6. Confirm the promo is hidden when searching
  7. Tap "Set Up Sync" in the promo and confirm you are taken to the Sync screen, but do not enable Sync
  8. Confirm the pixel sync_promotion_confirmed_macos_desktop was fired with source = passwords
  9. Go to Settings > Passwords & Autofill and confirm the promo is presented
  10. Tap "Set Up Sync" in the promo and confirm you are taken to the Sync screen, but do not enable Sync
  11. Go back to Passwords & confirm the promo is still presented
  12. Tap "No Thanks" in the promo card & confirm the promo is dismissed
  13. Confirm the pixel sync_promotion_dismissed_macos_desktop was fired with source = passwords
  14. Close the Passwords popover & return, confirming the promo does not get presented again
  15. Go back to Settings > Passwords & Autofill and confirm the promo no longer presented

Sync Promo for Bookmarks

  1. Start with all bookmarks deleted (Debug > Reset Data > Reset Bookmarks)
  2. Visit the Bookmarks popover and confirm the Sync Promo is not presented (since in empty state)
  3. Click the Manage button and confirm the Sync Promo is not presented here either (since in empty state)
  4. Save a bookmark
  5. Go back to the bookmarks popover & management screen and confirm the Sync promo is now presented
  6. Confirm the pixel sync_promotion_displayed_macos_desktop is fired with source = bookmarks
  7. Confirm the promo is hidden when searching
  8. Create a bookmark folder and tap into it, confirming the promo is not presented in the folder (both popover and mgmt screen)
  9. From the popover, tap "Set Up Sync" in the promo
  10. Confirm you are taken to the Sync screen, but do not enable Sync
  11. Confirm the pixel sync_promotion_confirmed_macos_desktop was fired with source = bookmarks
  12. Go to Bookmarks mgmt tap "Set Up Sync" in the promo
  13. Confirm you are taken to the Sync screen, but do not enable Sync
  14. Go back to both popover and mgmt screen & confirm the promo is still presented
  15. Tap "No Thanks" in the promo card in either place & confirm the promo is dismissed
  16. Confirm the pixel sync_promotion_dismissed_macos_desktop was fired with source = bookmarks
  17. Confirm the promo does not get presented again in either the popover and mgmt screen
  18. From the Debug menu, go to Reset Data and click "Reset Sync Promo Prompts”

Sync Setup

  1. Go back to the Sync screen & start the flow to enable Sync (can be as a backup)
  2. Go back to the Bookmarks & Password popovers & screens and confirm the promo is not presented, now that Sync has been enabled

<!— Tagging instructions If this PR isn't ready to be merged for whatever reason it should be marked with the DO NOT MERGE label (particularly if it's a draft) If it's pending Product Review/PFR, please add the Pending Product Review label.

If at any point it isn't actively being worked on/ready for review/otherwise moving forward (besides the above PR/PFR exception) strongly consider closing it (or not opening it in the first place). If you decide not to close it, make sure it's labelled to make it clear the PRs state and comment with more information. —>

Definition of Done:

Internal references:

Pull Request Review Checklist Software Engineering Expectations Technical Design Template Pull Request Documentation

github-actions[bot] commented 1 month ago
Warnings
:warning: PR has more than 500 lines of code changing. Consider splitting into smaller PRs if possible.
Messages
:book: You seem to be updating localized strings. Make sure that you request translations and include translated strings before you ship your change. See [Localization Guidelines](https://app.asana.com/0/0/1206727265537758/f) for more information.

Generated by :no_entry_sign: dangerJS against 039e77799b37fd23ba27fda8474fda5897ef6ffd