📜 Makes websocket send logs

This commit is contained in:
Rune Harlyk
2024-02-05 21:03:41 +01:00
parent f49bc5a9e6
commit 7f70b84f37
+13 -7
View File
@@ -23,7 +23,7 @@ function createNewClientState() {
return { return {
model: JSON.parse(JSON.stringify(model)), model: JSON.parse(JSON.stringify(model)),
settings: JSON.parse(JSON.stringify(settings)), settings: JSON.parse(JSON.stringify(settings)),
logs: [...logs], logs: JSON.parse(JSON.stringify(logs)),
subscriptions: {}, subscriptions: {},
}; };
} }
@@ -52,6 +52,12 @@ const sendUpdateToSubscribers = (category, data) => {
} }
}; };
if (!Array.prototype.last){
Array.prototype.last = function(){
return this[this.length - 1];
};
};
const model = { const model = {
battery: { battery: {
voltage: randomFloatFromInterval(7.6, 8.2), voltage: randomFloatFromInterval(7.6, 8.2),
@@ -96,10 +102,10 @@ const settings = {
}; };
const logs = [ const logs = [
"Booting up", "[2023-02-05 10:00:00] [verbose] Booting up",
"Starting webserver", "[2023-02-05 10:00:10] [verbose] Starting webserver",
"Loading setting", "[2023-02-05 10:00:20] [verbose] Loading setting",
"Connected to Rune private network", "[2023-02-05 10:00:30] [verbose] Connected to Rune private network",
]; ];
const system = { const system = {
@@ -260,8 +266,8 @@ wss.on("connection", (ws) => {
ws.send(JSON.stringify({ angles: model.servos.angles })); ws.send(JSON.stringify({ angles: model.servos.angles }));
} }
break; break;
case "system/log": case "system/logs":
ws.send(JSON.stringify(logs)); ws.send(JSON.stringify({ type: "logs", logs:ws.clientState.logs }));
break; break;
case "system/info": case "system/info":
ws.send(JSON.stringify(updateSystem())); ws.send(JSON.stringify(updateSystem()));