element-hq / element-web

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

Calling someone at the same time they call you results in neither client being able to accept either call request. #20259

Open viasux opened 2 years ago

viasux commented 2 years ago

Steps to reproduce

  1. Call a friend at the same time they call you
  2. Observe the "connecting..." dialogue
  3. The call never starts unless you hang up and recall.

Outcome

What did you expect?

It to either show the incoming call (could use the existing dialogue for when you're called from another individual while in a call) or automatically answer (since I sent a call request at the same time, to the exact same person)

What happened instead?

The call waits indefinitely. I've had situations happen where we both hit call at the same time, hit hang up, hit call at the same time, etc.

Operating system

Windows

Application version

Element version: 1.9.7 Olm version: 3.2.8

How did you install the app?

https://community.chocolatey.org/packages/element-desktop

Homeserver

yiff.social

Will you send logs?

No

SimonBrandner commented 2 years ago

Hmm, glare resolution works fine for me, could you please share your logs?

viasux commented 2 years ago

Hmm, glare resolution works fine for me, could you please share your logs?

I don't feel comfortable sharing the data on everyone I talk to & stuff, which is included in logs. Sorry! I have had this happen multiple times, however. Btw, I use p2p or the matrix fallback voice server usually. My server doesn't have a calling server.

I didn't mean to close this issue oops..

chronos1970 commented 2 years ago

I can confirm, this bug occurs for me on a regular basis even when both parties are using the windows client.

SimonBrandner commented 2 years ago

I am having quite some trouble reproducing this, I am suspicious of decryption doing something weird, so I am wondering if you tend to exchange messages with the other person before actually calling them?

viasux commented 2 years ago

I am having quite some trouble reproducing this, I am suspicious of decryption doing something weird, so I am wondering if you tend to exchange messages with the other person before actually calling them?

Yes, how would we know to call without messaging eachother lol?

SimonBrandner commented 2 years ago

I am having quite some trouble reproducing this, I am suspicious of decryption doing something weird, so I am wondering if you tend to exchange messages with the other person before actually calling them?

Yes, how would we know to call without messaging eachother lol?

I just wanted to make sure :P

SimonBrandner commented 2 years ago

Do you have an idea of how often this happens? I think I managed to repro in 1 out of 10 maybe and have no idea what is the difference in that case. Is it also 1 in 10 or something similarly low for you?

toger5 commented 2 years ago

I can reproduce this very consistently (andorid with web at least) (web with web seems to work fine.) I need to start the call on android before it shows me, that there is a call incoming. Than it does not connect

SimonBrandner commented 2 years ago

I can reproduce this very consistently (andorid with web at least) (web with web seems to work fine.) I need to start the call on android before it shows me, that there is a call incoming. Than it does not connect

The problems between Android <-> Web/Desktop are Android's fault, the glare resolution there seems to be lacking :/

toger5 commented 2 years ago

I did manage to break this on web as well, but as you mentioned already not reproducible...

chronos1970 commented 2 years ago

I would like to point out that for me this seems to happen when the call suddenly drops, and both parties try to recall right after. The most common cause for calls dropping for me has been when both parties actively share and stop sharing their screens.

SimonBrandner commented 2 years ago

The most common cause for calls dropping for me has been when both parties actively share and stop sharing their screens.

Hmm, I've been unable to repro this as well :thinking:

viasux commented 2 years ago

Here's an example of this happening, note "connecting" on the earlier call image

Doomsdayrs commented 2 years ago

This occurs as well for me frequently

Doomsdayrs commented 2 years ago

The best way to handle this is a check to see if which request was first, then to simply drop ones one request and send an accept response

w4tsn commented 2 years ago

This is happening for me as well on Element Desktop trying to connect to other Element Desktop clients. My company is using the vector.im Offering. I'm using the Element flatpak on Fedora. My peer uses the Windows Desktop client and sits on another home server, but that also happens with a colleague from the same home server.

To reproduce we have to precisely time the call. We did it by one of us writing "NOW" into the chat and hitting the call button. It's quite hard to time still but seems to happen frequently if you don't try too hard to sync it :D

We both receive a notification that we are already in a call.

My and peers versions:

Element version: 1.9.9
Olm version: 3.2.8
gabmert commented 2 years ago

@SimonBrandner Just happened to me again:

Manjaro Desktop (Element: 1.10.8, Olm: 3.2.8) to Windows Desktop

both tried to call at the same time, but could only get through after both stopped their call and only one of us called.

I'm happy to provide logs, is there a way to not post them to the whole internet? Else I'll have to get a bit creative to anonymise them. Or is there a tool to do that?

turt2live commented 2 years ago

I don't think this was ever fixed. https://github.com/vector-im/element-web/issues/2199 appears to have been closed incorrectly.

DavyLandman commented 1 year ago

True, we get this quite often. Between 2 desktop clients.

Element version: 1.11.29
Olm version: 3.2.12