Path: csiph.com!fu-berlin.de!uni-berlin.de!not-for-mail From: Random832 Newsgroups: comp.lang.python Subject: Re: Threading is foobared? Date: Thu, 31 Mar 2016 01:25:51 -0400 Lines: 35 Message-ID: References: <56F7B5FA.4040002@timgolden.me.uk> <56FCACAE.3060405@msapiro.net> Mime-Version: 1.0 Content-Type: text/plain Content-Transfer-Encoding: 7bit X-Trace: news.uni-berlin.de qSxiWRFLW7/QiZPLQiJ3jwD/ZXKriIdhVQJQEU76QUXw== Return-Path: X-Original-To: python-list@python.org Delivered-To: python-list@mail.python.org X-Spam-Status: OK 0.006 X-Spam-Evidence: '*H*': 0.99; '*S*': 0.00; 'discard': 0.05; 'received:internal': 0.09; 'throw': 0.09; 'mailman': 0.10; 'headers': 0.15; 'thu,': 0.15; 'value.': 0.15; 'duplicates': 0.16; 'message-id:@webmail.messagingengine.com': 0.16; 'received:10.202': 0.16; 'received:10.202.2': 0.16; 'received:10.202.2.212': 0.16; 'received:66.111': 0.16; 'received:66.111.4': 0.16; 'received:io': 0.16; 'received:messagingengine.com': 0.16; 'received:psf.io': 0.16; 'rewriting': 0.16; 'rewritten': 0.16; 'specific,': 0.16; 'threading': 0.16; 'threading,': 0.16; 'usenet': 0.16; 'wrote:': 0.16; "wouldn't": 0.16; 'duplicate': 0.18; 'sapiro': 0.18; 'archive': 0.18; 'issue.': 0.20; 'fix': 0.21; 'posted': 0.21; 'work,': 0.21; '31,': 0.22; 'gateway': 0.22; 'noted': 0.22; 'ease': 0.23; 'references': 0.23; 'header:In-Reply-To:1': 0.24; 'header': 0.24; 'unique,': 0.29; "i'm": 0.30; 'field,': 0.30; 'posts': 0.30; 'putting': 0.30; 'post': 0.31; 'included': 0.32; 'maybe': 0.33; 'problem': 0.33; 'avoiding': 0.33; 'maintaining': 0.34; 'message-id:': 0.34; 'server': 0.34; 'lists': 0.34; 'list': 0.34; 'could': 0.35; 'done': 0.35; 'mapping': 0.35; 'replace': 0.35; 'something': 0.35; 'but': 0.36; 'too': 0.36; 'there': 0.36; '(and': 0.36; 'to:addr:python-list': 0.36; 'subject:?': 0.36; 'subject:: ': 0.37; 'received:10': 0.37; 'two': 0.37; 'missing': 0.37; 'itself': 0.38; 'received:66': 0.38; 'loss': 0.38; 'anything': 0.38; 'mean': 0.38; 'does': 0.39; "didn't": 0.39; 'enough': 0.39; 'rather': 0.39; 'to:addr:python.org': 0.40; 'mark': 0.40; 'chance': 0.60; 'skip:u 10': 0.61; 'header:Message- Id:1': 0.61; 'providing': 0.62; 'granted': 0.63; 'more': 0.63; 'complete': 0.63; 'mar': 0.65; "they're": 0.66; 'situation': 0.67; 'news': 0.68; 'groups.': 0.72; 'actually,': 0.84; 'that)': 0.84; 'outgoing': 0.91; 'clients,': 0.95 DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=fastmail.com; h= content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to:x-sasl-enc :x-sasl-enc; s=mesmtp; bh=Ns1K8V0FtKjVN4jHiJNM/6QJ3zo=; b=wnIS0+ 8DrYYpPPKUAZYy3ZUvlD7S//d6PPd+P2PHPiKU8UDzzb0v4KgbKCrj0VhAI3ll0H aa6zq8O87eFJNCXVdU1xVbxtIk8AstdUcxJl95RcoNCPUpOX6jlRi6D680TCA6Iw zQoSPYphTYN7tPhhN06+xu/UnogmFC5MpscP8= DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d= messagingengine.com; h=content-transfer-encoding:content-type :date:from:in-reply-to:message-id:mime-version:references :subject:to:x-sasl-enc:x-sasl-enc; s=smtpout; bh=Ns1K8V0FtKjVN4j HiJNM/6QJ3zo=; b=oUa44R/L8BGEeEN9DZ6ofQOyfuVDetUwW5lV49BwpmrM0Z8 yls6y7tFs13l00j6SIaFeRVcYUqJ4qCIx3S9Vg7CvBv4++waLZwUgF/EuQK64fc5 SMODl6UGC4ZlcVZgylzuZKXUTcolSd3ZtUfjOecosrnqPZlrAp0MQzqhnUR8= X-Sasl-Enc: wZKtYq9lqvfWB/4E8lk/3sxxFbS8Nj3/yyyFLL7nSc6R 1459401951 X-Mailer: MessagingEngine.com Webmail Interface - ajax-9aaf2efb In-Reply-To: <56FCACAE.3060405@msapiro.net> X-BeenThere: python-list@python.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: General discussion list for the Python programming language List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Xref: csiph.com comp.lang.python:106125 On Thu, Mar 31, 2016, at 00:50, Mark Sapiro wrote: > What Mailman does do as noted by Random832 is replace the Message-ID: > header value in posts gated to Usenet with a list specific, Mailman > generated unique value. There is a reason for this, and that reason is > if a message is cross-posted to two lists which both gateway to Usenet, > and Mailman didn't make the Message-IDs unique, the news server would > discard one of the two posts as a duplicate and the post would be > missing from one of the recipient Usenet groups. > > Granted that this is bad and breaks threading, but avoiding message loss > is a more important goal. > > I understand I'm not providing any solutions here, but perhaps a more > complete understanding of what the issues are will ease the pain. Any chance that it could fix reference headers to match? Actually, merely prepending the original Message-ID itself to the references header might be enough to change the reply's situation from "nephew" ("reply to [missing] sibling") to "grandchild" ("reply to [missing] reply"), which might be good enough to make threading work right on most clients, and would be *easy* (whereas maintaining an ongoing reversible mapping may not be). And if it's not too much additional work, maybe throw in an X-Mailman-Original-Message-ID (and -References if anything is done with that) field, so that the original state can be recovered. Rather than exclusively rewriting for usenet, maybe the rewritten headers could also be included in outgoing emails and the archive? Putting it in outgoing emails would solve the problem entirely, though it would mean people get duplicates if they're subscribed to multiple lists to which something is posted or get CC'd. The archive wouldn't have this issue.