element-hq / element-web

A glossy Matrix collaboration client for the web.
https://element.io
GNU Affero General Public License v3.0
11.02k stars 1.96k forks source link

"Join meeting" button in pre-meeting screen not clickable. #20545

Open afc54 opened 2 years ago

afc54 commented 2 years ago

Steps to reproduce

Element-desktop 1.9.8 and Element-nightly 2022011301 under Debian 11.2/stable with KDE/Plasma, with a local private matrix-synapse 1.49.0-1~bpo11+2 server, also under Debian 11.2 with backports.

Some of the symptoms are the same as described in

https://github.com/vector-im/element-web/issues/18506

like the disconnections every 30 seconds.

Description

On startup, the main window pops up and displays the text messages just fine. When I click on the jitsi icon the video field displays "Jitsi Video Conference" and a button to "Join Conference".

When I do that, the video screen shows the camera input and at the bottom half of it the pre-meeting screen has a white field with my user name and a blue button to "Join meeting". Clicking on this button has no effect. I can never join the meeting.

Shortly after (30 seconds), a pop-up says "You have been disconnected, you may want to check the network connection. Reconnecting in 30 seconds." and then it counts down. Then it disconnects again and again. This is the same symptom described in issue 18506.

This goes on until I exit the program or I disable the pre-meeting screen from the settings gear on the pre-meeting screen. If I do the latter I see a grey screen with my camera input in the corner greyed out until the next disconnection. At that time, the corner mini-screen goes black (with the AV circle on it and the microphone and camera icons slashed out. Clicking on the microphone or camera icons that show up when you move the mouse over the video field don't enable them. The only thing that works is the red hang-up button, which brings me back to the "Jitsi Video Conference with the "Join Conference" green button" field.

Reconnecting now goes directly to the grey screen (no pre-meeting screen as that has been disabled) until the next disconnection. The first time (before the first disconnection, the field at the top (when mouse is hovering over the video field had the name of the room, subsequent times it had "Jitsi Heb...".

At least I can access the config menu (...) and re-enable the pre-meeting screen. When that is done, it's back to the unclickable blue "Join meeting" button. However, now the microphone and camera icons in the pre-meeting screen are usable. Clicking them re-enables the video in the top half of the video screen.

So, it is totally impossible to make video calls from this system and the sequences above are totally repeatable. What can I test or where can I look to find more details to track down this issue? Some of this behavior has been present for a few releases, before that Element-desktop worked correctly on this computer, and most recently it did so a few days ago, until apparently the latest upgrade. I do not remember upgrading element-desktop manually but the pre-meeting screen is new, so I suspect this latest behavior has been caused by the latest release.

On another computer (a laptop with built in camera) with the same debian stable OS, I see the same issue with the pre-meeting screen but once that is disabled, the video part of the screen turns grey and no amount of hovering or clicking can bring up the red hang-up button, so it is impossible to do anything but exit the program.

I have seen on a few occasions a very quickly disappearing pop-up message at the beginning, when I just started the program, but it disappeared in less than a second, so couldn't read what it said.

Outcome

What did you expect?

That I could join the specified room via video call like I had done before.

What happened instead?

The program is totally unusable.

Operating system

Debian 11.2/stable with KDE/Plasma, with a local private matrix-synapse 1.49.0-1~bpo11+2 server, also under Debian 11.2 with backports.

Application version

Element-desktop 1.9.8 and Element-nightly 2022011301

How did you install the app?

deb [signed-by=/usr/share/keyrings/riot-im-archive-keyring.gpg] https://packages.riot.im/debian/ bullseye main

Homeserver

local private matrix-synapse 1.49.0-1~bpo11+2 server, also under Debian 11.2 with backports.

Will you send logs?

Yes

afc54 commented 2 years ago

On Fri, Jan 14, 2022 at 01:32:42AM -0800, Germain wrote:

Could you share a bit more information regarding the Jitsi instance tied with your Element deployment?

Debian (at least the versions I've tested (10 and 11), don't come with separate jitsi packages, and they apparently weren't necessary as Element-desktop worked without them. The packages from packages.riot.im (from where I installed Element-dsktop) don't have any dependency on jitsi*.

This is the relevant apt sources list.

deb [signed-by=/usr/share/keyrings/riot-im-archive-keyring.gpg] https://packages.riot.im/debian/ bullseye main

Still, I installed jitsi on one computer (per the instructions on jitsi.org):

curl https://download.jitsi.org/jitsi-key.gpg.key | sudo sh -c 'gpg --dearmor > /usr/share/keyrings/jitsi-keyring.gpg'

echo 'deb [signed-by=/usr/share/keyrings/jitsi-keyring.gpg] https://download.jitsi.org stable/' | sudo tee /etc/apt/sources.list.d/jitsi-stable.list > /dev/null

Then from aptitude installed jitsi-meet, dependencies and manually all suggestions.

This installed a large amount of packages, but it made no difference. Element-desktop has the same behavior, even after a reboot and with a large amount of jitsi daemons running in the background.

From all indications it appears that Element-desktop from packages.riot.im is self-contained and didn't need anything external beyond the dependencies specified in the package, and those don't include snything jitsi. It worked fine until it didn't recently.

To reiterate: On machine 1 (a desktop with a usb camera) Element stopped working with the symptoms described in issue 18506 quite a while ago. Then I upgraded to Debian 11 and it still didn't work, then something happened (some python package got possibly upgraded?) and it worked correctly for a few days, until it didn't again.

On machine 2 (a laptop with the same Debian stable and built-in camera) Element-desktop worked fine until a few days ago. The only difference I noticed when it stopped working was that now Element-desktop had the "pre-meeting" screen. On this computer, after clicking the "Join Meeting" button, the screen turns grey and no amount of hovering of clicking brings the red "hang up" button or any of the other overlaid buttons (including the settings gear) so there is no way to even exit this mode. The only thing I can do then is exit Element desktop.

On machine 3 (another laptop with the same debian stable and built-in camera), Element-desktop behaves the exact same way as on machine 1. On this computer, I installed jitsi from jitsi.org as described above and it didn't make any difference in the behavior.

Is jitsi (separately installed) a requirement/dependency now? The example with machine 3 seems to suggest that either it is not, or some additional internal configuration needs to be done. I'm at a loss, considering that until recently it was working just fine.

afc54 commented 2 years ago

Managed to solve the problem described above for machine 2 by clearing both the Cache and Code Cache:

This script clears the cache files used by Element

ELEMENT=Element-Nightly

ELEMENT=Element

cd $HOME/.config/$ELEMENT/Cache rm _? index index-dir/the-real-index cd $HOME/.config/$ELEMENT/Code\ Cache/js rm ? index index-dir/the-real-index cd $HOME/.config/$ELEMENT/Code\ Cache/wasm rm *? index index-dir/the-real-index

Now Element works on this one machine, but on the 2 others I see the same issues described above. I still get disconnections every 30 seconds. When first started without the pre-meeting screen, when hovering the mouse over the video part of the screen the room name shows at the top. After the first disconnection, I see "Jisti ..." where ... is a very long string of characters. This is completely repeatable. Are the 2 symptoms related?

On the other 2 machines, clearing the caches does not solve the problems. They remain as described above: ie: video is disabled and cannot be enabled without the pre-meeting screen. It can be enabled from the pre-meeting screen but the "Join meeting" button on that screen doesn't work, so I can never really get into the video conference.

If someone told me where I can find detailed log files, or how to make Element produce them, I'd be happy to provide more data.

Is there anything I can do to somehow enable the "Join Meeting" button on the pre-meeting screen?

novocaine commented 2 years ago

Is it possible to provide screenshots of the issue(s)?

afc54 commented 2 years ago

On Thu, Jan 20, 2022 at 06:49:56AM -0800, James Salter wrote:

Is it possible to provide screenshots of the issue(s)?

The screen capture program interferes with the mouse hover events so I can't capture what comes up when the mouse hovers over the video part of the screen. I could capture the "you have been disconnected" message. It is attached as element-screen-capture.jpg. This is without the pre-meeting screen.

When connected without the "pre-meeting" screen this is what I see. Video is disabled, as is the microphone. Clicking on the enable camera icon on the bar of buttons that pops up when the mouse is over the video field does nothing, yet clicking on the '^' to it's top right does bring up a small overlay with the video straight from the camera. The red "hang up" button works, and that is how I can get back to the "Join meeting" screen, as depicted in element-screen-capture-3.jpg.

When the pre-meeting screen option is enabled, getting into jitsi shows what is depicted in element-screen-capture-2. The top part of the screen is actually valid video from the camera, covered with a greeting card. Note that the camera and microphone icons are enabled, correctly. The problem in this screen is that clicking on the "Join meeting" button does nothing.

afc54 commented 2 years ago

element-screen-capture element-screen-capture-2 element-screen-capture-3

afc54 commented 2 years ago

The update of element-nightly of 5/1/22 produced a change in behavior: upon disconnection and re-connection (which still happens every 30 seconds) the name of the room is now correct after the re-connections. Before it was a long string of random characters, so something got fixed. Still, element-desktop is still unusable on this machine. It is still impossible to see video or enable the video with the camera button.

afc54 commented 2 years ago

Another change in behavior. Element-nightly version 2022050601 still disconnects after 30 seconds, but now instead of the "you have been disconnected" screen as shown above, it goes back to the original "Jitsi Video Conference" sub-screen with the green button to "Join Conference". It is still not possible to enable the camera but the video feed can be seen by clicking on the '^' at the top of the enable video button. This has always been the case.

robintown commented 2 years ago

Hi @afc54, would it be possible to get logs for this issue? You can submit them by selecting 'Feedback' from the top left menu of the app, and then choosing 'Submit debug logs'.

afc54 commented 2 years ago

Ok, I have sent the logs from the app, to the address of this issue: https://github.com/vector-im/element-web/issues/20545#issuecomment-1119983308 but nothing has showed up yet. Element-desktop has thanked me for sending the logs (no error messages). Did something not work?

t3chguy commented 2 years ago

Logs are sent privately as they contain things like your MXID. I can see they have been received here.

t3chguy commented 2 years ago

Also @afc54 you can review the logs before sending. There's literally a download button.

image
afc54 commented 2 years ago

Another change in behavior: element-nightly 5/27/22. Whereas for the last few weeks the disconnection from the Jitsi session brought back the "Jitsi Video Conference" sub-screen with the "Join Conference" green button, now an error window pops up that says:

Connection lost You were disconnected from the call. (Error: The WebSocket connection could not be established or was disconnected.)

with a green button on the lower right. Clicking it brings back the "Join Conference" sub-screen. Clicking on this button attempts to start the Jitsi video conference but with video disabled and muting enabled. Clicking on those buttons does nothing and after 30 seconds: the disconnection. This has been the behavior on this machine since I opened this bug report.

turt2live commented 2 years ago

Closing as presumed fixed due to lack of information. If this is still an issue, please open a new issue with the requested information.

robintown commented 2 years ago

Reopening since we did receive logs

kasyak94 commented 1 year ago

Hello.

I downloaded two different [releases] (Releases · jitsi/jitsi-meet · GitHub) (7882, 8319) on my local matchin, used npm install and make dev, then tried to start the meeting but nothing happened . I clicked the “Join Meeting” button. I used nodejs version like 14.14 and 16.14 but got the same result.

P.S. After clicking on the button in the browser console, nothing appears.

Any idias?

afc54 commented 1 year ago

Time for an update. The problem still occurs but since element-desktop has changed, so did the symptoms. As of Sept. 17, 2023, with element-nightly 2023091701, the problem still occurs, but note that the logs enclosed are from a couple of days ago.

Starting element-desktop connects with the private server just fine and I soon get the file:///var/tmp/element-logs-2/join-conference.jpg window.

When I click on the "Join Conference" button, I get file:///var/tmp/element-logs-2/joined-conference.jpg: a grey field. After a few seconds, in the top right corner I see my user name (file:///var/tmp/element-logs-2/joined-conference-2.jpg) but that never changes. If I hover the mouse I see Jitsy Hebboxytup... (long string of gibberish) in addition to the buttons that pop up at the bottom, but instead of that string changing to the room name and the video showing up, I get the file:///var/tmp/element-logs-2/connection-lost.jpg pop-up, and that's as far as I can go on the computer that doesn't work.

Digging into the logs, these appear to be the lines that capture the problem:

The question I have is: why is element doing anything with jitsi.riot.im, when I'm trying to connect with a local home server? Shouldn't all the code necessary be included in Element-desktop?

``2023-09-15T21:40:44.339Z D FetchHttpApi: <-- GET https:/// matrix/client/v3/sync?filter=xxx&timeout=xxx&since=xxx [30046ms 200] 2023-09-15T21:40:44.350Z D FetchHttpApi: --> GET https:/// matrix/client/v3/sync?filter=xxx&timeout=xxx&since=xxx 2023-09-15T21:40:51.978Z error 2023-09-15T21:40:51.947Z [JitsiMeetJS.js] <Object. getGlobalOnErrorHandler>: UnhandledError: Strophe: Websocket error [object Event] Script: null Line: null Column: null StackTrace: Error: Strophe: Websocket error [object Event] at ut.Strophe.log (https://jitsi.riot.im/libs/lib-jitsi-meet.min.js?v=6447:2:448804) at Object.error (https://jitsi.riot.im/libs/lib-jitsi-meet.min.js?v=6447:2:146409) at O.Websocket.onError (https://jitsi.riot.im/libs/lib-jitsi-meet.min.js?v=6447:2:185882) 2023-09-15T21:40:51.978Z error 2023-09-15T21:40:51.948Z [modules/xmpp/strophe.util.js] : Strophe: Websocket error [object Event] 2023-09-15T21:40:51.978Z error 2023-09-15T21:40:51.967Z [connection.js] <r.s>: CONNECTION FAILED: connection.otherError 2023-09-15T21:40:51.980Z I [PostmessageTransport] Sending object to vector://vector: {"api":"fromWidget","widgetId":"jitsi@:1637184277823","requestId":"widgetapi-1694814051978","action":"im.vector.hangup","data":{"errorMessage":"The WebSocket connection could not be established or was disconnected."},"response":{}} 2023-09-15T21:40:52.024Z I [PostmessageTransport] Sending object to vector://vector: {"api":"fromWidget","widgetId":"jitsi@:_1637184277823","requestId":"widgetapi-1694814051984","action":"set_always_onscreen","data":{"value":false},"response":{}} 2023-09-15T21:40:52.028Z error 2023-09-15T21:40:51.977Z [features/base/connection] connection.otherError 2023-09-15T21:40:52.038Z I [PostmessageTransport] Sending object to vector://vector: {"api":"fromWidget","widgetId":"jitsi@:1637184277823","requestId":"widgetapi-1694814052026","action":"im.vector.hangup","data":{},"response":{}} 2023-09-15T21:40:52.049Z I [PostmessageTransport] Sending object to vector://vector: {"api":"fromWidget","widgetId":"jitsi@:_1637184277823","requestId":"widgetapi-1694814052044","action":"set_always_on_screen","data":{"value":false},"response":{}} 2023-09-15T21:40:59.888Z D element-desktop closing

afc54 commented 1 year ago

Well, the drag and drop of the screen captures (*.jpg) didn't work: "Something went really wrong and we can't process that file". Copy/paste only pastes the file path: ie: file:///var/tmp/element-logs-2/join-conference.jpg. I'm going to need further guidance if anyone wants to see the actual screen captures.

I also notice that the pasted logs have been truncated/modified.