Jitsi-meet from source no longer works

I followed the instructions to build jitsi-meet from source using npm install & make dev to start the application before and was perfectly working fine. I was changing some of the UI components and all was great. I am locally hosting the application and just navigating to localhost:8080 to test it. I am not sure what changed but now after navigating to localhost:8080 and starting a meeting the screen simply freezes with a blue screen and I get those console logs.

Logger.js:154 2021-03-11T14:25:46.722Z [JitsiMeetJS.js] <Object.getGlobalOnErrorHandler>:  UnhandledError: Uncaught TypeError: Cannot read property 'length' of undefined Script: https://localhost:8080/libs/app.bundle.min.js?v=4783 Line: 206062 Column: 9 StackTrace:  TypeError: Cannot read property 'length' of undefined
at Function._mapStateToProps [as mapToProps] (https://localhost:8080/libs/app.bundle.min.js?v=4783:287027:93)
at mapToPropsProxy (https://localhost:8080/libs/app.bundle.min.js?v=4783:206646:92)

It seems to me that it is looking for the app.bundle.min.js file in the lib directory, but when I manually navigate to that directly, that file is not there. Could this be the issue?

You are seeing the issue without any changes?

I just tested it locally and it works.

I tried cloning the repo without making any changes to it as I suspected it was something I messed up, but it still shows the same issue. My camera opens up and I am waiting to start a meeting, but when I slightly move my mouse I think an event fires up and everything crashes.

Am I supposed to see the app.bundle file in the /libs directory after running make dev?

npm 6.14.8
node 14.14.0

Nope, it is proxied from the webpack dev server.

I just tested the issue using another computer and I am getting the same error. I just noticed the console is printing “An SSL certificate error occurred when fetching the script.
(index):39 DOMException: Failed to register a ServiceWorker for scope (‘https://localhost:8080/’) with script (‘https://localhost:8080/pwa-worker.js’): An SSL certificate error occurred when fetching the script.” Could this be the reason why the script is not being fetched?

Can we download this script manually without fetching it in runtime to avoid this issue for testing purposes?

Nope, that is not a problem. I also see an error like that, but it works locally.
Which npm version do you use?

$ npm -version
6.14.4

I just tested it locally and works with no problem:

git clone https://github.com/jitsi/jitsi-meet.git
cd jitsi-meet/
npm install && make dev

Maybe try deleting node_modules and try again.

I tried that but unfortunately, it is still the same. Could this be related to not having an SSL certificate because I am working on localhost on my machine and not deploying to a server with an SSL certificate?

I’m testing exact your scenario opening https://localhost:8080
What npm version do you use?

what is the computer’s operating system ?

I tried with 6.14.8 and 7.6.2 both don’t work. Im running it on ubuntu but I also tried it on MACOS and I get the same issue.

The console also has this message, could it be relevant?

"Failed to register a ServiceWorker for scope ('https://localhost:8080/') with script ('https://localhost:8080/pwa-worker.js'): An SSL certificate error occurred when fetching the script."

Tried on both Ubuntu and MacOS

Maybe attach the whole console log as this can be ignored.
And what do you see, the page does not load or?

Here is what happens exactly: I go over to https://localhost:8080 and everything is fine, I choose the name for my meeting and start the meeting. Now I see the preview of my camera before entering the meeting and everything is fine. I tested this multiple times and I stayed in the preview screen for minutes with crashing BUT it crashes the exact moment I move my mouse and I get this console log. I just see a dark blue screen when that happens.

localhost-1615542223031.log (449.6 KB)

What exact commit are you testing? You can get it by running git rev-parse --short HEAD the line numbers in your log don’t seem to match latest master.

I was actually working with the release that was previewed in Github. Its number is 2.0.5390 on Jan 12. That one is not functioning for me. I just installed the latest commit and it is working well for me. I think I will just move the changes that I had on the older version to the new one. Although it is still puzzling to me why that one suddenly stopped working.

Here are the console logs for the Older version I was using console-jan12.log (458.8 KB)

The logs are from a fresh install without any changes to the source code by the way.

same issue here. i haven’t made any changes, suddenly happened same for me too @pouf did you find any fix?

I got the same error and studying it for a bit, I believe it is occouring because of the lack of backward compatibility of this change.
My local version of the clone(which is a bit old) searches for toolbar button in interface_config.js but can’t find because in alpha.jitsi.net/interace_config.js has it commented/deprecated
/**
* DEPRECATED!
* This config was moved to config.js as toolbarButtons.
*/
// TOOLBAR_BUTTONS: [
// ‘microphone’, ‘camera’, ‘closedcaptions’, ‘desktop’, ‘embedmeeting’, ‘fullscreen’,
// ‘fodeviceselection’, ‘hangup’, ‘profile’, ‘chat’, ‘recording’,
// ‘livestreaming’, ‘etherpad’, ‘sharedvideo’, ‘settings’, ‘raisehand’,
// ‘videoquality’, ‘filmstrip’, ‘invite’, ‘feedback’, ‘stats’, ‘shortcuts’,
// ‘tileview’, ‘select-background’, ‘download’, ‘help’, ‘mute-everyone’, ‘mute-video-everyone’, ‘security’
// ],

For me, changing Filmstrip.js file worked. I would suggest you find which whose length error log is taliking about

const toolbarButtons = [
    'microphone', 'camera', 'closedcaptions', 'desktop', 'embedmeeting', 'fullscreen',
    'fodeviceselection', 'hangup', 'profile', 'chat', 'recording',
    'livestreaming', 'etherpad', 'sharedvideo', 'settings', 'raisehand',
    'videoquality', 'filmstrip', 'invite', 'feedback', 'stats', 'shortcuts',
    'tileview', 'videobackgroundblur', 'download', 'help', 'mute-everyone', 'security'
];
const reduceHeight
    = state['features/toolbox'].visible && toolbarButtons.length;
1 Like

I just pulled the latest version from Github and migrated my changes there. I still haven’t found a fix for the older version I had.

@pouf I connected to my own server, which has the same jitsi version as my local jitsi code. Now it’s working.

1 Like