From 98316bb11ad5f4694ed1566d5511446d8f004da8 Mon Sep 17 00:00:00 2001 From: Cat Date: Wed, 8 Mar 2023 12:46:07 +0100 Subject: [PATCH] LSP: fixed merge issue with form split on general tab; added validation rules for URI protocols on the Edit external writer-tab --- lsp/minified.js | 95 +++++++++++++++++++++++++------------------------ lsp/mist.js | 62 ++++++++++++++++++++++++-------- 2 files changed, 95 insertions(+), 62 deletions(-) diff --git a/lsp/minified.js b/lsp/minified.js index 8d73ddbe..092874d9 100644 --- a/lsp/minified.js +++ b/lsp/minified.js @@ -98,16 +98,16 @@ $("").css("text-indent","0");o.html(k);k.append($("").append($("");ma.html($("
" "∞")).append($("").append(G.amount?G.amount:"∞")))}}else o.text("None. ");o.append($("").text("More details").attr("href","https://shop.mistserver.org/myinvoices").attr("target","_blank"))}}else f.text("");var Da=function(){var a={totals:{fields:["clients"],start:-10},active_streams:true};if(!("cabailities"in mist.data))a.capabilities=true;mist.send(function(){Ea()},a)},Ea=function(){i.text("active_streams"in mist.data?mist.data.active_streams?mist.data.active_streams.length:0: "?");if("totals"in mist.data&&"all_streams"in mist.data.totals)var a=mist.data.totals.all_streams.all_protocols.clients,a=a.length?UI.format.number(a[a.length-1][1]):0;else a="Loading..";e.text(a);t.text(UI.format.dateTime(mist.data.config.time,"long"));m.html("");a=0;"license"in mist.data.config&&"user_msg"in mist.data.config.license&&mist.data.log.unshift([mist.data.config.license.time,"ERROR",mist.data.config.license.user_msg]);for(var b in mist.data.log){var c=mist.data.log[b];if(["FAIL","ERROR"].indexOf(c[1])> -1){a++;var d=$("").addClass("content").addClass("red"),f=c[2].split("|");for(b in f)d.append($("").text(f[b]));m.append($("
").append($("").append(UI.format.time(c[0]))).append(d));if(a==5)break}}a==0&&m.html("None.");a=[];c=[];for(b in mist.data.config.protocols){d=mist.data.config.protocols[b];a.indexOf(d.connector)>-1||a.push(d.connector)}l.text(a.length?a.join(", "):"None.");if("capabilities"in mist.data){for(b in mist.data.capabilities.connectors)a.indexOf(b)==-1&&c.push(b); -x.text(c.length?c.join(", "):"None.")}else x.text("Loading..")};Da();Ea();UI.interval.set(Da,3E4);break;case "General":var U={serverid:mist.data.config.serverid,debug:mist.data.config.debug,accesslog:mist.data.config.accesslog,prometheus:mist.data.config.prometheus,defaultStream:mist.data.config.defaultStream},J={sessionViewerMode:mist.data.config.sessionViewerMode,sessionInputMode:mist.data.config.sessionInputMode,sessionOutputMode:mist.data.config.sessionOutputMode,sessionUnspecifiedMode:mist.data.config.sessionUnspecifiedMode, -tknMode:mist.data.config.tknMode,sessionStreamInfoMode:mist.data.config.sessionStreamInfoMode,trustedproxy:mist.data.config.trustedproxy},ea={location:"location"in mist.data.config?mist.data.config.location:{}},E={limit:""};"bandwidth"in mist.data&&(E=mist.data.bandwidth,null==E&&(E={}),E.limit||(E.limit=""));var Ga=$("
").html($("").html($("").append($("");ma.html($("
").text("Variable")).append($("").text("Latest value")).append($("").text("Command")).append($("").text("Check interval")).append($("").text("Last checked")).append($("")))).append(b)); +x.text(c.length?c.join(", "):"None.")}else x.text("Loading..")};Da();Ea();UI.interval.set(Da,3E4);break;case "General":var M={serverid:mist.data.config.serverid,debug:mist.data.config.debug,accesslog:mist.data.config.accesslog,prometheus:mist.data.config.prometheus,defaultStream:mist.data.config.defaultStream,trustedproxy:mist.data.config.trustedproxy},N={sessionViewerMode:mist.data.config.sessionViewerMode,sessionInputMode:mist.data.config.sessionInputMode,sessionOutputMode:mist.data.config.sessionOutputMode, +sessionUnspecifiedMode:mist.data.config.sessionUnspecifiedMode,tknMode:mist.data.config.tknMode,sessionStreamInfoMode:mist.data.config.sessionStreamInfoMode},ea={location:"location"in mist.data.config?mist.data.config.location:{}},E={limit:""};"bandwidth"in mist.data&&(E=mist.data.bandwidth,null==E&&(E={}),E.limit||(E.limit=""));var Ga=$("
").html($("").html($("").append($("").addClass("variable").attr("data-name",c).html($("").addCla $("
").addClass("button_container").css("text-align","right").html($("
");na.html($("
").text("Variable")).append($("").text("Latest value")).append($("").text("Command")).append($("").text("Check interval")).append($("").text("Last checked")).append($("")))).append(b)); for(var c in a.variable_list){var d=a.variable_list[c];b.append($("
").text("$"+c)).append($("").html($("").text(typeof d=="string"?JSON.stringify(d):d[2]>0?JSON.stringify(d[3]):""))).append($("").text(typeof d=="string"?"":d[0])).append($("").html(typeof d=="string"?"Never":d[1]==0?"Once":UI.format.duration(d[1]))).append($("").attr("title",d[2]>0?typeof d=="string"?"":"At "+UI.format.dateTime(new Date(d[2]),"long"): "Not yet").html(typeof d=="string"?"":d[2]>0?UI.format.duration((new Date).getTime()*0.001-d[2])+" ago":"Not yet")).append($("").html($("
").html($("").html($("").append($("").addClass("uploader").attr("data-name",c).html($("").append($("").append("
").text("Name")).append($("").text("Command line")).append($("").text("URI protocols handled")).append($("")))).append(b));for(var c in a.external_writer_list){var d=a.external_writer_list[c]; b.append($("
").text(d[0])).append($("").html($("").html(d[1]))).append($("").text(d[2]?d[2].join(", "):"none").addClass("desc")).append($("").html($("
").attr("colspan",6).text("Loading.."));h=$("").html($("").html($("").html($("").data("index",c).html($("
").text("Stream name").attr("data-sort-type","string").addClass("sorting-asc")).append($("").text("Source").attr("data-sort-type","string")).append($("").text("Status").attr("data-sort-type","int")).append($("").css("text-align","right").text("Connections").attr("data-sort-type","int")).append($("")).append($("")))).append(i); @@ -150,24 +151,24 @@ j="";g.html("");r=""}i.append($("
").html(e).a 0||e.indexOf("Folder")>=0)&&mist.inputMatch(mist.data.capabilities.inputs[e].source_match,"/"+a.browse.files[g])){u[d+"+"+a.browse.files[g]]=true;f++;if(f>=500){u[d+"+zzzzzzzzz"]=true;break a}}}Na++;qa==Na&&mist.send(function(){for(var a in mist.data.active_streams){var c=mist.data.active_streams[a].split("+");if(c.length>1&&c[0]in mist.data.streams){u[mist.data.active_streams[a]]=true;C[mist.data.active_streams[a]]=oa(mist.data.active_streams[a],mist.data.streams[c[0]])}}u=Object.keys(u);u=u.concat(Object.keys(mist.data.streams)); u.sort();pa(b,u,Oa)},{active_streams:true})},{browse:mist.data.streams[g].source},{stream:g}),qa++;0==qa&&mist.send(function(){for(var a in mist.data.active_streams){var c=mist.data.active_streams[a].split("+");if(c.length>1&&c[0]in mist.data.streams){u[mist.data.active_streams[a]]=true;C[mist.data.active_streams[a]]=oa(mist.data.active_streams[a],mist.data.streams[c[0]])}}u=Object.keys(u);mist.data.streams&&(u=u.concat(Object.keys(mist.data.streams)));u.sort();pa(b,u)},{active_streams:!0})}else pa(b, Object.keys(mist.data.streams));break;case "Edit":if("undefined"==typeof mist.data.capabilities){mist.send(function(){UI.navto(a,b)},{capabilities:!0});c.append("Loading..");return}z=!1;""!=b&&(z=!0);if(z){var Pa=b,p=mist.data.streams[Pa];c.find("h2").append(' "'+Pa+'"')}else c.html($("

").text("New Stream")),p={};var Qa=[];for(q in mist.data.capabilities.inputs)Qa.push(mist.data.capabilities.inputs[q].source_match);var fa=$("
"),Ra=function(a){var c={};if(!mist.data.streams)mist.data.streams= -{};mist.data.streams[p.name]=p;b!=p.name&&delete mist.data.streams[b];c.addstream={};c.addstream[p.name]=p;if(b!=p.name)c.deletestream=[b];if(p.stop_sessions&&b!=""){c.stop_sessions=b;delete p.stop_sessions}mist.send(function(){delete mist.data.streams[p.name].online;delete mist.data.streams[p.name].error;UI.navto(a,a=="Preview"?p.name:"")},c)},Sa=$("