Subject: Re: 28.0.91; rcirc: irc.gnome reg timeout; reconnects after quit

From: Ken Raeburn <[email-masked]>
Date: Wed, 23 Feb 2022 07:03:50 -0500

FWIW, I'm hacking around the bug for now by advising a function, and it 
seems to be working for both irc.gnome.org and my company IRC server. So 
the trailing space may have been the only issue blocking registration 
completion.

(defun kr-munge-args--rcirc-handler-CAP (all-args)
   (let ((cap-args (nth 2 all-args)))
     (while cap-args
       (if (string-match " +$" (car cap-args))
       (setcar cap-args (substring (car cap-args)
                       0 (match-beginning 0))))
       (setq cap-args (cdr cap-args))))
   all-args)

(if (version= emacs-version "28.0.91")
     (advice-add 'rcirc-handler-CAP
         :filter-args #'kr-munge-args--rcirc-handler-CAP))

So, to recap:

1) trailing space in CAP reply breaks registration

2) /quit triggers reconnect (if reconnection enabled)

3) name resolution failure not reported, just a vague connection failure

The parallel connection management seems to work nicely. (I could wish 
for separate threads so that when, say, Gnus ties up the main thread for 
several minutes trying to connect to a server that's down, the IRC 
servers don't decide my client has stopped responding. At least, I would 
hope other threads can run at that point.) I'll see if I run into any 
other problems in the next few days...

Ken