jitsi / jitsi-meet-electron

Jitsi Meet desktop application powered by :electron:
Apache License 2.0
1.48k stars 452 forks source link

2023.11.2 requires at least jitsi-meet-web 1.0.7658-1, otherwise it returns to the main screen after 30sec #929

Closed seregasoft closed 7 months ago

seregasoft commented 7 months ago

Description

2023.11.2 returns to the main screen after ~30sec after join

Current behavior

v. 2023.11.2 sudden exit from the conference and returns to the main screen after ~30sec after join

Expected Behavior

I continue to be in the conference

Possible Solution

Workaround: use browser

Steps to reproduce

Join to conference using jitsi-meet-electron v. 2023.11.2 Wait 30 seconds

Environment details

OS Windows 10 Client: jitsi-meet-electron v. 2023.11.2 Server: jitsi-meet-prosody/stable,now 1.0.6644-1 all [installed,upgradable to: 1.0.7658-1] jitsi-meet-turnserver/stable,now 1.0.6644-1 all [installed,upgradable to: 1.0.7658-1] jitsi-meet-web-config/stable,now 1.0.6644-1 all [installed,upgradable to: 1.0.7658-1] jitsi-meet-web/stable,now 1.0.6644-1 all [installed,upgradable to: 1.0.7658-1] jitsi-meet/stable,now 2.0.7882-1 all [installed,upgradable to: 2.0.9111-1] jitsi-videobridge2/stable,now 2.2-45-ge8b20f06-1 all [installed,upgradable to: 2.3-61-g814bffd6-1]

saghul commented 7 months ago

Can you reproduce this on meet.jit.si ?

csett86 commented 7 months ago

I can reproduce it with jitsi-meet-web 1.0.7531-1, but not on meet.jit.si.

The timeout that this app uses (30 seconds by default) somehow fires, so the app no longer detects that it has joined the conference successfully... Nothing that I would find in the developer tools of electron so far...

Will check with current stable jitsi-meet-web 1.0.7658-1 as well.

csett86 commented 7 months ago

Good news, I cannot reproduce it with stable jitsi-meet-web 1.0.7658-1

saghul commented 7 months ago

It's weird, however that it doesn't work with older versions. @gabiborlea can you PTAL tomorrow?

gabiborlea commented 7 months ago

Found the issue! The problem is that the onload function is not called and the loadTimer timeout is not cleared and forces you out of the conference: https://github.com/jitsi/jitsi-meet-electron/blob/22adc4b5890ff966e5136c09fb45cfca2d5817a5/app/features/conference/components/Conference.js#L322. This is caused by the fact that the external_api does not call the onload method when the iframe is loaded. I suppose its because of this: https://github.com/jitsi/jitsi-meet/commit/59242e1217dfd343de29e7700848fe57453b91aa. As the old jitsi meet version has an older API module the ready event will never be triggered in the external_api, and onload was dropped from the createIFrame function it will never be called. The solution would be either to create a patch for the external_api for electron, or the make the external_api from jitsi-meet backwards compatible with older versions. What do you think @saghul ?

saghul commented 7 months ago

Fix: https://github.com/jitsi/jitsi-meet-electron/pull/931

osnyx commented 7 months ago

Thanks for quickly working on this. I permit myself to use this as an example where automated updates that cannot be turned off or do not need to be confirmed are a bit annoying or harmful. I was the first one to update the electron app and was able to inform everyone in my team about the breakage, but they still had no choice of not updating, or did I miss anything?

saghul commented 7 months ago

This application is basically a browser in disguise, with all its advantages and disadvantages. We follow the same update model as all modern web browsers for security reasons.

We will occasinally mess up, that's a fact of life.