IsmaelMartinez / teams-for-linux

Unofficial Microsoft Teams for Linux client
GNU General Public License v3.0
2.74k stars 228 forks source link

screenSharingControlService: unexpected, cannot find the call #432

Closed The-Compiler closed 3 years ago

The-Compiler commented 3 years ago

Describe the bug It looks like screen sharing stopped working recently. It worked fine last week, this week it stopped working. Perhaps something changed on the Teams website in an incompatible way?

To Reproduce Try sharing the screen in a meeting. After clicking "Desktop/Window", nothing happens.

Desktop (please complete the following information):

Additional context Developer console:

image

Full log:

``` 0.2-angular-jquery.min-eee9041.js:114 2021-05-26T11:03:46.796Z [screenSharing][control] screenSharingControlService: unexpected, cannot find the call, teamsCallId [1] (anonymous) @ 0.2-angular-jquery.min-eee9041.js:114 e.logMessage @ 3.2-app.min-728a584.js:1 e.error @ 3.2-app.min-728a584.js:1 e.getSharingCall @ 3.1-app.min-f0b189f.js:1 e.setSharingSource @ 3.1-app.min-f0b189f.js:1 e.startScreenSharingOnCall @ 3.1-app.min-f0b189f.js:1 o.startSharing @ 3.1-app.min-f0b189f.js:1 a.startSharing @ 3.1-app.min-f0b189f.js:1 (anonymous) @ 0.2-angular-jquery.min-eee9041.js:246 b @ 0.2-angular-jquery.min-eee9041.js:122 e @ 0.2-angular-jquery.min-eee9041.js:270 $eval @ 0.2-angular-jquery.min-eee9041.js:142 $apply @ 0.2-angular-jquery.min-eee9041.js:142 (anonymous) @ 0.2-angular-jquery.min-eee9041.js:270 dispatch @ 0.2-angular-jquery.min-eee9041.js:1 v.handle @ 0.2-angular-jquery.min-eee9041.js:1 0.2-angular-jquery.min-eee9041.js:114 TypeError: Cannot read property 'send' of undefined at a.startSharing (https://statics.teams.cdn.office.net/hashed/3.1-app.min-f0b189f.js:1:4737294) at https://statics.teams.cdn.office.net/hashed/0.2-angular-jquery.min-eee9041.js:246:461 at b (https://statics.teams.cdn.office.net/hashed/0.2-angular-jquery.min-eee9041.js:122:133) at e (https://statics.teams.cdn.office.net/hashed/0.2-angular-jquery.min-eee9041.js:270:195) at m.$eval (https://statics.teams.cdn.office.net/hashed/0.2-angular-jquery.min-eee9041.js:142:180) at m.$apply (https://statics.teams.cdn.office.net/hashed/0.2-angular-jquery.min-eee9041.js:142:413) at HTMLDivElement. (https://statics.teams.cdn.office.net/hashed/0.2-angular-jquery.min-eee9041.js:270:247) at HTMLDivElement.dispatch (https://statics.teams.cdn.office.net/hashed/0.2-angular-jquery.min-eee9041.js:1:41506) at HTMLDivElement.v.handle (https://statics.teams.cdn.office.net/hashed/0.2-angular-jquery.min-eee9041.js:1:39536) undefined (anonymous) @ 0.2-angular-jquery.min-eee9041.js:114 (anonymous) @ 0.2-angular-jquery.min-eee9041.js:85 (anonymous) @ 3.1-app.min-f0b189f.js:1 $apply @ 0.2-angular-jquery.min-eee9041.js:142 (anonymous) @ 0.2-angular-jquery.min-eee9041.js:270 dispatch @ 0.2-angular-jquery.min-eee9041.js:1 v.handle @ 0.2-angular-jquery.min-eee9041.js:1 0.2-angular-jquery.min-eee9041.js:114 2021-05-26T11:03:46.867Z callingAgents: calling-stack [JS.TsCalling.MediaAgentUnsafe] ffffffff: MA/DeviceManager/MediaStreamManager/MediaStream:4/MSProvider GUM stream provider cannot be created for display stream (anonymous) @ 0.2-angular-jquery.min-eee9041.js:114 e.logMessage @ 3.2-app.min-728a584.js:1 e.error @ 3.2-app.min-728a584.js:1 e.apply @ 3.1-app.min-f0b189f.js:1 e.error @ 3.1-app.min-f0b189f.js:1 t.log @ skype-calling-pluginless.bundle-932ac50.js:1 (anonymous) @ rt-js-bindings.bundle-db8ace5.js:1 t.log @ rt-js-bindings.bundle-db8ace5.js:1 e.error @ rt-js-bindings.bundle-db8ace5.js:1 (anonymous) @ skype-calling-pluginless.bundle-932ac50.js:1 e._apply @ skype-calling-pluginless.bundle-932ac50.js:1 e.error @ skype-calling-pluginless.bundle-932ac50.js:1 e.error @ skype-calling-pluginless.bundle-932ac50.js:1 e.getStreamProvider @ skype-calling-pluginless.bundle-932ac50.js:1 t.getGumStreamProvider @ skype-calling-pluginless.bundle-932ac50.js:1 (anonymous) @ skype-calling-pluginless.bundle-932ac50.js:1 Promise.then (async) t.updateGumStreamInternal @ skype-calling-pluginless.bundle-932ac50.js:1 (anonymous) @ skype-calling-pluginless.bundle-932ac50.js:1 Promise.then (async) e.add @ skype-calling-pluginless.bundle-932ac50.js:1 (anonymous) @ skype-calling-pluginless.bundle-932ac50.js:1 t.applyConstraintsInternal @ skype-calling-pluginless.bundle-932ac50.js:1 t.start @ skype-calling-pluginless.bundle-932ac50.js:1 t.start @ skype-calling-pluginless.bundle-932ac50.js:1 t.getMediaStream @ skype-calling-pluginless.bundle-932ac50.js:1 t.getMediaStream @ skype-calling-pluginless.bundle-932ac50.js:1 t.createDevicesHandle @ skype-calling-pluginless.bundle-932ac50.js:1 n.getScreenHandle @ skype-calling-pluginless.bundle-932ac50.js:1 (anonymous) @ skype-calling-pluginless.bundle-932ac50.js:1 i @ skype-calling-pluginless.bundle-932ac50.js:1 (anonymous) @ skype-calling-pluginless.bundle-932ac50.js:1 (anonymous) @ skype-calling-pluginless.bundle-932ac50.js:1 c @ skype-calling-pluginless.bundle-932ac50.js:1 n.startScreenSharing @ skype-calling-pluginless.bundle-932ac50.js:1 (anonymous) @ skype-calling-pluginless.bundle-932ac50.js:1 i @ skype-calling-pluginless.bundle-932ac50.js:1 (anonymous) @ skype-calling-pluginless.bundle-932ac50.js:1 (anonymous) @ skype-calling-pluginless.bundle-932ac50.js:1 r @ skype-calling-pluginless.bundle-932ac50.js:1 t.executeInternal @ skype-calling-pluginless.bundle-932ac50.js:1 t.checkPendingOperationAndExecute @ skype-calling-pluginless.bundle-932ac50.js:1 (anonymous) @ skype-calling-pluginless.bundle-932ac50.js:1 i @ skype-calling-pluginless.bundle-932ac50.js:1 (anonymous) @ skype-calling-pluginless.bundle-932ac50.js:1 (anonymous) @ skype-calling-pluginless.bundle-932ac50.js:1 r @ skype-calling-pluginless.bundle-932ac50.js:1 t.execute @ skype-calling-pluginless.bundle-932ac50.js:1 P @ skype-calling-pluginless.bundle-932ac50.js:1 p.value @ skype-calling-pluginless.bundle-932ac50.js:1 l @ 3.1-app.min-f0b189f.js:1 e.startScreenSharingOnCall @ 3.1-app.min-f0b189f.js:1 o.startSharing @ 3.1-app.min-f0b189f.js:1 a.startSharing @ 3.1-app.min-f0b189f.js:1 (anonymous) @ 0.2-angular-jquery.min-eee9041.js:246 b @ 0.2-angular-jquery.min-eee9041.js:122 e @ 0.2-angular-jquery.min-eee9041.js:270 $eval @ 0.2-angular-jquery.min-eee9041.js:142 $apply @ 0.2-angular-jquery.min-eee9041.js:142 (anonymous) @ 0.2-angular-jquery.min-eee9041.js:270 dispatch @ 0.2-angular-jquery.min-eee9041.js:1 v.handle @ 0.2-angular-jquery.min-eee9041.js:1 0.2-angular-jquery.min-eee9041.js:114 2021-05-26T11:03:46.870Z callingAgents: calling-stack [JS.TsCalling.MediaAgent] ffffffff: MA/DeviceManager/MediaStreamManager [295e99fe] Error from promiseQueue! {"type":"UnsupportedStream","detail":"Sharing not supported","message":"Sharing not supported","isAudio":false,"constraints":{"audio":null,"video":{"deviceId":"display"},"withTimeout":true}} (anonymous) @ 0.2-angular-jquery.min-eee9041.js:114 e.logMessage @ 3.2-app.min-728a584.js:1 e.error @ 3.2-app.min-728a584.js:1 e.apply @ 3.1-app.min-f0b189f.js:1 e.error @ 3.1-app.min-f0b189f.js:1 t.log @ skype-calling-pluginless.bundle-932ac50.js:1 (anonymous) @ rt-js-bindings.bundle-db8ace5.js:1 t.log @ rt-js-bindings.bundle-db8ace5.js:1 e.error @ rt-js-bindings.bundle-db8ace5.js:1 (anonymous) @ skype-calling-pluginless.bundle-932ac50.js:1 e._apply @ skype-calling-pluginless.bundle-932ac50.js:1 e.error @ skype-calling-pluginless.bundle-932ac50.js:1 (anonymous) @ skype-calling-pluginless.bundle-932ac50.js:1 Promise.catch (async) e.add @ skype-calling-pluginless.bundle-932ac50.js:1 (anonymous) @ skype-calling-pluginless.bundle-932ac50.js:1 t.applyConstraintsInternal @ skype-calling-pluginless.bundle-932ac50.js:1 t.start @ skype-calling-pluginless.bundle-932ac50.js:1 t.start @ skype-calling-pluginless.bundle-932ac50.js:1 t.getMediaStream @ skype-calling-pluginless.bundle-932ac50.js:1 t.getMediaStream @ skype-calling-pluginless.bundle-932ac50.js:1 t.createDevicesHandle @ skype-calling-pluginless.bundle-932ac50.js:1 n.getScreenHandle @ skype-calling-pluginless.bundle-932ac50.js:1 (anonymous) @ skype-calling-pluginless.bundle-932ac50.js:1 i @ skype-calling-pluginless.bundle-932ac50.js:1 (anonymous) @ skype-calling-pluginless.bundle-932ac50.js:1 (anonymous) @ skype-calling-pluginless.bundle-932ac50.js:1 c @ skype-calling-pluginless.bundle-932ac50.js:1 n.startScreenSharing @ skype-calling-pluginless.bundle-932ac50.js:1 (anonymous) @ skype-calling-pluginless.bundle-932ac50.js:1 i @ skype-calling-pluginless.bundle-932ac50.js:1 (anonymous) @ skype-calling-pluginless.bundle-932ac50.js:1 (anonymous) @ skype-calling-pluginless.bundle-932ac50.js:1 r @ skype-calling-pluginless.bundle-932ac50.js:1 t.executeInternal @ skype-calling-pluginless.bundle-932ac50.js:1 t.checkPendingOperationAndExecute @ skype-calling-pluginless.bundle-932ac50.js:1 (anonymous) @ skype-calling-pluginless.bundle-932ac50.js:1 i @ skype-calling-pluginless.bundle-932ac50.js:1 (anonymous) @ skype-calling-pluginless.bundle-932ac50.js:1 (anonymous) @ skype-calling-pluginless.bundle-932ac50.js:1 r @ skype-calling-pluginless.bundle-932ac50.js:1 t.execute @ skype-calling-pluginless.bundle-932ac50.js:1 P @ skype-calling-pluginless.bundle-932ac50.js:1 p.value @ skype-calling-pluginless.bundle-932ac50.js:1 l @ 3.1-app.min-f0b189f.js:1 e.startScreenSharingOnCall @ 3.1-app.min-f0b189f.js:1 o.startSharing @ 3.1-app.min-f0b189f.js:1 a.startSharing @ 3.1-app.min-f0b189f.js:1 (anonymous) @ 0.2-angular-jquery.min-eee9041.js:246 b @ 0.2-angular-jquery.min-eee9041.js:122 e @ 0.2-angular-jquery.min-eee9041.js:270 $eval @ 0.2-angular-jquery.min-eee9041.js:142 $apply @ 0.2-angular-jquery.min-eee9041.js:142 (anonymous) @ 0.2-angular-jquery.min-eee9041.js:270 dispatch @ 0.2-angular-jquery.min-eee9041.js:1 v.handle @ 0.2-angular-jquery.min-eee9041.js:1 0.2-angular-jquery.min-eee9041.js:114 2021-05-26T11:03:46.871Z callingAgents: calling-stack [JS.TsCalling.MediaAgent] ffffffff: MA/DeviceManager/MediaStreamManager/MediaStream:4 failed to apply constraints: {"audio":null,"video":{"deviceId":"u35"},"withTimeout":true} error: {"type":"UnsupportedStream","detail":"Sharing not supported","message":"Sharing not supported","isAudio":false,"constraints":{"audio":null,"video":{"deviceId":"display"},"withTimeout":true}} (anonymous) @ 0.2-angular-jquery.min-eee9041.js:114 e.logMessage @ 3.2-app.min-728a584.js:1 e.error @ 3.2-app.min-728a584.js:1 e.apply @ 3.1-app.min-f0b189f.js:1 e.error @ 3.1-app.min-f0b189f.js:1 t.log @ skype-calling-pluginless.bundle-932ac50.js:1 (anonymous) @ rt-js-bindings.bundle-db8ace5.js:1 t.log @ rt-js-bindings.bundle-db8ace5.js:1 e.error @ rt-js-bindings.bundle-db8ace5.js:1 (anonymous) @ skype-calling-pluginless.bundle-932ac50.js:1 e._apply @ skype-calling-pluginless.bundle-932ac50.js:1 e.error @ skype-calling-pluginless.bundle-932ac50.js:1 (anonymous) @ skype-calling-pluginless.bundle-932ac50.js:1 Promise.catch (async) (anonymous) @ skype-calling-pluginless.bundle-932ac50.js:1 t.applyConstraintsInternal @ skype-calling-pluginless.bundle-932ac50.js:1 t.start @ skype-calling-pluginless.bundle-932ac50.js:1 t.start @ skype-calling-pluginless.bundle-932ac50.js:1 t.getMediaStream @ skype-calling-pluginless.bundle-932ac50.js:1 t.getMediaStream @ skype-calling-pluginless.bundle-932ac50.js:1 t.createDevicesHandle @ skype-calling-pluginless.bundle-932ac50.js:1 n.getScreenHandle @ skype-calling-pluginless.bundle-932ac50.js:1 (anonymous) @ skype-calling-pluginless.bundle-932ac50.js:1 i @ skype-calling-pluginless.bundle-932ac50.js:1 (anonymous) @ skype-calling-pluginless.bundle-932ac50.js:1 (anonymous) @ skype-calling-pluginless.bundle-932ac50.js:1 c @ skype-calling-pluginless.bundle-932ac50.js:1 n.startScreenSharing @ skype-calling-pluginless.bundle-932ac50.js:1 (anonymous) @ skype-calling-pluginless.bundle-932ac50.js:1 i @ skype-calling-pluginless.bundle-932ac50.js:1 (anonymous) @ skype-calling-pluginless.bundle-932ac50.js:1 (anonymous) @ skype-calling-pluginless.bundle-932ac50.js:1 r @ skype-calling-pluginless.bundle-932ac50.js:1 t.executeInternal @ skype-calling-pluginless.bundle-932ac50.js:1 t.checkPendingOperationAndExecute @ skype-calling-pluginless.bundle-932ac50.js:1 (anonymous) @ skype-calling-pluginless.bundle-932ac50.js:1 i @ skype-calling-pluginless.bundle-932ac50.js:1 (anonymous) @ skype-calling-pluginless.bundle-932ac50.js:1 (anonymous) @ skype-calling-pluginless.bundle-932ac50.js:1 r @ skype-calling-pluginless.bundle-932ac50.js:1 t.execute @ skype-calling-pluginless.bundle-932ac50.js:1 P @ skype-calling-pluginless.bundle-932ac50.js:1 p.value @ skype-calling-pluginless.bundle-932ac50.js:1 l @ 3.1-app.min-f0b189f.js:1 e.startScreenSharingOnCall @ 3.1-app.min-f0b189f.js:1 o.startSharing @ 3.1-app.min-f0b189f.js:1 a.startSharing @ 3.1-app.min-f0b189f.js:1 (anonymous) @ 0.2-angular-jquery.min-eee9041.js:246 b @ 0.2-angular-jquery.min-eee9041.js:122 e @ 0.2-angular-jquery.min-eee9041.js:270 $eval @ 0.2-angular-jquery.min-eee9041.js:142 $apply @ 0.2-angular-jquery.min-eee9041.js:142 (anonymous) @ 0.2-angular-jquery.min-eee9041.js:270 dispatch @ 0.2-angular-jquery.min-eee9041.js:1 v.handle @ 0.2-angular-jquery.min-eee9041.js:1 0.2-angular-jquery.min-eee9041.js:114 2021-05-26T11:03:46.873Z callingAgents: calling-stack [JS.TsCalling.MediaAgent] ffffffff: MA/DeviceManager/MediaStreamManager could not start media stream: 4, total streams: 2, error: {"type":"UnsupportedStream","detail":"Sharing not supported","message":"Sharing not supported","isAudio":false,"constraints":{"audio":null,"video":{"deviceId":"display"},"withTimeout":true}} (anonymous) @ 0.2-angular-jquery.min-eee9041.js:114 e.logMessage @ 3.2-app.min-728a584.js:1 e.error @ 3.2-app.min-728a584.js:1 e.apply @ 3.1-app.min-f0b189f.js:1 e.error @ 3.1-app.min-f0b189f.js:1 t.log @ skype-calling-pluginless.bundle-932ac50.js:1 (anonymous) @ rt-js-bindings.bundle-db8ace5.js:1 t.log @ rt-js-bindings.bundle-db8ace5.js:1 e.error @ rt-js-bindings.bundle-db8ace5.js:1 (anonymous) @ skype-calling-pluginless.bundle-932ac50.js:1 e._apply @ skype-calling-pluginless.bundle-932ac50.js:1 e.error @ skype-calling-pluginless.bundle-932ac50.js:1 (anonymous) @ skype-calling-pluginless.bundle-932ac50.js:1 Promise.catch (async) t.getMediaStream @ skype-calling-pluginless.bundle-932ac50.js:1 t.getMediaStream @ skype-calling-pluginless.bundle-932ac50.js:1 t.createDevicesHandle @ skype-calling-pluginless.bundle-932ac50.js:1 n.getScreenHandle @ skype-calling-pluginless.bundle-932ac50.js:1 (anonymous) @ skype-calling-pluginless.bundle-932ac50.js:1 i @ skype-calling-pluginless.bundle-932ac50.js:1 (anonymous) @ skype-calling-pluginless.bundle-932ac50.js:1 (anonymous) @ skype-calling-pluginless.bundle-932ac50.js:1 c @ skype-calling-pluginless.bundle-932ac50.js:1 n.startScreenSharing @ skype-calling-pluginless.bundle-932ac50.js:1 (anonymous) @ skype-calling-pluginless.bundle-932ac50.js:1 i @ skype-calling-pluginless.bundle-932ac50.js:1 (anonymous) @ skype-calling-pluginless.bundle-932ac50.js:1 (anonymous) @ skype-calling-pluginless.bundle-932ac50.js:1 r @ skype-calling-pluginless.bundle-932ac50.js:1 t.executeInternal @ skype-calling-pluginless.bundle-932ac50.js:1 t.checkPendingOperationAndExecute @ skype-calling-pluginless.bundle-932ac50.js:1 (anonymous) @ skype-calling-pluginless.bundle-932ac50.js:1 i @ skype-calling-pluginless.bundle-932ac50.js:1 (anonymous) @ skype-calling-pluginless.bundle-932ac50.js:1 (anonymous) @ skype-calling-pluginless.bundle-932ac50.js:1 r @ skype-calling-pluginless.bundle-932ac50.js:1 t.execute @ skype-calling-pluginless.bundle-932ac50.js:1 P @ skype-calling-pluginless.bundle-932ac50.js:1 p.value @ skype-calling-pluginless.bundle-932ac50.js:1 l @ 3.1-app.min-f0b189f.js:1 e.startScreenSharingOnCall @ 3.1-app.min-f0b189f.js:1 o.startSharing @ 3.1-app.min-f0b189f.js:1 a.startSharing @ 3.1-app.min-f0b189f.js:1 (anonymous) @ 0.2-angular-jquery.min-eee9041.js:246 b @ 0.2-angular-jquery.min-eee9041.js:122 e @ 0.2-angular-jquery.min-eee9041.js:270 $eval @ 0.2-angular-jquery.min-eee9041.js:142 $apply @ 0.2-angular-jquery.min-eee9041.js:142 (anonymous) @ 0.2-angular-jquery.min-eee9041.js:270 dispatch @ 0.2-angular-jquery.min-eee9041.js:1 v.handle @ 0.2-angular-jquery.min-eee9041.js:1 0.2-angular-jquery.min-eee9041.js:114 2021-05-26T11:03:46.874Z callingAgents: calling-stack [JS.TsCalling.MediaAgent] ffffffff: MA/DeviceManager getMediaStream() error: {"type":"UnsupportedStream","detail":"Sharing not supported","message":"Sharing not supported","isAudio":false,"constraints":{"audio":null,"video":{"deviceId":"display"},"withTimeout":true}} (anonymous) @ 0.2-angular-jquery.min-eee9041.js:114 e.logMessage @ 3.2-app.min-728a584.js:1 e.error @ 3.2-app.min-728a584.js:1 e.apply @ 3.1-app.min-f0b189f.js:1 e.error @ 3.1-app.min-f0b189f.js:1 t.log @ skype-calling-pluginless.bundle-932ac50.js:1 (anonymous) @ rt-js-bindings.bundle-db8ace5.js:1 t.log @ rt-js-bindings.bundle-db8ace5.js:1 e.error @ rt-js-bindings.bundle-db8ace5.js:1 (anonymous) @ skype-calling-pluginless.bundle-932ac50.js:1 e._apply @ skype-calling-pluginless.bundle-932ac50.js:1 e.error @ skype-calling-pluginless.bundle-932ac50.js:1 t.handleUserMediaError @ skype-calling-pluginless.bundle-932ac50.js:1 (anonymous) @ skype-calling-pluginless.bundle-932ac50.js:1 Promise.catch (async) t.getMediaStream @ skype-calling-pluginless.bundle-932ac50.js:1 t.createDevicesHandle @ skype-calling-pluginless.bundle-932ac50.js:1 n.getScreenHandle @ skype-calling-pluginless.bundle-932ac50.js:1 (anonymous) @ skype-calling-pluginless.bundle-932ac50.js:1 i @ skype-calling-pluginless.bundle-932ac50.js:1 (anonymous) @ skype-calling-pluginless.bundle-932ac50.js:1 (anonymous) @ skype-calling-pluginless.bundle-932ac50.js:1 c @ skype-calling-pluginless.bundle-932ac50.js:1 n.startScreenSharing @ skype-calling-pluginless.bundle-932ac50.js:1 (anonymous) @ skype-calling-pluginless.bundle-932ac50.js:1 i @ skype-calling-pluginless.bundle-932ac50.js:1 (anonymous) @ skype-calling-pluginless.bundle-932ac50.js:1 (anonymous) @ skype-calling-pluginless.bundle-932ac50.js:1 r @ skype-calling-pluginless.bundle-932ac50.js:1 t.executeInternal @ skype-calling-pluginless.bundle-932ac50.js:1 t.checkPendingOperationAndExecute @ skype-calling-pluginless.bundle-932ac50.js:1 (anonymous) @ skype-calling-pluginless.bundle-932ac50.js:1 i @ skype-calling-pluginless.bundle-932ac50.js:1 (anonymous) @ skype-calling-pluginless.bundle-932ac50.js:1 (anonymous) @ skype-calling-pluginless.bundle-932ac50.js:1 r @ skype-calling-pluginless.bundle-932ac50.js:1 t.execute @ skype-calling-pluginless.bundle-932ac50.js:1 P @ skype-calling-pluginless.bundle-932ac50.js:1 p.value @ skype-calling-pluginless.bundle-932ac50.js:1 l @ 3.1-app.min-f0b189f.js:1 e.startScreenSharingOnCall @ 3.1-app.min-f0b189f.js:1 o.startSharing @ 3.1-app.min-f0b189f.js:1 a.startSharing @ 3.1-app.min-f0b189f.js:1 (anonymous) @ 0.2-angular-jquery.min-eee9041.js:246 b @ 0.2-angular-jquery.min-eee9041.js:122 e @ 0.2-angular-jquery.min-eee9041.js:270 $eval @ 0.2-angular-jquery.min-eee9041.js:142 $apply @ 0.2-angular-jquery.min-eee9041.js:142 (anonymous) @ 0.2-angular-jquery.min-eee9041.js:270 dispatch @ 0.2-angular-jquery.min-eee9041.js:1 v.handle @ 0.2-angular-jquery.min-eee9041.js:1 0.2-angular-jquery.min-eee9041.js:114 2021-05-26T11:03:46.891Z CallingScreenSharingMixin: Failed to start screenSharing in call d6fbd5e8-88bd-47bd-9d11-729dd3c9c10b, error: {"type":"UnsupportedStream","detail":"Sharing not supported","message":"Sharing not supported","isAudio":false,"constraints":{"audio":null,"video":{"deviceId":"display"},"withTimeout":true}} (anonymous) @ 0.2-angular-jquery.min-eee9041.js:114 e.logMessage @ 3.2-app.min-728a584.js:1 e.error @ 3.2-app.min-728a584.js:1 (anonymous) @ 3.1-app.min-f0b189f.js:1 Promise.catch (async) e.startScreenSharingOnCall @ 3.1-app.min-f0b189f.js:1 o.startSharing @ 3.1-app.min-f0b189f.js:1 a.startSharing @ 3.1-app.min-f0b189f.js:1 (anonymous) @ 0.2-angular-jquery.min-eee9041.js:246 b @ 0.2-angular-jquery.min-eee9041.js:122 e @ 0.2-angular-jquery.min-eee9041.js:270 $eval @ 0.2-angular-jquery.min-eee9041.js:142 $apply @ 0.2-angular-jquery.min-eee9041.js:142 (anonymous) @ 0.2-angular-jquery.min-eee9041.js:270 dispatch @ 0.2-angular-jquery.min-eee9041.js:1 v.handle @ 0.2-angular-jquery.min-eee9041.js:1 skype-calling-pluginless.bundle-932ac50.js:1 Uncaught (in promise) {type: "UnsupportedStream", detail: "Sharing not supported", message: "Sharing not supported", isAudio: false, constraints: e} ```
KPS-MWT commented 3 years ago

I can confirm this for Ubuntu 20.04. Still works in Chrome.

DrasLorus commented 3 years ago

Same here in Archlinux, version 1.0.6, from the AUR.

Everything works on (ungoogled-)chromium.

Tried the pipewire and user-agent workarounds from #406 without success.

IsmaelMartinez commented 3 years ago

Hi all, I suspect MS has deprecated the browser support for that version. Unfortunately, that means solving the problem requires quite a lot of work.

Happy to review PRs and/or have a chat with anyone willing to fix this. I currently have a MacBook Pro (work...) so canna really do the full work, but I offer my support and/or guidance.

IsmaelMartinez commented 3 years ago

maybe try with other user agents. replacing the "yournewuseragent" for something other than "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3202.75 Safari/537.36" and starting the app like this :

teams-for-linux --chromeUserAgent "yournewuseragent"

If you find a userAgent that works the fix is fairly simple.

Surowa commented 3 years ago

It works with user agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3831.6 Safari/537.36

Is there a reason why it was downgraded in commit 7d799b61ff103e0c6e8e04424a4d256756435fe5? Screen sharing is quite nice to have

IsmaelMartinez commented 3 years ago

The explanation is in the PR https://github.com/IsmaelMartinez/teams-for-linux/pull/409 Basically, screensharing stopped working then. That might have changed (would not be the 1st time they do that).

can you confirm screensharing does work when executing:

teams-for-linux --chromeUserAgent "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3831.6 Safari/537.36"

If that is the case, that commit/pr is a good example of what needs to be done. I will be happy to release a Pre-release with it and see if anyone complains (and then release it). Thanks for checking!

skyghis commented 3 years ago

I tested without success under Ubuntu 20.10 with version 1.0.6 with this cmd line :

teams-for-linux --chromeUserAgent "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3831.6 Safari/537.36"

@Surowa how did you make it work ?

DrasLorus commented 3 years ago

I tested without more success on Archlinux.

I also contacted Microsoft about official App that is not working neither and the answer was basically that only Ubuntu 18.04/20.04, Fedora 30 and CentOS 8 was supported.

I don't know if it is related. Maybe a different graphic package?

IsmaelMartinez commented 3 years ago

To elaborate in the reasoning of the moving to version 71.

In this limits page: https://docs.microsoft.com/en-us/microsoftteams/limits-specifications-teams#browsers

Did indicated screensharing not available for browsers prior v72 image

We then moved back as the implementation change from ms teams means they didn't try to use the browser extension that we are using to "plug-in" the screensharing.

Arguveably, someone could implement the screensharing in a better way using a newer version of electron, but that would be quite a bit of work. Happy to help but I can't lead the development (apologies, no time in my hand). But I am happy to share my knowledge and provide support if people gets stuck. Thanks in advance!

IsmaelMartinez commented 3 years ago

Hi all, looks like @jijojosephk found a workaround for the screensharing issue.

https://github.com/IsmaelMartinez/teams-for-linux/issues/406#issuecomment-863046671

I got no time, apologies, but happy to review and approve/merge PRs

jijojosephk commented 3 years ago

@IsmaelMartinez PR is generated. Could you try? I've upgraded all modules to latest version. Fixed some migration related issues and our screen sharing issue.

DrasLorus commented 3 years ago

Hi all. @jijojosephk , I have tried your version on Archlinux with nodejs-lts-fermium, and i get the following error in terminal: image

Tried with electron 12.0.9, 6.1.12 and 7.3.3. I have built the app using yarnpkg.

Edit: On one hand, screen sharing does not work on my machine, nor sharing selector window. On an other hand, something is happening now in the terminal, it was not the case before. Seems the problem is being narrowed down?

skyghis commented 3 years ago

Tested your branch @jijojosephk, and it runs fine on Ubuntu 20.04 (compiled on a docker container).

I tested sharing of my screen without issue. I can select the monitor to share (multi screen). Unfortunately it is no longer possible to select a single window.

Thanks for the work !

jijojosephk commented 3 years ago

@DrasLorus Isn't the application opening at all? My development environment is Ubuntu 20.04. LTS, Node 14.17.1, NPM 7.17.0, Electron 13.1.2

jijojosephk commented 3 years ago

Tested your branch @jijojosephk, and it runs fine on Ubuntu 20.04 (compiled on a docker container).

I tested sharing of my screen without issue. I can select the monitor to share (multi screen). Unfortunately it is no longer possible to select a single window.

Thanks for the work !

Thank you. Currently, it considers only screen. I can include windows as well. I would generate another PR after that. Glad that my work helped somebody. Good day!

skyghis commented 3 years ago

I can include windows as well. I would generate another PR after that. Glad that my work helped somebody. Good day!

I'll wait for your next PR, thanks ! Displaying a single windows is an easy way to manage your privacy during a presentation.

DrasLorus commented 3 years ago

@jijojosephk it is! Everything else works fine with the yarnpkg && electron . build. I tried with npm install && electron . and get that: image

Maybe I build it wrong... Again, electron 12.0.9 but NPM 7.17.0 and Node 14.16.0 (at least on the machine, i don't fully understand NPM/yarn local installations, absolute noob here ).

EDIT: Modifications on the screenshot

skyghis commented 3 years ago

@DrasLorus the documentation says to use yarn start to run or yarn install && yarn run dist:linux to create package.

I personally used yarn install && yarn run dist:linux and then run the bin from the tgz version.

jijojosephk commented 3 years ago

I can include windows as well. I would generate another PR after that. Glad that my work helped somebody. Good day!

I'll wait for your next PR, thanks ! Displaying a single windows is an easy way to manage your privacy during a presentation.

I've pushed the changes. Could you try?

jijojosephk commented 3 years ago

@jijojosephk it is! Everything else works fine with the yarnpkg && electron . build. I tried with npm install && electron . and get that: image

Maybe I build it wrong... Again, electron 12.0.9 but NPM 7.17.0 and Node 14.16.0 (at least on the machine, i don't fully understand NPM/yarn local installations, absolute noob here ).

EDIT: Modifications on the screenshot

These messages are logged even for me., spellchecker module has some issues. Not compatible with latest electron. But suppressed with turning off a flag. You may see that in the commit. It should be OK if application is working and not getting crashed. When teams is opened in chrome browser, you would see a lot of errors in console window as well.

skyghis commented 3 years ago

I've pushed the changes. Could you try?

Single window sharing works perfectly :+1:

There are two minor points :

Thanks for the work !

Edit: typo

jijojosephk commented 3 years ago

I've pushed the changes. Could you try?

Single window sharing works perfectly

There are two minor points :

  • When the windows list open, Teams is reduced and need to be focused manually to select the window.
  • The shared screen preview windows no longer exists.

Thanks for the work !

Could you share some screenshots if possible?

DrasLorus commented 3 years ago

@DrasLorus the documentation says to use yarn start to run or yarn install && yarn run dist:linux to create package.

I personally used yarn install && yarn run dist:linux and then run the bin from the tgz version.

Aaaand it works. Thanks a lot.

frealgagu commented 3 years ago

Does it work with latest versions of nodejs?

jijojosephk commented 3 years ago

@frealgagu It's tested on Node 14 and npm 7 running under Ubuntu 20.04

frealgagu commented 3 years ago

I've pushed the changes. Could you try?

Single window sharing works perfectly

There are two minor points :

  • When the windows list open, Teams is reduced and need to be focused manually to select the window.
  • The shared screen preview window no longer exists.

Thanks for the work !

Edit: typo

Same as @skyghis , working in ArchLinux, thanks a lot @jijojosephk

jijojosephk commented 3 years ago

I've pushed the changes. Could you try?

Single window sharing works perfectly There are two minor points :

  • When the windows list open, Teams is reduced and need to be focused manually to select the window.
  • The shared screen preview window no longer exists.

Thanks for the work ! Edit: typo

Same as @skyghis , working in ArchLinux, thanks a lot @jijojosephk

I changed the screen sharing view from BrowserWindow to BrowserView. Got less time on UI fine tuning. Could you give a try? I'll push another PR.

jijojosephk commented 3 years ago

@skyghis @The-Compiler @frealgagu @IsmaelMartinez Could you try the latest changes?

frealgagu commented 3 years ago

@jijojosephk Nice, I've tested it and now it allow me to choose between the whole screen or to select some window. Previews are also shown. Thanks for your efforts.

skyghis commented 3 years ago

Thanks, @jijojosephk. Tested and approved, window sharing work perfectly.

Thanks for your efforts.

IsmaelMartinez commented 3 years ago

I will check this at some point next week (out on holidays at the moment). Does the speellchecker is still working? I had to change quite a few things on it when moving up the node version. Those changes are in a branch (move-electron-6 or something like that). Ta

On Tue, 22 Jun 2021, 08:55 SkyghiS, @.***> wrote:

Thanks, @jijojosephk https://github.com/jijojosephk. Tested and approved, window sharing work perfectly.

Thanks for your efforts.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/IsmaelMartinez/teams-for-linux/issues/432#issuecomment-865687101, or unsubscribe https://github.com/notifications/unsubscribe-auth/AADJHEDAD5WXYQ6NDRDKR6LTUA6WPANCNFSM45RYYULQ .

jijojosephk commented 3 years ago

I've pushed the changes. Could you try?

Single window sharing works perfectly

There are two minor points :

  • When the windows list open, Teams is reduced and need to be focused manually to select the window.
  • The shared screen preview window no longer exists.

Thanks for the work !

Edit: typo

Losing focus of the application seems be related to navigator.mediaDevices.getUserMedia. I opened an issue here

The-Compiler commented 3 years ago

I'll be testing it, probably today or tomorrow. If someone needs a PKGBUILD for Archlinux building @jijojosephk's branch:

```bash # Maintainer: Fredy García # Contributor: Ivelin Velkov pkgname=teams-for-linux pkgver=1.0.7 pkgrel=1 pkgdesc="Unofficial Microsoft Teams client for Linux using Electron." arch=("aarch64" "armv7h" "i686" "x86_64") url="https://github.com/IsmaelMartinez/${pkgname}" license=("GPL3") depends=("gtk3" "libxss" "nss") makedepends=("nodejs-lts-fermium" "node-gyp" "python2" "yarn") source=( "git+https://github.com/jijojosephk/$pkgname#branch=issue-432" "${pkgname}.desktop" ) sha256sums=( "SKIP" "f33ab4997c329567bbe172fe77ee6cbced5c5d4354e12ef52a89dd702422fded" ) build() { cd "${srcdir}/${pkgname}" yarn install --non-interactive --pure-lockfile --cache-folder "${srcdir}/yarn-cache" if [[ ${CARCH} == "aarch64" ]]; then yarn electron-builder build --arm64 --linux dir elif [[ ${CARCH} == "armv7h" ]]; then yarn electron-builder build --armv7l --linux dir elif [[ ${CARCH} == "i686" ]]; then yarn electron-builder build --ia32 --linux dir elif [[ ${CARCH} == "x86_64" ]]; then yarn electron-builder build --x64 --linux dir fi } package() { cd "${srcdir}/${pkgname}" install -dm755 "${pkgdir}/opt" "${pkgdir}/usr/bin" if [[ ${CARCH} == "aarch64" ]]; then _unpacked_dirname="linux-arm64-unpacked" elif [[ ${CARCH} == "armv7h" ]]; then _unpacked_dirname="linux-armv7l-unpacked" elif [[ ${CARCH} == "i686" ]]; then _unpacked_dirname="linux-ia32-unpacked" elif [[ ${CARCH} == "x86_64" ]]; then _unpacked_dirname="linux-unpacked" fi cp -r --preserve=mode "${srcdir}/${pkgname}/dist/${_unpacked_dirname}" "${pkgdir}/opt/${pkgname}" install -Dm644 "${srcdir}/${pkgname}.desktop" "${pkgdir}/usr/share/applications/${pkgname}.desktop" for _file in "${srcdir}/${pkgname}/build/icons/"*.png do _filename="$(basename ${_file})" install -Dm644 "${_file}" "${pkgdir}/usr/share/icons/hicolor/${_filename%.png}/apps/${pkgname}.png" done ln -sf "/opt/${pkgname}/${pkgname}" "${pkgdir}/usr/bin/${pkgname}" } ```

(as usual, build with makepkg -si)

The-Compiler commented 3 years ago

Well, the good news: Screen sharing works, in theory. The bad news: It's of such bad quality that it's unusable for some reason...

image

edit: Also, CPU usage is at 150-200% even after stopping screen sharing again...

jijojosephk commented 3 years ago

Well, the good news: Screen sharing works, in theory. The bad news: It's of such bad quality that it's unusable for some reason...

image

edit: Also, CPU usage is at 150-200% even after stopping screen sharing again...

I think the quality problem you're talking about is most likely the 720p default resolution for the streaming. I'll change it to 1080p and you should see some improvements. I'm assuming the increased CPU utilisation is due to the improperly destroyed stream previews. The more windows present in the preview the more CPU utilisation it would be. Also the preview resolution should be reduced to smaller values. I'll try to make these changes and push. Thanks for your inputs.

The-Compiler commented 3 years ago

That all sounds very likely, as this is on a 4K screen (and I was sharing the entire screen). Thanks!

jijojosephk commented 3 years ago

That all sounds very likely, as this is on a 4K screen (and I was sharing the entire screen). Thanks!

Could you check the latest changes?

Summary of changes:

  1. Default streaming resolution to 1080p (1920x1080)
  2. Now preview elements' video stream is stopped before closing the source selection view.
  3. Preview streaming size is reduced to 1/10 of 1080p (192x108)
danilkhromov commented 3 years ago

I also tested @jijojosephk branch on pop!_os 20.10, screen sharing works. I can share the whole screen or single window (something that official linux client still cannot do). I noticed that if i want to share single window i need to have it open on current workspace, not sure if there is a possibility to see windows from all the workspaces. And also application is losing focus as soon as i click on share, thats slightly annoying but not the deal breaker

jijojosephk commented 3 years ago

I also tested @jijojosephk branch on pop!_os 20.10, screen sharing works. I can share the whole screen or single window (something that official linux client still cannot do). I noticed that if i want to share single window i need to have it open on current workspace, not sure if there is a possibility to see windows from all the workspaces. And also application is losing focus as soon as i click on share, thats slightly annoying but not the deal breaker

Thanks @danilkhromov, this had not been tested on multi workspace setup. Thanks for pointing that out. It's most probably something to do with desktopCapturer module in electron. It's mentioned here. Also the losing focus problem is part of the navigator.mediaDevices.getUserMedia call and I've raised it as an issue in Electron repo here. Hoping the next release would bring the fix. Fingers crossed!

jijojosephk commented 3 years ago

@IsmaelMartinez @DrasLorus @skyghis @frealgagu @The-Compiler @danilkhromov I've pushed another set of changes which now allows to choose a screen sharing quality. This would list all the qualities from 720p to 4K upon detecting the primary display dimensions. Teams might not support 4K, and even if it does, if the recipients can't support such quality, it's of no use. I'm unable to test 2K and 4K because my machine would not support. People who have higher graphics options could give a try. It might fail. But try it and let me know.

Good day!

danilkhromov commented 3 years ago

@IsmaelMartinez @DrasLorus @skyghis @frealgagu @The-Compiler @danilkhromov I've pushed another set of changes which now allows to choose a screen sharing quality. This would list all the qualities from 720p to 4K upon detecting the primary display dimensions. Teams might not support 4K, and even if it does, if the recipients can't support such quality, it's of no use. I'm unable to test 2K and 4K because my machine would not support. People who have higher graphics options could give a try. It might fail. But try it and let me know.

Good day!

Thanks for your work man! Im gonna test this changes on monday, but in my case im not sure that im able to provide any valuable feedback since i only use 1080p screens atm. Also im thinking that 2k 4k outputs might an overkill since people should have good internet connection and thats not always the case, but maybe someone gonna find it useful.

Also im wondering is there a possibility that some of the future updates of ms teams for browser can break screen sharing again?

IsmaelMartinez commented 3 years ago

I suspect it would be less of an issue as, I believe, we don't use anymore the plugging hack. Meaning, we are closer to the browser implementation. But MS did surprise us in the past so it might surprise us in the future.

alfsch commented 3 years ago

I'm using 4k, will check this next monday.

IsmaelMartinez commented 3 years ago

I had a wee bit of a fight with gitactions but got a pre-release ready for people to try: https://github.com/IsmaelMartinez/teams-for-linux/releases/tag/v1.0.8

If people can try those builds and see if it works as expected, then I will make it a proper release.

For snap, it is in the edge channel.

Increasing the version of electron-builder also brought a few more packages for platforms.

jijojosephk commented 3 years ago

@IsmaelMartinez @DrasLorus @skyghis @frealgagu @The-Compiler @danilkhromov I've pushed another set of changes which now allows to choose a screen sharing quality. This would list all the qualities from 720p to 4K upon detecting the primary display dimensions. Teams might not support 4K, and even if it does, if the recipients can't support such quality, it's of no use. I'm unable to test 2K and 4K because my machine would not support. People who have higher graphics options could give a try. It might fail. But try it and let me know. Good day!

Thanks for your work man! Im gonna test this changes on monday, but in my case im not sure that im able to provide any valuable feedback since i only use 1080p screens atm. Also im thinking that 2k 4k outputs might an overkill since people should have good internet connection and thats not always the case, but maybe someone gonna find it useful.

Also im wondering is there a possibility that some of the future updates of ms teams for browser can break screen sharing again?

Just one thing, it will not show you 2K or 4K if the primary display does not support it. In your case, you would only see HD & FHD. Additional 2 will be shown to users who are having higher resolution displays.

joakim-tjernlund commented 3 years ago

Will Request Control/Give Control work as well now?

jijojosephk commented 3 years ago

Will Request Control/Give Control work as well now?

Currently it's not working that way. I'll investigate how that works in Chrome browser. If it's working there, then there's some hope for investigation and possibly finding the solution.

danilkhromov commented 3 years ago

@IsmaelMartinez @jijojosephk tested the pre-release version today, didnt notice any issues so far

jijojosephk commented 3 years ago

Will Request Control/Give Control work as well now?

Currently it's not working that way. I'll investigate how that works in Chrome browser. If it's working there, then there's some hope for investigation and possibly finding the solution.

@joakim-tjernlund on Google Chrome it does not show anything like that. Just a small floating component which let's you know that you're sharing screen.

joakim-tjernlund commented 3 years ago

@jijojosephk , OK that was not totally unexpected. I know MS teams is sensitive to removing/adding audio(headsets). Is this better here? Can you plugin USB HS(or bluetooth) after Teams has started ?