From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: "J.P." Newsgroups: gmane.emacs.bugs Subject: bug#70928: 30.0.50; ERC 5.6: Reuse query buffers for round-trip nick changes in ERC Date: Tue, 28 May 2024 06:37:37 -0700 Message-ID: <87v82ynjku.fsf__16036.5019038849$1716903505$gmane$org@neverwas.me> References: <871q659pic.fsf@neverwas.me> <87plta1t45.fsf@neverwas.me> Mime-Version: 1.0 Content-Type: text/plain Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="36350"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Gnus/5.13 (Gnus v5.13) Cc: emacs-erc@gnu.org To: 70928-done@debbugs.gnu.org Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Tue May 28 15:38:16 2024 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1sBx1r-0009F2-JK for geb-bug-gnu-emacs@m.gmane-mx.org; Tue, 28 May 2024 15:38:16 +0200 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1sBx1b-0008Ga-QY; Tue, 28 May 2024 09:37:59 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1sBx1W-0008E6-Kh for bug-gnu-emacs@gnu.org; Tue, 28 May 2024 09:37:54 -0400 Original-Received: from debbugs.gnu.org ([2001:470:142:5::43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1sBx1W-0001km-Be for bug-gnu-emacs@gnu.org; Tue, 28 May 2024 09:37:54 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1sBx1e-0000mB-JD for bug-gnu-emacs@gnu.org; Tue, 28 May 2024 09:38:02 -0400 Resent-From: "J.P." Original-Sender: "Debbugs-submit" Resent-To: bug-gnu-emacs@gnu.org Resent-Date: Tue, 28 May 2024 13:38:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: cc-closed 70928 X-GNU-PR-Package: emacs Mail-Followup-To: 70928@debbugs.gnu.org, jp@neverwas.me, jp@neverwas.me Original-Received: via spool by 70928-done@debbugs.gnu.org id=D70928.17169034762962 (code D ref 70928); Tue, 28 May 2024 13:38:02 +0000 Original-Received: (at 70928-done) by debbugs.gnu.org; 28 May 2024 13:37:56 +0000 Original-Received: from localhost ([127.0.0.1]:45999 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1sBx1X-0000lf-Pe for submit@debbugs.gnu.org; Tue, 28 May 2024 09:37:56 -0400 Original-Received: from mail-108-mta196.mxroute.com ([136.175.108.196]:38309) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1sBx1W-0000lV-LV for 70928-done@debbugs.gnu.org; Tue, 28 May 2024 09:37:55 -0400 Original-Received: from filter006.mxroute.com ([136.175.111.3] filter006.mxroute.com) (Authenticated sender: mN4UYu2MZsgR) by mail-108-mta196.mxroute.com (ZoneMTA) with ESMTPSA id 18fbf6bbdd4000efce.001 for <70928-done@debbugs.gnu.org> (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384); Tue, 28 May 2024 13:37:40 +0000 X-Zone-Loop: 0dbafca03cacb79a3e6cbf8c062206de4a97e740bcf3 X-Originating-IP: [136.175.111.3] DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=neverwas.me ; s=x; h=Content-Type:MIME-Version:Message-ID:Date:References:In-Reply-To: Subject:Cc:To:From:Sender:Reply-To:Content-Transfer-Encoding:Content-ID: Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc :Resent-Message-ID:List-Id:List-Help:List-Unsubscribe:List-Subscribe: List-Post:List-Owner:List-Archive; bh=25YIG+8BLfYl0j/MDL8PHWkGWyUP53LiKCYOia5LEQo=; b=M26hLVIAj8MwTbgrYZEDAmeYvk hNyg2roQkDfNTPTTvVcbIKxNxRozYkkrnpgP3mLq9i0yD005C0zioVhxr9IkWKHwD3S+Mw8t8N8HC 2LGoQ6iR6RN/djhnVsbGrHtcFSdaJKUtCw+wC4XL+ktpx03K0/c8YSuZycnOg/kJRkLOKD3/smhHx UDtpVA16KXq7ywffRTz4+Q9CYhQOQoqkqWjHDIX0J1QXj3dU6VhRScsjsOUMk5yVsaOOOOe45sY3j wW2/tys1k5fSFS2BPX8gIS7b0cTnxhkj3Fd4ZwAMvcCEtmGYgbOI5H/hckR7PzAKDaXwI+g5RmxyJ Ixk6x8rw==; In-Reply-To: <87plta1t45.fsf@neverwas.me> (J. P.'s message of "Fri, 24 May 2024 20:13:30 -0700") X-Authenticated-Id: masked@neverwas.me X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Original-Sender: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Xref: news.gmane.io gmane.emacs.bugs:286088 Archived-At: "J.P." writes: > Here's how I imagine things working in a saner ERC: > > - A user's presence in a channel will dictate whether they exist in > the server buffer's `erc-server-users' table. > > - Issuing a /query will create a user entry in the query buffer's > `erc-channel-members' table if they exist in the server-wide table > (meaning they're present in some channel). > > - Users parting or being kicked from a channel will see their data > removed from all query tables (and the server table) if they're no > longer joined to any other channels. > > - Insertion hooks running in query buffers can always expect to see a > speaker's user's in its `erc-channel-members' table. If they're > absent, a temporary user will be created for the duration of > response handling. > > - A new, optional module will be added to mimic the effect of the > Monitor extension and to serve as a fallback after ERC adds support > (see bug#49860). When it's active, users in queries who aren't also > in a channel will be periodically polled for and kept up to date. > > - A client's own user for its current nick will be absent in all query > tables but present, once discovered, in the server-wide table for > the remainder of the session. > > The attached patches attempt to implement the proposed changes. Comments > welcome. I've installed these changes as 75aefe65148 * Reuse old query buffers for reassumed nicks in ERC 04477cf97be * Tether query rolls to channel membership in ERC 5f84213c980 * Retain client's own user in erc-server-users 6888bbbe832 * Add ERC module querypoll as monitor placeholder Thanks and closing (for now).