versatica / mediasoup-client

mediasoup client side JavaScript library

Home Page:https://mediasoup.org

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

some iOS safari users not able to join

varundabke opened this issue · comments

Bug Report

IMPORTANT: We primarily use GitHub as an issue tracker. Just open an issue here if you have encountered a bug in mediasoup-client.

If you have questions or doubts about mediasoup-client or need support, please use the mediasoup Discourse Group instead:

https://mediasoup.discourse.group

Your environment

  • Operating system: iOS
  • Browser version: 15.1.1
  • npm version: latest
  • mediasoup version: latest
  • mediasoup-client version: latest

Issue description

https://github.com/versatica/mediasoup-client/blob/v3/src/Device.ts
Due to issue in bowser module for some iOS Safari users, browser.satisfies({ ios: { OS: '>=14.3' ... fails to be true
Hence, those users are not able to join meeting.

Trying a workaround by forcing handlerName to be Safari12 .
Will know if this workaround was success when same users join our meeting in future.

I'm afraid you are not really specifying any issue and I don't know which the problem is.

I'm afraid you are not really specifying any issue and I don't know which the problem is.

Some iOS safari users unable to join due to 'device not supported' error. Although they do meet all requirements.
This is coming from bower library failing on satisfies function in Devices.ts

This is our internal error report:
Could not join: TestUser, error:device not supported, RoomID: 64, Device details {"flag":"unknown","name":"Safari","os":{"name":"iOS","version":"15.1.1"},"platform":{"type":"mobile","vendor":"Apple","model":"iPhone"},"engine":{"name":"WebKit","version":"605.1.15"}}

Open this site in those browsers and paste the result here including the UserAgent, otherwise there is nothing we can do.

https://bowser-js.github.io/bowser-online/

If it helps anyone I have a pretty egregious hack to work around this situation. In my case I'm loading mediasoup-client in a webview on ios (so not native safari, but roughly equivalent) who's UA bowser is unable to sniff causing it to return undefined for the browser version dispite mediasoup-client being perfectly capable.

  navigator.__defineGetter__(
    `userAgent`,
    // userAgent String pulled from the latest mobile safari version, will likely change in the future
    () =>
      `Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/16.0 Safari/605.1.15`,
  );

Closing this issue because no feedback was given. Related note: #218 (comment)