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

Implement VPN App Exclusions management view #3800

Merged
merged 33 commits into from
Feb 3, 2025
Merged
Changes from 1 commit
Commits
Show all changes
33 commits
Select commit Hold shift + click to select a range
d651390
Adds the VPN App Exclusions remote feature flag
diegoreymendez Jan 15, 2025
2a99818
WIP
diegoreymendez Jan 15, 2025
50ae50e
Creates PreferencesUI package
diegoreymendez Jan 23, 2025
69d8f07
Rolls back some unintentional string changes
diegoreymendez Jan 23, 2025
c0f0d5a
Rolls back some changes
diegoreymendez Jan 23, 2025
60b2d30
Merges the latest from main
diegoreymendez Jan 23, 2025
7d27544
Fixes a swiftlint warning
diegoreymendez Jan 23, 2025
375f060
Fixes a bad merge
diegoreymendez Jan 23, 2025
22e0456
Renaming for clarity
diegoreymendez Jan 23, 2025
1c26266
Initial implementation for new exclusions in VPN settings complete
diegoreymendez Jan 25, 2025
1a6acb5
Swiftlint fixes
diegoreymendez Jan 25, 2025
dedaf62
Merges the latest from main
diegoreymendez Jan 25, 2025
8f24a92
Fixes a swiftlint error
diegoreymendez Jan 25, 2025
4e4e2d1
Merges the latest from develop
diegoreymendez Jan 28, 2025
2f453a3
Adds translations
diegoreymendez Jan 29, 2025
7f48ad6
Merges the latest from main
diegoreymendez Jan 29, 2025
e38b913
WIP
diegoreymendez Jan 29, 2025
3d77bf4
Merge branch 'diego/vpn-app-exclusions-settings-pane-changes' into di…
diegoreymendez Jan 29, 2025
3b5e770
WIP
diegoreymendez Jan 29, 2025
b6bbe27
Implements app exclusions management view
diegoreymendez Jan 29, 2025
de4e6fa
Localized a string that wasn't localized by mistake
diegoreymendez Jan 29, 2025
12ae307
Addresses some review feedback
diegoreymendez Jan 29, 2025
e11dcf3
Fixes the rounded corner of the SubfeatureView
diegoreymendez Jan 29, 2025
ba57596
Renames a file
diegoreymendez Jan 29, 2025
72dbb3f
Merge branch 'diego/vpn-app-exclusions-settings-pane-changes' into di…
diegoreymendez Jan 29, 2025
3a2d571
Merges the latest from main
diegoreymendez Jan 29, 2025
9d001b2
Implements the app-exclusions management view
diegoreymendez Jan 30, 2025
195a546
Rolls back an unintentional change and pushes an improvement
diegoreymendez Jan 31, 2025
860b1e3
Fixes the file name in a header
diegoreymendez Feb 3, 2025
8050810
Fixes the message in an assertion failure
diegoreymendez Feb 3, 2025
aee7ccd
Adds app exclusion translations
diegoreymendez Feb 3, 2025
263857e
Removes empty files
diegoreymendez Feb 3, 2025
62d13ae
Exclusion counts in VPN settings now update dynamically
diegoreymendez Feb 3, 2025
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
Prev Previous commit
Next Next commit
WIP
diegoreymendez committed Jan 29, 2025
commit e38b913a47218269519af7212af79c5b591c530e
20 changes: 20 additions & 0 deletions DuckDuckGo-macOS.xcodeproj/project.pbxproj
Original file line number Diff line number Diff line change
@@ -1794,6 +1794,10 @@
7B0694982B6E980F00FA4DBA /* VPNProxyLauncher.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7B0694972B6E980F00FA4DBA /* VPNProxyLauncher.swift */; };
7B09CBA92BA4BE8100CF245B /* NetworkProtectionPixelEventTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7B09CBA72BA4BE7000CF245B /* NetworkProtectionPixelEventTests.swift */; };
7B09CBAA2BA4BE8200CF245B /* NetworkProtectionPixelEventTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7B09CBA72BA4BE7000CF245B /* NetworkProtectionPixelEventTests.swift */; };
7B0A6DFA2D47CCDF00FDFDC2 /* ExcludedAppsViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7B0A6DF82D47CCDF00FDFDC2 /* ExcludedAppsViewController.swift */; };
7B0A6DFB2D47CCDF00FDFDC2 /* ExcludedApps.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 7B0A6DF72D47CCDF00FDFDC2 /* ExcludedApps.storyboard */; };
7B0A6DFC2D47CCDF00FDFDC2 /* ExcludedAppsViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7B0A6DF82D47CCDF00FDFDC2 /* ExcludedAppsViewController.swift */; };
7B0A6DFD2D47CCDF00FDFDC2 /* ExcludedApps.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 7B0A6DF72D47CCDF00FDFDC2 /* ExcludedApps.storyboard */; };
7B1459552B7D438F00047F2C /* VPNProxyLauncher.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7B0694972B6E980F00FA4DBA /* VPNProxyLauncher.swift */; };
7B1459572B7D43E500047F2C /* NetworkProtectionProxy in Frameworks */ = {isa = PBXBuildFile; productRef = 7B1459562B7D43E500047F2C /* NetworkProtectionProxy */; };
7B1E819E27C8874900FF0E60 /* ContentOverlayPopover.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7B1E819B27C8874900FF0E60 /* ContentOverlayPopover.swift */; };
@@ -4143,6 +4147,8 @@
7B05829D2A812AC000AC3F7C /* NetworkProtectionOnboardingMenu.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = NetworkProtectionOnboardingMenu.swift; sourceTree = "<group>"; };
7B0694972B6E980F00FA4DBA /* VPNProxyLauncher.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = VPNProxyLauncher.swift; sourceTree = "<group>"; };
7B09CBA72BA4BE7000CF245B /* NetworkProtectionPixelEventTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NetworkProtectionPixelEventTests.swift; sourceTree = "<group>"; };
7B0A6DF72D47CCDF00FDFDC2 /* ExcludedApps.storyboard */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; path = ExcludedApps.storyboard; sourceTree = "<group>"; };
7B0A6DF82D47CCDF00FDFDC2 /* ExcludedAppsViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ExcludedAppsViewController.swift; sourceTree = "<group>"; };
7B1E819B27C8874900FF0E60 /* ContentOverlayPopover.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ContentOverlayPopover.swift; sourceTree = "<group>"; };
7B1E819C27C8874900FF0E60 /* ContentOverlay.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; path = ContentOverlay.storyboard; sourceTree = "<group>"; };
7B1E819D27C8874900FF0E60 /* ContentOverlayViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ContentOverlayViewController.swift; sourceTree = "<group>"; };
@@ -6359,6 +6365,7 @@
4B4D60572A0B29FA00BCD287 /* AppAndExtensionTargets */,
4B4D60602A0B29FA00BCD287 /* AppTargets */,
4B4D60742A0B29FA00BCD287 /* NetworkExtensionTargets */,
7B0A6DF92D47CCDF00FDFDC2 /* ExcludedApps */,
7B5A236D2C46A0DA007213AC /* ExcludedDomains */,
);
path = NetworkProtection;
@@ -7160,6 +7167,15 @@
path = DuckSchemeHandler;
sourceTree = "<group>";
};
7B0A6DF92D47CCDF00FDFDC2 /* ExcludedApps */ = {
isa = PBXGroup;
children = (
7B0A6DF72D47CCDF00FDFDC2 /* ExcludedApps.storyboard */,
7B0A6DF82D47CCDF00FDFDC2 /* ExcludedAppsViewController.swift */,
);
path = ExcludedApps;
sourceTree = "<group>";
};
7B1E819A27C8874900FF0E60 /* Autofill */ = {
isa = PBXGroup;
children = (
@@ -10787,6 +10803,7 @@
3706FCE7293F65D500E42796 /* shield-dot-mouse-over.json in Resources */,
BD384ACB2BBC821B00EF3735 /* vpn-dark-mode.json in Resources */,
3706FCEA293F65D500E42796 /* PasswordManager.storyboard in Resources */,
7B0A6DFB2D47CCDF00FDFDC2 /* ExcludedApps.storyboard in Resources */,
BD384ACC2BBC821B00EF3735 /* vpn-light-mode.json in Resources */,
3706FCEB293F65D500E42796 /* dark-flame-mouse-over.json in Resources */,
3706FCEC293F65D500E42796 /* flame-mouse-over.json in Resources */,
@@ -10990,6 +11007,7 @@
AA7EB6E927E880A600036718 /* shield-dot-mouse-over.json in Resources */,
BD384AC92BBC821A00EF3735 /* vpn-dark-mode.json in Resources */,
85625994269C8F9600EE44BC /* PasswordManager.storyboard in Resources */,
7B0A6DFD2D47CCDF00FDFDC2 /* ExcludedApps.storyboard in Resources */,
BD384ACA2BBC821A00EF3735 /* vpn-light-mode.json in Resources */,
AA7EB6E327E7D05500036718 /* dark-flame-mouse-over.json in Resources */,
AA7EB6E227E7D05500036718 /* flame-mouse-over.json in Resources */,
@@ -11784,6 +11802,7 @@
F18826932BC0105900D9AC4F /* PixelDataStore.swift in Sources */,
7BBD45B22A691AB500C83CA9 /* NetworkProtectionDebugUtilities.swift in Sources */,
3706FB87293F65D500E42796 /* ProcessExtension.swift in Sources */,
7B0A6DFA2D47CCDF00FDFDC2 /* ExcludedAppsViewController.swift in Sources */,
F18826812BBEB58100D9AC4F /* PrivacyProPixel.swift in Sources */,
31521AC42CC01BC700248E6F /* AIChatTabOpener.swift in Sources */,
3706FB88293F65D500E42796 /* PermissionAuthorizationQuery.swift in Sources */,
@@ -13874,6 +13893,7 @@
C126B35A2C820924005DC2A3 /* FreemiumDebugMenu.swift in Sources */,
B6A9E46B2614618A0067D1B9 /* OperatingSystemVersionExtension.swift in Sources */,
4BDFA4AE27BF19E500648192 /* ToggleableScrollView.swift in Sources */,
7B0A6DFC2D47CCDF00FDFDC2 /* ExcludedAppsViewController.swift in Sources */,
1D36F4242A3B85C50052B527 /* TabCleanupPreparer.swift in Sources */,
B6ABD0CE2BC042CE0000EB69 /* NSURL+sandboxExtensionRetainCount.m in Sources */,
4B4D60DF2A0C875F00BCD287 /* NetworkProtectionOptionKeyExtension.swift in Sources */,
Loading