From 2bc89a6655ab75e8e18cc968e7e586658907ce08 Mon Sep 17 00:00:00 2001 From: Simon Ser Date: Fri, 28 May 2021 15:51:39 +0200 Subject: [PATCH] =?UTF-8?q?Filter=20out=20PART=20=E2=86=92=20JOIN=20pairs?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- components/buffer.js | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/components/buffer.js b/components/buffer.js index 7eb6f24..adb2075 100644 --- a/components/buffer.js +++ b/components/buffer.js @@ -296,6 +296,23 @@ export default class Buffer extends Component { `; } function createFoldGroup(msgs) { + // Filter out PART → JOIN pairs + var partIndexes = new Map(); + var keep = []; + msgs.forEach((msg, i) => { + if (msg.command === "PART" || msg.command === "QUIT") { + partIndexes.set(msg.prefix.name, i); + } + if (msg.command === "JOIN" && partIndexes.has(msg.prefix.name)) { + keep[partIndexes.get(msg.prefix.name)] = false; + partIndexes.delete(msg.prefix.name); + keep.push(false); + } else { + keep.push(true); + } + }); + msgs = msgs.filter((msg, i) => keep[i]); + if (msgs.length === 0) { return null; } else if (msgs.length === 1) {