element-hq / element-hq/element-call
"Disconnected from call" websocket connection failures
- Dominant language
- TypeScript
- Stars
- 996
- Forks
- 213
- Avg merge
- 1d 8h
- Merged PRs (30d)
- 55
Description
### Steps to reproduce
Unknown!
We are seeing both a lot of rageshakes of people getting the 'disconnected from call" screen and occasionally seeing this in our usage where we'll suddenly be kicked to the disconnected for no reason.
This happened to me yesterday and the failure mode was: enter call, other person was in the call but was a grey screen. My mute button was showing I was unmuted but the mute indicator on my local video showed muted. Clicking the mute button did nothing, then after being confused for ~10 seconds, it changed to the disconnected from call screen.
On the livekit server, this manifested as, `INFO livekit service/rtcservice.go:374 exit ws read loop for closed connection {"room": "***", "roomID": "RM_VMPzm5H6xPjb", "participant": "@blush-brilliant-octopus:call.ems.host:XEQOOZWPJC", "pID": "PA_FPtvGSXW8SWM", "remote": false, "connID": "CO_Hn2rKNwoLB5R", "wsError": "websocket: close 1005 (no status)"}`
...which suggests a TCP level disconnection of the websocket, I think, if no status was provided.
The client logs are not very helpful, with the client just unpublishing tracks and changing the connection status to disconnected after a while logging nothing.
Why is the websocket connection dying, and why isn't livekit trying to re-establish it?
### Outcome
#### What did you expect?
#### What happened instead?
### Operating system
_No response_
### Browser information
_No response_
### URL for webapp
_No response_
### Will you send logs?
Yes
Contributor guide
Assessment
This issue has not been assessed yet.