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

Add Phishing Detection Interface Elements #3157

Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
21 commits
Select commit Hold shift + click to select a range
f2ea878
Add assets
not-a-rootkit Aug 27, 2024
d62cb45
Add address bar buttons
not-a-rootkit Aug 27, 2024
04d229a
Unified feedback form for Privacy Pro (#3058)
quanganhdo Aug 27, 2024
d37e699
Move WireGuard dependency to VPN extensions (#3144)
samsymons Aug 28, 2024
e50b5e4
Logging refactoring phase #2 (#3154)
federicocappelli Aug 28, 2024
60df756
onboarding dax dialogs (#3149)
SabrinaTardio Aug 28, 2024
da7daf0
Add error pixels for Subscription keychain access errors (#3147)
miasma13 Aug 28, 2024
959decf
Migrate asana-extract-task-assignee from GHA to fastlane action (#3167)
ayoy Aug 28, 2024
be5f2c8
Allow using a production subscription with staging VPN environment (#…
samsymons Aug 28, 2024
3b474a0
VPN Domain Exclusions pixel changes (#3103)
diegoreymendez Aug 29, 2024
32d0cc6
Bump version to 1.104.0 (251)
daxtheduck Aug 29, 2024
72449bf
Merge release/1.104.0 into main
daxmobile Aug 29, 2024
ec47366
Bump Submodules/privacy-reference-tests from `afb4f61` to `6133e7d` (…
dependabot[bot] Aug 29, 2024
1f08520
Remove unneeded copy strings from UserText.
not-a-rootkit Aug 29, 2024
c801ae8
Remove unneeded strings from error page copy localizables.
not-a-rootkit Aug 29, 2024
9a07b1b
VPN location fallback (#3131)
quanganhdo Aug 29, 2024
0394324
Update CI test report to avoid reporting successful retries as failur…
samsymons Aug 29, 2024
33b6396
Undo AddressBarButtonsViewController changes.
not-a-rootkit Aug 29, 2024
b8bf0f1
Update C-S-S for DuckPlayer onboarding (#3169)
Bunn Aug 29, 2024
e54dd42
Update SLL Error (#3089)
SabrinaTardio Aug 29, 2024
8bbebd4
Merge branch 'main' into tespach/phishing-detection-interface
not-a-rootkit Aug 30, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
25 changes: 0 additions & 25 deletions .github/actions/asana-extract-task-assignee/action.yml

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ outputs:
value: ${{ steps.extract-automation-task-id.outputs.automation-task-id }}
assignee-id:
description: "Release task assignee ID"
value: ${{ steps.extract-assignee-id.outputs.assignee-id }}
value: ${{ steps.extract-assignee-id.outputs.asana_assignee_id }}
runs:
using: "composite"
steps:
Expand All @@ -24,10 +24,10 @@ runs:
run: bundle exec fastlane run asana_extract_task_id task_url:"${{ inputs.task-url }}"

- id: extract-assignee-id
uses: ./.github/actions/asana-extract-task-assignee
with:
task-id: ${{ steps.extract-task-id.outputs.asana_task_id }}
access-token: ${{ inputs.access-token }}
shell: bash
env:
ASANA_ACCESS_TOKEN: ${{ inputs.access-token }}
run: bundle exec fastlane run asana_extract_task_assignee task_id:"${{ steps.extract-task-id.outputs.asana_task_id }}"

- id: extract-automation-task-id
run: |
Expand Down
1 change: 1 addition & 0 deletions .github/workflows/pr.yml
Original file line number Diff line number Diff line change
Expand Up @@ -297,6 +297,7 @@ jobs:
with:
check_name: "Test Report: ${{ matrix.flavor }}"
report_paths: '${{ matrix.flavor }}*.xml'
check_retries: true

- name: Update Asana with failed unit tests
if: always() # always run even if the previous step fails
Expand Down
2 changes: 1 addition & 1 deletion Configuration/BuildNumber.xcconfig
Original file line number Diff line number Diff line change
@@ -1 +1 @@
CURRENT_PROJECT_VERSION = 250
CURRENT_PROJECT_VERSION = 251
363 changes: 258 additions & 105 deletions DuckDuckGo.xcodeproj/project.pbxproj

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
Expand Up @@ -32,17 +32,17 @@
"kind" : "remoteSourceControl",
"location" : "https://github.com/duckduckgo/BrowserServicesKit",
"state" : {
"revision" : "4a55217003ad7b2d44a1ac616d47596c0bda69dc",
"version" : "186.0.0"
"revision" : "ac53011582abcca4aefd66f15308332273eecb49",
"version" : "190.0.0"
}
},
{
"identity" : "content-scope-scripts",
"kind" : "remoteSourceControl",
"location" : "https://github.com/duckduckgo/content-scope-scripts",
"state" : {
"revision" : "f97053d24c21ea301d4067adbbe0899ff940526a",
"version" : "6.7.0"
"revision" : "5876a5d2e2e7f5a2e11f6419c6c3fafb7cafdfca",
"version" : "6.12.0"
}
},
{
Expand Down Expand Up @@ -104,8 +104,8 @@
"kind" : "remoteSourceControl",
"location" : "https://github.com/duckduckgo/privacy-dashboard",
"state" : {
"revision" : "36dc07cba4bc1e7e0c1d1fb679c3cd077694a072",
"version" : "5.0.0"
"revision" : "665b23dc656c9f787494620494f8e56098a900b2",
"version" : "5.1.1"
}
},
{
Expand Down
10 changes: 5 additions & 5 deletions DuckDuckGo/Application/AppDelegate.swift
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,7 @@ import Subscription
import NetworkProtectionIPC
import DataBrokerProtection
import RemoteMessaging
import os.log

final class AppDelegate: NSObject, NSApplicationDelegate {

Expand All @@ -65,7 +66,7 @@ final class AppDelegate: NSObject, NSApplicationDelegate {
let fileStore: FileStore

#if APPSTORE
private let crashCollection = CrashCollection(platform: .macOSAppStore, log: .default)
private let crashCollection = CrashCollection(platform: .macOSAppStore)
#else
private let crashReporter = CrashReporter()
#endif
Expand Down Expand Up @@ -164,7 +165,7 @@ final class AppDelegate: NSObject, NSApplicationDelegate {
let encryptionKey = NSApplication.runType.requiresEnvironment ? try keyStore.readKey() : nil
fileStore = EncryptedFileStore(encryptionKey: encryptionKey)
} catch {
os_log("App Encryption Key could not be read: %s", "\(error)")
Logger.general.error("App Encryption Key could not be read: \(error.localizedDescription)")
fileStore = EncryptedFileStore()
}

Expand Down Expand Up @@ -545,7 +546,6 @@ final class AppDelegate: NSObject, NSApplicationDelegate {
dataProvidersSource: syncDataProviders,
errorEvents: SyncErrorHandler(),
privacyConfigurationManager: ContentBlocking.shared.privacyConfigurationManager,
log: OSLog.sync,
environment: environment
)
syncService.initializeIfNeeded()
Expand Down Expand Up @@ -620,10 +620,10 @@ final class AppDelegate: NSObject, NSApplicationDelegate {
return
}
if isLocked {
os_log(.debug, log: .sync, "Screen is locked")
Logger.sync.debug("Screen is locked")
syncService.scheduler.cancelSyncAndSuspendSyncQueue()
} else {
os_log(.debug, log: .sync, "Screen is unlocked")
Logger.sync.debug("Screen is unlocked")
syncService.scheduler.resumeSyncQueue()
}
}
Expand Down
3 changes: 2 additions & 1 deletion DuckDuckGo/Application/DockCustomizer.swift
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@

import Foundation
import Common
import os.log

protocol DockCustomization {
var isAddedToDock: Bool { get }
Expand Down Expand Up @@ -104,7 +105,7 @@ final class DockCustomizer: DockCustomization {
}
return true
} catch {
os_log(.error, "Error writing to Dock plist: %{public}@", error.localizedDescription)
Logger.general.error("Error writing to Dock plist: \(error.localizedDescription, privacy: .public)")
return false
}
}
Expand Down
6 changes: 4 additions & 2 deletions DuckDuckGo/Application/URLEventHandler.swift
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,8 @@ import Subscription
import NetworkProtectionUI
import VPNAppLauncher
import DataBrokerProtection
import os.log
import BrowserServicesKit

// @MainActor
final class URLEventHandler {
Expand Down Expand Up @@ -64,14 +66,14 @@ final class URLEventHandler {

@objc func handleUrlEvent(event: NSAppleEventDescriptor, reply: NSAppleEventDescriptor) {
guard let stringValue = event.paramDescriptor(forKeyword: keyDirectObject)?.stringValue else {
os_log("UrlEventListener: unable to determine path", type: .error)
Logger.general.error("UrlEventListener: unable to determine path")
let error = NSError(domain: "CouldNotGetPath", code: -1, userInfo: nil)
PixelKit.fire(DebugEvent(GeneralPixel.appOpenURLFailed, error: error))
return
}

guard let url = URL.makeURL(from: stringValue) else {
os_log("UrlEventListener: failed to construct URL from path %s", type: .error, stringValue)
Logger.general.debug("UrlEventListener: failed to construct URL from path \(stringValue)")
let error = NSError(domain: "CouldNotConstructURL", code: -1, userInfo: nil)
PixelKit.fire(DebugEvent(GeneralPixel.appOpenURLFailed, error: error))
return
Expand Down
38 changes: 38 additions & 0 deletions DuckDuckGo/Assets.xcassets/Colors/AlertRed.colorset/Contents.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
{
"colors" : [
{
"color" : {
"color-space" : "display-p3",
"components" : {
"alpha" : "1.000",
"blue" : "0.215",
"green" : "0.197",
"red" : "0.846"
}
},
"idiom" : "universal"
},
{
"appearances" : [
{
"appearance" : "luminosity",
"value" : "dark"
}
],
"color" : {
"color-space" : "display-p3",
"components" : {
"alpha" : "1.000",
"blue" : "0.375",
"green" : "0.380",
"red" : "0.924"
}
},
"idiom" : "universal"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
{
"colors" : [
{
"color" : {
"color-space" : "display-p3",
"components" : {
"alpha" : "1.000",
"blue" : "0.190",
"green" : "0.172",
"red" : "0.743"
}
},
"idiom" : "universal"
},
{
"appearances" : [
{
"appearance" : "luminosity",
"value" : "dark"
}
],
"color" : {
"color-space" : "display-p3",
"components" : {
"alpha" : "1.000",
"blue" : "0.327",
"green" : "0.330",
"red" : "0.810"
}
},
"idiom" : "universal"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
{
"colors" : [
{
"color" : {
"color-space" : "display-p3",
"components" : {
"alpha" : "1.000",
"blue" : "0.178",
"green" : "0.161",
"red" : "0.696"
}
},
"idiom" : "universal"
},
{
"appearances" : [
{
"appearance" : "luminosity",
"value" : "dark"
}
],
"color" : {
"color-space" : "display-p3",
"components" : {
"alpha" : "1.000",
"blue" : "0.307",
"green" : "0.307",
"red" : "0.759"
}
},
"idiom" : "universal"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
{
"images" : [
{
"filename" : "Exclamation-16.pdf",
"idiom" : "universal"
}
],
"info" : {
"author" : "xcode",
"version" : 1
},
"properties" : {
"template-rendering-intent" : "template"
}
}
Binary file not shown.
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
{
"images" : [
{
"filename" : "Exclamation-FIlled-Recolorable-16.pdf",
"idiom" : "universal"
}
],
"info" : {
"author" : "xcode",
"version" : 1
},
"properties" : {
"preserves-vector-representation" : true,
"template-rendering-intent" : "template"
}
}
Binary file not shown.
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
{
"images" : [
{
"filename" : "Privacy-Pro-16D.svg",
"idiom" : "universal"
}
],
"info" : {
"author" : "xcode",
"version" : 1
},
"properties" : {
"preserves-vector-representation" : true,
"template-rendering-intent" : "template"
}
}
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
7 changes: 4 additions & 3 deletions DuckDuckGo/Autoconsent/AutoconsentExperiment.swift
Original file line number Diff line number Diff line change
Expand Up @@ -18,11 +18,12 @@

import Foundation
import Common
import os.log

enum AutoconsentFilterlistExperiment: String, CaseIterable {
static var logic = AutoconsentExperimentLogic()
static var cohort: AutoconsentFilterlistExperiment? {
os_log("🚧 requesting CPM cohort", log: .autoconsent, type: .debug)
Logger.autoconsent.debug("🚧 requesting CPM cohort")
return logic.experimentCohort
}

Expand All @@ -36,11 +37,11 @@ final internal class AutoconsentExperimentLogic {
// if the stored cohort doesn't match, allocate a new one
let cohort = AutoconsentFilterlistExperiment(rawValue: allocatedExperimentCohort)
{
os_log("🚧 existing CPM cohort: %s", log: .autoconsent, type: .debug, String(describing: cohort.rawValue))
Logger.autoconsent.debug("🚧 existing CPM cohort: \(String(describing: cohort.rawValue))")
return cohort
}
let cohort = AutoconsentFilterlistExperiment.allCases.randomElement()!
os_log("🚧 new CPM cohort: %s", log: .autoconsent, type: .debug, String(describing: cohort.rawValue))
Logger.autoconsent.debug("🚧 new CPM cohort: \(String(describing: cohort.rawValue))")
allocatedExperimentCohort = cohort.rawValue
return cohort
}
Expand Down
Loading
Loading