Browser compatibility in html5 client

111 views
Skip to first unread message

Peter Evgeniev

unread,
Nov 5, 2019, 6:10:21 AM11/5/19
to BigBlueButton-dev
Hello Dev Team,

I have been trying to properly adjust my html5 client to no avail. This issue affects mobile users using in-app browsers, specially FB and FB messenger apps.

The issue:

A link to join BBB event is published to FB/Messenger mobile application. The user clicks the link, enters name and hit enter. Then you get the message from html5 client that the browser is not compatible.

I have tested on my dev platform as well as the demo.bigbluebutton.org which runs with greenlight. 

Tests i performed

Since i am not familiar with Meteor i tried to add a browser with '*' in order to try and make them 'all' work but html5 client fails to start.
I tried to remove that whole section with the min browser compatibility but same result.

I have extracted the logs from nginx to see what browser it shows and here are the results:

# This is Chrome browser on Mac OSX
my.server.ip.address - - [05/Nov/2019:11:06:46 +0100] "GET /html5client/compatibility/adapter.js?v=763 HTTP/1.1" 304 0 "https://myhostname.com/html5client/join?sessionToken=wksledyiupwwoqkk" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.87 Safari/537.36"

# This is my Android phone with latest android and attempt to open the event clicking from FB Messenger link opening it into in-app browser.
my.server.ip.address - - [05/Nov/2019:11:13:40 +0100] "GET /html5client/compatibility/adapter.js?v=VERSION HTTP/1.1" 200 36713 "https://myhostname.com/html5client/join?sessionToken=3qtzw508pdkeavxc" "Mozilla/5.0 (Linux; Android 9; H9436 Build/52.0.A.11.3; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/78.0.3904.90 Mobile Safari/537.36 [FB_IAB/Orca-Android;FBAV/239.1.0.17.119;]"

my.server.ip.address - - [05/Nov/2019:11:35:40 +0100] "GET /html5client/compatibility/kurento-extension.js?v=VERSION HTTP/1.1" 304 0 "https://myhostname.com/html5client/join?sessionToken=li8um4t9nm9ul3oo" "Mozilla/5.0 (Linux; Android 9; H9436 Build/52.0.A.11.3; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/78.0.3904.90 Mobile Safari/537.36 [FB_IAB/Orca-Android;FBAV/239.1.0.17.119;]"


I do have users that are sharing links in messenger and FB and they have to copy and paste to Chrome in order to make it work. Since the in-app browser is somehow Chrome can we set a setting so the browser compatibility to be optional? That way we can chose how to handle the outcome with the end user.

Regards,
Peter

Chad Pilkey

unread,
Nov 5, 2019, 10:43:29 AM11/5/19
to BigBlueButton-dev
It's not possible to make it accept every browser or to make it optional. The reason the check is there is mainly for IE and very old browsers because we tend to use newer APIs in the client and if one of them isn't recognized then the page loads with just a blue background. When you come across a browser that isn't recognized, but you feel should be able to support the client you can go to "yourserver.com/html5client/useragent" in that browser to see what it is being recognized as. Once you have the browser information you can then take the browser name and make the first letter lowercase and remove the spaces, and take the major version number (first number until the '.') and put them in at the end of settings.yml. Make sure to match the exact spacing and formatting of the other browsers.

The user agent that you gave turns in to "Facebook 239.1.0 / Android 0.0.0". So you could put something like the following at the end of settings.yml:

    - browser: facebook
      version: 200

And then restart the html5 service, "systemctl restart bbb-html5"

Peter Evgeniev

unread,
Nov 5, 2019, 10:49:44 AM11/5/19
to BigBlueButton-dev
Hey Chad, thank you very much.

I have checked and i got the same output. Also added the lines as you instructed. I tested and it works. However just so you know it works only with Listen Only option. It doesn't let me connect the device microphone to it and that i guess is in-app browser limitation. However i can work with that :)

Thank you very much again!

Regards,
Peter

Chad Pilkey

unread,
Nov 5, 2019, 11:12:24 AM11/5/19
to BigBlueButton-dev
I don't use Facebook or the app itself, but it's likely the permissions of the app that is handling the page load getting in the way.

Peter Evgeniev

unread,
Nov 6, 2019, 3:07:18 AM11/6/19
to BigBlueButton-dev
Hey Chad, actually that is not the case. The in-app browser is very limited and doesn't have the option to use more than just displaying sites and play audio/video. I checked it just in case and both messenger and fb apps were allowed to use microphone. But again. That will help a lot.

Regards,
Peter
Reply all
Reply to author
Forward
0 new messages