Skip to content

Commit

Permalink
Merge branch 'main' into sam/update-rmf-version-matching-to-ignore-bu…
Browse files Browse the repository at this point in the history
…ild-number

# By Alessandro Boron (1) and Sabrina Tardio (1)
# Via GitHub
* main:
  add fake experiment (#3688)
  Alessandro/onboarding add to dock experiment setup (#3679)

# Conflicts:
#	DuckDuckGo.xcodeproj/project.pbxproj
#	DuckDuckGo.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved
  • Loading branch information
samsymons committed Dec 6, 2024
2 parents 2f07904 + 5880851 commit 0ca937c
Show file tree
Hide file tree
Showing 61 changed files with 616 additions and 1,804 deletions.
29 changes: 0 additions & 29 deletions .maestro/onboarding_tests/01_control_group_onboarding.yaml

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ tags:
file: ../shared/setup.yaml
env:
ONBOARDING_COMPLETED: "false"
APP_VARIANT: "mb"
APP_VARIANT: "mh"

# Handle Search Suggestions
- assertVisible: "Ready to get started?\nTry a search!"
Expand Down Expand Up @@ -50,3 +50,4 @@ tags:
- assertVisible: "You’ve got this!"
- assertVisible: "High five!"
- tapOn: "High five!"

33 changes: 0 additions & 33 deletions .maestro/onboarding_tests/02_control_group_hide_onboarding.yaml

This file was deleted.

54 changes: 54 additions & 0 deletions .maestro/onboarding_tests/02_onboarding_add_to_dock_intro.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
appId: com.duckduckgo.mobile.ios
tags:
- onboarding

---

# Set up
- runFlow:
file: ../shared/setup.yaml
env:
ONBOARDING_COMPLETED: "false"
APP_VARIANT: "mk"

# Handle Search Suggestions
- assertVisible: "Ready to get started?\nTry a search!"
- assertVisible: "Surprise Me!"
- tapOn: "Surprise Me!"

# Handle First Dax Dialog
- assertVisible: "That’s DuckDuckGo Search. Private. Fast. Fewer ads."
- assertVisible: "Got It!"
- tapOn: "Got It!"

# Handle Site Suggestions
- assertVisible: "Next, try visiting a site!"
- assertVisible: "Surprise Me!"
- tapOn: "Surprise Me!"

# Handle Privacy Dashboard
- assertVisible: "Got It!"
- tapOn:
point: "6%,10%" # Shield icon.
- assertVisible:
text: "View Tracker Companies"
- assertVisible:
text: "Done"
- tapOn: "Done"

# Handle Fire Message
- assertVisible: "Got It!"
- tapOn: "Got It!"
- assertVisible: "Instantly clear your browsing activity with the Fire Button.\n\nGive it a try! 🔥"

# Handle Fire Button
- assertVisible: "Close Tabs and Clear Data"
- tapOn: "Close Tabs and Clear Data"
- tapOn: "Close Tabs and Clear Data"

# Handle End of Journey Dialog
- assertVisible: "You’ve got this!"
- assertVisible: "High five!"
- tapOn: "High five!"


Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
appId: com.duckduckgo.mobile.ios
tags:
- onboarding

---

# Set up
- runFlow:
file: ../shared/setup.yaml
env:
ONBOARDING_COMPLETED: "false"
APP_VARIANT: "mo"

# Handle Search Suggestions
- assertVisible: "Ready to get started?\nTry a search!"
- assertVisible: "Surprise Me!"
- tapOn: "Surprise Me!"

# Handle First Dax Dialog
- assertVisible: "That’s DuckDuckGo Search. Private. Fast. Fewer ads."
- assertVisible: "Got It!"
- tapOn: "Got It!"

# Handle Site Suggestions
- assertVisible: "Next, try visiting a site!"
- assertVisible: "Surprise Me!"
- tapOn: "Surprise Me!"

# Handle Privacy Dashboard
- assertVisible: "Got It!"
- tapOn:
point: "6%,10%" # Shield icon.
- assertVisible:
text: "View Tracker Companies"
- assertVisible:
text: "Done"
- tapOn: "Done"

# Handle Fire Message
- assertVisible: "Got It!"
- tapOn: "Got It!"
- assertVisible: "Instantly clear your browsing activity with the Fire Button.\n\nGive it a try! 🔥"

# Handle Fire Button
- assertVisible: "Close Tabs and Clear Data"
- tapOn: "Close Tabs and Clear Data"
- tapOn: "Close Tabs and Clear Data"

# Handle End of Journey Dialog
- assertVisible: "Add me to your Dock!"
- assertVisible: "Show Me How"
- tapOn: "Start Browsing"


23 changes: 15 additions & 8 deletions .maestro/shared/onboarding.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -10,17 +10,24 @@ appId: com.duckduckgo.mobile.ios
text: "Let’s Do It!"
index: 0

# Disabled while UI testing is happening
# - assertVisible: "Make DuckDuckGo your default browser."
# Browser comparison chart
# - assertVisible: "Protections activated!"
- tapOn:
text: "Skip"

# Add To Dock Flow
- runFlow:
when:
visible: "Which color looks best on me?"
visible: "Add me to your Dock!"
commands:
- assertVisible: "Next"
- tapOn: "Next"
- assertVisible: "Where should I put your address bar?"
- assertVisible: "Next"
- tapOn: "Next"
- assertVisible: "Show Me How"
- tapOn: "Skip"

# Customization Flow

- assertVisible: "Which color looks best on me?"
- assertVisible: "Next"
- tapOn: "Next"
- assertVisible: "Where should I put your address bar?"
- assertVisible: "Next"
- tapOn: "Next"
11 changes: 5 additions & 6 deletions Core/DefaultVariantManager.swift
Original file line number Diff line number Diff line change
Expand Up @@ -27,9 +27,8 @@ extension FeatureName {
// Define your feature e.g.:
// public static let experimentalFeature = FeatureName(rawValue: "experimentalFeature")

public static let newOnboardingIntro = FeatureName(rawValue: "newOnboardingIntro")
public static let newOnboardingIntroHighlights = FeatureName(rawValue: "newOnboardingIntroHighlights")
public static let contextualDaxDialogs = FeatureName(rawValue: "contextualDaxDialogs")
public static let addToDockIntro = FeatureName(rawValue: "addToDockIntro")
public static let addToDockContextual = FeatureName(rawValue: "addToDockContextual")
}

public struct VariantIOS: Variant {
Expand Down Expand Up @@ -58,9 +57,9 @@ public struct VariantIOS: Variant {
VariantIOS(name: "sd", weight: doNotAllocate, isIncluded: When.always, features: []),
VariantIOS(name: "se", weight: doNotAllocate, isIncluded: When.always, features: []),

VariantIOS(name: "ms", weight: 1, isIncluded: When.always, features: [.newOnboardingIntro]),
VariantIOS(name: "mu", weight: 1, isIncluded: When.always, features: [.newOnboardingIntro, .contextualDaxDialogs]),
VariantIOS(name: "mx", weight: 1, isIncluded: When.always, features: [.newOnboardingIntroHighlights, .contextualDaxDialogs]),
VariantIOS(name: "mh", weight: 1, isIncluded: When.notPadDevice, features: []),
VariantIOS(name: "mk", weight: 1, isIncluded: When.notPadDevice, features: [.addToDockIntro]),
VariantIOS(name: "mo", weight: 1, isIncluded: When.notPadDevice, features: [.addToDockContextual]),

returningUser
]
Expand Down
12 changes: 2 additions & 10 deletions DuckDuckGo.xcodeproj/project.pbxproj
Original file line number Diff line number Diff line change
Expand Up @@ -748,8 +748,6 @@
98F3A1D8217B37010011A0D4 /* Theme.swift in Sources */ = {isa = PBXBuildFile; fileRef = 98F3A1D7217B37010011A0D4 /* Theme.swift */; };
98F6EA472863124100720957 /* ContentBlockerRulesLists.swift in Sources */ = {isa = PBXBuildFile; fileRef = 98F6EA462863124100720957 /* ContentBlockerRulesLists.swift */; };
98F78B8E22419093007CACF4 /* ThemableNavigationController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 98F78B8D22419093007CACF4 /* ThemableNavigationController.swift */; };
9F1061652C9C013F008DD5A0 /* DefaultVariantManager+Onboarding.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9F1061642C9C013F008DD5A0 /* DefaultVariantManager+Onboarding.swift */; };
9F1623092C9D14F10093C4FC /* DefaultVariantManagerOnboardingTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9F1623082C9D14F10093C4FC /* DefaultVariantManagerOnboardingTests.swift */; };
9F16230B2CA0F0190093C4FC /* DebouncerTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9F16230A2CA0F0190093C4FC /* DebouncerTests.swift */; };
9F1798572CD2443F0073018B /* AddToDockPromoViewModelTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9F1798562CD2443F0073018B /* AddToDockPromoViewModelTests.swift */; };
9F23B8012C2BC94400950875 /* OnboardingBackground.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9F23B8002C2BC94400950875 /* OnboardingBackground.swift */; };
Expand Down Expand Up @@ -2593,8 +2591,6 @@
98F3A1D7217B37010011A0D4 /* Theme.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Theme.swift; sourceTree = "<group>"; };
98F6EA462863124100720957 /* ContentBlockerRulesLists.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ContentBlockerRulesLists.swift; sourceTree = "<group>"; };
98F78B8D22419093007CACF4 /* ThemableNavigationController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ThemableNavigationController.swift; sourceTree = "<group>"; };
9F1061642C9C013F008DD5A0 /* DefaultVariantManager+Onboarding.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "DefaultVariantManager+Onboarding.swift"; sourceTree = "<group>"; };
9F1623082C9D14F10093C4FC /* DefaultVariantManagerOnboardingTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DefaultVariantManagerOnboardingTests.swift; sourceTree = "<group>"; };
9F16230A2CA0F0190093C4FC /* DebouncerTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DebouncerTests.swift; sourceTree = "<group>"; };
9F1798562CD2443F0073018B /* AddToDockPromoViewModelTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AddToDockPromoViewModelTests.swift; sourceTree = "<group>"; };
9F23B8002C2BC94400950875 /* OnboardingBackground.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = OnboardingBackground.swift; sourceTree = "<group>"; };
Expand Down Expand Up @@ -4969,7 +4965,6 @@
9F7CFF7C2C89B69A0012833E /* AppIconPickerViewModelTests.swift */,
9FDEC7B32C8FD62F00C7A692 /* OnboardingAddressBarPositionPickerViewModelTests.swift */,
9FDEC7B92C9006E000C7A692 /* BrowserComparisonModelTests.swift */,
9F1623082C9D14F10093C4FC /* DefaultVariantManagerOnboardingTests.swift */,
9F8E0F322CCA642D001EA7C5 /* VideoPlayerViewModelTests.swift */,
9F1798562CD2443F0073018B /* AddToDockPromoViewModelTests.swift */,
);
Expand Down Expand Up @@ -5129,7 +5124,6 @@
9F23B7FF2C2BABE000950875 /* OnboardingIntro */,
9F5E5AAA2C3D0FAA00165F54 /* ContextualOnboarding */,
9FCFCD842C75C91A006EB7A0 /* ProgressBarView.swift */,
9F1061642C9C013F008DD5A0 /* DefaultVariantManager+Onboarding.swift */,
);
path = OnboardingExperiment;
sourceTree = "<group>";
Expand Down Expand Up @@ -7750,7 +7744,6 @@
6FBF0F8B2BD7C0A900136CF0 /* AllProtectedCell.swift in Sources */,
9F4CC5242C4A4F0D006A96EB /* SwiftUITestUtilities.swift in Sources */,
6FDC64032C92F4D600DB71B3 /* NewTabPageSettingsPersistentStore.swift in Sources */,
9F1061652C9C013F008DD5A0 /* DefaultVariantManager+Onboarding.swift in Sources */,
1E4F4A5A297193DE00625985 /* MainViewController+CookiesManaged.swift in Sources */,
C12324C32C4697C900FBB26B /* AutofillBreakageReportTableViewCell.swift in Sources */,
8586A10D24CBA7070049720E /* FindInPageActivity.swift in Sources */,
Expand Down Expand Up @@ -8292,7 +8285,6 @@
987130C7294AAB9F00AB05E0 /* MenuBookmarksViewModelTests.swift in Sources */,
D6B9E8D42CDA8375002B640C /* DuckPlayerOverlayUsagePixelsTests.swift in Sources */,
858650D32469BFAD00C36F8A /* DaxDialogTests.swift in Sources */,
9F1623092C9D14F10093C4FC /* DefaultVariantManagerOnboardingTests.swift in Sources */,
31C138B227A4097800FFD4B2 /* DownloadTestsHelper.swift in Sources */,
1E1D8B5D2994FFE100C96994 /* AutoconsentMessageProtocolTests.swift in Sources */,
85C11E532090B23A00BFFEB4 /* UserDefaultsHomeRowReminderStorageTests.swift in Sources */,
Expand Down Expand Up @@ -11379,8 +11371,8 @@
isa = XCRemoteSwiftPackageReference;
repositoryURL = "https://github.com/DuckDuckGo/BrowserServicesKit";
requirement = {
branch = "sam/update-rmf-version-matching-to-ignore-build-number";
kind = branch;
kind = exactVersion;
version = 218.0.1;
};
};
9F8FE9472BAE50E50071E372 /* XCRemoteSwiftPackageReference "lottie-spm" */ = {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -32,8 +32,8 @@
"kind" : "remoteSourceControl",
"location" : "https://github.com/DuckDuckGo/BrowserServicesKit",
"state" : {
"branch" : "sam/update-rmf-version-matching-to-ignore-build-number",
"revision" : "3ca813f6b599ec7c5960767ef24a97287fdd7455"
"revision" : "bbcb41c87c5788718a43883b5b10eb3b4f54aff3",
"version" : "218.0.1"
}
},
{
Expand Down
Loading

0 comments on commit 0ca937c

Please sign in to comment.