WebRTC communication between two Snap!s

My mom won't let me use chrome and edge doesn't work on Linux D:
I can't use WebRTC. NOOOOOOOOOOOOOOOOOOOOOOOO

well then I can't ether cuz I have the same problem.

Is there any other way to use WebRTC?

Why won't your mom let you use chrome?

She says google is a megacorporation and doesn't care about your privacy.

That's stupid. Google is a megacorporation that doesn't care about your privacy and Microsoft isn't??

I use firefox.


Why can't you use it in firefox?

Firefox OS

Since 2016, "webrtc" | Can I use... Support tables for HTML5, CSS3, etc

Maybe WebRTC can be configured to use a different transport protocol than the default sctp so it will work in FireFox but Mozilla doesn't list FireFox as supporting sctp: RTCPeerConnection.sctp - Web APIs | MDN

It seems this issue was first raised 5 years ago and yet solutions have yet to be incorporated into FireFox according to 1278299 - Implement RTCSctpTransport and RTCPeerConnection.sctp

Maybe your mom would let you use Vivaldi.

It uses Chrome as its engine but makes privacy one of its priorities

Ken, it seems that you use sctp only to get connection.sctp.maxMessageSize.
There are at least two possible workarounds.

  1. Use the safe estimation of 16Kb
  2. Extract it from the invitation key as described here. Or from the key entered by the user.
    match(/a=max-message-size:\s*(\d+)/);

Dardoro, thanks. I just updated it to use 16k if connection.sctp is undefined (as it is in FireFox). Note that longer messages will be broken into parts so the size isn't a limitation (though possibly it will be a little bit slower than if I extracted the real maximum message size). I tested it with 100k message and I didn't notice a delay.

So those of you using FireFox please let me know if you still have problems.

Tested on localhost Chrome<=>Firefox. Works as expected.
Sometimes it takes ~30s to start or connect. Maybe some form of wait indicator should be used.

Maybe clear browser cache.
webrtc.js is now checking "connection.sctp" against undefined.

I find that an easier alternative to clearing the browser cache is to do a "hard refresh" which is to hold down the control key when refreshing that page. It clears the cache for only that page.