unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
From: "J.P." <jp@neverwas.me>
To: 48598@debbugs.gnu.org
Cc: unhammer@fsfe.org, emacs-erc@gnu.org, bandali@gnu.org, ocert.dev@free.fr
Subject: bug#48598: 28.0.50; buffer-naming collisions involving bouncers in ERC
Date: Fri, 18 Jun 2021 20:04:20 -0700	[thread overview]
Message-ID: <87v96asggb.fsf__9392.76695005304$1624071921$gmane$org@neverwas.me> (raw)
In-Reply-To: <875yzakzvi.fsf@neverwas.me>

Hi,

This is update #2.

I've taken Olivier's suggestions to heart regarding up-front session
identifiers and have attempted to rework my changes around them [1].

This comes in the form of (yet) another keyword parameter to the `erc'
and `erc-tls' entry points. It's currently called :id, for lack of
imagination [2], and it can only be specified in lisp code (rather than
via M-x). When non-nil, it's stored as a symbol in a new session
variable called `erc-session-id'. This value takes precedence over
network display names and dialed/announced servers when identifying
connections and grouping buffers.

What remains are unambiguous, permanent associations completely
disinterested in other session properties, even those given as
authoritative by a remote service [3]. To opt in, a user need only avail
themselves of :id.

While the only concrete use case I've found for this so far is multiple
connections to the same network, providing full support across the board
ensures we leave a lifeline for folks with other edge cases. However,
for normal, everyday use, the interface remains unchanged, and there's
really no reason to take notice of this feature.

The general user experience has improved in terms of associations being
fortified with permanent network designations, meaning they survive
disconnection and decapitation (killing of a server buffer). Among other
things, this means reengaging someone in a reused query buffer is now
doable, assuming the other party is still around and hasn't changed
their nick [4]. Additionally, swapping out TCP endpoints (for example,
moving from proxy to direct connection) or being dealt a different
regional server by a network load balancer should no longer confuse ERC.
Buffers from previous sessions are found and reused.

I'd be happy to expand on anything above or explain any other changes in
detail [5]. If you can, please try these patches. And let me know if it
would make things easier to have the latest set present in thread as
attachments, which I'll gladly make happen [6].

Thanks,
J.P.


Notes
~~~~~

[1] About their other suggestion, which involved decoupling the means of
    connection from all protocol logic: I now feel pursuing that here,
    in this bug, strays too far off mission. It's quite an endeavor
    because it would mean touching everything everywhere, so it'll have
    to wait unless someone else wants to take up the call (in which
    case, by all means).

[2] Grepping the ERC libraries for \bid\b didn't return anything of
    note, so I figured it was free for the taking (suggestions welcome).

[3] IOW, you can sustain multiple simultaneous sessions to the same
    network using the same nick, if your network supports multiple
    client/device connections.

[4] As I've noted elsewhere, IRCv3 account tags and related features
    should improve the situation here.

[5] I've also attempted to unify the auth-source interface a bit. In
    doing so, I felt the need to include one of Olivier's patches,

    bug#46777: 28.0.50; ERC: NickServ identification: Prompt for
    password after other sources, overall simplifications:

    https://debbugs.gnu.org/cgi/bugreport.cgi?bug=46777

[6] My prior misgivings on that front were based on not wanting to
    further clutter people's inboxes and overburden gmane. However,
    these fears were probably misplaced. I've since found change sets of
    similar size (still under 1 MiB) that didn't seem to elicit much in
    the way of complaints.





  parent reply	other threads:[~2021-06-19  3:04 UTC|newest]

Thread overview: 51+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-05-23  1:22 28.0.50; buffer-naming collisions involving bouncers in ERC J.P.
2021-06-02 11:19 ` bug#48598: " J.P.
2021-06-09 14:36 ` Olivier Certner
2021-06-10 14:36   ` bug#48598: " J.P.
2021-06-19  3:04 ` J.P. [this message]
2021-06-25 13:18 ` J.P.
     [not found] ` <87r1gqaxqf.fsf@neverwas.me>
2021-06-28  7:58   ` Olivier Certner
2021-10-16 21:15   ` Daniel Fleischer
2021-10-16 23:21     ` J.P.
     [not found]     ` <87o87ofte1.fsf@neverwas.me>
2021-11-11  5:24       ` Lars Ingebrigtsen
     [not found]       ` <8735o39sdg.fsf@gnus.org>
2021-11-11 10:27         ` J.P.
     [not found]         ` <87pmr77zsa.fsf@neverwas.me>
2021-11-11 12:08           ` Lars Ingebrigtsen
     [not found]           ` <87a6ia7v47.fsf@gnus.org>
2021-11-11 15:13             ` J.P.
2021-09-04 16:46 ` bug#48598: Strange ERC/ZNC Bug/Problem acdw
2021-09-07 21:38 ` J.P.
2021-09-10 12:43 ` bug#48598: Duplicate messages from bouncers on 27 and earlier J.P.
2021-11-11 15:15 ` bug#48598: 28.0.50; buffer-naming collisions involving bouncers in ERC J.P.
2022-03-14 13:08 ` J.P.
2022-04-09 21:14 ` bug#48598: Questions regarding layout and composition of tests (bug#48598) J.P.
2022-04-09 21:22 ` bug#48598: Questions regarding auth-source integration (bug#48598) J.P.
     [not found] ` <87leweez89.fsf@neverwas.me>
2022-04-10 12:49   ` bug#48598: Questions regarding layout and composition of tests (bug#48598) Lars Ingebrigtsen
     [not found]   ` <87fsmlp0gy.fsf@gnus.org>
2022-04-11  7:59     ` bug#48598: 28.0.50; buffer-naming collisions involving bouncers in ERC Michael Albinus
     [not found]     ` <878rsc2gp5.fsf_-_@gmx.de>
2022-04-11 10:21       ` Lars Ingebrigtsen
     [not found]       ` <878rsbdipd.fsf@gnus.org>
2022-04-11 13:29         ` J.P.
2022-04-11 15:34           ` Lars Ingebrigtsen
2022-04-12  7:50           ` Michael Albinus
     [not found]           ` <87sfqi2119.fsf@gmx.de>
2022-04-15 13:02             ` J.P.
     [not found]             ` <87v8vah54l.fsf@neverwas.me>
2022-04-15 15:05               ` Michael Albinus
     [not found]               ` <87h76ucrq4.fsf@gmx.de>
2022-04-16  1:12                 ` J.P.
     [not found]                 ` <87h76tde5k.fsf@neverwas.me>
2022-04-17  8:25                   ` Michael Albinus
     [not found]                   ` <87czhgce1s.fsf@gmx.de>
2022-04-18 14:30                     ` J.P.
     [not found]                     ` <871qxucvls.fsf@neverwas.me>
2022-04-18 16:43                       ` Michael Albinus
     [not found]                       ` <87o80ybauv.fsf@gmx.de>
2022-04-21 13:28                         ` J.P.
     [not found]                         ` <87pmlao9ax.fsf@neverwas.me>
2022-04-22  8:54                           ` Michael Albinus
     [not found] ` <87bkxaeyuw.fsf@neverwas.me>
2022-04-18 13:26   ` bug#48598: Questions regarding auth-source integration (bug#48598) Damien Cassou
2022-04-18 14:24     ` J.P.
     [not found]     ` <87ee1ucvv3.fsf@neverwas.me>
2022-04-18 15:24       ` Damien Cassou
2022-04-18 16:52         ` Michael Albinus
     [not found]         ` <87k0bmbage.fsf@gmx.de>
2022-04-20 14:12           ` J.P.
     [not found]           ` <878rrz268v.fsf@neverwas.me>
2022-04-21  7:08             ` bug#48598: 28.0.50; buffer-naming collisions involving bouncers in ERC Michael Albinus
     [not found]             ` <87czha3oc5.fsf_-_@gmx.de>
2022-04-21 13:21               ` J.P.
     [not found]               ` <87v8v2o9l4.fsf@neverwas.me>
2022-04-22  9:29                 ` Michael Albinus
     [not found]                 ` <87k0bh31pt.fsf@gmx.de>
2022-04-22 14:24                   ` J.P.
     [not found]                   ` <8735i5nql8.fsf@neverwas.me>
2022-04-23  9:47                     ` Michael Albinus
     [not found]                     ` <87bkws2ksn.fsf@gmx.de>
2022-04-25 12:05                       ` J.P.
     [not found]                       ` <87czh5z7ui.fsf@neverwas.me>
2022-04-27 12:28                         ` Michael Albinus
     [not found]                         ` <874k2epv5n.fsf@gmx.de>
2022-04-28  8:08                           ` Michael Albinus
     [not found]                           ` <87levpmxz1.fsf@gmx.de>
2022-04-28  8:13                             ` Michael Albinus
2022-04-29 13:03                           ` J.P.
2022-05-25 19:29 ` J.P.
2022-05-26  5:17   ` J.P.

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='87v96asggb.fsf__9392.76695005304$1624071921$gmane$org@neverwas.me' \
    --to=jp@neverwas.me \
    --cc=48598@debbugs.gnu.org \
    --cc=bandali@gnu.org \
    --cc=emacs-erc@gnu.org \
    --cc=ocert.dev@free.fr \
    --cc=unhammer@fsfe.org \
    /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).