about summary refs log tree commit diff
path: root/web
diff options
context:
space:
mode:
Diffstat (limited to 'web')
-rw-r--r--web/panettone/src/irc.lisp6
-rw-r--r--web/panettone/src/packages.lisp3
-rw-r--r--web/panettone/src/panettone.lisp9
-rw-r--r--web/panettone/test/irc_test.lisp5
4 files changed, 20 insertions, 3 deletions
diff --git a/web/panettone/src/irc.lisp b/web/panettone/src/irc.lisp
index f116e2a70631..2ab72a2e391e 100644
--- a/web/panettone/src/irc.lisp
+++ b/web/panettone/src/irc.lisp
@@ -2,6 +2,12 @@
 
 (in-package :panettone.irc)
 
+(defun noping (s)
+  (format nil "~A~A~A"
+          (char s 0)
+          #\ZERO_WIDTH_SPACE
+          (subseq s 1)))
+
 (defun get-irccat-config ()
   "Reads the IRCCATHOST and IRCCATPORT environment variables, and returns them
 as two values"
diff --git a/web/panettone/src/packages.lisp b/web/panettone/src/packages.lisp
index c5fe79b7bc81..3b6edcdd14e3 100644
--- a/web/panettone/src/packages.lisp
+++ b/web/panettone/src/packages.lisp
@@ -13,8 +13,9 @@
   (:export :render-inline-markdown))
 
 (defpackage panettone.irc
+  (:nicknames :irc)
   (:use :cl :usocket)
-  (:export :send-irc-notification))
+  (:export :noping :send-irc-notification))
 
 (defpackage :panettone.authentication
   (:nicknames :authn)
diff --git a/web/panettone/src/panettone.lisp b/web/panettone/src/panettone.lisp
index 6e43312327ea..c97a988404fa 100644
--- a/web/panettone/src/panettone.lisp
+++ b/web/panettone/src/panettone.lisp
@@ -460,7 +460,9 @@
         (send-irc-notification
          (format nil
                  "b/~A: \"~A\" opened by ~A - https://b.tvl.fyi/issues/~A"
-                 (id issue) subject (cn *user*)
+                 (id issue)
+                 subject
+                 (irc:noping (cn *user*))
                  (id issue))
          :channel (or (uiop:getenvp "ISSUECHANNEL")
                       "##tvl-dev"))
@@ -524,7 +526,10 @@
     (send-irc-notification
      (format nil
              "b/~A: \"~A\" closed by ~A - https://b.tvl.fyi/issues/~A"
-             id (subject issue) (cn *user*) id)
+             id
+             (subject issue)
+             (irc:noping (cn *user*))
+             id)
      :channel (or (uiop:getenvp "ISSUECHANNEL")
                   "##tvl-dev")))
   (hunchentoot:redirect (format nil "/issues/~A" id)))
diff --git a/web/panettone/test/irc_test.lisp b/web/panettone/test/irc_test.lisp
new file mode 100644
index 000000000000..0224836cbc32
--- /dev/null
+++ b/web/panettone/test/irc_test.lisp
@@ -0,0 +1,5 @@
+(in-package :panettone.tests)
+(declaim (optimize (safety 3)))
+
+(test noping-test
+  (is (not (equal "grfn" (panettone.irc:noping "grfn")))))