Skip to content

Commit dbd146d

Browse files
committed
Use a faster implementation to avoid crashes when reading a lot of data
1 parent b576cfd commit dbd146d

File tree

1 file changed

+10
-6
lines changed

1 file changed

+10
-6
lines changed

main.go

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -301,14 +301,18 @@ const homeTemplateHtml = `<!DOCTYPE html>
301301
302302
var socket;
303303
var msg = $("#msg");
304-
var log = $("#log");
304+
var log = document.getElementById('log');
305+
var messages = [];
305306
306307
function appendLog(msg) {
307-
var d = log[0]
308-
var doScroll = d.scrollTop == d.scrollHeight - d.clientHeight;
309-
msg.appendTo(log)
308+
messages.push(msg);
309+
if (messages.length > 100) {
310+
messages.shift();
311+
}
312+
var doScroll = log.scrollTop == log.scrollHeight - log.clientHeight;
313+
log.innerHTML = messages.join("<br>");
310314
if (doScroll) {
311-
d.scrollTop = d.scrollHeight - d.clientHeight;
315+
log.scrollTop = log.scrollHeight - log.clientHeight;
312316
}
313317
}
314318
@@ -334,7 +338,7 @@ const homeTemplateHtml = `<!DOCTYPE html>
334338
appendLog($("<div><b>Connection closed.</b></div>"))
335339
});
336340
socket.on("message", function(evt) {
337-
appendLog($("<div/>").text(evt))
341+
appendLog(evt);
338342
});
339343
} else {
340344
appendLog($("<div><b>Your browser does not support WebSockets.</b></div>"))

0 commit comments

Comments
 (0)