diff options
author | metamuffin <metamuffin@disroot.org> | 2025-05-21 18:41:16 +0200 |
---|---|---|
committer | metamuffin <metamuffin@disroot.org> | 2025-05-21 18:41:16 +0200 |
commit | 81b68b6cbb561e925488fe193172eff18bfe3031 (patch) | |
tree | fb2cb0070013ee2b42c570a9003f91fd397b26ec | |
parent | be7e08a3b891a28479af77dcf1d0e016fd9ff35f (diff) | |
download | isda-81b68b6cbb561e925488fe193172eff18bfe3031.tar isda-81b68b6cbb561e925488fe193172eff18bfe3031.tar.bz2 isda-81b68b6cbb561e925488fe193172eff18bfe3031.tar.zst |
prevent thousands of tasks being added through live update
-rw-r--r-- | src/webui_live.js | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/src/webui_live.js b/src/webui_live.js index 13df60d..a521f52 100644 --- a/src/webui_live.js +++ b/src/webui_live.js @@ -1,5 +1,7 @@ /// <reference lib="dom" /> +if (document.location.hash.includes("nows")) return + const ws = new WebSocket("/webui_ws") ws.onopen = () => console.log("ws open"); ws.onerror = () => console.warn("ws error"); @@ -24,7 +26,10 @@ ws.onmessage = ev => { if (e && e.parentElement == parent) e.outerHTML = u.html else { e?.remove() - parent.innerHTML += u.html + // prevent adding thousands of tasks + // TODO maybe do this server-sided + if (parent.children.length < 256) + parent.innerHTML += u.html } } else if (u.t == "remove_task") { document.getElementById(u.key)?.remove() |