element-hq / element-hq/element-android

Missed call rings in recipient session when internet turned on, much later

Open
#5,917 1 comment 2 reactions 0 assignees View on GitHub
A-VoIP O-Uncommon S-Minor T-Defect Z-Papercuts
Dominant language
Kotlin
Stars
3.7k
Forks
917
PR merge metrics
No merged PRs in 30d

Description

### Steps to reproduce

1. Give a missed call to a device with its internet turned off.
2. Later, turn on internet on that device.
3. Element gets a creepy ghost call that rings for a second and then stops.
4. If the user happens to be quick enough to pick up that call, they're actually able to establish a call without you being involved. This one-sided call then shows up in both users' timelines after ending, even though you didn't participate in the call at all.

This bug occurred on both Element Android and Element Desktop. The missed calls were from Element Android, each time.

I suspect it would also occur on Element Web immediately upon logging in.

### Outcome

#### What did you expect?

Missed calls should stay just that: missed calls. They shouldn't ring the recipient device at all.

#### What happened instead?

The recipient device rang for a second.
In the case where the recipient user picked up, the call was established, without the need for a 2nd user.

My layman guess is that when the timeline is being synced after internet is turned on, the app receives the call events in the order that they were created. So the app starts ringing and then realises that it wasn't supposed to, and stops. Ghost call.

Evidence supporting this hypothesis:
I turned on "Show hidden events in timeline". Any voice call has one of the events as "[User] placed a voice call."
This ghost call only has "[User] answered the call." There is no timeline event about the call being placed.

### Your phone model

_No response_

### Operating system version

_No response_

### Application version and app store

Android 1.4.11 and Desktop 1.10.11

### Homeserver

_No response_

### Will you send logs?

No

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.