unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
From: Manphiz <manphiz@gmail.com>
To: Stefan Kangas <stefankangas@gmail.com>, 65882@debbugs.gnu.org
Subject: bug#65882: 29.1; rcirc doesn't rejoin channels automatically on reconnecting
Date: Thu, 14 Sep 2023 15:57:02 -0700	[thread overview]
Message-ID: <87a5tobby9.fsf@debian-hx90.lan> (raw)
In-Reply-To: <87bke85hsb.fsf@gmail.com>

Manphiz <manphiz@gmail.com> writes:

> I have a setting of rcirc that automatically authenticates to NickServ
> and automatically join a list of channels[1].  This works when
> connecting to the servers for the first time.  However, when it gets
> disconnected from the servers (e.g. due to network issues) and
> reconnecting, it can still auto-authenticate, but won't rejoin the
> channels automatically again.
>
> After some debugging, it turns out that the first time it authenticates
> successfully, it will set rcirc-user-authenticated to `t'[2].  When
> reconnecting, it will check whether the user is authenticated and only
> run the rcirc-authenticated-hook if not[3].  As
> rcirc-user-authenticateed will be `t' after the first time, the hook
> won't be processed again and hence preventing from rejoining the
> channels.
>
> I have tested a patch that resets rcirc-user-authenticated to `nil' that
> fixes this issue (tested on 28.2 and 29.1), which is attached inline below.
>
> [1] https://gitlab.com/xiyueden/emacs.d/-/blob/master/init.el?ref_type=heads#L224-272
> [2] https://git.savannah.gnu.org/cgit/emacs.git/tree/lisp/net/rcirc.el#n3343
> [3] https://git.savannah.gnu.org/cgit/emacs.git/tree/lisp/net/rcirc.el#n3320
>
>
> diff --git a/lisp/net/rcirc.el b/lisp/net/rcirc.el
> index 1ddffe8dec9..b293a4a442f 100644
> --- a/lisp/net/rcirc.el
> +++ b/lisp/net/rcirc.el
> @@ -859,6 +859,7 @@ If QUIET is non-nil, no not emit a message."
>        (if (rcirc--connection-open-p process)
>            (throw 'exit (or quiet (message "Server process is alive")))
>          (delete-process process))
> +      (setq rcirc-user-authenticated nil)
>        (let ((conn-info rcirc-connection-info))
>          (setf (nth 5 conn-info)
>                (cl-remove-if-not #'rcirc-channel-p
>

Hi Stefan,

I noticed that you lowered the severity of this bug from "normal" to
"wishlist".  AIUI rcirc provides a way to automatically join channels
upon connecting to a server and currently this is not working as
intended, so IMHO it should be considered a bug instead of a feature
request (a wishlist).  (If you are using severity as a means to manage
bug triage priority I'm OK with that.)

Personally, as the patch is sufficiently trivial, I would hope it won't
take too much work for a review.  But I would understand if dealing with
rcirc-user-authenticated is more involved than it looks like and should
be handled with care.

Thanks!
--
Manphiz





  reply	other threads:[~2023-09-14 22:57 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-09-12  0:58 bug#65882: 29.1; rcirc doesn't rejoin channels automatically on reconnecting Manphiz
2023-09-14 22:57 ` Manphiz [this message]
2023-09-15  2:27   ` Stefan Kangas
2023-09-15  5:30     ` Manphiz
2023-09-15  7:50       ` Philip Kaludercic
2023-09-15  8:15         ` Manphiz
2023-09-21 15:00         ` Manphiz
2023-09-21 16:27           ` Philip Kaludercic
2023-09-21 16:57             ` Manphiz
2023-09-22  8:23               ` Philip Kaludercic
2023-09-22  8:46                 ` Stefan Kangas
2023-09-22 21:37                   ` Manphiz
2023-09-23 11:41                     ` Stefan Kangas
2023-09-23 12:43                       ` Philip Kaludercic
2023-09-23 22:34                         ` Manphiz
2023-09-14 22:57 ` Manphiz

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.gnu.org/software/emacs/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87a5tobby9.fsf@debian-hx90.lan \
    --to=manphiz@gmail.com \
    --cc=65882@debbugs.gnu.org \
    --cc=stefankangas@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).