element-hq / element-hq/element-call

Element call regularly gets stuck on "Loading..." screen.

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

Description

### Steps to reproduce

1. Open an element call link. This happens fairly reliably.
2. Get stuck on "Loading..." screen
3. Refreshing often (but not always) takes you to the "enter display name" screen. Then you can join the call as normal.

The console logs from the loading screen ends with:

```
logger.ts:48 Error downloading keys for @aqua-electoral-jackal:call.ems.host: DOMException: The user aborted a request.
(anonymous) @ logger.ts:48
logger.ts:48 Error downloading keys for @aqua-electoral-jackal:call.ems.host: DOMException: The user aborted a request.
(anonymous) @ logger.ts:48
/room/#/backendprodu…A5gl0TsSEtRiAvUJ2:1 Uncaught (in promise) DOMException: The user aborted a request.
logger.ts:48 Error: Crypto store data was expected, but none was found
at kR (matrix-utils.ts:134:37)
at async Qze (ClientContext.tsx:374:24)
```

### Outcome

#### What did you expect?

To be able to join a call

#### What happened instead?

It gets stuck until you refresh

### Operating system

Ubuntu

### Browser information

Chrome Version 116.0.5845.187 (Official Build) (64-bit)

### URL for webapp

call.element.io

### Will you send logs?

No

Contributor guide

Open the contributing guide

Research direction

Start by reproducing the loading failure on call.element.io in Chrome and inspect the reported path through logger.ts, matrix-utils.ts, and ClientContext.tsx. Use the DOMException and missing crypto store messages to trace the failure; done means a call reaches the enter-display-name screen and can be joined without refreshing.

Written by the indexing model from the issue text.

Assessment

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