Skip to content
This repository was archived by the owner on Feb 24, 2025. It is now read-only.

Commit 4b5551a

Browse files
committed
Merge branch 'develop' into sam/add-netp-messaging-support-part-2-add-remote-fetching
* develop: Encapsulate handling one profile at the Repository level (#1676) Refactor MouseOverView/Button; fix bkm bar hlight glitch (#1667) Replace old privacy page with new - MacOS (#1611) Fix SwiftLint 0.53.0 warnings (#1683) fix crash in address bar selection macOS 12 (#1679) Fix of tab bar gap in Xcode 15 (#1680) Pixel m_mac_user_has_pinned_tab removed (#1675) Upload .xcresult artifacts on PR test failure (#1678) Prevent preferredRunDate from being set in the future (#1670) Fix Microsoft teams links opening in macOS browser (#1669) Bump version to 1.58.0 (61) Update embedded files Add underlying error info to the config fetch error (#1672)
2 parents b092233 + 5723721 commit 4b5551a

File tree

61 files changed

+1536
-587
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

61 files changed

+1536
-587
lines changed

.github/workflows/pr.yml

+14-4
Original file line numberDiff line numberDiff line change
@@ -102,7 +102,7 @@ jobs:
102102
${{ runner.os }}-spm-${{ matrix.cache-key }}
103103
104104
- name: Select Xcode
105-
run: sudo xcode-select -s /Applications/Xcode_$(<.xcode-version).app/Contents/Developer
105+
run: sudo xcode-select -s /Applications/Xcode_$(<.xcode-version).app/Contents/Developer || (find /Applications -type d -name 'Xcode*.app' -maxdepth 1 && false)
106106

107107
- name: Install xcbeautify
108108
continue-on-error: true
@@ -119,7 +119,8 @@ jobs:
119119
ENABLE_TESTABILITY=true \
120120
ONLY_ACTIVE_ARCH=${{ matrix.active-arch }} \
121121
| tee ${{ matrix.flavor }}-xcodebuild.log \
122-
| xcbeautify --report junit --report-path . --junit-report-filename ${{ matrix.flavor }}.xml
122+
| xcbeautify --report junit --report-path . --junit-report-filename ${{ matrix.flavor }}.xml \
123+
|| { mv "$(grep -m 1 '.*\.xcresult' ${{ matrix.flavor }}-xcodebuild.log | sed -e 's/^[[:space:]]*//' -e 's/[[:space:]]*$//')" ./${{ matrix.flavor }}.xcresult && exit 1; }
123124
124125
- name: Check private API usage
125126
id: private-api
@@ -173,6 +174,14 @@ jobs:
173174
with:
174175
name: ${{ matrix.flavor }}-xcodebuild.log
175176
path: ${{ matrix.flavor }}-xcodebuild.log
177+
retention-days: 7
178+
- name: Upload failed xcresult
179+
uses: actions/upload-artifact@v3
180+
if: failure()
181+
with:
182+
name: ${{ matrix.flavor }}.xcresult
183+
path: ${{ matrix.flavor }}.xcresult
184+
retention-days: 7
176185

177186
private-api:
178187
name: Private API Report
@@ -239,7 +248,7 @@ jobs:
239248
${{ runner.os }}-spm-test-release-${{ matrix.cache-key }}
240249
241250
- name: Select Xcode
242-
run: sudo xcode-select -s /Applications/Xcode_$(<.xcode-version).app/Contents/Developer
251+
run: sudo xcode-select -s /Applications/Xcode_$(<.xcode-version).app/Contents/Developer || (find /Applications -type d -name 'Xcode*.app' -maxdepth 1 && false)
243252

244253
- name: Install xcbeautify
245254
continue-on-error: true
@@ -261,6 +270,7 @@ jobs:
261270
with:
262271
name: release-xcodebuild.log
263272
path: release-xcodebuild.log
273+
retention-days: 7
264274

265275
verify-autoconsent-bundle:
266276
name: 'Verify autoconsent bundle'
@@ -301,4 +311,4 @@ jobs:
301311
asana-section: ${{ vars.APPLE_CI_FAILING_TESTS_MACOS_POST_MERGE_SECTION_ID }}
302312
asana-task-name: 'PR Check is failing on develop'
303313
action: create-asana-task
304-
asana-task-description: PR Checks conducted after merging have failed. See ${{ env.WORKFLOW_URL }}. Follow the steps on https://app.asana.com/0/1202500774821704/1205317064731691 to resolve this issue.
314+
asana-task-description: PR Checks conducted after merging have failed. See ${{ env.WORKFLOW_URL }}. Follow the steps on https://app.asana.com/0/1202500774821704/1205317064731691 to resolve this issue.
+1-1
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
CURRENT_PROJECT_VERSION = 60
1+
CURRENT_PROJECT_VERSION = 61

Configuration/Version.xcconfig

+1-1
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
MARKETING_VERSION = 1.57.1
1+
MARKETING_VERSION = 1.58.0

DuckDuckGo.xcodeproj/project.pbxproj

+9-9
Original file line numberDiff line numberDiff line change
@@ -349,7 +349,6 @@
349349
3192A0932A4C4CFF0084EA89 /* TemporaryFileHandler.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4BBF0914282DD40100EE1418 /* TemporaryFileHandler.swift */; };
350350
3192A0942A4C4CFF0084EA89 /* URL+NetworkProtection.swift in Sources */ = {isa = PBXBuildFile; fileRef = B602E8152A1E2570006D261F /* URL+NetworkProtection.swift */; };
351351
3192A0952A4C4CFF0084EA89 /* PrivacyFeatures.swift in Sources */ = {isa = PBXBuildFile; fileRef = CB6BCDF827C6BEFF00CC76DC /* PrivacyFeatures.swift */; };
352-
3192A0962A4C4CFF0084EA89 /* MouseClickView.swift in Sources */ = {isa = PBXBuildFile; fileRef = B693953F26F04BE80015B914 /* MouseClickView.swift */; };
353352
3192A0972A4C4CFF0084EA89 /* View+RoundedCorners.swift in Sources */ = {isa = PBXBuildFile; fileRef = 378F44EA29B4C73E00899924 /* View+RoundedCorners.swift */; };
354353
3192A0982A4C4CFF0084EA89 /* AVCaptureDevice+SwizzledAuthState.swift in Sources */ = {isa = PBXBuildFile; fileRef = B6DB3CF826A00E2D00D459B7 /* AVCaptureDevice+SwizzledAuthState.swift */; };
355354
3192A0992A4C4CFF0084EA89 /* VisitMenuItem.swift in Sources */ = {isa = PBXBuildFile; fileRef = AAAB9115288EB46B00A057A9 /* VisitMenuItem.swift */; };
@@ -1019,7 +1018,6 @@
10191018
3706FB58293F65D500E42796 /* LinkButton.swift in Sources */ = {isa = PBXBuildFile; fileRef = B6B1E88A26D774090062C350 /* LinkButton.swift */; };
10201019
3706FB59293F65D500E42796 /* TemporaryFileHandler.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4BBF0914282DD40100EE1418 /* TemporaryFileHandler.swift */; };
10211020
3706FB5A293F65D500E42796 /* PrivacyFeatures.swift in Sources */ = {isa = PBXBuildFile; fileRef = CB6BCDF827C6BEFF00CC76DC /* PrivacyFeatures.swift */; };
1022-
3706FB5B293F65D500E42796 /* MouseClickView.swift in Sources */ = {isa = PBXBuildFile; fileRef = B693953F26F04BE80015B914 /* MouseClickView.swift */; };
10231021
3706FB5C293F65D500E42796 /* AVCaptureDevice+SwizzledAuthState.swift in Sources */ = {isa = PBXBuildFile; fileRef = B6DB3CF826A00E2D00D459B7 /* AVCaptureDevice+SwizzledAuthState.swift */; };
10241022
3706FB5D293F65D500E42796 /* VisitMenuItem.swift in Sources */ = {isa = PBXBuildFile; fileRef = AAAB9115288EB46B00A057A9 /* VisitMenuItem.swift */; };
10251023
3706FB5E293F65D500E42796 /* EncryptionKeyStore.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4BA1A6BC258B082300F6F690 /* EncryptionKeyStore.swift */; };
@@ -2657,7 +2655,6 @@
26572655
B693954A26F04BEB0015B914 /* NibLoadable.swift in Sources */ = {isa = PBXBuildFile; fileRef = B693953C26F04BE70015B914 /* NibLoadable.swift */; };
26582656
B693954B26F04BEB0015B914 /* MouseOverView.swift in Sources */ = {isa = PBXBuildFile; fileRef = B693953D26F04BE70015B914 /* MouseOverView.swift */; };
26592657
B693954C26F04BEB0015B914 /* FocusRingView.swift in Sources */ = {isa = PBXBuildFile; fileRef = B693953E26F04BE70015B914 /* FocusRingView.swift */; };
2660-
B693954D26F04BEB0015B914 /* MouseClickView.swift in Sources */ = {isa = PBXBuildFile; fileRef = B693953F26F04BE80015B914 /* MouseClickView.swift */; };
26612658
B693954E26F04BEB0015B914 /* ProgressView.swift in Sources */ = {isa = PBXBuildFile; fileRef = B693954026F04BE80015B914 /* ProgressView.swift */; };
26622659
B693954F26F04BEB0015B914 /* PaddedImageButton.swift in Sources */ = {isa = PBXBuildFile; fileRef = B693954126F04BE80015B914 /* PaddedImageButton.swift */; };
26632660
B693955026F04BEB0015B914 /* ShadowView.swift in Sources */ = {isa = PBXBuildFile; fileRef = B693954226F04BE90015B914 /* ShadowView.swift */; };
@@ -2717,6 +2714,9 @@
27172714
B6AE74342609AFCE005B9B1A /* ProgressEstimationTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = B6AE74332609AFCE005B9B1A /* ProgressEstimationTests.swift */; };
27182715
B6AFE6BC29A5D3F8002FF962 /* PrivacyDashboardTabExtension.swift in Sources */ = {isa = PBXBuildFile; fileRef = B6BF5D842946FFDA006742B1 /* PrivacyDashboardTabExtension.swift */; };
27192716
B6AFE6BD29A5D621002FF962 /* HTTPSUpgradeTabExtension.swift in Sources */ = {isa = PBXBuildFile; fileRef = B6BF5D8829470BC4006742B1 /* HTTPSUpgradeTabExtension.swift */; };
2717+
B6B140882ABDBCC1004F8E85 /* HoverTrackingArea.swift in Sources */ = {isa = PBXBuildFile; fileRef = B6B140872ABDBCC1004F8E85 /* HoverTrackingArea.swift */; };
2718+
B6B140892ABDBCC1004F8E85 /* HoverTrackingArea.swift in Sources */ = {isa = PBXBuildFile; fileRef = B6B140872ABDBCC1004F8E85 /* HoverTrackingArea.swift */; };
2719+
B6B1408A2ABDBCC1004F8E85 /* HoverTrackingArea.swift in Sources */ = {isa = PBXBuildFile; fileRef = B6B140872ABDBCC1004F8E85 /* HoverTrackingArea.swift */; };
27202720
B6B1E87B26D381710062C350 /* DownloadListCoordinator.swift in Sources */ = {isa = PBXBuildFile; fileRef = B6B1E87A26D381710062C350 /* DownloadListCoordinator.swift */; };
27212721
B6B1E87E26D5DA0E0062C350 /* DownloadsPopover.swift in Sources */ = {isa = PBXBuildFile; fileRef = B6B1E87D26D5DA0E0062C350 /* DownloadsPopover.swift */; };
27222722
B6B1E88026D5DA9B0062C350 /* DownloadsViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = B6B1E87F26D5DA9B0062C350 /* DownloadsViewController.swift */; };
@@ -3930,7 +3930,6 @@
39303930
B693953C26F04BE70015B914 /* NibLoadable.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = NibLoadable.swift; sourceTree = "<group>"; };
39313931
B693953D26F04BE70015B914 /* MouseOverView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = MouseOverView.swift; sourceTree = "<group>"; };
39323932
B693953E26F04BE70015B914 /* FocusRingView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = FocusRingView.swift; sourceTree = "<group>"; };
3933-
B693953F26F04BE80015B914 /* MouseClickView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = MouseClickView.swift; sourceTree = "<group>"; };
39343933
B693954026F04BE80015B914 /* ProgressView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ProgressView.swift; sourceTree = "<group>"; };
39353934
B693954126F04BE80015B914 /* PaddedImageButton.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = PaddedImageButton.swift; sourceTree = "<group>"; };
39363935
B693954226F04BE90015B914 /* ShadowView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ShadowView.swift; sourceTree = "<group>"; };
@@ -3983,6 +3982,7 @@
39833982
B6AAAC3D26048F690029438D /* RandomAccessCollectionExtension.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RandomAccessCollectionExtension.swift; sourceTree = "<group>"; };
39843983
B6AE39F029373AF200C37AA4 /* EmptyAttributionRulesProver.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = EmptyAttributionRulesProver.swift; sourceTree = "<group>"; };
39853984
B6AE74332609AFCE005B9B1A /* ProgressEstimationTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ProgressEstimationTests.swift; sourceTree = "<group>"; };
3985+
B6B140872ABDBCC1004F8E85 /* HoverTrackingArea.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = HoverTrackingArea.swift; sourceTree = "<group>"; };
39863986
B6B1E87A26D381710062C350 /* DownloadListCoordinator.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DownloadListCoordinator.swift; sourceTree = "<group>"; };
39873987
B6B1E87D26D5DA0E0062C350 /* DownloadsPopover.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DownloadsPopover.swift; sourceTree = "<group>"; };
39883988
B6B1E87F26D5DA9B0062C350 /* DownloadsViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DownloadsViewController.swift; sourceTree = "<group>"; };
@@ -5751,12 +5751,12 @@
57515751
B693953E26F04BE70015B914 /* FocusRingView.swift */,
57525752
B693954326F04BE90015B914 /* GradientView.swift */,
57535753
B6B1E88A26D774090062C350 /* LinkButton.swift */,
5754+
B6B140872ABDBCC1004F8E85 /* HoverTrackingArea.swift */,
57545755
B693954426F04BE90015B914 /* LongPressButton.swift */,
5755-
B693953F26F04BE80015B914 /* MouseClickView.swift */,
57565756
B693954926F04BEB0015B914 /* MouseOverButton.swift */,
57575757
AA7EB6DE27E7C57D00036718 /* MouseOverAnimationButton.swift */,
5758-
4B379C2327BDE1B0008A968E /* FlatButton.swift */,
57595758
B693953D26F04BE70015B914 /* MouseOverView.swift */,
5759+
4B379C2327BDE1B0008A968E /* FlatButton.swift */,
57605760
B693953C26F04BE70015B914 /* NibLoadable.swift */,
57615761
B693954726F04BEA0015B914 /* NSSavePanelExtension.swift */,
57625762
B693954126F04BE80015B914 /* PaddedImageButton.swift */,
@@ -9077,7 +9077,6 @@
90779077
3192A0942A4C4CFF0084EA89 /* URL+NetworkProtection.swift in Sources */,
90789078
3192A0952A4C4CFF0084EA89 /* PrivacyFeatures.swift in Sources */,
90799079
316C7A852A7E9C2300AA3BAE /* BookmarksBarMenuFactory.swift in Sources */,
9080-
3192A0962A4C4CFF0084EA89 /* MouseClickView.swift in Sources */,
90819080
3192A0972A4C4CFF0084EA89 /* View+RoundedCorners.swift in Sources */,
90829081
3192A0982A4C4CFF0084EA89 /* AVCaptureDevice+SwizzledAuthState.swift in Sources */,
90839082
3192A0992A4C4CFF0084EA89 /* VisitMenuItem.swift in Sources */,
@@ -9088,6 +9087,7 @@
90889087
3192A09E2A4C4CFF0084EA89 /* ProgressExtension.swift in Sources */,
90899088
B60D644B2AAF1B7C00B26F50 /* AddressBarTextSelectionNavigation.swift in Sources */,
90909089
3192A09F2A4C4CFF0084EA89 /* CSVParser.swift in Sources */,
9090+
B6B1408A2ABDBCC1004F8E85 /* HoverTrackingArea.swift in Sources */,
90919091
3192A0A02A4C4CFF0084EA89 /* PixelDataModel.xcdatamodeld in Sources */,
90929092
3192A0A12A4C4CFF0084EA89 /* PrivacyDashboardWebView.swift in Sources */,
90939093
3192A0A22A4C4CFF0084EA89 /* AppearancePreferences.swift in Sources */,
@@ -9724,7 +9724,6 @@
97249724
3706FB59293F65D500E42796 /* TemporaryFileHandler.swift in Sources */,
97259725
37197EA62942443D00394917 /* WebViewSnapshotView.swift in Sources */,
97269726
3706FB5A293F65D500E42796 /* PrivacyFeatures.swift in Sources */,
9727-
3706FB5B293F65D500E42796 /* MouseClickView.swift in Sources */,
97289727
3707C726294B5D2900682A9F /* TimeIntervalExtension.swift in Sources */,
97299728
3706FB5C293F65D500E42796 /* AVCaptureDevice+SwizzledAuthState.swift in Sources */,
97309729
3706FB5D293F65D500E42796 /* VisitMenuItem.swift in Sources */,
@@ -9999,6 +9998,7 @@
99999998
3706FC32293F65D500E42796 /* MoreOptionsMenu.swift in Sources */,
100009999
3706FC34293F65D500E42796 /* PermissionAuthorizationViewController.swift in Sources */,
1000110000
3706FC35293F65D500E42796 /* BookmarkNode.swift in Sources */,
10001+
B6B140892ABDBCC1004F8E85 /* HoverTrackingArea.swift in Sources */,
1000210002
3706FC36293F65D500E42796 /* LongPressButton.swift in Sources */,
1000310003
3706FC37293F65D500E42796 /* CoreDataStore.swift in Sources */,
1000410004
3706FC38293F65D500E42796 /* BundleExtension.swift in Sources */,
@@ -10832,7 +10832,6 @@
1083210832
4BBF0915282DD40100EE1418 /* TemporaryFileHandler.swift in Sources */,
1083310833
B602E8162A1E2570006D261F /* URL+NetworkProtection.swift in Sources */,
1083410834
CB6BCDF927C6BEFF00CC76DC /* PrivacyFeatures.swift in Sources */,
10835-
B693954D26F04BEB0015B914 /* MouseClickView.swift in Sources */,
1083610835
378F44EB29B4C73E00899924 /* View+RoundedCorners.swift in Sources */,
1083710836
B6DB3CF926A00E2D00D459B7 /* AVCaptureDevice+SwizzledAuthState.swift in Sources */,
1083810837
AAAB9116288EB46B00A057A9 /* VisitMenuItem.swift in Sources */,
@@ -10896,6 +10895,7 @@
1089610895
4B29759728281F0900187C4E /* FirefoxEncryptionKeyReader.swift in Sources */,
1089710896
4B4D60C22A0C849000BCD287 /* EventMapping+NetworkProtectionError.swift in Sources */,
1089810897
4B9292D02667123700AD2C21 /* BookmarkManagementSplitViewController.swift in Sources */,
10898+
B6B140882ABDBCC1004F8E85 /* HoverTrackingArea.swift in Sources */,
1089910899
3171D6DB2889B64D0068632A /* CookieManagedNotificationContainerView.swift in Sources */,
1090010900
B6E61EE3263AC0C8004E11AB /* FileManagerExtension.swift in Sources */,
1090110901
B6DB3CFB26A17CB800D459B7 /* PermissionModel.swift in Sources */,

DuckDuckGo.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved

+1-1
Original file line numberDiff line numberDiff line change
@@ -129,7 +129,7 @@
129129
{
130130
"identity" : "trackerradarkit",
131131
"kind" : "remoteSourceControl",
132-
"location" : "https://github.com/duckduckgo/TrackerRadarKit",
132+
"location" : "https://github.com/duckduckgo/TrackerRadarKit.git",
133133
"state" : {
134134
"revision" : "4684440d03304e7638a2c8086895367e90987463",
135135
"version" : "1.2.1"

DuckDuckGo/BookmarksBar/View/BookmarksBarCollectionViewItem.swift

-32
Original file line numberDiff line numberDiff line change
@@ -37,19 +37,13 @@ final class BookmarksBarCollectionViewItem: NSCollectionViewItem {
3737
static let identifier = NSUserInterfaceItemIdentifier(rawValue: "BookmarksBarCollectionViewItem")
3838

3939
@IBOutlet var stackView: NSStackView!
40-
@IBOutlet private var mouseOverView: MouseOverView!
4140
@IBOutlet private var faviconView: NSImageView! {
4241
didSet {
4342
faviconView.setCornerRadius(3.0)
4443
}
4544
}
4645

4746
@IBOutlet private var titleLabel: NSTextField!
48-
@IBOutlet private var mouseClickView: MouseClickView! {
49-
didSet {
50-
mouseClickView.delegate = self
51-
}
52-
}
5347

5448
private enum EntityType {
5549
case bookmark(title: String, url: String, favicon: NSImage?, isFavorite: Bool)
@@ -66,22 +60,13 @@ final class BookmarksBarCollectionViewItem: NSCollectionViewItem {
6660
weak var delegate: BookmarksBarCollectionViewItemDelegate?
6761
private var entityType: EntityType?
6862

69-
/// MouseClickView is prone to sending mouseUp events without a preceding mouseDown.
70-
/// This tracks whether to consider a click as legitimate and use it to trigger navigation from the bookmarks bar.
71-
private var receivedMouseDownEvent = false
72-
7363
override func viewDidLoad() {
7464
super.viewDidLoad()
7565

7666
configureLayer()
7767
createMenu()
7868
}
7969

80-
override func viewDidLayout() {
81-
super.viewDidLayout()
82-
mouseOverView.updateTrackingAreas()
83-
}
84-
8570
func updateItem(from entity: BaseBookmarkEntity) {
8671
self.title = entity.title
8772

@@ -130,23 +115,6 @@ final class BookmarksBarCollectionViewItem: NSCollectionViewItem {
130115

131116
}
132117

133-
extension BookmarksBarCollectionViewItem: MouseClickViewDelegate {
134-
135-
func mouseClickView(_ mouseClickView: MouseClickView, mouseDownEvent: NSEvent) {
136-
receivedMouseDownEvent = true
137-
}
138-
139-
func mouseClickView(_ mouseClickView: MouseClickView, mouseUpEvent: NSEvent) {
140-
guard receivedMouseDownEvent else {
141-
return
142-
}
143-
144-
receivedMouseDownEvent = false
145-
delegate?.bookmarksBarCollectionViewItemClicked(self)
146-
}
147-
148-
}
149-
150118
// MARK: - NSMenu
151119

152120
extension BookmarksBarCollectionViewItem: NSMenuDelegate {

0 commit comments

Comments
 (0)