From 0df56d1e8fdfcb30d351e7d4701c375ae520c05b Mon Sep 17 00:00:00 2001 From: Jijo Joseph Date: Sat, 4 May 2024 11:11:58 +0530 Subject: [PATCH] Fix awayOnSystemIdle flag in Teams V2 --- app/browser/tools/activityHub.js | 26 ++++++++++++++----- ...IsmaelMartinez.teams_for_linux.appdata.xml | 7 +++++ package.json | 2 +- 3 files changed, 28 insertions(+), 7 deletions(-) diff --git a/app/browser/tools/activityHub.js b/app/browser/tools/activityHub.js index 5864943b..34b85d2c 100644 --- a/app/browser/tools/activityHub.js +++ b/app/browser/tools/activityHub.js @@ -68,7 +68,7 @@ class ActivityHub { // ALTERNATIVE: teams2IdleTracker._idleStateBehaviorSubject.next('Inactive'); teams2IdleTracker.transitionToIdle(); } - } catch(e) { + } catch (e) { console.error('Failed to set teams2 Machine State', e); } } else { @@ -89,11 +89,25 @@ class ActivityHub { * @param {number} status */ setUserStatus(status) { - instance.whenReady().then((inst) => { - inst.injector.get('presenceService').setMyStatus(status, null, true); - }).catch(() => { - console.error('Failed to set User Status'); - }); + const teams2IdleTracker = ReactHandler.getTeams2IdleTracker(); + if (teams2IdleTracker) { + try { + console.log(`setUserStatus teams2 status=${status}`); + if (status === 1) { + teams2IdleTracker.handleMonitoredWindowEvent(); + } else { + teams2IdleTracker.transitionToIdle(); + } + } catch (e) { + console.error('Failed to set teams2 User Status', e); + } + } else { + instance.whenReady().then((inst) => { + inst.injector.get('presenceService').setMyStatus(status, null, true); + }).catch(() => { + console.error('Failed to set User Status'); + }); + } } refreshAppState(controller, state) { diff --git a/com.github.IsmaelMartinez.teams_for_linux.appdata.xml b/com.github.IsmaelMartinez.teams_for_linux.appdata.xml index 13de56cc..09c86690 100644 --- a/com.github.IsmaelMartinez.teams_for_linux.appdata.xml +++ b/com.github.IsmaelMartinez.teams_for_linux.appdata.xml @@ -14,6 +14,13 @@ https://github.com/IsmaelMartinez/teams-for-linux/issues com.github.IsmaelMartinez.teams_for_linux.desktop + + +
    +
  • Fix awayOnSystemIdle flag in Teams V2
  • +
+
+
    diff --git a/package.json b/package.json index 9439d8e5..b9bda37e 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "teams-for-linux", - "version": "1.4.36", + "version": "1.4.37", "main": "app/index.js", "description": "Unofficial client for Microsoft Teams for Linux", "homepage": "https://github.com/IsmaelMartinez/teams-for-linux",