aboutsummaryrefslogtreecommitdiffstats
path: root/src/electron/macOSPermissions.ts
diff options
context:
space:
mode:
Diffstat (limited to 'src/electron/macOSPermissions.ts')
-rw-r--r--src/electron/macOSPermissions.ts19
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';
6import { askForScreenCaptureAccess } from 'node-mac-permissions'; 6import { askForScreenCaptureAccess } from 'node-mac-permissions';
7import { userDataPath } from '../environment-remote'; 7import { 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 9const debug = require('../preload-safe-debug')('Ferdium:macOSPermissions');
10// const debug = require('debug')('Ferdium:macOSPermissions');
11 10
12const isExplicitScreenCapturePermissionReqd = 11const isExplicitScreenCapturePermissionReqd =
13 macosVersion.isGreaterThanOrEqualTo('10.15'); 12 macosVersion.isGreaterThanOrEqualTo('10.15');
14console.log( 13debug(
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
52export const askFormacOSPermissions = async (mainWindow: BrowserWindow) => { 51export 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 }