diff options
Diffstat (limited to 'src/electron/macOSPermissions.ts')
-rw-r--r-- | src/electron/macOSPermissions.ts | 19 |
1 files changed, 9 insertions, 10 deletions
diff --git a/src/electron/macOSPermissions.ts b/src/electron/macOSPermissions.ts index 07caaaada..2415534e5 100644 --- a/src/electron/macOSPermissions.ts +++ b/src/electron/macOSPermissions.ts | |||
@@ -6,12 +6,11 @@ import { dirname } from 'path'; | |||
6 | import { askForScreenCaptureAccess } from 'node-mac-permissions'; | 6 | import { askForScreenCaptureAccess } from 'node-mac-permissions'; |
7 | import { userDataPath } from '../environment-remote'; | 7 | import { userDataPath } from '../environment-remote'; |
8 | 8 | ||
9 | // TODO: Go back to 'debug' from 'console.log' when https://github.com/electron/electron/issues/31689 is fixed | 9 | const debug = require('../preload-safe-debug')('Ferdium:macOSPermissions'); |
10 | // const debug = require('debug')('Ferdium:macOSPermissions'); | ||
11 | 10 | ||
12 | const isExplicitScreenCapturePermissionReqd = | 11 | const isExplicitScreenCapturePermissionReqd = |
13 | macosVersion.isGreaterThanOrEqualTo('10.15'); | 12 | macosVersion.isGreaterThanOrEqualTo('10.15'); |
14 | console.log( | 13 | debug( |
15 | `Should check explicitly for screen-capture permissions: ${isExplicitScreenCapturePermissionReqd}`, | 14 | `Should check explicitly for screen-capture permissions: ${isExplicitScreenCapturePermissionReqd}`, |
16 | ); | 15 | ); |
17 | 16 | ||
@@ -22,7 +21,7 @@ function hasPromptedForScreenCapturePermission(): string | boolean { | |||
22 | return false; | 21 | return false; |
23 | } | 22 | } |
24 | 23 | ||
25 | console.log('Checking if status file exists'); | 24 | debug('Checking if status file exists'); |
26 | return filePath && pathExistsSync(filePath); | 25 | return filePath && pathExistsSync(filePath); |
27 | } | 26 | } |
28 | 27 | ||
@@ -32,7 +31,7 @@ function hasScreenCapturePermissionAlreadyBeenGranted(): boolean { | |||
32 | } | 31 | } |
33 | 32 | ||
34 | const screenCaptureStatus = systemPreferences.getMediaAccessStatus('screen'); | 33 | const screenCaptureStatus = systemPreferences.getMediaAccessStatus('screen'); |
35 | console.log(`screen-capture permissions status: ${screenCaptureStatus}`); | 34 | debug(`screen-capture permissions status: ${screenCaptureStatus}`); |
36 | return screenCaptureStatus === 'granted'; | 35 | return screenCaptureStatus === 'granted'; |
37 | } | 36 | } |
38 | 37 | ||
@@ -50,18 +49,18 @@ function createStatusFile() { | |||
50 | } | 49 | } |
51 | 50 | ||
52 | export const askFormacOSPermissions = async (mainWindow: BrowserWindow) => { | 51 | export const askFormacOSPermissions = async (mainWindow: BrowserWindow) => { |
53 | console.log('Checking camera & microphone permissions'); | 52 | debug('Checking camera & microphone permissions'); |
54 | systemPreferences.askForMediaAccess('camera'); | 53 | systemPreferences.askForMediaAccess('camera'); |
55 | systemPreferences.askForMediaAccess('microphone'); | 54 | systemPreferences.askForMediaAccess('microphone'); |
56 | 55 | ||
57 | if (hasScreenCapturePermissionAlreadyBeenGranted()) { | 56 | if (hasScreenCapturePermissionAlreadyBeenGranted()) { |
58 | console.log('Already obtained screen-capture permissions - writing status file'); | 57 | debug('Already obtained screen-capture permissions - writing status file'); |
59 | createStatusFile(); | 58 | createStatusFile(); |
60 | return; | 59 | return; |
61 | } | 60 | } |
62 | 61 | ||
63 | if (!hasPromptedForScreenCapturePermission()) { | 62 | if (!hasPromptedForScreenCapturePermission()) { |
64 | console.log('Checking screen capture permissions'); | 63 | debug('Checking screen capture permissions'); |
65 | 64 | ||
66 | const { response } = await dialog.showMessageBox(mainWindow, { | 65 | const { response } = await dialog.showMessageBox(mainWindow, { |
67 | type: 'info', | 66 | type: 'info', |
@@ -74,11 +73,11 @@ export const askFormacOSPermissions = async (mainWindow: BrowserWindow) => { | |||
74 | }); | 73 | }); |
75 | 74 | ||
76 | if (response === 0) { | 75 | if (response === 0) { |
77 | console.log('Asking for access'); | 76 | debug('Asking for access'); |
78 | askForScreenCaptureAccess(); | 77 | askForScreenCaptureAccess(); |
79 | createStatusFile(); | 78 | createStatusFile(); |
80 | } else if (response === 1) { | 79 | } else if (response === 1) { |
81 | console.log("Don't ask again"); | 80 | debug("Don't ask again"); |
82 | createStatusFile(); | 81 | createStatusFile(); |
83 | } | 82 | } |
84 | } | 83 | } |