RocketChat / RocketChat/Rocket.Chat

Two calls in short period of time generates two separate calls

Open
#27,128 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
TypeScript
Stars
46.1k
Forks
13.9k
Avg merge
3d 3h
Merged PRs (30d)
130

Description

Description:

Lets imagine situation where group chat have 10-20 users. And a call is planned in that group. But there is no one person, who must start call, so it can be started by everyone. Meeting time is coming and two (or more) users start call in that group chat. And two (or more) separate group calls are created! Users don't see all other users - they divided to separate calls. And all have bad call experience.

Steps to reproduce:
  1. Create private group chat
  2. Add few users to that private group chat
  3. UserA start call clicking telephone icon in private group chat menu
  4. UserB start call clicking telephone icon in private group chat menu is same or almost same moment, or even in same minute
  5. UserA now in first call and UserB in second separate call and they don't see or hear each other
  6. Other user of that private group chat clicks first or second Join Call buttons and connects to two separate calls
  7. All users get bad call experience
Expected behavior:

I think some configurable timeout can solve that problem.
UserA start call. And UserB can't start new call (creating new Join Call button) until some timeout (for example 5 minutes) is ended.

Actual behavior:

image

Server Setup Information:
  • Version of Rocket.Chat Server: 5.2.0
  • Operating System: OL8.5
  • Deployment Method: docker
  • Number of Running Instances: 10
  • DB Replicaset Oplog: Enabled
  • NodeJS Version: v14.19.3
  • MongoDB Version: 5.0.12 / wiredTiger (oplog Enabled)
Client Setup Information
  • Desktop App or Browser Version: 3.8.12
  • Operating System: Windows 10
Additional context

New Video Conf system is great, but need to be polished to be perfect.

Relevant logs:

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reproducing simultaneous call starts from the telephone icon in a private group chat and trace the video call creation path; the issue names no files or tests. Done means near-simultaneous starts produce one group call and all users see the same Join Call action, including with multiple server instances.

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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.