TelegramMessenger / TelegramMessenger/Telegram-iOS

Voice recording UI shows that voice is being recorded when in fact it doesn't

Open
#351 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

bug
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
  1. Start recording a voice message and instantly say or do some noise
  2. 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

ezgif-2-994605e60eaa

Environment

Device: iPhone 11

iOS version: 13.6.1

App version: 7.0.1

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.