diff options
| author | Oskar Nyberg <oskar@mullvad.net> | 2024-05-30 09:20:48 +0200 |
|---|---|---|
| committer | Oskar Nyberg <oskar@mullvad.net> | 2024-05-31 10:17:06 +0200 |
| commit | 4650984b64d0aba0ff4c63aece6844dce3825e4b (patch) | |
| tree | d700d047037829fb5abddb38b1570f963e7b84a7 /gui/src/main | |
| parent | 71d3cfa59f80dbe51b987f23b84a4a13a9eb01f5 (diff) | |
| download | mullvadvpn-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.ts | 3 | ||||
| -rw-r--r-- | gui/src/main/user-interface.ts | 12 |
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}`); } }); } |
