From f42f00b46c38679fe78dab61a8fbd5d0d7dfdad2 Mon Sep 17 00:00:00 2001 From: Anya Mallon Date: Wed, 22 May 2024 16:58:08 +0200 Subject: [PATCH 01/14] AutofillPixelReporter integrated --- DuckDuckGo/Application/AppDelegate.swift | 20 ++++++++++++++++++++ DuckDuckGo/Statistics/GeneralPixel.swift | 17 +++++++++++++++++ 2 files changed, 37 insertions(+) diff --git a/DuckDuckGo/Application/AppDelegate.swift b/DuckDuckGo/Application/AppDelegate.swift index afbeaf6d23..703599feb1 100644 --- a/DuckDuckGo/Application/AppDelegate.swift +++ b/DuckDuckGo/Application/AppDelegate.swift @@ -76,6 +76,7 @@ final class AppDelegate: NSObject, NSApplicationDelegate { let featureFlagger: FeatureFlagger private var appIconChanger: AppIconChanger! private var autoClearHandler: AutoClearHandler! + private(set) var autofillPixelReporter: AutofillPixelReporter? private(set) var syncDataProviders: SyncDataProviders! private(set) var syncService: DDGSyncing? @@ -328,6 +329,8 @@ final class AppDelegate: NSObject, NSApplicationDelegate { #endif setUpAutoClearHandler() + + setUpAutofillPixelReporter() } func applicationDidBecomeActive(_ notification: Notification) { @@ -576,6 +579,23 @@ final class AppDelegate: NSObject, NSApplicationDelegate { } } + private func setUpAutofillPixelReporter() { + autofillPixelReporter = AutofillPixelReporter(userDefaults: .standard, + eventMapping: EventMapping {event, _, params, _ in + switch event { + case .autofillActiveUser: + PixelKit.fire(GeneralPixel.autofillActiveUser) + case .autofillEnabledUser: + PixelKit.fire(GeneralPixel.autofillEnabledUser) + case .autofillOnboardedUser: + PixelKit.fire(GeneralPixel.autofillOnboardedUser) + case .autofillLoginsStacked: + PixelKit.fire(GeneralPixel.autofillLoginsStacked, withAdditionalParameters: params) + case .autofillCreditCardsStacked: + PixelKit.fire(GeneralPixel.autofillCreditCardsStacked, withAdditionalParameters: params) + } + }, installDate: AppDelegate.firstLaunchDate) + } } func updateSubscriptionStatus() { diff --git a/DuckDuckGo/Statistics/GeneralPixel.swift b/DuckDuckGo/Statistics/GeneralPixel.swift index d5846e38a7..7cf7b485e6 100644 --- a/DuckDuckGo/Statistics/GeneralPixel.swift +++ b/DuckDuckGo/Statistics/GeneralPixel.swift @@ -45,6 +45,12 @@ enum GeneralPixel: PixelKitEventV2 { case autofillLoginsSettingsResetExcludedConfirmed case autofillLoginsSettingsResetExcludedDismissed + case autofillActiveUser + case autofillEnabledUser + case autofillOnboardedUser + case autofillLoginsStacked + case autofillCreditCardsStacked + case bitwardenPasswordAutofilled case bitwardenPasswordSaved @@ -370,6 +376,17 @@ enum GeneralPixel: PixelKitEventV2 { case .autofillLoginsSettingsResetExcludedDismissed: return "m_mac_autofill_settings_reset_excluded_dismissed" + case .autofillActiveUser: + return "m_mac_autofill_activeuser" + case .autofillEnabledUser: + return "m_mac_autofill_enableduser" + case .autofillOnboardedUser: + return "m_mac_autofill_onboardeduser" + case .autofillLoginsStacked: + return "m_mac_autofill_logins_stacked" + case .autofillCreditCardsStacked: + return "m_mac_autofill_creditcards_stacked" + case .bitwardenPasswordAutofilled: return "m_mac_bitwarden_autofill_password" From dcbb140878f2dd65916f7f0da603aac01ca9f69f Mon Sep 17 00:00:00 2001 From: Anya Mallon Date: Wed, 22 May 2024 16:58:28 +0200 Subject: [PATCH 02/14] Debug option to reset AutofillPixelReported defaults --- DuckDuckGo/Menus/MainMenuActions.swift | 3 +++ 1 file changed, 3 insertions(+) diff --git a/DuckDuckGo/Menus/MainMenuActions.swift b/DuckDuckGo/Menus/MainMenuActions.swift index 12094bbd16..61340953ec 100644 --- a/DuckDuckGo/Menus/MainMenuActions.swift +++ b/DuckDuckGo/Menus/MainMenuActions.swift @@ -706,6 +706,9 @@ extension MainViewController { try? vault?.deleteNoteFor(noteId: noteID) } UserDefaults.standard.set(false, forKey: UserDefaultsWrapper.Key.homePageContinueSetUpImport.rawValue) + + let autofillPixelReporter = AutofillPixelReporter(userDefaults: .standard, eventMapping: EventMapping { _, _, _, _ in }, installDate: nil) + autofillPixelReporter.resetStoreDefaults() } @objc func resetBookmarks(_ sender: Any?) { From 3a7a3b0ae66572b7eaee30731b2865f39f90a91a Mon Sep 17 00:00:00 2001 From: Anya Mallon Date: Wed, 22 May 2024 17:14:36 +0200 Subject: [PATCH 03/14] Fire fill events on duck address and identity form fills --- DuckDuckGo/Autofill/ContentOverlayViewController.swift | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/DuckDuckGo/Autofill/ContentOverlayViewController.swift b/DuckDuckGo/Autofill/ContentOverlayViewController.swift index 63a6a88368..6b86a1640b 100644 --- a/DuckDuckGo/Autofill/ContentOverlayViewController.swift +++ b/DuckDuckGo/Autofill/ContentOverlayViewController.swift @@ -326,7 +326,11 @@ extension ContentOverlayViewController: SecureVaultManagerDelegate { self.emailManager.updateLastUseDate() PixelKit.fire(GeneralPixel.jsPixel(pixel), withAdditionalParameters: pixelParameters) + NotificationCenter.default.post(name: .autofillFillEvent, object: nil) } else { + if pixel.isIdentityPixel { + NotificationCenter.default.post(name: .autofillFillEvent, object: nil) + } PixelKit.fire(GeneralPixel.jsPixel(pixel), withAdditionalParameters: pixel.pixelParameters) } } From 5efb584dae7e5620576c8560c51bd497263ff6f2 Mon Sep 17 00:00:00 2001 From: Anya Mallon Date: Wed, 22 May 2024 17:14:54 +0200 Subject: [PATCH 04/14] Fire fill event on credentials fill --- DuckDuckGo/Autofill/ContentOverlayViewController.swift | 1 + 1 file changed, 1 insertion(+) diff --git a/DuckDuckGo/Autofill/ContentOverlayViewController.swift b/DuckDuckGo/Autofill/ContentOverlayViewController.swift index 6b86a1640b..2881a5ae42 100644 --- a/DuckDuckGo/Autofill/ContentOverlayViewController.swift +++ b/DuckDuckGo/Autofill/ContentOverlayViewController.swift @@ -296,6 +296,7 @@ extension ContentOverlayViewController: SecureVaultManagerDelegate { public func secureVaultManager(_: SecureVaultManager, didAutofill type: AutofillType, withObjectId objectId: String) { PixelKit.fire(GeneralPixel.formAutofilled(kind: type.formAutofillKind)) + NotificationCenter.default.post(name: .autofillFillEvent, object: nil) if type.formAutofillKind == .password && passwordManagerCoordinator.isEnabled { From a39753603640354213c15df743b2d9a67cd3c4e4 Mon Sep 17 00:00:00 2001 From: Anya Mallon Date: Wed, 22 May 2024 17:16:01 +0200 Subject: [PATCH 05/14] Fire save events on saving a credential via the save login prompt and the password management UI --- .../SecureVault/View/PasswordManagementViewController.swift | 1 + DuckDuckGo/SecureVault/View/SaveCredentialsViewController.swift | 2 ++ 2 files changed, 3 insertions(+) diff --git a/DuckDuckGo/SecureVault/View/PasswordManagementViewController.swift b/DuckDuckGo/SecureVault/View/PasswordManagementViewController.swift index f18a2478de..bb8bd46046 100644 --- a/DuckDuckGo/SecureVault/View/PasswordManagementViewController.swift +++ b/DuckDuckGo/SecureVault/View/PasswordManagementViewController.swift @@ -539,6 +539,7 @@ final class PasswordManagementViewController: NSViewController { refetchWithText(searchField.stringValue) { [weak self] in self?.syncModelsOnCredentials(savedCredentials, select: true) } + NotificationCenter.default.post(name: .autofillSaveEvent, object: nil, userInfo: nil) } else { syncModelsOnCredentials(savedCredentials) } diff --git a/DuckDuckGo/SecureVault/View/SaveCredentialsViewController.swift b/DuckDuckGo/SecureVault/View/SaveCredentialsViewController.swift index 02a5595240..8db4fce4cc 100644 --- a/DuckDuckGo/SecureVault/View/SaveCredentialsViewController.swift +++ b/DuckDuckGo/SecureVault/View/SaveCredentialsViewController.swift @@ -231,6 +231,8 @@ final class SaveCredentialsViewController: NSViewController { PixelKit.fire(DebugEvent(GeneralPixel.secureVaultError(error: error))) } + NotificationCenter.default.post(name: .autofillSaveEvent, object: nil, userInfo: nil) + PixelKit.fire(GeneralPixel.autofillItemSaved(kind: .password)) if passwordManagerCoordinator.isEnabled { From 169942febbf9e732562a44d782202ff822267128 Mon Sep 17 00:00:00 2001 From: Anya Mallon Date: Wed, 22 May 2024 17:16:26 +0200 Subject: [PATCH 06/14] Fire save event on password import --- .../Logins/SecureVault/SecureVaultLoginImporter.swift | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/DuckDuckGo/DataImport/Logins/SecureVault/SecureVaultLoginImporter.swift b/DuckDuckGo/DataImport/Logins/SecureVault/SecureVaultLoginImporter.swift index 193806cef0..eb3cdd03d9 100644 --- a/DuckDuckGo/DataImport/Logins/SecureVault/SecureVaultLoginImporter.swift +++ b/DuckDuckGo/DataImport/Logins/SecureVault/SecureVaultLoginImporter.swift @@ -60,6 +60,10 @@ final class SecureVaultLoginImporter: LoginImporter { } } + if successful.count > 0 { + NotificationCenter.default.post(name: .autofillSaveEvent, object: nil, userInfo: nil) + } + return .init(successful: successful.count, duplicate: duplicates.count, failed: failed.count) } From d7fa62505e16b8f962517e79d8e20abc57195252 Mon Sep 17 00:00:00 2001 From: Anya Mallon Date: Wed, 22 May 2024 17:16:41 +0200 Subject: [PATCH 07/14] Fire search DAU event --- DuckDuckGo/Statistics/ATB/StatisticsLoader.swift | 1 + 1 file changed, 1 insertion(+) diff --git a/DuckDuckGo/Statistics/ATB/StatisticsLoader.swift b/DuckDuckGo/Statistics/ATB/StatisticsLoader.swift index 19e7c70108..1d3cfb1be3 100644 --- a/DuckDuckGo/Statistics/ATB/StatisticsLoader.swift +++ b/DuckDuckGo/Statistics/ATB/StatisticsLoader.swift @@ -167,6 +167,7 @@ final class StatisticsLoader { if let data = response?.data, let atb = try? self.parser.convert(fromJsonData: data) { self.statisticsStore.searchRetentionAtb = atb.version self.storeUpdateVersionIfPresent(atb) + NotificationCenter.default.post(name: .searchDAU, object: nil, userInfo: nil) } completion() From 9ae0ab3fbb9c82f7db12a014171b7fdfede471aa Mon Sep 17 00:00:00 2001 From: Anya Mallon Date: Wed, 22 May 2024 17:23:03 +0200 Subject: [PATCH 08/14] Point to BSK commit --- DuckDuckGo.xcodeproj/project.pbxproj | 4 ++-- .../project.xcworkspace/xcshareddata/swiftpm/Package.resolved | 3 +-- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/DuckDuckGo.xcodeproj/project.pbxproj b/DuckDuckGo.xcodeproj/project.pbxproj index ebf54146aa..9e3c6b43d6 100644 --- a/DuckDuckGo.xcodeproj/project.pbxproj +++ b/DuckDuckGo.xcodeproj/project.pbxproj @@ -12948,8 +12948,8 @@ isa = XCRemoteSwiftPackageReference; repositoryURL = "https://github.com/duckduckgo/BrowserServicesKit"; requirement = { - kind = exactVersion; - version = 145.3.3; + kind = revision; + revision = 06588c3bf5d7364f7d41ae4e59788f071250eccc; }; }; 9FF521422BAA8FF300B9819B /* XCRemoteSwiftPackageReference "lottie-spm" */ = { diff --git a/DuckDuckGo.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved b/DuckDuckGo.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved index a0e5fe45de..415d3f7b4f 100644 --- a/DuckDuckGo.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved +++ b/DuckDuckGo.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved @@ -32,8 +32,7 @@ "kind" : "remoteSourceControl", "location" : "https://github.com/duckduckgo/BrowserServicesKit", "state" : { - "revision" : "a49bbac8aa58033981a5a946d220886366dd471b", - "version" : "145.3.3" + "revision" : "06588c3bf5d7364f7d41ae4e59788f071250eccc" } }, { From cffffaa0058f7f3a897e42f317a606b2678d663f Mon Sep 17 00:00:00 2001 From: Anya Mallon Date: Wed, 22 May 2024 20:37:28 +0200 Subject: [PATCH 09/14] Updated mocks --- UnitTests/DataExport/MockSecureVault.swift | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/UnitTests/DataExport/MockSecureVault.swift b/UnitTests/DataExport/MockSecureVault.swift index 5f07ac42f2..97cacafde5 100644 --- a/UnitTests/DataExport/MockSecureVault.swift +++ b/UnitTests/DataExport/MockSecureVault.swift @@ -161,6 +161,10 @@ final class MockSecureVault: AutofillSecureVault { return storedCards } + func creditCardsCount() throws -> Int { + return storedCards.count + } + func creditCardFor(id: Int64) throws -> SecureVaultModels.CreditCard? { return storedCards.first { $0.id == id } } @@ -408,6 +412,10 @@ class MockDatabaseProvider: AutofillDatabaseProvider { return Array(_creditCards.values) } + func creditCardsCount() throws -> Int { + return _creditCards.count + } + func creditCardForCardId(_ cardId: Int64) throws -> SecureVaultModels.CreditCard? { return _creditCards[cardId] } From 6c70f93c7785da5ba66cfbe1edc1e4a218cbcf71 Mon Sep 17 00:00:00 2001 From: Anya Mallon Date: Thu, 23 May 2024 13:54:23 +0200 Subject: [PATCH 10/14] Update for Bitwarden --- DuckDuckGo/Application/AppDelegate.swift | 33 +++++++++++++----------- 1 file changed, 18 insertions(+), 15 deletions(-) diff --git a/DuckDuckGo/Application/AppDelegate.swift b/DuckDuckGo/Application/AppDelegate.swift index 703599feb1..1ebf543e50 100644 --- a/DuckDuckGo/Application/AppDelegate.swift +++ b/DuckDuckGo/Application/AppDelegate.swift @@ -580,21 +580,24 @@ final class AppDelegate: NSObject, NSApplicationDelegate { } private func setUpAutofillPixelReporter() { - autofillPixelReporter = AutofillPixelReporter(userDefaults: .standard, - eventMapping: EventMapping {event, _, params, _ in - switch event { - case .autofillActiveUser: - PixelKit.fire(GeneralPixel.autofillActiveUser) - case .autofillEnabledUser: - PixelKit.fire(GeneralPixel.autofillEnabledUser) - case .autofillOnboardedUser: - PixelKit.fire(GeneralPixel.autofillOnboardedUser) - case .autofillLoginsStacked: - PixelKit.fire(GeneralPixel.autofillLoginsStacked, withAdditionalParameters: params) - case .autofillCreditCardsStacked: - PixelKit.fire(GeneralPixel.autofillCreditCardsStacked, withAdditionalParameters: params) - } - }, installDate: AppDelegate.firstLaunchDate) + autofillPixelReporter = AutofillPixelReporter( + userDefaults: .standard, + eventMapping: EventMapping {event, _, params, _ in + switch event { + case .autofillActiveUser: + PixelKit.fire(GeneralPixel.autofillActiveUser) + case .autofillEnabledUser: + PixelKit.fire(GeneralPixel.autofillEnabledUser) + case .autofillOnboardedUser: + PixelKit.fire(GeneralPixel.autofillOnboardedUser) + case .autofillLoginsStacked: + PixelKit.fire(GeneralPixel.autofillLoginsStacked, withAdditionalParameters: params) + case .autofillCreditCardsStacked: + PixelKit.fire(GeneralPixel.autofillCreditCardsStacked, withAdditionalParameters: params) + } + }, + passwordManager: PasswordManagerCoordinator.shared, + installDate: AppDelegate.firstLaunchDate) } } From 53fd8d747b76b357e2bb837d1b9ad8794ff74251 Mon Sep 17 00:00:00 2001 From: Anya Mallon Date: Thu, 23 May 2024 15:21:38 +0200 Subject: [PATCH 11/14] Update BSK ref --- DuckDuckGo.xcodeproj/project.pbxproj | 2 +- .../xcshareddata/swiftpm/Package.resolved | 8 -------- 2 files changed, 1 insertion(+), 9 deletions(-) diff --git a/DuckDuckGo.xcodeproj/project.pbxproj b/DuckDuckGo.xcodeproj/project.pbxproj index 9e3c6b43d6..de9909f4f6 100644 --- a/DuckDuckGo.xcodeproj/project.pbxproj +++ b/DuckDuckGo.xcodeproj/project.pbxproj @@ -12949,7 +12949,7 @@ repositoryURL = "https://github.com/duckduckgo/BrowserServicesKit"; requirement = { kind = revision; - revision = 06588c3bf5d7364f7d41ae4e59788f071250eccc; + revision = 9c06c50637df77d69d350b62f9ecf8e936054396; }; }; 9FF521422BAA8FF300B9819B /* XCRemoteSwiftPackageReference "lottie-spm" */ = { diff --git a/DuckDuckGo.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved b/DuckDuckGo.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved index 415d3f7b4f..9055ac7079 100644 --- a/DuckDuckGo.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved +++ b/DuckDuckGo.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved @@ -27,14 +27,6 @@ "version" : "3.0.0" } }, - { - "identity" : "browserserviceskit", - "kind" : "remoteSourceControl", - "location" : "https://github.com/duckduckgo/BrowserServicesKit", - "state" : { - "revision" : "06588c3bf5d7364f7d41ae4e59788f071250eccc" - } - }, { "identity" : "content-scope-scripts", "kind" : "remoteSourceControl", From cf5b0faa6499767132efc8ebd48937b6a0824aad Mon Sep 17 00:00:00 2001 From: Anya Mallon Date: Thu, 23 May 2024 15:28:08 +0200 Subject: [PATCH 12/14] Update BSK ref --- .../xcshareddata/swiftpm/Package.resolved | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/DuckDuckGo.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved b/DuckDuckGo.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved index 9055ac7079..01f0142156 100644 --- a/DuckDuckGo.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved +++ b/DuckDuckGo.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved @@ -27,6 +27,14 @@ "version" : "3.0.0" } }, + { + "identity" : "browserserviceskit", + "kind" : "remoteSourceControl", + "location" : "https://github.com/duckduckgo/BrowserServicesKit", + "state" : { + "revision" : "9c06c50637df77d69d350b62f9ecf8e936054396" + } + }, { "identity" : "content-scope-scripts", "kind" : "remoteSourceControl", From a8d6a511af1a6a42dade3b666682c9f0efeaed34 Mon Sep 17 00:00:00 2001 From: Anya Mallon Date: Thu, 23 May 2024 15:42:22 +0200 Subject: [PATCH 13/14] Update BSK ref --- DuckDuckGo.xcodeproj/project.pbxproj | 2 +- .../project.xcworkspace/xcshareddata/swiftpm/Package.resolved | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/DuckDuckGo.xcodeproj/project.pbxproj b/DuckDuckGo.xcodeproj/project.pbxproj index f366954005..f06d27e483 100644 --- a/DuckDuckGo.xcodeproj/project.pbxproj +++ b/DuckDuckGo.xcodeproj/project.pbxproj @@ -13027,7 +13027,7 @@ repositoryURL = "https://github.com/duckduckgo/BrowserServicesKit"; requirement = { kind = revision; - revision = 9c06c50637df77d69d350b62f9ecf8e936054396; + revision = 055c32cbbdf0f6944f2f3ff83c1ba7bd59c2e6b6; }; }; 9FF521422BAA8FF300B9819B /* XCRemoteSwiftPackageReference "lottie-spm" */ = { diff --git a/DuckDuckGo.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved b/DuckDuckGo.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved index a65e4ea42d..573c84b034 100644 --- a/DuckDuckGo.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved +++ b/DuckDuckGo.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved @@ -32,7 +32,7 @@ "kind" : "remoteSourceControl", "location" : "https://github.com/duckduckgo/BrowserServicesKit", "state" : { - "revision" : "9c06c50637df77d69d350b62f9ecf8e936054396" + "revision" : "055c32cbbdf0f6944f2f3ff83c1ba7bd59c2e6b6" } }, { From 26801dfb4242a408108fe2c8e3ab366be4976732 Mon Sep 17 00:00:00 2001 From: Anya Mallon Date: Thu, 23 May 2024 21:16:22 +0200 Subject: [PATCH 14/14] Set to BSK release --- DuckDuckGo.xcodeproj/project.pbxproj | 4 +- .../xcshareddata/swiftpm/Package.resolved | 194 ++++++++++++++++++ .../DataBrokerProtection/Package.swift | 2 +- .../NetworkProtectionMac/Package.swift | 2 +- LocalPackages/SubscriptionUI/Package.swift | 2 +- 5 files changed, 199 insertions(+), 5 deletions(-) create mode 100644 DuckDuckGo.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved diff --git a/DuckDuckGo.xcodeproj/project.pbxproj b/DuckDuckGo.xcodeproj/project.pbxproj index 7f7772d93a..6143c3a653 100644 --- a/DuckDuckGo.xcodeproj/project.pbxproj +++ b/DuckDuckGo.xcodeproj/project.pbxproj @@ -13020,8 +13020,8 @@ isa = XCRemoteSwiftPackageReference; repositoryURL = "https://github.com/duckduckgo/BrowserServicesKit"; requirement = { - kind = revision; - revision = 055c32cbbdf0f6944f2f3ff83c1ba7bd59c2e6b6; + kind = exactVersion; + version = 146.2.0; }; }; 9FF521422BAA8FF300B9819B /* XCRemoteSwiftPackageReference "lottie-spm" */ = { diff --git a/DuckDuckGo.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved b/DuckDuckGo.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved new file mode 100644 index 0000000000..6dd57e77a0 --- /dev/null +++ b/DuckDuckGo.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved @@ -0,0 +1,194 @@ +{ + "pins" : [ + { + "identity" : "apple-toolbox", + "kind" : "remoteSourceControl", + "location" : "https://github.com/duckduckgo/apple-toolbox.git", + "state" : { + "revision" : "ab53ca41e9044a20eab7e53249526fadcf9acc9f", + "version" : "3.1.1" + } + }, + { + "identity" : "barebonesbrowser", + "kind" : "remoteSourceControl", + "location" : "https://github.com/duckduckgo/BareBonesBrowser.git", + "state" : { + "revision" : "31e5bfedc3c2ca005640c4bf2b6959d69b0e18b9", + "version" : "0.1.0" + } + }, + { + "identity" : "bloom_cpp", + "kind" : "remoteSourceControl", + "location" : "https://github.com/duckduckgo/bloom_cpp.git", + "state" : { + "revision" : "8076199456290b61b4544bf2f4caf296759906a0", + "version" : "3.0.0" + } + }, + { + "identity" : "browserserviceskit", + "kind" : "remoteSourceControl", + "location" : "https://github.com/duckduckgo/BrowserServicesKit", + "state" : { + "revision" : "e1e436422bc167933baa0f90838958f2ac7119f3", + "version" : "146.2.0" + } + }, + { + "identity" : "content-scope-scripts", + "kind" : "remoteSourceControl", + "location" : "https://github.com/duckduckgo/content-scope-scripts", + "state" : { + "revision" : "fa861c4eccb21d235e34070b208b78bdc32ece08", + "version" : "5.17.0" + } + }, + { + "identity" : "duckduckgo-autofill", + "kind" : "remoteSourceControl", + "location" : "https://github.com/duckduckgo/duckduckgo-autofill.git", + "state" : { + "revision" : "10aeff1ec7f533d1705233a9b14f9393a699b1c0", + "version" : "11.0.2" + } + }, + { + "identity" : "grdb.swift", + "kind" : "remoteSourceControl", + "location" : "https://github.com/duckduckgo/GRDB.swift.git", + "state" : { + "revision" : "9f049d7b97b1e68ffd86744b500660d34a9e79b8", + "version" : "2.3.0" + } + }, + { + "identity" : "gzipswift", + "kind" : "remoteSourceControl", + "location" : "https://github.com/1024jp/GzipSwift.git", + "state" : { + "revision" : "731037f6cc2be2ec01562f6597c1d0aa3fe6fd05", + "version" : "6.0.1" + } + }, + { + "identity" : "lottie-spm", + "kind" : "remoteSourceControl", + "location" : "https://github.com/airbnb/lottie-spm.git", + "state" : { + "revision" : "3bd43e12d6fb54654366a61f7cfaca787318b8ce", + "version" : "4.4.1" + } + }, + { + "identity" : "ohhttpstubs", + "kind" : "remoteSourceControl", + "location" : "https://github.com/AliSoftware/OHHTTPStubs.git", + "state" : { + "revision" : "12f19662426d0434d6c330c6974d53e2eb10ecd9", + "version" : "9.1.0" + } + }, + { + "identity" : "openssl-xcframework", + "kind" : "remoteSourceControl", + "location" : "https://github.com/duckduckgo/OpenSSL-XCFramework", + "state" : { + "revision" : "b75ab2c0405860bb2616db71b9a456acb118c21a", + "version" : "3.1.4000" + } + }, + { + "identity" : "privacy-dashboard", + "kind" : "remoteSourceControl", + "location" : "https://github.com/duckduckgo/privacy-dashboard", + "state" : { + "revision" : "25b8903191a40b21b09525085fe325ae3386092e", + "version" : "3.6.0" + } + }, + { + "identity" : "punycodeswift", + "kind" : "remoteSourceControl", + "location" : "https://github.com/gumob/PunycodeSwift.git", + "state" : { + "revision" : "4356ec54e073741449640d3d50a1fd24fd1e1b8b", + "version" : "2.1.0" + } + }, + { + "identity" : "sparkle", + "kind" : "remoteSourceControl", + "location" : "https://github.com/sparkle-project/Sparkle.git", + "state" : { + "revision" : "0a4caaf7a81eea2cece651ef4b17331fa0634dff", + "version" : "2.6.0" + } + }, + { + "identity" : "swift-argument-parser", + "kind" : "remoteSourceControl", + "location" : "https://github.com/apple/swift-argument-parser.git", + "state" : { + "revision" : "0fbc8848e389af3bb55c182bc19ca9d5dc2f255b", + "version" : "1.4.0" + } + }, + { + "identity" : "swift-snapshot-testing", + "kind" : "remoteSourceControl", + "location" : "https://github.com/pointfreeco/swift-snapshot-testing", + "state" : { + "revision" : "5b0c434778f2c1a4c9b5ebdb8682b28e84dd69bd", + "version" : "1.15.4" + } + }, + { + "identity" : "swift-syntax", + "kind" : "remoteSourceControl", + "location" : "https://github.com/apple/swift-syntax", + "state" : { + "revision" : "64889f0c732f210a935a0ad7cda38f77f876262d", + "version" : "509.1.1" + } + }, + { + "identity" : "swifter", + "kind" : "remoteSourceControl", + "location" : "https://github.com/httpswift/swifter.git", + "state" : { + "revision" : "9483a5d459b45c3ffd059f7b55f9638e268632fd", + "version" : "1.5.0" + } + }, + { + "identity" : "sync_crypto", + "kind" : "remoteSourceControl", + "location" : "https://github.com/duckduckgo/sync_crypto", + "state" : { + "revision" : "2ab6ab6f0f96b259c14c2de3fc948935fc16ac78", + "version" : "0.2.0" + } + }, + { + "identity" : "trackerradarkit", + "kind" : "remoteSourceControl", + "location" : "https://github.com/duckduckgo/TrackerRadarKit", + "state" : { + "revision" : "c01e6a59d000356b58ec77053e0a99d538be56a5", + "version" : "2.1.1" + } + }, + { + "identity" : "wireguard-apple", + "kind" : "remoteSourceControl", + "location" : "https://github.com/duckduckgo/wireguard-apple", + "state" : { + "revision" : "13fd026384b1af11048451061cc1b21434990668", + "version" : "1.1.3" + } + } + ], + "version" : 2 +} diff --git a/LocalPackages/DataBrokerProtection/Package.swift b/LocalPackages/DataBrokerProtection/Package.swift index 5c788ad63f..1fa39e2681 100644 --- a/LocalPackages/DataBrokerProtection/Package.swift +++ b/LocalPackages/DataBrokerProtection/Package.swift @@ -29,7 +29,7 @@ let package = Package( targets: ["DataBrokerProtection"]) ], dependencies: [ - .package(url: "https://github.com/duckduckgo/BrowserServicesKit", exact: "146.1.0"), + .package(url: "https://github.com/duckduckgo/BrowserServicesKit", exact: "146.2.0"), .package(path: "../SwiftUIExtensions"), .package(path: "../XPCHelper"), ], diff --git a/LocalPackages/NetworkProtectionMac/Package.swift b/LocalPackages/NetworkProtectionMac/Package.swift index 24722fef2b..041e3d6cd1 100644 --- a/LocalPackages/NetworkProtectionMac/Package.swift +++ b/LocalPackages/NetworkProtectionMac/Package.swift @@ -31,7 +31,7 @@ let package = Package( .library(name: "NetworkProtectionUI", targets: ["NetworkProtectionUI"]), ], dependencies: [ - .package(url: "https://github.com/duckduckgo/BrowserServicesKit", exact: "146.1.0"), + .package(url: "https://github.com/duckduckgo/BrowserServicesKit", exact: "146.2.0"), .package(url: "https://github.com/airbnb/lottie-spm", exact: "4.4.1"), .package(path: "../XPCHelper"), .package(path: "../SwiftUIExtensions"), diff --git a/LocalPackages/SubscriptionUI/Package.swift b/LocalPackages/SubscriptionUI/Package.swift index a33802799a..57655ffe08 100644 --- a/LocalPackages/SubscriptionUI/Package.swift +++ b/LocalPackages/SubscriptionUI/Package.swift @@ -12,7 +12,7 @@ let package = Package( targets: ["SubscriptionUI"]), ], dependencies: [ - .package(url: "https://github.com/duckduckgo/BrowserServicesKit", exact: "146.1.0"), + .package(url: "https://github.com/duckduckgo/BrowserServicesKit", exact: "146.2.0"), .package(path: "../SwiftUIExtensions") ], targets: [