Rocket.chat: Voice messaging does not work anymore

Created on 20 Apr 2018  ·  52Comments  ·  Source: RocketChat/Rocket.Chat

Description:

Server Setup Information:

  • Version of Rocket.Chat Server: 0.63.3
  • Operating System: 4.13.0-37-generic
  • Deployment Method(snap/docker/tar/etc): Snap
  • Number of Running Instances: 1
  • DB Replicaset Oplog: Enabled
  • Node Version: v8.11.1
  • mongoDB Version:

Steps to Reproduce:

  1. Record a voice message
  2. Play it back
  3. Sit baffled in silence for hours on end 😣

Expected behavior:

Actual behavior:

To hear the voice message.

Voice message doesn't record any audio. Spent a couple hours troubleshooting this, even went as far as buying a Blue Yeti microphone; turns out it doesn't send audio even on other devices, even on a Surface Pro's built-in mic. All microphones work just fine in other programs.

Relevant logs:


message uux bug

Most helpful comment

I have same error on Android and iOS devices (both Chrome and Firefox).

No problem on Chrome/Firefox on PC desktop

All 52 comments

Hi @HammyHavoc can you give us a little more context on the problem? From what browser (and version) are you trying to send a voice message?

We use the Windows desktop app primarily, but it also doesn't work in Firefox on Windows. x64 on Windows 10's latest build.

Same issue on windows 10 1709 (build 16.299.371)
---Windows App Version 2.10.5,
---Web version on Chrome 66.0.3359.139 & Firefox 59.0.3

Deployment:
Server Version 0.64.0
CentOs 7 - Release | 3.10.0-693.21.1.el7.x86_64
Node Version | v8.9.3
Running on valid SSL cert with Nginx reverse proxy.

i can send an audio message, but nothing recorded, when i play the file there is nothing. it is empty.

Any update here? We are currently evaluating Rocket.Chat for company use and facing the same issue with the desktop app 2.10.5 on Windows 10 1803 as well as Firefox ESR 60.0.1.

Deployment:
Server Version: 0.64.2
Ubuntu Server 18.04 with latest updates - snap deployment
Running on valid wildcard ssl certificate with caddy proxy.

Have the same issue. On some laptops audio record is working well, but on others we have silence in recorded file.
File only with header.
https://github.com/mattdiamond/Recorderjs lib working.

Same issue here, no audio, its just silent.

same issue on 0.65.1 and electron windows client 2.11.0 on windows 10 1803 (17134.1)

This fails on many platform (tried iOS/saphari+chrome, Desktop/Mac, Linux Chrome, Firefox).. This is a major issue.. As others mentioned, the underlying recorderjs library worked, particularly, this test works perfectly: https://webaudiodemos.appspot.com/AudioRecorder/index.html

Any chance this can get fixed anytime soon ?! It's very odd that here's this feature and simply not working in about 2/3 of cases..

I have same error on Android and iOS devices (both Chrome and Firefox).

No problem on Chrome/Firefox on PC desktop

I have the same error on Windows 7 with desktop app 2.12.1 and web version on Chrome 68.0.3440.106

Same issue here, no audio, its just silent.

same issue....
Any chance to get a fix soon ?

Same issue here with the latest Windows x64 Desktop Client. Recorded audio is just silent. My microphone works fine in Jitsi Video Conferences.

Same issue, Windows 10 Education 1803 Build 17134.376 RocketChat app 2.14.1

same issue Error message: File exceeds allowed size of 0 B. [error-file-too-large]
server log message:

I20181119-12:55:15.329(-5) Meteor ➔ method ufsCreate -> userId: PtXKDyfLq3Ym7qEoH , arguments: [ { name: 'Audio record.mp3', size: 20271, type: 'audio/mp3', rid: 'PtXKDyfLq3Ym7qEoHWcnCEAw7zMMj6ywav', description: '', store: 'Uploads' } ]

  • Rocket Chat server Version | 0.71.1
  • Mac OS Mojave 10.14.1 (18B75) with RC desktop client Version 2.13.3 and 2.14.3
  • Chrome Mac OS Version 70.0.3538.102 (Official Build) (64-bit)

Audio does not seem to record any data. Mac OS permissions for Rocket Chat and Chrome are in place and valid.

Computer hardware internal mic is working with other applications.

ok... So had to set the server to accept data in the /admin/FileUpload section to a non-zero byte value and use the GRID FS storage type as I don't have any of the other file storage parameters set up such as S3 or local file storage.

Works in desktop client now.
Works in Chrome now.

  • [ ] Safari

    web client has no microphone option at all.

@octanefilms if you have a fix, maybe you could create a PR?

Hey @szab100, it was a change of admin settings rather than a code fix. Had to allocate storage in the RC FileUpload settings so that the audio that was being correctly captured by the RC client would be accepted for storage via the included GRID FS storage parameter. Other options for storage in that Admin section too such as using an Amazon S3 bucket.

However, the Mac OS Safari web browser still not showing any microphone icon at all. So no UI method to invoke audio clips from a Safari web RC session. See image.

Hope that helps.

image

@octanefilms Whatever settings you did, it still doesn't work on my side. Here are mine:

chrome_2018-11-20_19-44-34

Same here, empty files

Same here. Works without issue from the mac desktop client with my setup, won't work from windows 10 desktop client. Any movement on this? Everything from the logs looks normal no errors, file successfully uploads and stores in GRIDFS. However when you play it from any client, all you hear is silence. Any ideas on this? The fact that I can upload voice messages from other clients tells me that the issue isn't a server side config issue.

The next release will bring some general bugs fixes for media recording (#12948).

@octanefilms This is going to be fixed too; however Safari doesn't support the MediaRecorder API yet, which means no video recording for a while too.

Same here. Problem with Chrome and client. But it works with Firefox.

And record video is not working at all.

@julian70400 If you are running Chrome 71, it's a known issue (#12899).

This is not a chrome proböem only no sountd in Firefox or rocketchat-desktop on Windows 10, too. When I use Virtualbox on windows with rocketchat-desctop sound recording is working quite well but as soon as i switch to my windows 10 host the audio recordings are blank. regardless of the client used.

useing Windows 1803.1713472

@octanefilms I've just tested with the latest version of RC in my Safari and seems to work after I have allowed it to access to my mic.

screenshot 2019-01-22 at 17 35 35

Can you please let me know if it is fixed?

@horvan have you tested with the latest version of RC server?

@engelgabriel Tested with latest stable from January

screenshot_20190123-163914
screenshot_20190123-164015

Even in Android Oreo voice messaging in Google chrome doesn't work. Would upload the silent mp3 but GitHub doesn't accept the file type.

That means this isn't a non nix-System bug only it is valid for all Plattforms in some way

By the way what is used for audio recording in Rocketchat? Webrtc or Recordrtc?

By the way what is used for audio recording in Rocketchat? Webrtc or Recordrtc?

@horvan We transfer the data captured from an AudioContext to a web worker for MP3 encoding; no WebRTC or Media Recording API is used.

@tassoevan But that's what's happening after the data are available. According to the test I did there are no data captured anymore on Windows 10 and Android 8 So there must be an Issue in the component that grabs the data. It seem to work for Linux and May be Mac. Is x and safari. Can't tearmt that.

So what would be the next step to find out where the issue comes from.

Would the Rc- team Think about replacing that component or will this Issue not be fixed for a long time from now, because there is no way to preortize some issues against others.

Got audio working here (across the board). The problem lies in the lamejs.min.js (lamejs) component. Specifically, the fill_buffer_resample in Lame.js (original source tree) computes a fractional index (j2) into the sample buffer (like -29.5) and inbuf[j2] gives "undefined" which results in NaN values in the mp3 buffer that is sent to Rocket.Chat. And that gives silence.

I've forked the original code and fixed it. My version is here: https://github.com/rkramer1964/lamejs

A PR has been submitted to zhuker/lamejs so now we wait for uptake....

Replacing the .../rocketchat/programs/web.browser/app/lame.min.js with mine >>should<< do the trick.

All this because my boss wanted to send voicemail via RC....

Hi @tassoevan our org is wondering if this fix could make it into a minor version update so the fix can be pushed out right away. Our users are anxious for this functionality (: Thanks again for everyone's hard work on RC, its a fantastic app and we are really excited about the good things its doing for communication in our org. 👍

I resolved my problem by following what @rkramer1964 said.
Thank you, @rkramer1964

@DenisAraujo68 I was experiencing the file is totally silent issue that was at the beginning of this thread. My mic never hung loading indefinitely. Have you tried loading in chrome, hitting F12 then ctrl-R to refresh, recording an audio and seeing what error messages there are in the console? That might shed some light on the problem.

I'm seeing some promise-related errors, but they don't appear to be affecting the recording.

(I hate the "it works on my machine syndrome" so I really want to see what I need to fix. We have it working on a variety - 7+ machines working with the desktop client + webpage on OS/X mojave, win 8, win 10, win 7, and ubuntu linux so I'm sorry it doesn't work for you)

Hi, @rkramer1964. Thank you for your support.

yes, I think we should.

To everyone - if you download just lame.min.js from github by right-click, save link as - you will get HTML, not javascript. Best to download the zip file and extract the lame.min.js for replacement that way.

Cheers!

@rkramer1964 I did a bunch of changes in #13486. Could you check if it's fine? I wasn't unable to reproduce the bug before.

Downloaded your fix/audio-message branch, built and tested it. Reviewed changes and all seems to work fine. No new console errors noted.

Cheers!

Are you going to update ubuntu snap with this fix? Audio recording doesn't work for latest Ubuntu snap build.

@Sonit90 It was not reviewed after some corrections, but will launch in version 1.0.0. Usually the snap build is deployed two weeks after an official Rocket.Chat release.

I installed rocket.chat via Snap last week and the voice messages are not working from android. Is it related to the update?

For people using docker-compose you can solve this issue with the following:

  1. Create a folder that we will use as a volume to persist the fix:
    _Mine is named /fixes._

  2. Download the lame.min.js file from https://github.com/rkramer1964/lamejs

3.Put it iside the folder you have just created (in this example: fixes)

  1. Add a volume as shown bellow:

    rocketchat:
    image: rocketchat/rocket.chat:latest
    container_name: rocketchat
    restart: unless-stopped
    volumes:

Voice Messaging is not working
Even after replacing lame.min.js into ..opt/rocketchat/programs/web.browser/app/lame.min.js
I tried it in chrome browser , windows desktop, mac os desktop and safari and its not working.
When i tried it Mobile device through browser ( not RC app) its working.
I am i missing any steps.
Do i need to restart rocketchat?

Hi, @premanandmanimaran .
I don't know if it's the same problem is happening to you, but for me, I downloaded an HTML file instead of lame.min.js file. You can open the lame.min.js file and see if your file has the same content.
You don't need to restart the server. What you could do is reload the rocketchat client.

RocketChat 0.74.3 / Voice Messaging (Recording Audio Message):
works fine on:

  1. Chorme 74.0.x on win 10

not working and recorded audio message is empty on:

  1. Chorme 73.0.x on android phone
  2. Firefox 66.0.3 / Windows 10 x64 1809(17763.439)
  3. RocketChat.Electron 2.15.3 / Windows 10 x64 1809(17763.439)

steps i did:

  1. replacing lame.min.js (/opt/Rocket.Chat/programs/web.browser/app/lame.min.js)
  2. clearing clients cache
    will fix the issue for:
  3. Chorme 73.0.x on android phone
  4. Firefox 66.0.3 / Windows 10 x64 1809(17763.439)

but still no success on RocketChat.Electron 2.15.3 , no audio messaging for desktop client.

can confirm this bug is fixed in 1.01

@DenisAraujo68

I downloaded the Zip from Lame.min.js and replaced it in /opt/Rocket.Chat/programs/web.browser/app/lame.min.js

in Mac OS - Electron App ( I build this today)
After reload its working fine

in Mac OS - Safari Browser Version 12.0
Its working fine

in Mac OS - Chrome Browser Version 73.0.3683.103
its working fine

in Windows - Electron App
After reload / Clearing cache also its not working.

in Windows - Chrome Browser Version 73.0.3683.103
After clearing cache its working

I am gonna try building the windows electron app once again.

In the New Windows Desktop build it works.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

gwillen picture gwillen  ·  77Comments

engelgabriel picture engelgabriel  ·  158Comments

amolliex picture amolliex  ·  73Comments

mitar picture mitar  ·  68Comments

RiusmaX picture RiusmaX  ·  81Comments