element-hq / element-hq/element-call
Call Disconnected bug 2: 15 second timeout edition
- Dominant language
- TypeScript
- Stars
- 996
- Forks
- 213
- Avg merge
- 1d 6h
- Merged PRs (30d)
- 54
Description
### Steps to reproduce
We are seeing bug reports come in with more call disconnections. In all of these cases, the client sends an answer and then 15 seconds later, the call disconnects. Livekit's logging isn't quite good enough to immediately tell whether the client is deliberately closing the connection, but the code on the server is 1005 so this would suggest that.
Client:
```
2023-11-17T04:29:17.078Z 1 sending answer
2023-11-17T04:29:32.075Z 4 cannot send signal request before connected, type: ping
2023-11-17T04:29:32.075Z 4 cannot send signal request before connected, type: pingReq
2023-11-17T04:29:32.200Z 1 clearing ping interval
2023-11-17T04:29:32.200Z 1 room event connectionStateChanged {"event":"connectionStateChanged","args":["disconnected"]}
2023-11-17T04:29:32.200Z 1 room event disconnected {"event":"disconnected","args":[null]}
2023-11-17T04:29:32.208Z 2 Leaving call session in room **redacted**
2023-11-17T04:29:32.208Z 2 Session in room **redacted** changed to left
```
### 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
Research direction
Start with the client log sequence: an answer is sent, ping and pingReq fail 15 seconds later, and the room becomes disconnected. Trace the corresponding server-side code reporting status 1005 and determine whether the client or server closes the connection; done means the disconnect cause is identified and reproducible behavior is documented.
Written by the indexing model from the issue text.
Assessment
- Domain
- audio-video-rtc
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100