signalapp / signalapp/Signal-iOS

Video capture fails to present stop button

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

Nobody has claimed this yet.

Acknowledged
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:
bad recording

Expected recording UI:
good recording

Device info

Device: iPhone 12 Pro Max

iOS version: 15.5

Signal version: 4.42.0.12

Link to debug logs

https://debuglogs.org/ios/5.42.0/24c78b72c53582ec3acd9bd9ff36dd52a1b3d2f2baf26dcdccb729cc6692ea16.zip

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 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.