From ec5ee07b1b29070475284ada1eee05ec5b7ad821 Mon Sep 17 00:00:00 2001 From: Lily Foster Date: Sun, 16 Apr 2023 18:40:28 -0400 Subject: [PATCH 1/2] teams-for-linux: 1.0.59 -> 1.0.65 --- .../networking/instant-messengers/teams-for-linux/default.nix | 4 ++-- pkgs/top-level/all-packages.nix | 4 +--- 2 files changed, 3 insertions(+), 5 deletions(-) diff --git a/pkgs/applications/networking/instant-messengers/teams-for-linux/default.nix b/pkgs/applications/networking/instant-messengers/teams-for-linux/default.nix index 2ea2de235bb2a..a38ddcd85b7cb 100644 --- a/pkgs/applications/networking/instant-messengers/teams-for-linux/default.nix +++ b/pkgs/applications/networking/instant-messengers/teams-for-linux/default.nix @@ -16,13 +16,13 @@ stdenv.mkDerivation rec { pname = "teams-for-linux"; - version = "1.0.59"; + version = "1.0.65"; src = fetchFromGitHub { owner = "IsmaelMartinez"; repo = pname; rev = "v${version}"; - sha256 = "sha256-82uRZEktKHMQhozG5Zpa2DFu1VZOEDBWpsbfgMzoXY8="; + sha256 = "sha256-Rj6A1h5R4w8zacoTV0WKTbTD67qwsw4zHP+KQ6h7/gs="; }; offlineCache = fetchYarnDeps { diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 68b2c7bec67df..10d596059a4ba 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -33935,9 +33935,7 @@ with pkgs; teams = callPackage ../applications/networking/instant-messengers/teams { }; - teams-for-linux = callPackage ../applications/networking/instant-messengers/teams-for-linux { - electron = electron_21; - }; + teams-for-linux = callPackage ../applications/networking/instant-messengers/teams-for-linux { }; teamspeak_client = libsForQt5.callPackage ../applications/networking/instant-messengers/teamspeak/client.nix { }; teamspeak5_client = callPackage ../applications/networking/instant-messengers/teamspeak/client5.nix { }; From 6c15c20d94bbd454bdc7c8e7e8b58779409fe9ff Mon Sep 17 00:00:00 2001 From: Lily Foster Date: Sun, 16 Apr 2023 19:22:51 -0400 Subject: [PATCH 2/2] teams-for-linux: add hack fix for wayland screen-sharing --- .../teams-for-linux/default.nix | 5 ++++ .../screensharing-wayland-hack-fix.patch | 28 +++++++++++++++++++ 2 files changed, 33 insertions(+) create mode 100644 pkgs/applications/networking/instant-messengers/teams-for-linux/screensharing-wayland-hack-fix.patch diff --git a/pkgs/applications/networking/instant-messengers/teams-for-linux/default.nix b/pkgs/applications/networking/instant-messengers/teams-for-linux/default.nix index a38ddcd85b7cb..92fffd4a36fab 100644 --- a/pkgs/applications/networking/instant-messengers/teams-for-linux/default.nix +++ b/pkgs/applications/networking/instant-messengers/teams-for-linux/default.nix @@ -30,6 +30,11 @@ stdenv.mkDerivation rec { sha256 = "sha256-3zjmVIPQ+F2jPQ2xkAv5hQUjr8k5jIHTsa73J+IMayw="; }; + patches = [ + # Can be removed once Electron upstream resolves https://github.com/electron/electron/issues/36660 + ./screensharing-wayland-hack-fix.patch + ]; + nativeBuildInputs = [ yarn fixup_yarn_lock nodejs copyDesktopItems makeWrapper ]; configurePhase = '' diff --git a/pkgs/applications/networking/instant-messengers/teams-for-linux/screensharing-wayland-hack-fix.patch b/pkgs/applications/networking/instant-messengers/teams-for-linux/screensharing-wayland-hack-fix.patch new file mode 100644 index 0000000000000..3e5d993e869ec --- /dev/null +++ b/pkgs/applications/networking/instant-messengers/teams-for-linux/screensharing-wayland-hack-fix.patch @@ -0,0 +1,28 @@ +diff --git a/app/index.js b/app/index.js +index 20ccf43..b251f62 100644 +--- a/app/index.js ++++ b/app/index.js +@@ -1,4 +1,4 @@ +-const { app, ipcMain, desktopCapturer, systemPreferences, powerMonitor } = require('electron'); ++const { app, ipcMain, desktopCapturer, nativeImage, systemPreferences, powerMonitor } = require('electron'); + const path = require('path'); + const { LucidLog } = require('lucid-log'); + const isDev = require('electron-is-dev'); +@@ -93,7 +93,16 @@ if (!gotTheLock) { + ipcMain.handle('getSystemIdleState', handleGetSystemIdleState); + ipcMain.handle('getZoomLevel', handleGetZoomLevel); + ipcMain.handle('saveZoomLevel', handleSaveZoomLevel); +- ipcMain.handle('desktopCapturerGetSources', (event, opts) => desktopCapturer.getSources(opts)); ++ ipcMain.handle('desktopCapturerGetSources', (event, opts) => process.env.XDG_SESSION_TYPE == 'wayland' ? ++ // Port wayland electron 22+ screenshare "fix" from webcord ++ Promise.resolve([{ ++ id: "screen:1:0", ++ appIcon: nativeImage.createEmpty(), ++ display_id: "", ++ name: "Entire Screen", ++ thumbnail: nativeImage.createEmpty() ++ }]) ++ : desktopCapturer.getSources(opts)); + ipcMain.on('play-notification-sound', playNotificationSound); + } +