element-hq / element-hq/element-call
Element X iOS: incoming 1:1 call shows “Handset Mode”, no separate audio call button, microphone appears unavailable
- Dominant language
- TypeScript
- Stars
- 996
- Forks
- 213
- Avg merge
- 1d 6h
- Merged PRs (30d)
- 54
Description
### Steps to reproduce
1. Open a 1:1 direct message between Android and iPhone users in Element X.
2. Start a call from the Android side.
3. Accept the incoming call on the iPhone.
4. Observe the call UI and microphone behavior.
### Outcome
## Summary
On iPhone, 1:1 calls in Element X behave incorrectly.
## Symptoms
- In the DM header on iPhone there is no separate audio call button, only a video call icon.
- When the iPhone user answers the call, the app shows **"Handset Mode"**.
- The iPhone user reports that the microphone appears unavailable / disabled during the call.
- Voice messages on the same iPhone work normally.
- The issue seems specific to the iPhone user. On Android the call UI/behavior is different.
## Actual result
- The iPhone UI only shows a video call action instead of a separate audio call button.
- After answering, the app shows **"Handset Mode"**.
- The iPhone user cannot properly use the microphone during the call / the app indicates the microphone is unavailable.
## Expected result
- A normal 1:1 audio call flow should be available on iPhone.
- The microphone should work during the call.
- The call UI should clearly expose audio calling.
## Environment
- Client on affected side: Element X on iPhone
- Other side: Element X on Android
- Homeserver: self-hosted Synapse
- Call type: 1:1 call
- Reproducible: yes
## Additional notes
- No newer Element X update is available in the App Store for the affected user.
- The problem appears only with the iPhone user.
- Screenshots are attached.
- I can also provide logs if needed.
### Your phone model
_No response_
### Operating system version
_No response_
### Application version
_No response_
### Homeserver
_No response_
### Will you send logs?
Yes

Contributor guide
Research direction
Start by reproducing the 1:1 call from Android to iPhone and compare the iPhone call UI and microphone state with Android. Review the call and audio-device handling reached by this flow, using the attached screenshots and available logs; done means an audio call action is exposed and the iPhone microphone works during the call.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- typescript
- Domain
- audio-video-rtc, mobile-dev
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Needs clarification
- Newbie friendliness
- 45/100