Video recorder timer keeps running after leaving the room

Open
#43,588 0 comments 0 reactions 0 assignees View on GitHub

Maintainers usually reply within 1 day

@Thakur156 is already working on this.

Since Nov 7, 2026.

  • #43589 by @Thakur156 — open

Assessment

Difficulty
2/5
Estimated time
1-3 hours
Newbie friendliness
20/100
Issue type
Bug
Clarity
Clearly specified
Activity status
Stale
Domain
frontend, web-dev

Research direction

Start with apps/meteor/client/views/composer/VideoMessageRecorder/VideoMessageRecorder.tsx, where the issue says the timer starts and cleanup is missing. Check the component lifecycle and how UserAction.stop is called. Done means leaving the room stops the timer and clears the recording status; an open linked pull request (#43589) already addresses this issue.

Written by the indexing model from the issue text.

Description

type: bug
Description:

The video message recorder keeps its clock timer and the "recording" status alive after you leave the room.

Steps to reproduce:
  1. Open a channel and start a video message.
  2. Allow the camera and click Record so the timer starts counting.
  3. Do not click Cancel or Send. Switch to another channel.
Expected behavior:

The timer stops and the recording status clears when the recorder dialog closes.

Actual behavior:

The timer keeps firing, and other users can still see you as recording until the page is reloaded. A screen recording is attached.

Server Setup Information:
  • Version of Rocket.Chat Server: 9.1.0-develop (local source)
  • License Type: Community
  • Number of Users: 1
  • Operating System: macOS
  • Deployment Method: source (yarn dsv)
  • Number of Running Instances: 1
  • DB Replicaset Oplog: no
  • NodeJS Version: 22.22.3
  • MongoDB Version: Meteor's local MongoDB
Client Setup Information
  • Desktop App or Browser Version: Chrome
  • Operating System: macOS
Additional context

The timer is started in apps/meteor/client/views/composer/VideoMessageRecorder/VideoMessageRecorder.tsx and is not cleared when the component unmounts. UserAction.stop is not called either, so the recording activity keeps being renewed.

Relevant logs:

No server or browser error. The timer continues silently after the dialog is gone.

https://github.com/user-attachments/assets/c40558c4-d1e2-47bd-99d5-27a8e5717515

Dominant language
TypeScript
Stars
46.5k
Forks
14.1k
Avg merge
1d 21h
Merged PRs (30d)
381

Getting set up

Open in Codespaces

Starts the project's dev container in your browser, under your own GitHub account.

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 RocketChat/Rocket.Chat

All issues in RocketChat/Rocket.Chat

Similar issues

More TypeScript issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.