From d9f06a50de5977effe86f8bbc4a37ac44e7487d6 Mon Sep 17 00:00:00 2001 From: calzoneman Date: Thu, 4 Jun 2015 00:57:51 -0400 Subject: [PATCH] Fix 484 --- www/js/data.js | 1 + www/js/util.js | 17 +++++++++++++---- 2 files changed, 14 insertions(+), 4 deletions(-) diff --git a/www/js/data.js b/www/js/data.js index 9076a31b..f3fa0945 100644 --- a/www/js/data.js +++ b/www/js/data.js @@ -43,6 +43,7 @@ var IGNORED = []; var CHATHIST = []; var CHATHISTIDX = 0; var CHATTHROTTLE = false; +var CHATMAXSIZE = 100; var SCROLLCHAT = true; var LASTCHAT = { name: "" diff --git a/www/js/util.js b/www/js/util.js index 761c4552..79004f8e 100644 --- a/www/js/util.js +++ b/www/js/util.js @@ -1490,10 +1490,7 @@ function addChatMessage(data) { div.mouseleave(function() { $(".nick-hover").removeClass("nick-hover"); }); - // Cap chatbox at most recent 100 messages - if($("#messagebuffer").children().length > 100) { - $($("#messagebuffer").children()[0]).remove(); - } + trimChatBuffer(); if(SCROLLCHAT) scrollChat(); @@ -1509,6 +1506,18 @@ function addChatMessage(data) { } +function trimChatBuffer() { + var maxSize = window.CHATMAXSIZE; + if (!maxSize || typeof maxSize !== "number") + maxSize = parseInt(maxSize || 100, 10) || 100; + var buffer = document.getElementById("messagebuffer"); + var count = buffer.childNodes.length - maxSize; + + for (var i = 0; i < count; i++) { + buffer.firstChild.remove(); + } +} + function pingMessage(isHighlight) { if (!FOCUSED) { if (!TITLE_BLINK && (USEROPTS.blink_title === "always" ||