From 4595b871949e6ed17479660b4eef7e7b8af16d31 Mon Sep 17 00:00:00 2001 From: IsmaelMartinez Date: Sat, 3 Aug 2019 22:40:35 +0100 Subject: [PATCH] wip trying to fix screensharing (#195) * wip trying to fix screensharing * Adding back all the other chrome stuff as otherwise the one-2-one and other video stuff doesn't work * Catching the angular undefined and triggering the timeout again * increasing the package version number in order to be ready for release --- app/browser/desktopShare/chromeApi.js | 2 ++ app/browser/index.js | 46 +++++++++++++++++++-------- app/config/index.js | 2 +- package.json | 2 +- 4 files changed, 36 insertions(+), 16 deletions(-) diff --git a/app/browser/desktopShare/chromeApi.js b/app/browser/desktopShare/chromeApi.js index 0e61daee..f6bcca4d 100644 --- a/app/browser/desktopShare/chromeApi.js +++ b/app/browser/desktopShare/chromeApi.js @@ -5,8 +5,10 @@ window.chrome = { 'runtime': { 'sendMessage': function (extensionId, messageName, callback) { if (messageName == 'version') { + console.log('version'); callback({ version: '1.1.0' }); } else if (messageName == 'get-sourceId') { + console.log('get-sourceId'); selectSource(sourceId => { callback({ type: 'success', diff --git a/app/browser/index.js b/app/browser/index.js index f2a55ad9..59a89865 100644 --- a/app/browser/index.js +++ b/app/browser/index.js @@ -15,7 +15,7 @@ require('./zoom')(); require('./desktopShare/chromeApi'); - + const iconPath = path.join(__dirname, '../assets/icons/icon-96x96.png'); new ActivityManager(ipcRenderer, iconPath).start(); @@ -23,36 +23,41 @@ if (config.enableDesktopNotificationsHack) { pageTitleNotifications(ipcRenderer); } - - document.addEventListener( - 'DOMContentLoaded', - () => { - setTimeout(() => { + document.addEventListener('DOMContentLoaded',() => { + modifyAngularSettingsWithTimeot(); + }); + + function modifyAngularSettingsWithTimeot() { + setTimeout(() => { + try { let injector = angular.element(document).injector(); if(injector) { enableChromeVideoAudioMeetings(injector); disablePromoteStuff(injector); - + injector.get('settingsService').settingsService.refreshSettings(); - } - // Future tests can be done in here... - // angular.element(document).injector().get('settingsService').appConfig.replyBoxFocusAfterNewMessage = true; - //last I look is enableIncomingVideoUnsupportedUfd groing from down to up. - }, 3000); - }, - ); + } catch (error) { + if (error instanceof ReferenceError) { + modifyAngularSettingsWithTimeot(); + } + } + }, 4000); + } function enableChromeVideoAudioMeetings(injector) { injector.get('callingSupportService').oneOnOneCallingEnabled = true; + injector.get('callingSupportService').isDesktopApp = true; injector.get('callingSupportService').isChromeMeetingSingleVideoEnabled = true; injector.get('callingSupportService').isChromeVideoOneOnOneEnabled = true; injector.get('callingSupportService').isChromeVideoMultipartyEnabled = true; + injector.get('settingsService').appConfig.angularDebugInfoEnabled = true; injector.get('settingsService').appConfig.enableCallingChromeOneOnOne = true; injector.get('settingsService').appConfig.callingEnableChromeMeetingSingleVideo = true; injector.get('settingsService').appConfig.callingEnableChromeMultipartyVideo = true; + injector.get('settingsService').appConfig.callingEnabledLinux = true; injector.get('settingsService').appConfig.enableChromeScreenSharing = true; injector.get('settingsService').appConfig.enableAddToChatButtonForMeetings = true; injector.get('settingsService').appConfig.enableSharingOnlyCallChrome = true; @@ -63,6 +68,18 @@ injector.get('settingsService').appConfig.enableMicOSUnmuteOnUnmute = true; injector.get('settingsService').appConfig.enableModeratorsSupport = true; injector.get('settingsService').appConfig.enableRecordPPTSharing = true; + injector.get('settingsService').appConfig.enable3x3VideoLayout = true; + injector.get('settingsService').appConfig.enableCallTranscript = true; + injector.get('settingsService').appConfig.enableCallTransferredScreen = true; + injector.get('settingsService').appConfig.enableCameraSharing = true; + injector.get('settingsService').appConfig.enableEdgeScreenSharing = true; + injector.get('settingsService').appConfig.enableSeeMyScreenshare = true; + injector.get('settingsService').appConfig.enableSmartReplies = true; + injector.get('settingsService').appConfig.enableSms = true; + injector.get('settingsService').appConfig.enableTestCallForAll = true; + injector.get('settingsService').appConfig.enableUnreadMessagesButton = true; + injector.get('settingsService').appConfig.enableVideoBackground = true; + injector.get('settingsService').appConfig.disableCallingOnlineCheck = false; } function disablePromoteStuff(injector) { @@ -72,3 +89,4 @@ injector.get('settingsService').appConfig.enableMobileDownloadMailDialog = false; } }()); + diff --git a/app/config/index.js b/app/config/index.js index 3140a87e..9a136400 100644 --- a/app/config/index.js +++ b/app/config/index.js @@ -53,7 +53,7 @@ function argv(configPath) { describe: 'Google Chrome User Agent', type: 'string', default: - 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.80 Safari/537.36', + 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3835.0 Safari/537.36', }, ntlmV2enabled: { default: 'true', diff --git a/package.json b/package.json index 536695e8..4d4d7bbc 100755 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "teams-for-linux", - "version": "0.4.2", + "version": "0.4.3", "main": "app/index.js", "description": "Unofficial client for Microsoft Teams for Linux", "homepage": "https://github.com/IsmaelMartinez/teams-for-linux",