Compatibility Detection and Fail Cases

Hey all, I’m finding when this is usable, it’s VERY usable. Fail cases though are inconsistent, and unpredictable. The end result is that it is impossible to send to people because you have no idea if their experience is going to be fluid or buggy. It doesn’t fail gracefully for them, and if they use the wrong browser it is disastrous…

These should be easy fixes, but I’m hoping someone can offer their thoughts.

It would be great to force the ios/android app page via a variable (eg: force_app_promo = true, as the inbuild compatibility checking doesn’t work properly.

iOS Safari:
Correctly detects incompatibility.

iOS Chrome:
Fails to detect incompatibility, and loads anyway. (Audio and video don’t work consistently. Buttons don’t work consistently)

iOS Firefox:
Fails to detect incompatibility and loads anyway (Audio and Video are unable to get permissions)

Facebook & Messenger Browsers:
Fails to detect incompatibility. Blank viewer is visible.

Android Chrome:
Detects incompatibility, however if you bypass it, it actually works fine, aside from some minor CSS issues, and the inclusion of incompatible buttons like “share screen”.

Apple/Windows Chrome and Firefox: Works well.

So to resolve this, I think it might be good to do 3 things:

  1. Allow a variable that explicitly sets either “Display”, “Must use Chrome or Firefox” or “Connect via the App” windows depending upon the level of compatibility. (Then we can at least manually build out some compatibility detection

  2. Build more comprehensive compatibility detection into the codebase, with platform specific overrides (eg, Android is MOSTLY compatible, so it would be good to allow it to display, without it displaying on EVERY incompatible browser.

  3. Allow us to generate those app links via the execute commands so we can build our own fail case windows, and/or allow us to change what’s displayed in those windows. (That Jitsi branded app promo window is… not pretty.

  4. Get it working perfectly on all platforms?

Thoughts?
Cheers
Lachlan