mirror of
https://github.com/ianramzy/decentralized-video-chat.git
synced 2024-11-17 07:39:21 +08:00
fixed crucial issue with disconnect handling: RTCPeerConnection was removed from maps, but never closed
This commit is contained in:
parent
7e7888029e
commit
c06b468cdc
@ -139,6 +139,7 @@ var VideoChat = {
|
|||||||
);
|
);
|
||||||
// Delete connection & metadata
|
// Delete connection & metadata
|
||||||
VideoChat.connected.delete(uuid);
|
VideoChat.connected.delete(uuid);
|
||||||
|
VideoChat.peerConnections.get(uuid).close(); // This is necessary, because otherwise the RTC connection isn't closed
|
||||||
VideoChat.peerConnections.delete(uuid);
|
VideoChat.peerConnections.delete(uuid);
|
||||||
dataChannel.delete(uuid);
|
dataChannel.delete(uuid);
|
||||||
if (VideoChat.peerConnections.size === 0) {
|
if (VideoChat.peerConnections.size === 0) {
|
||||||
@ -787,39 +788,6 @@ function recieveCaptions(captions) {
|
|||||||
}
|
}
|
||||||
// End Live caption
|
// End Live caption
|
||||||
|
|
||||||
// Translation
|
|
||||||
// function translate(text) {
|
|
||||||
// let fromLang = "en";
|
|
||||||
// let toLang = "zh";
|
|
||||||
// // let text = "hello how are you?";
|
|
||||||
// const API_KEY = "APIKEYHERE";
|
|
||||||
// let gurl = `https://translation.googleapis.com/language/translate/v2?key=${API_KEY}`;
|
|
||||||
// gurl += "&q=" + encodeURI(text);
|
|
||||||
// gurl += `&source=${fromLang}`;
|
|
||||||
// gurl += `&target=${toLang}`;
|
|
||||||
// fetch(gurl, {
|
|
||||||
// method: "GET",
|
|
||||||
// headers: {
|
|
||||||
// "Content-Type": "application/json",
|
|
||||||
// Accept: "application/json",
|
|
||||||
// },
|
|
||||||
// })
|
|
||||||
// .then((res) => res.json())
|
|
||||||
// .then((response) => {
|
|
||||||
// // console.log("response from google: ", response);
|
|
||||||
// // return response["data"]["translations"][0]["translatedText"];
|
|
||||||
// logIt(response);
|
|
||||||
// var translatedText =
|
|
||||||
// response["data"]["translations"][0]["translatedText"];
|
|
||||||
// console.log(translatedText);
|
|
||||||
// dataChanel.send("cap:" + translatedText);
|
|
||||||
// })
|
|
||||||
// .catch((error) => {
|
|
||||||
// console.log("There was an error with the translation request: ", error);
|
|
||||||
// });
|
|
||||||
// }
|
|
||||||
// End Translation
|
|
||||||
|
|
||||||
// Text Chat
|
// Text Chat
|
||||||
// Add text message to chat screen on page
|
// Add text message to chat screen on page
|
||||||
function addMessageToScreen(msg, border, isOwnMessage) {
|
function addMessageToScreen(msg, border, isOwnMessage) {
|
||||||
@ -961,6 +929,12 @@ function displayWaitingCaption() {
|
|||||||
rePositionCaptions();
|
rePositionCaptions();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
window.onbeforeunload = function () {
|
||||||
|
VideoChat.socket.emit("leave", roomHash);
|
||||||
|
return null;
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
function startUp() {
|
function startUp() {
|
||||||
// Try and detect in-app browsers and redirect
|
// Try and detect in-app browsers and redirect
|
||||||
var ua = navigator.userAgent || navigator.vendor || window.opera;
|
var ua = navigator.userAgent || navigator.vendor || window.opera;
|
||||||
|
Loading…
Reference in New Issue
Block a user