From 4643c55270b5fee79c1bc6f76a896f29950a18a3 Mon Sep 17 00:00:00 2001 From: Mystikfluu Date: Sat, 19 Nov 2022 17:38:12 +0100 Subject: [PATCH] small quality control --- js/extend_key.js | 1 + js/posts.js | 4 ++-- js/search.js | 2 +- js/settings.js | 55 +++++++++++++++++++++++----------------------- routes/api/post.js | 2 +- server.js | 17 +++++++------- 6 files changed, 41 insertions(+), 40 deletions(-) diff --git a/js/extend_key.js b/js/extend_key.js index 789b13e..3cdaf65 100644 --- a/js/extend_key.js +++ b/js/extend_key.js @@ -1,3 +1,4 @@ +// skipqc var sha256=function a(b){function c(a,b){return a>>>b|a<<32-b}for(var d,e,f=Math.pow,g=f(2,32),h="length",i="",j=[],k=8*b[h],l=a.h=a.h||[],m=a.k=a.k||[],n=m[h],o={},p=2;n<64;p++)if(!o[p]){for(d=0;d<313;d+=p)o[d]=p;l[n]=f(p,.5)*g|0,m[n++]=f(p,1/3)*g|0}for(b+="\x80";b[h]%64-56;)b+="\x00";for(d=0;d>8)return;j[d>>2]|=e<<(3-d)%4*8}for(j[j[h]]=k/g|0,j[j[h]]=k,e=0;e>>3)+q[d-7]+(c(t,17)^c(t,19)^t>>>10)|0),x=(c(u,2)^c(u,13)^c(u,22))+(u&l[1]^u&l[2]^l[1]&l[2]);l=[w+x|0].concat(l),l[4]=l[4]+w|0}for(d=0;d<8;d++)l[d]=l[d]+r[d]|0}for(d=0;d<8;d++)for(e=3;e+1;e--){var y=l[d]>>8*e&255;i+=(y<16?0:"")+y.toString(16)}return i}; function hash(str,salt,num) { diff --git a/js/posts.js b/js/posts.js index 264d8e0..11da56a 100644 --- a/js/posts.js +++ b/js/posts.js @@ -495,8 +495,8 @@ function switchChannel(channelname) { switchChannel(channelname) main() - let settings = await (await fetch("/api/settings")).json() - console.log(settings) + let settings = await (await fetch("/api/settings")).json() // skipqc + console.log(settings) // skipqc if(settings != "null") { if(settings.ACCR == false) { unreply() diff --git a/js/search.js b/js/search.js index 48877e2..145ebc5 100644 --- a/js/search.js +++ b/js/search.js @@ -74,7 +74,7 @@ function createPost(username,text,time,specialtext,postid) { newP.appendChild(newSpan3) newDiv.appendChild(newP) - newDiv.innerHTML += filterPost(text) + newDiv.innerHTML += filterPost(text) // skipqc newDiv.id = postid document.getElementById("output").appendChild(newDiv) } diff --git a/js/settings.js b/js/settings.js index 6c8f033..0e7b0bb 100644 --- a/js/settings.js +++ b/js/settings.js @@ -1,4 +1,21 @@ - function uploadFile() { +function completeHandler(event) { + console.log("completed upload"); + console.log(event.target.responseText); + setuser() // skipqc +} + +function errorHandler(event) { + console.log("error during upload"); + console.log(event.target.responseText); +} + +function progressHandler(event) { + console.log("progressing upload"); + console.log("Uploaded " + event.loaded + " bytes of " + event.total); + console.log(event.target.responseText); +} + +function uploadFile() { let file = document.getElementById("avatarUpl").files[0]; console.log(file); let formdata = new FormData(); @@ -14,23 +31,6 @@ document.getElementById("avatarUplButton").style = "display:none;"; } -function completeHandler(event) { - console.log("completed upload"); - console.log(event.target.responseText); - setuser() -} - -function errorHandler(event) { - console.log("error during upload"); - console.log(event.target.responseText); -} - -function progressHandler(event) { - console.log("progressing upload"); - console.log("Uploaded " + event.loaded + " bytes of " + event.total); - console.log(event.target.responseText); -} - function getCookie(cname) { let name = cname + "="; let decodedCookie = decodeURIComponent(document.cookie); @@ -89,6 +89,13 @@ async function setuser() { document.getElementById("avatarUplButton").addEventListener("click",uploadFile); } +async function sendBio(str) { + if(document.getElementById("bio").placeholder != str && str != "") { + document.getElementById("bio").placeholder = str + return await post("/api/setBio",{"Bio":str}) // skipqc + } +} + async function bioChanger() { document.getElementById("bio").disabled = !document.getElementById("bio").disabled document.getElementById("changeBio").innerText = (document.getElementById("bio").disabled && "Change Bio") || "Submit" @@ -103,17 +110,10 @@ async function bioChanger() { } } -async function sendBio(str) { - if(document.getElementById("bio").placeholder != str && str != "") { - document.getElementById("bio").placeholder = str - return await post("/api/setBio",{"Bio":str}) - } -} - async function changePW() { if(window.confirm("Are you sure that you want to change your Password?")){ - let re = await (await post("/api/changePW",{"currentPW":document.getElementById("currentPW_pw").value,"newPW":document.getElementById("newPW").value})).json() + let re = await (await post("/api/changePW",{"currentPW":document.getElementById("currentPW_pw").value,"newPW":document.getElementById("newPW").value})).json() // skipqc document.getElementById("response_pw").innerText = re["error"] || re["success"] document.getElementById("response_pw").style="color:green" if(re["error"]) { @@ -128,6 +128,7 @@ async function changePW() { async function changeUsername() { if(window.confirm("Are you sure that you want to change your Username?")){ + // skipqc let re = await (await post("/api/changeUsername",{"currentPW":document.getElementById("currentPW_us").value.toString(),"newUsername":document.getElementById("newUsername").value})).json() document.getElementById("response_us").innerText = re["error"] || re["success"] document.getElementById("response_us").style="color:green" @@ -145,7 +146,7 @@ async function setAllowCCR() { const ACCR = document.getElementById("ACCR_checkbox").checked const settingname = "ACCR" //Allow Cross-Channel reply (see #22 ) - let r = await(await post("/api/settings",{setting: settingname, value: ACCR})).json() + let r = await(await post("/api/settings",{setting: settingname, value: ACCR})).json() // skipqc if(r.status == "error") { alert("Couldn't change setting") diff --git a/routes/api/post.js b/routes/api/post.js index c9d1818..a57ca36 100644 --- a/routes/api/post.js +++ b/routes/api/post.js @@ -52,7 +52,7 @@ export const setup = function (router, con, server) { reply_id = req.body.reply_id; } if(typeof reply_id == "string") { - reply_id = parseInt(reply_id) + reply_id = parseInt(reply_id,10) if(isNaN(reply_id)) { res.status(414) res.json({ "error": "no valid reply id given" }); diff --git a/server.js b/server.js index e708092..88b6cca 100644 --- a/server.js +++ b/server.js @@ -886,23 +886,26 @@ const load_var_cache = new LRU({ updateAgeOnHas: true }) +import {minify as min_js} from "uglify-js" +import Clean from 'clean-css'; +import Minifier from 'html-minifier-terser'; + function load_var(fina) { if(load_var_cache.get(fina))return load_var_cache.get(fina) if(!existsSync(fina)) { console.log(1,"tried loading non-existent file",fina) + load_var_cache.set(fina,"") return ""; } let out = readFileSync(fina) if(fina.endsWith(".js")) { - return min_js(out.toString()).code + out = min_js(out.toString()).code } - - if(fina.endsWith(".css")) { + else if(fina.endsWith(".css")) { const { styles, - errors, } = new Clean({}).minify(out.toString()); - return styles + out = styles } load_var_cache.set(fina,out) @@ -910,10 +913,6 @@ function load_var(fina) { return out } -import {minify as min_js} from "uglify-js" -import Clean from 'clean-css'; -import Minifier from 'html-minifier-terser'; - function get_channels(){ return new Promise(function(resolve, reject) { let sql = `select post_receiver_name from ipost.posts where post_is_private = '0' group by post_receiver_name;`;