Skip to content

Commit

Permalink
Merge branch 'main' into jjackson/crash-report-cohort-support
Browse files Browse the repository at this point in the history
# By Michal Smaga (10) and others
# Via Michal Smaga (4) and others
* main: (66 commits)
  DuckPlayer: Don’t open new tabs or DuckPlayer at launch when in alwaysAsk mode (#3738)
  Fix BrowsingMenu layout (#3712)
  Remove ESLint config files (#3739)
  Release 7.150.0-1 (#3742)
  An additional protective in case users try to access the passwords list via the extension, before launching the app
  Ensure migration has occurred before accessing vault
  Populate credential store if user has enabled before launching app
  Update to target main app
  Ensure migration has occurred before accessing vault
  Release 7.149.1-0 (#3740)
  An additional protective in case users try to access the passwords list via the extension, before launching the app
  Ensure migration has occurred before accessing vault
  Populate credential store if user has enabled before launching app
  Update to target main app
  Ensure migration has occurred before accessing vault
  Bugfix: Fix Youtube Internal links when 'Watching on Youtube' from Duck Player (#3733)
  point to BSK branch (#3732)
  Remove duck.ai 10min timer (#3731)
  Release 7.150.0-0 (#3729)
  Update autoconsent to v12.3.0 (#3728)
  ...

# Conflicts:
#	Core/PixelEvent.swift
#	DuckDuckGo.xcodeproj/project.pbxproj
#	DuckDuckGo.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved
  • Loading branch information
samsymons committed Dec 19, 2024
2 parents 1d6c48c + 8a8f641 commit ab1d21a
Show file tree
Hide file tree
Showing 582 changed files with 21,231 additions and 9,142 deletions.
1 change: 0 additions & 1 deletion .eslintignore

This file was deleted.

25 changes: 0 additions & 25 deletions .eslintrc

This file was deleted.

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"


14 changes: 10 additions & 4 deletions .maestro/release_tests/widgets.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -30,10 +30,14 @@ appId: com.duckduckgo.mobile.ios
# Validate search widget
- longPressOn:
point: 50%,50%

# iOS 18 now has an edit button first
- tapOn: "Edit"
- tapOn: "Add Widget"
- tapOn: "Search Widgets"
- inputText: "DuckDuck"
- tapOn: "DuckDuckGo"
- inputText: "DuckDuckGo"
- tapOn:
point: 30%,30%
- tapOn: " Add Widget"
- tapOn: "Done"
- tapOn: "DuckDuckGo"
Expand All @@ -48,10 +52,12 @@ appId: com.duckduckgo.mobile.ios
- pressKey: HOME
- longPressOn:
point: 50%,50%
- tapOn: "Edit"
- tapOn: "Add Widget"
- tapOn: "Search Widgets"
- inputText: "DuckDuck"
- tapOn: "DuckDuckGo"
- inputText: "DuckDuckGo"
- tapOn:
point: 30%,30%
- assertVisible: "Search"
- swipe:
start: 90%, 50%
Expand Down
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"
18 changes: 18 additions & 0 deletions AutofillCredentialProvider/AutofillCredentialProvider.entitlements
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>com.apple.developer.authentication-services.autofill-credential-provider</key>
<true/>
<key>com.apple.security.application-groups</key>
<array>
<string>$(GROUP_ID_PREFIX).vault</string>
<string>$(GROUP_ID_PREFIX).bookmarks</string>
</array>
<key>keychain-access-groups</key>
<array>
<string>$(AppIdentifierPrefix)$(APP_ID)</string>
<string>$(AppIdentifierPrefix)$(VAULT_APP_GROUP)</string>
</array>
</dict>
</plist>
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>com.apple.developer.authentication-services.autofill-credential-provider</key>
<true/>
<key>com.apple.security.application-groups</key>
<array>
<string>$(GROUP_ID_PREFIX).vault</string>
<string>$(GROUP_ID_PREFIX).bookmarks</string>
</array>
<key>keychain-access-groups</key>
<array>
<string>$(AppIdentifierPrefix)$(APP_ID)</string>
<string>$(AppIdentifierPrefix)$(VAULT_APP_GROUP)</string>
</array>
</dict>
</plist>
Original file line number Diff line number Diff line change
@@ -0,0 +1,74 @@
//
// CredentialProviderActivatedView.swift
// DuckDuckGo
//
// Copyright © 2024 DuckDuckGo. All rights reserved.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//

import SwiftUI
import DesignResourcesKit
import DuckUI

struct CredentialProviderActivatedView: View {

let viewModel: CredentialProviderActivatedViewModel
@State private var imageAppeared = false

var body: some View {
NavigationView {

VStack(spacing: 0) {

Image(.passwordsDDG96X96)
.padding(.top, 48)
.scaleEffect(imageAppeared ? 1 : 0.7)
.animation(
.interpolatingSpring(stiffness: 170, damping: 10)
.delay(0.1),
value: imageAppeared
)
.onAppear {
imageAppeared = true
}

Text(UserText.credentialProviderActivatedTitle)
.daxTitle2()
.foregroundColor(Color(designSystemColor: .textPrimary))
.padding(.top, 16)
.multilineTextAlignment(.center)

Spacer()

Button {
viewModel.launchDDGApp()
} label: {
Text(UserText.credentialProviderActivatedButton)
}
.buttonStyle(PrimaryButtonStyle())
.padding(.bottom, 12)

}
.padding(.horizontal, 24)
.navigationBarItems(trailing: Button(UserText.actionDone) {
viewModel.dismiss()
})
}
}

}

#Preview {
CredentialProviderActivatedView(viewModel: CredentialProviderActivatedViewModel())
}
Loading

0 comments on commit ab1d21a

Please sign in to comment.