element-hq / element-hq/element-call
Unable to properly hangup from call
- Dominant language
- TypeScript
- Stars
- 996
- Forks
- 213
- Avg merge
- 1d 6h
- Merged PRs (30d)
- 54
Description
### Steps to reproduce
1. Join private server.
2. Join call.
3. Hangup.
### Outcome
#### What did you expect?
Hangup.
#### What happened instead?
It fails to hangup. You are still on the call, can hear and see everyone but it appears to everyone that you left. This happens for all participants.
I grabbed this from console after clicking the red hangup button. (ignore the poor layout)
```
rageshake.ts:500 Failed to send hangup action tw: Unknown or unsupported action: im.vector.hangup
at Koe.handleResponse (https://skittles/assets/index-52Ns62Lx.js:34:58588)
at Koe.handleMessage (https://skittles/assets/index-52Ns62Lx.js:34:58153)
at https://skittles/assets/index-52Ns62Lx.js:34:57833
window.console. @ rageshake.ts:500
(anonymous) @ rageshake.ts:639
GHe @ rtcSessionHelpers.ts:162
await in GHe
LU @ rtcSessionHelpers.ts:182
await in LU
(anonymous) @ GroupCallView.tsx:327
onClick @ InCallView.tsx:588
MatrixRTCSession Not joined to session in room !ABC:url: ignoring leave call
```
### Operating system
All
### Browser information
Several
### URL for webapp
no
### Will you send logs?
No
Contributor guide
Research direction
Start at the hangup click path in InCallView.tsx and GroupCallView.tsx, then read the related logic in rtcSessionHelpers.ts. Reproduce the failure and inspect why the hangup action is rejected and why the session reports that it was not joined. Done means leaving the call actually removes the participant from the session for all participants.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- typescript
- Domain
- audio-video-rtc
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100