element-hq / element-hq/element-call

"Disconnected from call" websocket connection failures

Open
#1,844 4 comments 0 reactions 0 assignees View on GitHub
T-Defect
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

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.