jitsi / jitsi-meet

Jitsi Meet - Secure, Simple and Scalable Video Conferences that you use as a standalone app or embed in your web application.
https://jitsi.org/meet
Apache License 2.0
22.84k stars 6.68k forks source link

meet.jit.si does not work in Edge on Android #5776

Closed JonathanMurre closed 4 years ago

JonathanMurre commented 4 years ago

Description

meet.jit.si does not work in Edge (45.02.4.4931) on Android (9; Mi A2 Lite Build/PKQ1.180917.001)

Current behavior

Only a grey screen is shown when opening meet.jit.si. I inspected this tab with Edge's remote device inspector and I see two errors:

//BrowserDetection.js:46
Uncaught TypeError: Cannot read property '1' of null
//_.web.js:5
Uncaught ReferenceError: JitsiMeetJS is not defined

The value of navigator.userAgent is Mozilla/5.0 (Linux; Android 9; Mi A2 Lite) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.116 Mobile Safari/537.36 EdgA/45.02.4.4931

Expected Behavior

It should open the meet.jit.si web app, so we can start a call.

Possible Solution

The first error is caused by the regex (.match(/Edg\/([\d.]+)/)). On android it is not "Edg" but "EdgA" followed by "/123.".

Changing line 46 to the following should work:

const version = userAgent.match(/Edg(A?)\/([\d.]+)/)[2];

But still, this would not be very clean. So I suggest the following change for line 46 to 50:

let versionMatch = userAgent.match(/Edg(A?)\/(?<version>[\d.]+)/);
if(versionMatch && typeof versionMatch.groups.version != 'undefined') {
    if (Number.parseInt(versionMatch.groups.version, 10) > 72) {
        browserInfo.name = CHROME;
        browserInfo.version = versionMatch.groups.version;
    }
}

Maybe the other error will be solved when this one is solved.

Steps to reproduce

Open meet.jit.si on the Edge Android app

Environment details

Android version: Android 9; Mi A2 Lite Build/PKQ1.180917.001 Edge version: 45.02.4.4931 UserAgent: Mozilla/5.0 (Linux; Android 9; Mi A2 Lite) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.116 Mobile Safari/537.36 EdgA/45.02.4.4931

saghul commented 4 years ago

@jallamsetty1 Can you PTAL?

JonathanMurre commented 4 years ago

Some more information about Edge's UserAgent string on Android and iOS: https://blogs.windows.com/msedgedev/2017/10/05/microsoft-edge-ios-android-developer/

This would probably break on iOS also because there it is "EdgiOS/41.1.35.1". So a better regex would be:

/Edg(A|iOS)?\/(?<version>[\d.]+)/
jallamsetty1 commented 4 years ago

@JonathanMurre Thank you for the report and the analysis, will take a look and get back with a PR.

Echolon commented 4 years ago

rel. Support for Edge as it is Chromium-based now #5562 100% support for Firefox (and other non-Chrome browsers) #4758

jallamsetty1 commented 4 years ago

@JonathanMurre Looks like Edge on iOS uses the webKit engine as provided by iOS and matches the version of Safari that is currently running on the device. It cannot be interpreted as chrome since Safari uses a different SDP format and also Safari on mobile for Jitsi Meet is not fully supported yet. For now, we will add the android support and later when we get Safari on mobile support up to speed, we will add support for Edge on iOS as well.

pdarcos commented 4 years ago

I can't seem to enable Edge ( win10 desktop) at all in order to try it out.

I added Edge to the supported browsers array by changing config.js to OPTIMAL_BROWSERS: [ 'chrome', 'chromium', 'edge', 'firefox', 'nwjs', 'electron' ],

but when I try to join via Edge (desktop version windows 10) I still get redirected to the unsupported browser page....

What else do I need to change to enable Edge support?

Thanks

paf61 commented 4 years ago

I can't seem to enable Edge ( win10 desktop) at all in order to try it out.

Maybe Windows Update haven't distributed the new chromium Edge to you yet? You may install it manually here: https://www.microsoft.com/en-us/edge

meet.jit.si works fine on Edge @ Win10, and have done so for long, I have used it on several PC's and Windows tablets. Currently I am using "Version 81.0.416.53 (Official build) (64-bit)".

However, Edge @ Android still just shows a gray, empty window (Edge 45.02.4.4931)

pdarcos commented 4 years ago

That was it. I had to manually install the newer Edge and now it works.

Thanks @paf61

saghul commented 4 years ago

@jallamsetty1 The fix for this wass deployed yesterday, right? Tentatively closing since it should be fixed now.

paf61 commented 4 years ago

@jallamsetty1 The fix for this wass deployed yesterday, right? Tentatively closing since it should be fixed now.

I can verify that meet.jit.si now works with Edge @ Android here at my device - thanks! :-)