From ad8cbbe7e5589098acd166576931f6bce917406a Mon Sep 17 00:00:00 2001 From: Evan Hahn <69474926+EvanHahn-Signal@users.noreply.github.com> Date: Fri, 4 Dec 2020 11:31:42 -0600 Subject: [PATCH] Log media access status to help debug user reports --- main.js | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/main.js b/main.js index 8ac3f5d705..535d1c9a30 100644 --- a/main.js +++ b/main.js @@ -37,6 +37,7 @@ const { protocol: electronProtocol, session, shell, + systemPreferences, } = electron; const appUserModelId = `org.whispersystems.${packageJson.name}`; @@ -879,6 +880,24 @@ app.on('ready', async () => { logger.info('app ready'); logger.info(`starting version ${packageJson.version}`); + // This logging helps us debug user reports about broken devices. + { + let getMediaAccessStatus; + // This function is not supported on Linux, so we have a fallback. + if (systemPreferences.getMediaAccessStatus) { + getMediaAccessStatus = systemPreferences.getMediaAccessStatus.bind( + systemPreferences + ); + } else { + getMediaAccessStatus = _.noop; + } + logger.info( + 'media access status', + getMediaAccessStatus('microphone'), + getMediaAccessStatus('camera') + ); + } + if (!locale) { const appLocale = process.env.NODE_ENV === 'test' ? 'en' : app.getLocale(); locale = loadLocale({ appLocale, logger });