From f9e03e48ff55bfbe5f43720cedbea430eece4687 Mon Sep 17 00:00:00 2001
From: Randy Sommerfeld <cyan@synchro.net>
Date: Sat, 19 Jun 2021 03:55:57 +0700
Subject: [PATCH] Improve TS handling in SJOIN

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

diff --git a/exec/load/ircd/server.js b/exec/load/ircd/server.js
index f3eac8c13f..962079ce68 100644
--- a/exec/load/ircd/server.js
+++ b/exec/load/ircd/server.js
@@ -895,6 +895,9 @@ function Server_Work(cmdline) {
 		if (!p[1] || p[1][0] != "#")
 			break;
 
+		if (!this.hub)
+			p[0] = Epoch();
+
 		tmp = Channels[p[1].toUpperCase()];
 		if (!tmp) {
 			Channels[p[1].toUpperCase()] = new Channel(p[1].toUpperCase());
@@ -907,7 +910,7 @@ function Server_Work(cmdline) {
 			this.set_chanmode(
 				tmp, /* Channel object */
 				p.splice(2,p.length-4).join(" "), /* Channel mode */
-				(tmp.created == parseInt(p[0])) ? false : true /* TS */
+				(tmp.created <= parseInt(p[0])) ? false : true /* TS */
 			);
 
 			j = p[p.length-1].split(" "); /* Channel members */
-- 
GitLab