element-hq / element-hq/element-call

Potential race when knocking to join a call over federation

Open
#2,634 2 comments 0 reactions 0 assignees View on GitHub
T-Defect
Dominant language
TypeScript
Stars
996
Forks
215
Avg merge
1d 6h
Merged PRs (30d)
54

Description

### Steps to reproduce

(N.B. I suspect this is more of a Synapse problem, but reporting at application level.

There are two users here. Alice is on Server A, and Bob is on Server B.

1. Alice creates a new call, and sends the link along to Bob
2. Bob requests to join the call (knocks)
3. Alice accepts and invites Bo,b
4. Bob sees an error about not being able to join
5. (workaround) Bob is able to refresh and immediately join the call.

### Outcome

#### What did you expect?

Upon being inviited, I should be joined to the call.

#### What happened instead?

![image](https://github.com/user-attachments/assets/73d5d61a-4af0-4159-b928-cf5d574e5ba7)

I suspect this is invites racing;

### Operating system

Arch Linux

### Browser information

Firefox

### URL for webapp

_No response_

### Will you send logs?

No

Contributor guide

Open the contributing guide

Research direction

No files, tests, or code entry points are named. Start by reproducing the federated call flow with Alice on Server A and Bob on Server B, then trace the knock, acceptance, invite, and join events for ordering or timing problems; done means Bob joins immediately after acceptance without needing a refresh.

Written by the indexing model from the issue text.

Assessment

Tech stack
typescript
Domain
audio-video-rtc, distributed-systems
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.