For 3.5, 3.5.1 and 3.5.2, please try the following workaround to fix this issue. Thanks.
Uncaught (in promise) DOMException: Failed to execute 'addTransceiver' on 'RTCPeerConnection': …
The reason for this error is Chromium implemented Unified Plan recently, and addTransceiver is not allowed to be executed on RTCPeerConnection if SDP semantics is Plan B. However, our SDK still uses Plan B and it executes addTransceiver if the type of addTransceiver is function. We are planning to migrate to Unified Plan in future releases.
RTCPeerConnection.prototype.addTransceiver = undefined;
It tells SDK addTransceiver is not available in current browser. Then, SDK will fall back to old APIs, i.e offerToReceiveAudio and offerToReceiveVideo.
I've been using 4.0.2 for a month, (was using 3.5.2 prior).
The stability is very good! On 3.5.2 it would crash usually about every 1.5 weeks, and that was pretty annoying, I made it a rule to restart the server once a week. Now though, it has been over a month, and over 6000 entry tokens given out, and everything is running very smoothly! Big difference! Not a single restart needed yet.
I hope firefox bandwidth limitation is coming very soon. I'm noticing a shift towards user's preferring firefox, and firefox tries to use 550kbps on 240p and waaaay too much on 480p. That's fine for 1v1 but not good for conferences.
Keep up the good work :)