TelegramMessenger / TelegramMessenger/Telegram-iOS
Voice recording UI shows that voice is being recorded when in fact it doesn't
Nobody has claimed this yet.
- Dominant language
- Swift
- Stars
- 9k
- Forks
- 2.9k
- PR merge metrics
- No merged PRs in 30d
Description
Checklist
- I am reporting an issue in existing functionality that does not work as intended
- I've searched for existing GitHub issues
Description
When starting recording a voice message, an input device has to be initialized before being able to record anything -- it takes time. But at the same time voice recording UI appears and it looks like we're recording something when in fact we don't. This is wrong because it may lead to irritating cut-ins (typically 1 second or less, but may be more with external devices) in voice recordings.
Expected Behavior
UI clearly shows that the audio input device is not ready to record voice memo e.g. red bulb doesn't blink at all.
Actual Behavior
UI behaves like something's recording, even though the recording timer doesn't start -- which is actually correct
Steps to Reproduce
- Start recording a voice message and instantly say or do some noise
- Check that aforementioned noise is absent from resulting recording but you thought it should have been recorded.
It's more obvious when you connect to e.g. a Bluetooth audio device which has voice input capabilities -- there may be really long delays before you can actually start saying something -- but this also happens while using an internal mic.
Screenshots and Videos

Environment
Device: iPhone 11
iOS version: 13.6.1
App version: 7.0.1
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reproducing voice-message recording on an iPhone, especially with a Bluetooth audio device, and inspect the voice recording UI while the input device initializes. Done means the recording indicator does not imply active recording before the timer starts, and audio captured during that delay is not presented as recorded.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- ios, swift
- Domain
- audio-video-rtc, mobile
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100