diff --git a/js/dms.js b/js/dms.js index 6886d1c..2dfa5aa 100644 --- a/js/dms.js +++ b/js/dms.js @@ -35,7 +35,7 @@ socket.addEventListener("message", async function (event) { } } }) -var posting_id = undefined; + var cd = true //inversed "cooldown" let encryption_keys = "" @@ -57,7 +57,7 @@ function set_keys(s_key) { main() } -async function postMessage() { +async function postMessage(elem) { let len = document.getElementById("post-text").value.length if(len >= 1001) { alert(`Your message cant contain more than 1000 characters! (${len})`) @@ -107,8 +107,6 @@ async function update_pid() { console.log("Updated pid",posting_id) } -document.getElementById("post-btn").addEventListener("click",postMessage) - function spacerTextNode() { return document.createTextNode(" | ") } diff --git a/js/posts.js b/js/posts.js index 08c33d8..d92798c 100644 --- a/js/posts.js +++ b/js/posts.js @@ -35,7 +35,7 @@ socket.addEventListener("message", async function (event) { } } }) -var posting_id = undefined; + var cd = true //inversed "cooldown" async function postMessage() { @@ -80,8 +80,6 @@ async function update_pid() { console.log("Updated pid",posting_id) } -document.getElementById("post-btn").addEventListener("click",postMessage) - function spacerTextNode() { return document.createTextNode(" | ") } diff --git a/routes/api/dms/post.js b/routes/api/dms/post.js index ed68448..48666bc 100644 --- a/routes/api/dms/post.js +++ b/routes/api/dms/post.js @@ -1,18 +1,24 @@ import xor from "../../../extra_modules/xor.js"; export const setup = function (router, con, server) { const PIDS = {}; //[pid]: true/"already_used" - router.get("/api/dms/pid", async function (req, res) { - res.set("Access-Control-Allow-Origin", "*"); + + function createPID(){ let pid = server.genstring(10); //collision chance is low enough, but we'll check anyways while (PIDS[pid] != undefined) { pid = server.genstring(10); console.log(5, "pid collision"); } PIDS[pid] = true; - setTimeout(function () { + setTimeout(function() { PIDS[pid] = undefined; }, 40000); - res.json({ "pid": pid }); + return pid + } + + + router.get("/api/dms/pid", async function (req, res) { + res.set("Access-Control-Allow-Origin", "*"); + res.json({ "pid": createPID() }); }); router.post("/api/dms/post", async function (req, res) { if (!req.body.message) { @@ -90,6 +96,7 @@ export const setup = function (router, con, server) { console.log(5, `posted new dm by ${res.locals.username} to ${otherperson} : ${xor(encodeURIComponent(res.locals.username), otherperson)}`); }); }); + return createPID }; export default { setup diff --git a/routes/api/post.js b/routes/api/post.js index 0b71efe..6dce3e9 100644 --- a/routes/api/post.js +++ b/routes/api/post.js @@ -1,7 +1,7 @@ export const setup = function (router, con, server) { const PIDS = {}; //[pid]: true/"already_used" - router.get("/api/pid", async function (req, res) { - res.set("Access-Control-Allow-Origin", "*"); + + function createPID(){ let pid = server.genstring(10); //collision chance is low enough, but we'll check anyways while (PIDS[pid] != undefined) { pid = server.genstring(10); @@ -11,7 +11,12 @@ export const setup = function (router, con, server) { setTimeout(function() { PIDS[pid] = undefined; }, 40000); - res.json({ "pid": pid }); + return pid + } + + router.get("/api/pid", async function (req, res) { + res.set("Access-Control-Allow-Origin", "*"); + res.json({ "pid": createPID() }); }); router.post("/api/post", async function (req, res) { if (!req.body.message) { @@ -87,6 +92,7 @@ export const setup = function (router, con, server) { console.log(5, `posted new message by ${res.locals.username} : ${req.body.message}`); }); }); + return createPID }; export default { setup diff --git a/server.js b/server.js index ecf9ea3..0813ff5 100644 --- a/server.js +++ b/server.js @@ -431,9 +431,9 @@ var commonfunctions = { optionssetup(router, con, commonfunctions); allsetup(router, con, commonfunctions); settingshandlersetup(router, con, commonfunctions); -postsetup(router, con, commonfunctions); +const get_pid = postsetup(router, con, commonfunctions); dmsPersonalMessagessetup(router, con, commonfunctions); -dmspostsetup(router, con, commonfunctions); +const get_dmpid = dmspostsetup(router, con, commonfunctions); // const toLoad = [ // "api/options.js", // "api/all.js", @@ -874,7 +874,9 @@ let global_page_variables = { htmlescapejs: load_var("./js/htmlescape.js"), warnmessagejs: load_var("./js/warn_message.js"), loadfile: load_var, - getChannels: get_channels + getChannels: get_channels, + getPID: get_pid, + getDMPID: get_dmpid } router.get("/*", async function(request, response) { diff --git a/views/dms.html b/views/dms.html index 26f0734..6480e49 100644 --- a/views/dms.html +++ b/views/dms.html @@ -16,6 +16,7 @@ +
<%- navbar %> @@ -36,7 +37,7 @@