Unverified Commit 91f1d2da authored by Lily Foster's avatar Lily Foster Committed by GitHub
Browse files

Merge pull request #249081 from YarekTyshchenko/update-teams-for-linux-1-3-2

teams-for-linux: 1.2.8 -> 1.3.2
parents 20219873 3c723251
Loading
Loading
Loading
Loading
+3 −8
Original line number Diff line number Diff line
@@ -17,25 +17,20 @@

stdenv.mkDerivation (finalAttrs: {
  pname = "teams-for-linux";
  version = "1.2.8";
  version = "1.3.2";

  src = fetchFromGitHub {
    owner = "IsmaelMartinez";
    repo = "teams-for-linux";
    rev = "v${finalAttrs.version}";
    hash = "sha256-5OocTsQjmNZCnzAY1RfrxD6Ad/kZTIkFl/3OmeJl1oI=";
    hash = "sha256-2WoTbkRGH9l6cQrveyxGvO/Dy+0NV4UTDaooYn8k06s=";
  };

  offlineCache = fetchYarnDeps {
    yarnLock = "${finalAttrs.src}/yarn.lock";
    hash = "sha256-XUASMWrH8wWeYsr6gCdQGgV/7E6hLDWkJ0BXHZCepKQ=";
    hash = "sha256-j5N6d270myUylDVDFQTScbsGp1wlpt5sISDJBRCV/GU=";
  };

  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 = ''
+0 −28
Original line number Diff line number Diff line
diff --git a/app/index.js b/app/index.js
index ea89608..98f4a90 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 fs = require('fs');
 const { LucidLog } = require('lucid-log');
@@ -97,7 +97,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.handle('getCustomBGList', handleGetCustomBGList);
 	ipcMain.on('play-notification-sound', playNotificationSound);
 	ipcMain.on('user-status-changed', userStatusChangedHandler);