signalapp / signalapp/Signal-iOS
Video capture fails to present stop button
Nobody has claimed this yet.
- Dominant language
- Swift
- Stars
- 12.2k
- Forks
- 3.5k
- PR merge metrics
- No merged PRs in 30d
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
There seems to be a timing issue related to trying to record a video from within the app, where it can be locked on to record, but cannot actually stop and send. Killing the app or taking a single picture with a button seems to be the only way out of the situation.
A short tap on the on-screen shutter button takes a picture. A long press sees some animations go on, converting the button to a stop button, and showing a lock icon on the right side. It seems that a medium press, long enough to get it to start recording, but not so long for the animations to complete and UI elements to change is behind this issue.
Steps to reproduce
- Open up a chat on iOS
- Click the camera icon
- Press and hold on on-screen shutter button and quickly drag finger to right to lock recording on for video.
- Tap on-screen shutter button again a time or three to try to stop recording and send video
- Realize futility
Actual result:
Incomplete button, missing stop element at bottom of the screen which prevents stopping of the recording.
Expected result:
Tapping the on-screen shutter button results in stopping of recording and normal behavior.
Screenshots
Buggy recording UI:

Expected recording UI:

Device info
Device: iPhone 12 Pro Max
iOS version: 15.5
Signal version: 4.42.0.12
Link to debug logs
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 the camera flow on iOS: open a chat, enter the camera, begin recording, and drag to lock it. Trace the recording UI state transitions around the shutter and stop controls; done means a locked recording always presents a usable stop action and tapping it stops and sends the video normally.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- 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
- 38/100