diff --git a/comms.html b/comms.html index 64a7e2c..d88edfc 100644 --- a/comms.html +++ b/comms.html @@ -1103,22 +1103,9 @@ //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'); - } - - - var aspectRatio = 16/9.0; document.documentElement.style.setProperty('--aspect-ratio', aspectRatio); - var roomname = false; - if (urlParams.has("room") || urlParams.has("r") ||urlParams.has("dir") || urlParams.has("director")){ - roomname = urlParams.get("room") || urlParams.get("r") ||urlParams.get("dir") || urlParams.get("director"); - roomname = sanitizeRoomName(roomname); - } var savedLastRoom = getStorage("savedRoom_comms"); if (savedLastRoom){ @@ -1133,6 +1120,20 @@ } } } + + + 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'); + } + + var roomname = false; + if (urlParams.has("room") || urlParams.has("r") ||urlParams.has("dir") || urlParams.has("director")){ + roomname = urlParams.get("room") || urlParams.get("r") ||urlParams.get("dir") || urlParams.get("director"); + roomname = sanitizeRoomName(roomname) || false; + } + + function randomRoomName(){ document.getElementById("roomname").value = generateString(8); } @@ -1159,7 +1160,11 @@ this.onclick = null; } roomname = rid; + + loadSavedSession(roomname); loadIframe(); + saveSession(); + document.getElementById("welcomeWindow").classList.add("fadeout"); setTimeout(function(){ document.getElementById("welcomeWindow").classList.add("hidden"); @@ -1472,6 +1477,17 @@ } } + var streamID = ""; + if (urlParams.has("push") || urlParams.has("sid")){ + streamID = urlParams.get("push") || urlParams.get("sid") || ""; + streamID = "&push="+streamID; + } + + var label = "&label"; + if (urlParams.has("label") || urlParams.has("l")){ + label += "=" + (urlParams.get("label") || urlParams.get("l") || ""); + } + var colors = [ "#00AAAA", "#FF0000", @@ -1486,7 +1502,7 @@ ]; var remoteGroups = {}; - + var savedSession = {}; var initialgroups = {}; initialgroups.settings = {}; @@ -1495,80 +1511,70 @@ initialgroups.groups = []; - var savedSession = getStorage("savedSession_comms"); + function loadSavedSession(roomname){ - if (savedSession){ - initialgroups = JSON.parse(savedSession); - if (!("activeViewGroups" in initialgroups)){ - initialgroups.activeViewGroups = []; + savedSession = getStorage("savedSession_comms_"+roomname) || getStorage("savedSession_comms"); + + if (savedSession){ + initialgroups = JSON.parse(savedSession); + if (!("activeViewGroups" in initialgroups)){ + initialgroups.activeViewGroups = []; + } else { + initialgroups.activeViewGroups.forEach(group=>{ + if (!initialgroups.groups.includes(group)){ + initialgroups.groups.push(group); + } + }); + } } else { - initialgroups.activeViewGroups.forEach(group=>{ - if (!initialgroups.groups.includes(group)){ - initialgroups.groups.push(group); - } - }); - } - } else { - var data = "1"; - initialgroups.groups.push(data); - - var data = "2"; - initialgroups.groups.push(data); - - var data = "3"; - initialgroups.groups.push(data); - - var data = "4"; - initialgroups.groups.push(data); - - var data = "5"; - initialgroups.groups.push(data); + var data = "1"; + initialgroups.groups.push(data); + + var data = "2"; + initialgroups.groups.push(data); + + var data = "3"; + initialgroups.groups.push(data); + + var data = "4"; + initialgroups.groups.push(data); + + var data = "5"; + initialgroups.groups.push(data); - var data = "6"; - initialgroups.groups.push(data); - } - - - - - if (urlParams.has("group") || urlParams.has("groups")){ - var groups = urlParams.get("group") || urlParams.get("groups"); - if (groups){ - groups.split(",").forEach(group=>{ - if (!initialgroups.groups.includes(group)){ - initialgroups.groups.push(group); - if (!initialgroups.activeGroups.includes(group)){ - initialgroups.activeGroups.push(group); - }; - } - }); + var data = "6"; + initialgroups.groups.push(data); } - } - - - if (urlParams.has("groupview") || urlParams.has("gv")){ - var viewgroups = urlParams.get("groupview") || urlParams.get("gv"); - if (viewgroups){ - viewgroups.split(",").forEach(group=>{ - if (!initialgroups.groups.includes(group)){ - initialgroups.groups.push(group); - } - initialgroups.activeViewGroups.push(group); - }); + + if (urlParams.has("group") || urlParams.has("groups")){ + var groups = urlParams.get("group") || urlParams.get("groups"); + initialgroups.groups = []; + if (groups){ + groups.split(",").forEach(group=>{ + if (!initialgroups.groups.includes(group)){ + initialgroups.groups.push(group); + //if (!initialgroups.activeGroups.includes(group)){ + // initialgroups.activeGroups.push(group); + //}; + } + }); + } } + + if (urlParams.has("groupview") || urlParams.has("gv")){ + var viewgroups = urlParams.get("groupview") || urlParams.get("gv"); + if (viewgroups){ + viewgroups.split(",").forEach(group=>{ + if (!initialgroups.groups.includes(group)){ + initialgroups.groups.push(group); + } + initialgroups.activeViewGroups.push(group); + }); + } + } + + savedSession = initialgroups; } - var streamID = ""; - if (urlParams.has("push") || urlParams.has("sid")){ - streamID = urlParams.get("push") || urlParams.get("sid") || ""; - streamID = "&push="+streamID; - } - - var label = "&label"; - if (urlParams.has("label") || urlParams.has("l")){ - label += "=" + (urlParams.get("label") || urlParams.get("l") || ""); - } - - savedSession = initialgroups; if (iframe){ iframe.contentWindow.postMessage({ groups: savedSession.activeGroups , groupView: savedSession.activeViewGroups }, "*"); @@ -1718,7 +1724,7 @@ function generateString(LLL = 7){ var text = ""; - var words = ["the","of","to","and","a","in","is","it","you","that","he","was","for","on","are","with","as","I","his","they","be","at","one","have","this","from","or","had","by","word","but","what","some","we","can","out","other","were","all","there","when","up","use","your","how","said","an","each","she","which","do","their","time","if","will","way","about","many","then","them","write","would","like","so","these","her","long","make","thing","see","him","two","has","look","more","day","could","go","come","did","number","sound","no","most","people","my","over","know","water","than","call","first","who","may","down","side","been","now","find","any","new","work","part","take","get","place","made","live","where","after","back","little","only","round","man","year","came","show","every","good","me","give","our","under","name","very","through","just","form","sentence","great","think","say","help","low","line","differ","turn","cause","much","mean","before","move","right","boy","old","too","same","tell","does","set","three","want","air","well","also","play","small","end","put","home","read","hand","port","large","spell","add","even","land","here","must","big","high","such","follow","act","why","ask","men","change","went","light","kind","off","need","house","picture","try","us","again","animal","point","mother","world","near","build","self","earth","father","head","stand","own","page","should","country","found","answer","school","grow","study","still","learn","plant","cover","food","sun","four","between","state","keep","eye","never","last","let","thought","city","tree","cross","farm","hard","start","might","story","saw","far","sea","draw","left","late","run","don't","while","press","close","night","real","life","few","north","open","seem","together","next","white","children","begin","got","walk","example","ease","paper","group","always","music","those","both","mark","often","letter","until","mile","river","car","feet","care","second","book","carry","took","science","eat","room","friend","began","idea","fish","mountain","stop","once","base","hear","horse","cut","sure","watch","color","face","wood","main","enough","plain","girl","usual","young","ready","above","ever","red","list","though","feel","talk","bird","soon","body","dog","family","direct","pose","leave","song","measure","door","product","black","short","numeral","class","wind","question","happen","complete","ship","area","half","rock","order","fire","south","problem","piece","told","knew","pass","since","top","whole","king","space","heard","best","hour","better","true .","during","hundred","five","remember","step","early","hold","west","ground","interest","reach","fast","verb","sing","listen","six","table","travel","less","morning","ten","simple","several","vowel","toward","war","lay","against","pattern","slow","center","love","person","money","serve","appear","road","map","rain","rule","govern","pull","cold","notice","voice","unit","power","town","fine","certain","fly","fall","lead","cry","dark","machine","note","wait","plan","figure","star","box","noun","field","rest","correct","able","pound","done","beauty","drive","stood","contain","front","teach","week","final","gave","green","oh","quick","develop","ocean","warm","free","minute","strong","special","mind","behind","clear","tail","produce","fact","street","inch","multiply","nothing","course","stay","wheel","full","force","blue","object","decide","surface","deep","moon","island","foot","system","busy","test","record","boat","common","gold","possible","plane","stead","dry","wonder","laugh","thousand","ago","ran","check","game","shape","equate","hot","miss","brought","heat","snow","tire","bring","yes","distant","fill","east","paint","language","among","grand","ball","yet","wave","drop","heart","am","present","heavy","dance","engine","position","arm","wide","sail","material","size","vary","settle","speak","weight","general","ice","matter","circle","pair","include","divide","syllable","felt","perhaps","pick","sudden","count","square","reason","length","represent","art","subject","region","energy","hunt","probable","bed","brother","egg","ride","cell","believe","fraction","forest","sit","race","window","store","summer","train","sleep","prove","lone","leg","exercise","wall","catch","mount","wish","sky","board","joy","winter","sat","written","wild","instrument","kept","glass","grass","cow","job","edge","sign","visit","past","soft","fun","bright","gas","weather","month","million","bear","finish","happy","hope","flower","clothe","strange","gone","jump","baby","eight","village","meet","root","buy","raise","solve","metal","whether","push","seven","paragraph","third","shall","held","hair","describe","cook","floor","either","result","burn","hill","safe","cat","century","consider","type","law","bit","coast","copy","phrase","silent","tall","sand","soil","roll","temperature","finger","industry","value","fight","lie","beat","excite","natural","view","sense","ear","else","quite","broke","case","middle","kill","son","lake","moment","scale","loud","spring","observe","child","straight","consonant","nation","dictionary","milk","speed","method","organ","pay","age","section","dress","cloud","surprise","quiet","stone","tiny","climb","cool","design","poor","lot","experiment","bottom","key","iron","single","stick","flat","twenty","skin","smile","crease","hole","trade","melody","trip","office","receive","row","mouth","exact","symbol","die","least","trouble","shout","except","wrote","seed","tone","join","suggest","clean","break","lady","yard","rise","bad","blow","oil","blood","touch","grew","cent","mix","team","wire","cost","lost","brown","wear","garden","equal","sent","choose","fell","fit","flow","fair","bank","collect","save","control","decimal","gentle","woman","captain","practice","separate","difficult","doctor","please","protect","noon","whose","locate","ring","character","insect","caught","period","indicate","radio","spoke","atom","human","history","effect","electric","expect","crop","modern","element","hit","student","corner","party","supply","bone","rail","imagine","provide","agree","thus","capital","won't","chair","danger","fruit","rich","thick","soldier","process","operate","guess","necessary","sharp","wing","create","neighbor","wash","bat","rather","crowd","corn","compare","poem","string","bell","depend","meat","rub","tube","famous","dollar","stream","fear","sight","thin","triangle","planet","hurry","chief","colony","clock","mine","tie","enter","major","fresh","search","send","yellow","gun","allow","print","dead","spot","desert","suit","current","lift","rose","continue","block","chart","hat","sell","success","company","subtract","event","particular","deal","swim","term","opposite","wife","shoe","shoulder","spread","arrange","camp","invent","cotton","born","determine","quart","nine","truck","noise","level","chance","gather","shop","stretch","throw","shine","property","column","molecule","select","wrong","gray","repeat","require","broad","prepare","salt","nose","plural","anger","claim","continent","oxygen","sugar","death","pretty","skill","women","season","solution","magnet","silver","thank","branch","match","suffix","especially","fig","afraid","huge","sister","steel","discuss","forward","similar","guide","experience","score","apple","bought","led","pitch","coat","mass","card","band","rope","slip","win","dream","evening","condition","feed","tool","total","basic","smell","valley","nor","double","seat","arrive","master","track","parent","shore","division","sheet","substance","favor","connect","post","spend","chord","fat","glad","original","share","station","dad","bread","charge","proper","bar","offer","segment","slave","duck","instant","market","degree","populate","chick","dear","enemy","reply","drink","occur","support","speech","nature","range","steam","motion","path","liquid","log","meant","quotient","teeth","shell","neck"]; + var words = ["the","of","to","and","a","in","is","it","you","that","he","was","for","on","are","with","as","I","his","they","be","at","one","have","this","from","or","had","by","word","but","what","some","we","can","out","other","were","all","there","when","up","use","your","how","said","an","each","she","which","do","their","time","if","will","way","about","many","then","them","write","would","like","so","these","her","long","make","thing","see","him","two","has","look","more","day","could","go","come","did","number","sound","no","most","people","my","over","know","water","than","call","first","who","may","down","side","been","now","find","any","new","work","part","take","get","place","made","live","where","after","back","little","only","round","man","year","came","show","every","good","me","give","our","under","name","very","through","just","form","sentence","great","think","say","help","low","line","differ","turn","cause","much","mean","before","move","right","boy","old","too","same","tell","does","set","three","want","air","well","also","play","small","end","put","home","read","hand","port","large","spell","add","even","land","here","must","big","high","such","follow","act","why","ask","men","change","went","light","kind","off","need","house","picture","try","us","again","animal","point","mother","world","near","build","self","earth","father","head","stand","own","page","should","country","found","answer","school","grow","study","still","learn","plant","cover","food","sun","four","between","state","keep","eye","never","last","let","thought","city","tree","cross","farm","hard","start","might","story","saw","far","sea","draw","left","late","run","dont","while","press","close","night","real","life","few","north","open","seem","together","next","white","children","begin","got","walk","example","ease","paper","group","always","music","those","both","mark","often","letter","until","mile","river","car","feet","care","second","book","carry","took","science","eat","room","friend","began","idea","fish","mountain","stop","once","base","hear","horse","cut","sure","watch","color","face","wood","main","enough","plain","girl","usual","young","ready","above","ever","red","list","though","feel","talk","bird","soon","body","dog","family","direct","pose","leave","song","measure","door","product","black","short","numeral","class","wind","question","happen","complete","ship","area","half","rock","order","fire","south","problem","piece","told","knew","pass","since","top","whole","king","space","heard","best","hour","better","true .","during","hundred","five","remember","step","early","hold","west","ground","interest","reach","fast","verb","sing","listen","six","table","travel","less","morning","ten","simple","several","vowel","toward","war","lay","against","pattern","slow","center","love","person","money","serve","appear","road","map","rain","rule","govern","pull","cold","notice","voice","unit","power","town","fine","certain","fly","fall","lead","cry","dark","machine","note","wait","plan","figure","star","box","noun","field","rest","correct","able","pound","done","beauty","drive","stood","contain","front","teach","week","final","gave","green","oh","quick","develop","ocean","warm","free","minute","strong","special","mind","behind","clear","tail","produce","fact","street","inch","multiply","nothing","course","stay","wheel","full","force","blue","object","decide","surface","deep","moon","island","foot","system","busy","test","record","boat","common","gold","possible","plane","stead","dry","wonder","laugh","thousand","ago","ran","check","game","shape","equate","hot","miss","brought","heat","snow","tire","bring","yes","distant","fill","east","paint","language","among","grand","ball","yet","wave","drop","heart","am","present","heavy","dance","engine","position","arm","wide","sail","material","size","vary","settle","speak","weight","general","ice","matter","circle","pair","include","divide","syllable","felt","perhaps","pick","sudden","count","square","reason","length","represent","art","subject","region","energy","hunt","probable","bed","brother","egg","ride","cell","believe","fraction","forest","sit","race","window","store","summer","train","sleep","prove","lone","leg","exercise","wall","catch","mount","wish","sky","board","joy","winter","sat","written","wild","instrument","kept","glass","grass","cow","job","edge","sign","visit","past","soft","fun","bright","gas","weather","month","million","bear","finish","happy","hope","flower","clothe","strange","gone","jump","baby","eight","village","meet","root","buy","raise","solve","metal","whether","push","seven","paragraph","third","shall","held","hair","describe","cook","floor","either","result","burn","hill","safe","cat","century","consider","type","law","bit","coast","copy","phrase","silent","tall","sand","soil","roll","temperature","finger","industry","value","fight","lie","beat","excite","natural","view","sense","ear","else","quite","broke","case","middle","kill","son","lake","moment","scale","loud","spring","observe","child","straight","consonant","nation","dictionary","milk","speed","method","organ","pay","age","section","dress","cloud","surprise","quiet","stone","tiny","climb","cool","design","poor","lot","experiment","bottom","key","iron","single","stick","flat","twenty","skin","smile","crease","hole","trade","melody","trip","office","receive","row","mouth","exact","symbol","die","least","trouble","shout","except","wrote","seed","tone","join","suggest","clean","break","lady","yard","rise","bad","blow","oil","blood","touch","grew","cent","mix","team","wire","cost","lost","brown","wear","garden","equal","sent","choose","fell","fit","flow","fair","bank","collect","save","control","decimal","gentle","woman","captain","practice","separate","difficult","doctor","please","protect","noon","whose","locate","ring","character","insect","caught","period","indicate","radio","spoke","atom","human","history","effect","electric","expect","crop","modern","element","hit","student","corner","party","supply","bone","rail","imagine","provide","agree","thus","capital","wont","chair","danger","fruit","rich","thick","soldier","process","operate","guess","necessary","sharp","wing","create","neighbor","wash","bat","rather","crowd","corn","compare","poem","string","bell","depend","meat","rub","tube","famous","dollar","stream","fear","sight","thin","triangle","planet","hurry","chief","colony","clock","mine","tie","enter","major","fresh","search","send","yellow","gun","allow","print","dead","spot","desert","suit","current","lift","rose","continue","block","chart","hat","sell","success","company","subtract","event","particular","deal","swim","term","opposite","wife","shoe","shoulder","spread","arrange","camp","invent","cotton","born","determine","quart","nine","truck","noise","level","chance","gather","shop","stretch","throw","shine","property","column","molecule","select","wrong","gray","repeat","require","broad","prepare","salt","nose","plural","anger","claim","continent","oxygen","sugar","death","pretty","skill","women","season","solution","magnet","silver","thank","branch","match","suffix","especially","fig","afraid","huge","sister","steel","discuss","forward","similar","guide","experience","score","apple","bought","led","pitch","coat","mass","card","band","rope","slip","win","dream","evening","condition","feed","tool","total","basic","smell","valley","nor","double","seat","arrive","master","track","parent","shore","division","sheet","substance","favor","connect","post","spend","chord","fat","glad","original","share","station","dad","bread","charge","proper","bar","offer","segment","slave","duck","instant","market","degree","populate","chick","dear","enemy","reply","drink","occur","support","speech","nature","range","steam","motion","path","liquid","log","meant","quotient","teeth","shell","neck"]; for (var i=0;i<2;i++){ try{ @@ -1778,7 +1784,6 @@ } roomname = sanitizeRoomName(roomname); - var iframeContainer = document.getElementById("iframeContainer"); iframe.allow = "autoplay;camera;microphone;fullscreen;picture-in-picture;display-capture;"; iframe.id = "vdoninja"; @@ -2280,7 +2285,7 @@ } } } - setStorage("savedSession_comms", JSON.stringify(savedSession)); + setStorage("savedSession_comms_"+roomname, JSON.stringify(savedSession)); if (iframe){ iframe.contentWindow.postMessage({ groups: savedSession.activeGroups , groupView: savedSession.activeViewGroups}, "*"); @@ -2314,7 +2319,9 @@ }); if (roomname){ + loadSavedSession(roomname); loadIframe(); + saveSession(); } else { document.getElementById("welcomeWindow").style.display = "block"; } diff --git a/examples/multi.html b/examples/multi.html index 1b2914a..1c9c932 100644 --- a/examples/multi.html +++ b/examples/multi.html @@ -20,16 +20,12 @@ iframe { display:block; } - -
+ +