element-hq / element-hq/element-ios

Initiating a call in a 1:1 room without speaking permission will cause an infinite loop.

Open
#7,211 0 comments 0 reactions 0 assignees View on GitHub
A-VoIP O-Occasional S-Major T-Defect
Dominant language
Swift
Stars
1.8k
Forks
544
PR merge metrics
PR metrics pending

Description

### Steps to reproduce

1. Enter a 1:1 room that does not have permission to speak;
2. Tap the voice call or video call button in the upper right corner of the screen.

### Outcome

#### What did you expect?
The logic is the same as the Android version, the voice call or video call button on the top right corner of the screen is not available in the 1:1 room without speaking permission.

#### What happened instead?
The voice call or video call button in the upper right corner of the screen is available at this time, but then it prompts `You don't have permission to post that to the room. user_level (0) < send_level (100)`.
**This warning will appear in an endless loop, Unless you restart the app after killing it.**
**Also the proximity sensor will be activated until the app is restarted.**
![{302EE559-218E-6928-E9D7-E8D791FE571D}](https://user-images.githubusercontent.com/48104960/209726104-c9ac3567-7799-4a4e-8c48-9f559fe89960.png)

### Your phone model

iPhone 7 Plus

### Operating system version

iOS 15.6.1

### Application version

Element iOS 1.9.14

### Homeserver

Synapse 1.74.0

### Will you send logs?

No

Contributor guide

Open the contributing guide

Research direction

Reproduce the issue by entering a 1:1 room without speaking permission and tapping the voice or video call button. Start by tracing those buttons through the permission-error path, then verify that the buttons are unavailable and that neither the warning nor proximity sensor remains active.

Written by the indexing model from the issue text.

Assessment

Tech stack
swift
Domain
audio-video-rtc, authorization, mobile
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 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.