Skip to content

[bug] Video Recorder: pause is not invoked after stop due to missing parentheses #38718

@ScriptShah

Description

@ScriptShah

Description:

In apps/meteor/app/ui/client/lib/recorderjs/videoRecorder.ts (around line 112), the pause method of the video element is referenced but not invoked:

this.videoel.pause;

Because the method is not executed, the video element may continue playing or remain in an inconsistent state after stopping a recording.

This affects the video message recorder functionality and can cause unexpected playback behavior after pressing stop.


Steps to reproduce:

  1. Open Rocket.Chat.
  2. Navigate to a room where video message recording is available.
  3. Start recording a video message.
  4. Stop the recording.
  5. Observe the video element behavior after stopping.

Expected behavior:

When recording stops, the video element should properly pause by invoking:

this.videoel.pause();

The video should immediately stop and remain in a paused state.


Actual behavior:

The pause method is referenced but not called:

this.videoel.pause;

As a result, the video element may:

  • Continue playing
  • Keep updating playback time
  • Remain in an active or inconsistent state after stop

Server Setup Information:

  • Version of Rocket.Chat Server: develop (latest)
  • License Type: N/A
  • Number of Users: N/A
  • Operating System: N/A
  • Deployment Method: N/A
  • Number of Running Instances: N/A
  • DB Replicaset Oplog: N/A
  • NodeJS Version: N/A
  • MongoDB Version: N/A

Client Setup Information

  • Desktop App or Browser Version: Chrome (latest)
  • Operating System: Ubuntu 25.10 (or your local OS)

Additional context

This appears to be a simple typo where the function reference is used instead of invoking the function.

Minimal fix:

- this.videoel.pause;
+ this.videoel.pause();

This ensures the video element properly pauses when recording stops.


Relevant logs:

No server-side logs related.

Browser console does not throw an error, but the media element remains in an active playback state after stopping the recording.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions