From bf8a557b3c582da31d4f6f1275f21d7395d35d7f Mon Sep 17 00:00:00 2001
From: Randy Sommerfeld <cyan@synchro.net>
Date: Thu, 19 Oct 2023 14:17:41 +0700
Subject: [PATCH] Detect if SJOIN is empty post-processing

---
 exec/load/ircd/server.js | 14 ++++++++++++++
 1 file changed, 14 insertions(+)

diff --git a/exec/load/ircd/server.js b/exec/load/ircd/server.js
index 694a7a3a95..6d0ca73e77 100644
--- a/exec/load/ircd/server.js
+++ b/exec/load/ircd/server.js
@@ -1004,6 +1004,20 @@ function Server_Work(cmdline) {
 				);
 			}
 
+			j = 0;
+			for (i in tmp.users) {
+				j++;
+			}
+			if (j == 0) {
+				umode_notice(USERMODE_OPER,"Notice",format(
+					"Server %s trying to SJOIN zero-member channel %s post-processing.",
+						this.nick,
+						tmp.nam
+				));
+				delete Channels[p[1].toUpperCase()];
+				break;
+			}
+
 			if (tmp.created > parseInt(p[0]))
 				tmp.created = parseInt(p[0]);
 
-- 
GitLab