Skip to content

Record a video message from the chat input (hold to record, like voice messages) #6812

Description

@ToteMeiSter

Is your feature request related to a problem? Please describe.
Recording a short video for a chat takes several steps: attachment menu → "Take video" → the system camera app → confirm. Voice messages need one gesture: hold the microphone button, speak, release.

Describe the solution you'd like
Use the voice message button for video too. The video is sent as a regular file share: no new message type, no server change.

  • A short tap on the button switches between microphone and camera mode. The mode is remembered. A short hint appears above the button.
  • Hold the button to record in the current mode. A tap never starts a recording.
  • In camera mode, an in-app CameraX recorder records with the front camera by default. A live preview is shown above the input field, with a timer.
  • Release sends the video. Slide left cancels. Slide up locks the recording. These are the same gestures, lock screen and timer as for voice messages.
  • The camera can be switched during a locked recording.
  • Limits: 720p (lower if HD is not available), about 2.5 Mbit/s, 120 s maximum (about 38 MB).
  • The "Take video" menu entry stays unchanged for longer or higher quality recordings.

The owner of the fork verified this behaviour on a device (Huawei DEL-LX9).

Describe alternatives you've considered
Telegram-style round video notes need a new message type on the server (nextcloud/spreed#15914). Other clients would show them as normal videos. This proposal does not need that.

Additional context
A working implementation is in a fork branch: https://github.com/ToteMeiSter/talk-android/tree/feat/inline-video-record
It adds a VideoMessageRecorder (CameraX camera-video, already listed in the dependency verification metadata) and reuses the voice message touch handler, lock fragment and UploadAndShareFilesWorker. Unit tests are included.

The same feature is proposed for iOS in nextcloud/talk-ios.

I can open a PR after the approach is approved.

Open questions:

  • Should the duration and quality limits be configurable?

AI disclosure: the implementation and this text were prepared with Claude Code (claude-opus-5-5) and reviewed by the author.

Activity

  1. ToteMeiSter commented on Oct 4, 2026

    @ToteMeiSter
    ContributorAuthor

    Implementation for discussion: #6818. It depends on two small voice recording fixes, #6816 and #6817.

  2. mahibi commented on Oct 5, 2026

    @mahibi
    Collaborator

    Hi @ToteMeiSter thank you for your contributions/created issues.
    We will review them soon

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions