From 0af8e7415ec5b52bc08eb6fe6abbbeb4b9b207e0 Mon Sep 17 00:00:00 2001 From: EuAndreh Date: Sun, 26 Apr 2026 17:59:08 -0300 Subject: Normalize channel handles to lowercase in JOIN Joining #Foo and #foo now refer to the same channel, matching IRC casemapping (we advertise CASEMAPPING=ascii). The normalized name is what gets stored in the in-memory state and emitted in the JOIN broadcast. --- src/papod.clj | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'src') diff --git a/src/papod.clj b/src/papod.clj index 14957eb..d0c49cc 100644 --- a/src/papod.clj +++ b/src/papod.clj @@ -2170,8 +2170,10 @@ (defn- join-one! ([handle client components] (join-one! handle nil client components)) - ([handle key-arg client components] - (let [{:keys [conn clients channels]} components + ([raw-handle key-arg client components] + (let [handle (when raw-handle + (string/lower-case raw-handle)) + {:keys [conn clients channels]} components nick (client-target client) modes (chan-modes-for components handle) existing? (and channels (seq (get @channels handle))) -- cgit v1.3