element-hq / element-hq/element-web
Element Call: sender redialed an embedded call and even after I joined, it kept ringing
- Dominant language
- TypeScript
- Stars
- 13.5k
- Forks
- 2.8k
- PR merge metrics
- PR metrics pending
Description
### Steps to reproduce
1. Using Element Web
2. Someone calls me. I hear ringing and see a popup in the top left with a Join button.
3. Click the Join button
4. The popup is still there, and the ringing sound is still going
5. Click Join to join the call. It starts and we can talk, but the ringing is still going on, and the popup is still there.
6. Close the popup with the X in its top-right
7. The ringing stops and the popup disappears.
### Outcome
#### What did you expect?
Ringing to stop when I first clicked Join
#### What happened instead?
Ringing continued and the popup remained.
#### Info
Florian H was the caller. He said he had a problem and ended up clicking the Call button twice, creating two `org.matrix.msc4075.call.notify` events. He also said there was no need to rageshake since the cause was clear, but I can do it if needed.
We should only start 1 call even if there are two events.
### Operating system
Ubuntu 22.04
### Browser information
Firefox 124.0.2
### URL for webapp
https://develop.element.io
### Application version
Element version: a9cd567fc972-react-eee17f43c3d8-js-f95954c233c4 Crypto version: Rust SDK 0.7.0 (068a0af), Vodozemac 0.6.0
### Homeserver
matrix.org
### Will you send logs?
No
Contributor guide
Research direction
Start by reproducing the duplicate org.matrix.msc4075.call.notify event flow in Element Web with the embedded call. Trace how the Join popup and ringing are handled for repeated events; done means one call starts and the popup and ringing stop after the first Join.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- typescript
- Domain
- audio-video-rtc, frontend, web-dev
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100