About webrtcsupport repo

I noticed that the webrtcsupport library has been archived, but libp2p webrtc start has some dependencies. I recently fixed some bugs for this library. At present, it can support more browsers, such as Safari,Chrome,Firefox, and can run smoothly on mobile phones, PCs and Macs.

Changes are very simple, you can refer to my code base below:

Hey @skysbird

We move the utility into https://github.com/ipfs/js-ipfs-utils/blob/master/src/supports.js

Thant’s great! I will try the latest js-libp2p-webrtc-star lib. Thank you!

Hi, I have read the code of the new ipfs-utils/src/support.js. I found a problem below:

getUserMedia is not supported in Chrome on IOS, because of WkWebview in IOS. But in some case, we don’t use getUserMedia function, but just want to use WebRTC for text message. So if use the support.js, some application will not work on chrome in IOS. Maybe we should consider to relaxation of conditions for checking WebRTC support?

P.S there is a reply on stack overflow:

WebRTC has three main JavaScript APIs:

  • MediaStream (aka getUserMedia)
  • RTCPeerConnection
  • RTCDataChannel

For apps running inside Safari App, iOS11+, all WebRTC APIs are supported. That includes getUserMedia . Be sure to use adapter.js library for best compatibility, since each browser - including Safari - uses a different name for its implementation. For example, in Safari it’s navigator.mediaDevices.getUserMedia() .

But, when using WKWebView or SFSafariViewController , it’s a different story:

You can still stream video & audio from local storage or consume live media captured by a peer. Hopefully in iOS 12 we’ll see some progress…

1 Like

Thanks for all this deep research.
Can you open an issue in the repo so that we can discuss the technicalities there?
You can just paste the last post there. FYI the lead maintainer of that module is ooo this week, so we will only be able to discuss this further next week

Ok, I have forwarded there.