Voice message cancelled instead of being sent

Open
#5,735 10 comments 3 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
4/5
Estimated time
3-5 days
Newbie friendliness
45/100
Issue type
Bug
Clarity
Mostly clear
Activity status
Quiet
Tech stack
ios, swift

Research direction

Start by tracing the iOS hands-free voice-message recording and send flow, then inspect the supplied debug log around 2024/01/17 18:50:19. Reproduce with a locked recording, especially one longer than a minute, and verify that the recorded audio is retained and sent rather than cancelled.

Written by the indexing model from the issue text.

Description

  • I have searched open and closed issues for duplicates
  • I am submitting a bug report for existing functionality that does not work as intended
  • This isn't a feature request or a discussion topic

Bug description

This has happened for ~10-30% of my attempts of send a voice message In the last ~4 weeks:
I'd start recording a voice message, lock the recording so I don't have to keep pressing the 'record' button. At the end when I hit the blue arrow to send the message, the record gets removed and I'm presented with 'Press and hold to record.' as if I had just tapped the microphone button.

I didn't find anything in the currently open issues, but I've found the same issue reported 3 years ago on Reddit - https://www.reddit.com/r/signal/comments/n5n8ju/ios_voice_message_recording_fails_sometimes_when/ I'm not sure if the notification part applies over here, but other than that the issue seems to be the same.

Things I noticed:

  • This seems to be happening with 'longer' messages, where 'longer' would mean > 1 minute?
  • This usually happens outside, not inside (outside where I live recently is ~-10°C, which happens to somewhat affect the phone's behavior
  • When I try to reproduce the issue just after it happened a couple of seconds ago, the UI works as expected. Not sure if it's some kind of a 'cold start' issue (pun not indended) or the fact that the attempts to reproduce are usually much shorter ones
    I can't really say whether the above points really matter - they may just be my perception bias, cause it's much more frustrating to lose a 10-minute long message while in freezing cold than a 30-second long one at home.

I think overall I've lost ~20 minutes of audio across 20-40 recordings in the last couple of weeks. If you know there's a chance your message might be lost, you're probably not gonna send it...

Steps to reproduce

Again, can't guarantee this will reproduce this issue, because it seems to be happening randomly. Here's a list of steps (copy-pasted from the linked Reddit issue):

  • Slide up to start a hands-free voice message
  • finish message (could be 2 min or 20 min) and then click the send icon to send it

Actual result:

  • The 'Press and hold to record.' message appears
  • Prompt disappears after ~1 seconds, but no message is sent and there's no indication of a message having been recorded whatsoever

Expected result: Describe here what should happen after you run the steps above (i.e. what would be the correct behaviour)
The message gets sent.

Screenshots

N/A

Device info

Device: iPhone X

iOS version: 16.7.2

Signal version: 6.54.0.8

Link to debug log

The last time this issue occurred was today (2024-01-17 at ~ 18:50 my local time). When browsing through the debug logs I've found an event at 2024/01/17 18:50:19:099 that could be it, though not sure. I followed it up with successfully sending three short (4 seconds, 1 second, 32 seconds) messages, if that helps.
Here's the link to the debug log: https://debuglogs.org/ios/6.54.0/02d4a3be1297250524c5205559e00b8c183e5822ac28ea01fc94dda5b2f5c0cb.zip

Dominant language
Swift
Stars
12.2k
Forks
3.5k
PR merge metrics
No merged PRs in 30d

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.

More from signalapp/Signal-iOS

All issues in signalapp/Signal-iOS

Similar issues

More Swift issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.