aboutsummaryrefslogtreecommitdiff
path: root/web/script/log_stream.ts
blob: 053c110a30d2f045712c27f201e2bff4ba768851 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
/*
    This file is part of jellything (https://codeberg.org/metamuffin/jellything)
    which is licensed under the GNU Affero General Public License (version 3); see /COPYING.
    Copyright (C) 2025 metamuffin <metamuffin.org>
*/
/// <reference lib="dom" />
globalThis.addEventListener("DOMContentLoaded", () => {
    if (!document.body.classList.contains("admin_log")) return
    const log = document.getElementById("log")!

    const warnonly = new URL(globalThis.location.href).searchParams.get("warnonly") == "true"
    const ws = new WebSocket(`/admin/log?stream&warnonly=${warnonly}&html=true`)
    ws.onopen = () => console.log("live log connected");
    ws.onclose = () => console.log("live log disconnected");
    ws.onerror = e => console.log(`live log ws error: ${e}`);

    ws.onmessage = msg => {
        log.children[0].children[0].innerHTML += msg.data
        while (log.children[0].children[0].children.length > 1024)
            log.children[0].children[0].children[0].remove()
    }
})