element-hq / element-hq/element-call

Remove 'pretend to be disconnected' behavior

Open
#4,092 1 comment 0 reactions 0 assignees View on GitHub
T-Task
Dominant language
TypeScript
Stars
996
Forks
213
Avg merge
1d 6h
Merged PRs (30d)
54

Description

Right now the app tries to paper over the complexities of being connected/disconnected by [pretending to be entirely offline](https://github.com/element-hq/element-call/pull/3453/commits/33bf63d8d203198eb2e32ff151c9713c2a19f118) when only one network service is unavailable. With the [resilience designs](https://www.figma.com/design/aOEkaJtaBmPy058V7uoqVr/Element-Call-Updates---2026?node-id=971-2) however, we are leaning into showing this complexity to the user again. Accordingly, we should remove all of the current 'pretend to be disconnected' behavior once the service interruptions toast is fully implemented (https://github.com/element-hq/element-call/issues/4091).

See [search results for `pretendToBeDisconnected$`](https://github.com/search?q=repo%3Aelement-hq%2Felement-call%20pretendToBeDisconnected%24&type=code).

When removing this, we do need to consider whether this behavior was a load-bearing privacy or security feature in any way. For instance, we should double-check that upstream media transfer is still paused with `pauseUpstream`/`resumeUpstream` whenever the local user's tile is missing from the call interface.

Contributor guide

Open the contributing guide

Research direction

Start with a repository-wide search for `pretendToBeDisconnected$` and inspect each usage alongside the service interruptions toast work in issue #4091. Check the `pauseUpstream`/`resumeUpstream` paths when the local user's tile is missing, including whether any privacy or security behavior depends on the current state masking. Done means the pretend-disconnected behavior is removed without losing that media-transfer safeguard.

Written by the indexing model from the issue text.

Assessment

Tech stack
typescript
Domain
audio-video-rtc
Issue type
Refactor
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
48/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.