summaryrefslogtreecommitdiffhomepage
path: root/gui/src/main
diff options
context:
space:
mode:
authorOskar Nyberg <oskar@mullvad.net>2024-05-30 09:20:48 +0200
committerOskar Nyberg <oskar@mullvad.net>2024-05-31 10:17:06 +0200
commit4650984b64d0aba0ff4c63aece6844dce3825e4b (patch)
treed700d047037829fb5abddb38b1570f963e7b84a7 /gui/src/main
parent71d3cfa59f80dbe51b987f23b84a4a13a9eb01f5 (diff)
downloadmullvadvpn-4650984b64d0aba0ff4c63aece6844dce3825e4b.tar.xz
mullvadvpn-4650984b64d0aba0ff4c63aece6844dce3825e4b.zip
Show error and troubleshoot dialog when lacking full disk access
Diffstat (limited to 'gui/src/main')
-rw-r--r--gui/src/main/daemon-rpc.ts3
-rw-r--r--gui/src/main/user-interface.ts12
2 files changed, 11 insertions, 4 deletions
diff --git a/gui/src/main/daemon-rpc.ts b/gui/src/main/daemon-rpc.ts
index c51524f1ee..e8f8d96e18 100644
--- a/gui/src/main/daemon-rpc.ts
+++ b/gui/src/main/daemon-rpc.ts
@@ -1047,10 +1047,9 @@ function convertFromTunnelStateError(state: grpcTypes.ErrorState.AsObject): Erro
cause: ErrorStateCause.splitTunnelError,
};
case grpcTypes.ErrorState.Cause.NEED_FULL_DISK_PERMISSIONS:
- // TODO: handle correctly
return {
...baseError,
- cause: ErrorStateCause.splitTunnelError,
+ cause: ErrorStateCause.needFullDiskPermissions,
};
case grpcTypes.ErrorState.Cause.VPN_PERMISSION_DENIED:
// VPN_PERMISSION_DENIED is only ever created on Android
diff --git a/gui/src/main/user-interface.ts b/gui/src/main/user-interface.ts
index 3d6e04f8e7..e3dd5a50ed 100644
--- a/gui/src/main/user-interface.ts
+++ b/gui/src/main/user-interface.ts
@@ -75,11 +75,19 @@ export default class UserInterface implements WindowControllerDelegate {
IpcMainEventChannel.app.handleShowLaunchDaemonSettings(async () => {
try {
+ await execAsync('open x-apple.systempreferences:com.apple.LoginItems-Settings.extension');
+ } catch (error) {
+ log.error(`Failed to open launch daemon settings: ${error}`);
+ }
+ });
+
+ IpcMainEventChannel.app.handleShowFullDiskAccessSettings(async () => {
+ try {
await execAsync(
- 'open -W x-apple.systempreferences:com.apple.LoginItems-Settings.extension',
+ 'open "x-apple.systempreferences:com.apple.preference.security?Privacy_AllFiles"',
);
} catch (error) {
- log.error(`Failed to open launch daemon settings: ${error}`);
+ log.error(`Failed to open Full Disk Access settings: ${error}`);
}
});
}