fix(bbb-html5): crash when stopping WebRTC peers
There's a race condition that may cause a client crash whenever a connectionstatechange callback is cleaned up in a peer without a valid peer connection present in our custom RTCPeerConnection wrapper. Check for peerConnection availability in the WebRtcPeer wrapper before trying to clean up its connectionstatechange callback.
This commit is contained in:
parent
fcbfcb1bbc
commit
610f3b165b
@ -283,7 +283,9 @@ class BaseBroker {
|
||||
}
|
||||
|
||||
if (connectionState === 'failed' || connectionState === 'closed') {
|
||||
this.webRtcPeer.peerConnection.onconnectionstatechange = null;
|
||||
if (this.webRtcPeer?.peerConnection) {
|
||||
this.webRtcPeer.peerConnection.onconnectionstatechange = null;
|
||||
}
|
||||
// 1307: "ICE_STATE_FAILED",
|
||||
const error = BaseBroker.assembleError(1307);
|
||||
this.onerror(error);
|
||||
@ -343,7 +345,7 @@ class BaseBroker {
|
||||
this.onerror = function(){};
|
||||
window.removeEventListener('beforeunload', this.onbeforeunload);
|
||||
|
||||
if (this.webRtcPeer) {
|
||||
if (this.webRtcPeer?.peerConnection) {
|
||||
this.webRtcPeer.peerConnection.onconnectionstatechange = null;
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user