diff --git a/check.html b/check.html
index bbda152..77a23b3 100644
--- a/check.html
+++ b/check.html
@@ -157,10 +157,6 @@
return raw ? parseInt(raw[2], 10) : false;
}
- if (!getChromeVersion()){
- alert("This speedtest is optimized for Chromium-based browsers; graphs will not work for Firefox or Safari browsers.");
- }
-
function next1(){
document.getElementById("page1").classList.add("hidden");
document.getElementById("page2").classList.remove("hidden");
@@ -285,8 +281,6 @@
var statsSent = false;
eventer(messageEvent, function (e) {
-
- console.log(e.data);
if ("action" in e.data) {
if (e.data.action == "available-speedtest-servers"){
@@ -346,50 +340,55 @@
if ("stats" in e.data) {
var out = "";
- for (var streamID in e.data.stats.inbound_stats) {
- out += printValues(e.data.stats.inbound_stats[streamID]);
- if (e.data.stats.inbound_stats[streamID]){
+ for (var someValue in e.data.stats.inbound_stats) {
+ out += printValues(e.data.stats.inbound_stats[someValue]);
+ if (e.data.stats.inbound_stats[someValue]){
if (!statsSent){
- statsSent = e.data.stats.inbound_stats[streamID];
+ statsSent = e.data.stats.inbound_stats[someValue];
}
}
}
- for (var streamID in e.data.stats.outbound_stats) {
- if (e.data.stats.outbound_stats[streamID].quality_limitation_reason){
- if (quality_reason != e.data.stats.outbound_stats[streamID].quality_limitation_reason) {
- quality_reason = e.data.stats.outbound_stats[streamID].quality_limitation_reason;
+ for (var someValue in e.data.stats.outbound_stats) {
+ if (e.data.stats.outbound_stats[someValue].quality_limitation_reason){
+ if (quality_reason != e.data.stats.outbound_stats[someValue].quality_limitation_reason) {
+ quality_reason = e.data.stats.outbound_stats[someValue].quality_limitation_reason;
logData({"QLR": quality_reason});
}
}
- if (e.data.stats.outbound_stats[streamID].encoder){
- if (encoder != e.data.stats.outbound_stats[streamID].encoder) {
- encoder = e.data.stats.outbound_stats[streamID].encoder;
+ if (e.data.stats.outbound_stats[someValue].encoder){
+ if (encoder != e.data.stats.outbound_stats[someValue].encoder) {
+ encoder = e.data.stats.outbound_stats[someValue].encoder;
+ logData({"encoder":encoder});
+ }
+ } else if (e.data.stats.outbound_stats[someValue].video_codec){
+ if (encoder != e.data.stats.outbound_stats[someValue].video_codec) {
+ encoder = e.data.stats.outbound_stats[someValue].video_codec;
logData({"encoder":encoder});
}
}
}
- if (out.split("Bitrate_in_kbps").length > 1) {
- for (var key in e.data.stats.inbound_stats[streamID]) {
- if (key.startsWith("RTCMediaStreamTrack_receiver") || key.startsWith("DEPRECATED_RTCMediaStreamTrack_receiver") ) {
- var bitrate = e.data.stats.inbound_stats[streamID][key][
- "Bitrate_in_kbps"
- ];
+ for (var key in e.data.stats.inbound_stats[streamID]){
+ if (typeof e.data.stats.inbound_stats[streamID][key] == "object"){
+ if ("Bitrate_in_kbps" in e.data.stats.inbound_stats[streamID][key]){
+ var bitrate = e.data.stats.inbound_stats[streamID][key]["Bitrate_in_kbps"];
updateData("bitrate", bitrate);
-
- var buffer = e.data.stats.inbound_stats[streamID][key][
- "Buffer_Delay_in_ms"
- ];
+ }
+ if ("Buffer_Delay_in_ms" in e.data.stats.inbound_stats[streamID][key]){
+ var buffer = e.data.stats.inbound_stats[streamID][key]["Buffer_Delay_in_ms"];
updateData("buffer", buffer);
-
+ }
+ if ("packetLoss_in_percentage" in e.data.stats.inbound_stats[streamID][key]){
var packetloss = e.data.stats.inbound_stats[streamID][key]["packetLoss_in_percentage"];
if (packetloss != undefined) {
packetloss = packetloss.toFixed(2);
updateData("packetloss", packetloss);
}
+ }
+ if ("Resolution" in e.data.stats.inbound_stats[streamID][key]){
var resolution = e.data.stats.inbound_stats[streamID][key]["Resolution"];
if (previousResolution != resolution) {
@@ -397,10 +396,9 @@
logData({"resolution": resolution});
}
}
+
}
-
}
-
}
});
diff --git a/comms.html b/comms.html
index d995350..d97cfc5 100644
--- a/comms.html
+++ b/comms.html
@@ -17,7 +17,8 @@
@@ -990,12 +998,16 @@
}
function toggleChat(){
- document.getElementById("chatModule").classList.toggle("fadeout");
+ document.getElementById("chatModule").classList.toggle("hidden");
document.getElementById("chatModuleButton").classList.toggle("hidden");
- if (document.getElementById("chatModule").classList.contains("fadeout")){
+
+ if (document.getElementById("chatModule").classList.contains("hidden")){
document.documentElement.style.setProperty('--chat-width', "0px");
+ document.documentElement.style.setProperty('--chat-filler', "33px");
+
} else {
- document.documentElement.style.setProperty('--chat-width', "450px");
+ document.documentElement.style.setProperty('--chat-width', "400px");
+ document.documentElement.style.setProperty('--chat-filler', "0px");
}
}
@@ -1056,11 +1068,18 @@
} else if (urlParams.has('mobile')){
mobile = true;
}
- if (mobile){
- toggleChat();
- document.body.classList.add("mobile");
+
+ if (screen.height && screen.width && (screen.height*screen.width<400000)){
+ mobile = true;
}
+ if (mobile){
+ //toggleChat();
+ document.body.classList.add("mobile");
+ //getById("chatModule").classList.add("hidden");
+ }
+
+
var password = false;
if (urlParams.has('password') || urlParams.has('pass') || urlParams.has('pw') || urlParams.has('p')) {
password = urlParams.get('password') || urlParams.get('pass') || urlParams.get('pw') || urlParams.get('p');
@@ -1715,13 +1734,19 @@
}
if (mobile){
- additional2 += "&ad=1";
+ additional2 += "&ad=1&chatbutton=1";
+ } else {
+ additional2 += "&chatbutton=0";
}
var chatmsg = "Welcome to the Comms app. Select a group to participate in.";
chatmsg = encodeURIComponent(chatmsg);
- var iframesrc = "./index.html?groupmode&novice<b=350&minipreview&transparent&hideheader&margin&rounded&hidetranslate&cleandirector&chatbutton=0&vd=0&webcam&nvb&sstype=3&ssb&showlabel=skype&style=2&room="+roomname+additional+additional2+"&b64css="+injectCSS+streamID+label+"&chatmsg="+chatmsg;
+ if (window.location.hostname == "comms.cam"){
+ var iframesrc = "https://vdo.ninja/alpha/?controlbarspace&volumecontrol&sharperscreen&groupmode&novice<b=350&minipreview&transparent&hideheader&margin&rounded&hidetranslate&cleandirector&vd=0&webcam&nvb&sstype=3&ssb&showlabel=toprounded&labelsize=85&style=2&room="+roomname+additional+additional2+"&b64css="+injectCSS+streamID+label+"&chatmsg="+chatmsg;
+ } else {
+ var iframesrc = "./index.html?controlbarspace&volumecontrol&sharperscreen&groupmode&novice<b=350&minipreview&transparent&hideheader&margin&rounded&hidetranslate&cleandirector&vd=0&webcam&nvb&sstype=3&ssb&showlabel=toprounded&labelsize=85&style=2&room="+roomname+additional+additional2+"&b64css="+injectCSS+streamID+label+"&chatmsg="+chatmsg;
+ }
if (roomname!==false){
@@ -1734,7 +1759,9 @@
drawGroup(savedSession.groups[i]);
}
- document.getElementById("chatModule").classList.remove("hidden");
+ if (!mobile){
+ document.getElementById("chatModule").classList.remove("hidden");
+ }
iframe.onload = function(){
iframe.contentWindow.postMessage({ groups: savedSession.groups }, "*");
@@ -1761,7 +1788,6 @@
if (e.source != iframe.contentWindow){return} // reject messages send from other iframes
- console.log(e.data);
if ("gotChat" in e.data){
messageList.push(e.data.gotChat);
messageList = messageList.slice(-100);
@@ -1878,9 +1904,6 @@
}
}
-
-
-
});
}
diff --git a/index.html b/index.html
index 853606f..4734e89 100644
--- a/index.html
+++ b/index.html
@@ -57,7 +57,7 @@
-
+
@@ -83,7 +83,7 @@
-
+
@@ -236,7 +236,7 @@
-
+
@@ -547,7 +547,7 @@
-
+
+
+
@@ -2221,7 +2225,7 @@
var session = WebRTC.Media; // session is a required global variable if configuring manually. Run before loading main.js but after webrtc.js.
- session.version = "22.5";
+ session.version = "22.6b";
session.streamID = session.generateStreamID(); // randomly generates a streamID for this session. You can set your own programmatically if needed
session.defaultPassword = "someEncryptionKey123"; // Change this password if self-deploying for added security/privacy
@@ -2292,11 +2296,11 @@
// session.darkmode = false; // enable or disable the dark style theme as the default
// session.defaultBackgroundImages = ["./media/bg_sample1.webp", "./media/bg_sample2.webp"]; // for &effects=5 (virtual backgrounds)
-
+
-
+