Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add alternate legacy browser content #7295

Merged
merged 1 commit into from Apr 24, 2019

Conversation

capilkey
Copy link
Contributor

This PR implements Meteor's built-in legacy browser detection in order to load an alternate minimal client that will render on all devices. I had to duplicate the react-intl initialization because the original implementor imports classes that cause issues. I also couldn't use SCSS because it will use Proxy and it's not possible to polyfill Proxy.

I put in two different messages depending on whether or not the browser is not supported (IE) or an old version of supported browser. I also included a fallback static string for the scenario where the locale can't be loaded.

IE:
image

Old Chrome:
image

@antobinary
Copy link
Member

Others might have similar questions so let's clear it up:

  1. Chromium is not in the list of supported browsers. userAgent does not include 'Chrome' https://developers.whatismybrowser.com/useragents/parse/626626-chromium-windows-webkit
    Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chromium/60.0.3112.78 Safari/537.36

  2. Brave, Opera, Yandex seem to have some of these default browsers strings but not Dolphin (from what I see)

  3. I guess people will tell us if we restrict the use of their browser. I am not able to find the comment but there was a note from @zhu (I believe) on little tweaks needed to get the client fully running in his browser

@kepstin
Copy link
Contributor

kepstin commented Apr 24, 2019

It would be good to have Chromium in the supported list - it's just a build of Chrome from open-source with a few features (drm, flash, google tracking) disabled or off by default. Those features won't affect the HTML5 client. We should use the same required/recommended version for both Chrome and Chromium.
I personally use Chromium on a few of my systems :)

@capilkey
Copy link
Contributor Author

Chromium falls under the same detection and messaging as Chrome. There's no functional difference between the two.

As for other more obscure browsers, I don't have them so I can't test them. I would guess that they would just try and load the normal application.

As far as I can tell there's no official documentation on how to use this so I'm just working off of the list of browsers in the release notes. https://blog.meteor.com/meteor-1-7-and-the-evergreen-dream-a8c1270b0901

@antobinary antobinary self-requested a review April 24, 2019 16:44
Copy link
Member

@antobinary antobinary left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Does not help for BB10 browser but it seems to work for out of date Chrome/ FF, etc and it does not seem to interfere with up-to-date clients

@antobinary antobinary merged commit e516472 into bigbluebutton:master Apr 24, 2019
@zhu
Copy link
Contributor

zhu commented Apr 25, 2019

Our users mainly use the html5 client in webview inside Wechat app.
Here are useragents:
https://developers.whatismybrowser.com/useragents/explore/software_name/wechat/
It seems that brower-detect cannot detect some of them.

I do not have time to upgrade and test the client recently.

@zhu
Copy link
Contributor

zhu commented Apr 25, 2019

PS: camera and mic can not work in this env because the app perms limit. We just use the whiteboard there.

@capilkey
Copy link
Contributor Author

It should be fine. The browser detection that this is using in Meteor is a blacklist rather than a whitelist so any unknown browsers will get directed to the main application the same as it is now. Because of that the browser-detect usage won't come in to play for other browsers.

@aviavinas
Copy link

It worked in my case when i changed the userAgentString:

        WebSettings settings = webView.getSettings();
        settings.setUserAgentString("Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.97 Safari/537.36");

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

5 participants