element-hq / element-hq/element-call
Element call regularly gets stuck on "Loading..." screen.
- 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
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