From 9d7ad7a902d4d327534c519d54bc4987a06b671b Mon Sep 17 00:00:00 2001 From: Jani Nikula Date: Mon, 28 Jan 2013 16:13:19 +0100 Subject: [PATCH] Re: Reply all - issue --- 15/91430e21379542f47cc7e63dd782dcd27071f8 | 131 ++++++++++++++++++++++ 1 file changed, 131 insertions(+) create mode 100644 15/91430e21379542f47cc7e63dd782dcd27071f8 diff --git a/15/91430e21379542f47cc7e63dd782dcd27071f8 b/15/91430e21379542f47cc7e63dd782dcd27071f8 new file mode 100644 index 000000000..17bb4e9cc --- /dev/null +++ b/15/91430e21379542f47cc7e63dd782dcd27071f8 @@ -0,0 +1,131 @@ +Return-Path: +X-Original-To: notmuch@notmuchmail.org +Delivered-To: notmuch@notmuchmail.org +Received: from localhost (localhost [127.0.0.1]) + by olra.theworths.org (Postfix) with ESMTP id C8917431FAF + for ; Mon, 28 Jan 2013 07:13:33 -0800 (PST) +X-Virus-Scanned: Debian amavisd-new at olra.theworths.org +X-Spam-Flag: NO +X-Spam-Score: -0.7 +X-Spam-Level: +X-Spam-Status: No, score=-0.7 tagged_above=-999 required=5 + tests=[RCVD_IN_DNSWL_LOW=-0.7] autolearn=disabled +Received: from olra.theworths.org ([127.0.0.1]) + by localhost (olra.theworths.org [127.0.0.1]) (amavisd-new, port 10024) + with ESMTP id wCkzBoGJO-Dn for ; + Mon, 28 Jan 2013 07:13:33 -0800 (PST) +Received: from mail-bk0-f44.google.com (mail-bk0-f44.google.com + [209.85.214.44]) (using TLSv1 with cipher RC4-SHA (128/128 bits)) + (No client certificate requested) + by olra.theworths.org (Postfix) with ESMTPS id C3DD8431FAE + for ; Mon, 28 Jan 2013 07:13:32 -0800 (PST) +Received: by mail-bk0-f44.google.com with SMTP id j4so1402833bkw.17 + for ; Mon, 28 Jan 2013 07:13:30 -0800 (PST) +X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; + d=google.com; s=20120113; + h=x-received:from:to:subject:in-reply-to:references:user-agent:date + :message-id:mime-version:content-type:x-gm-message-state; + bh=Zd8xAeNCq1DsVm+H8MPBCA1HQCjWmF9AF33ZVEdpQbk=; + b=jBb9oQLYjn8hI4xYSrh0ZtYrg0CuICYpkryiPTBcxqJsyjkk2RjO0bT7CFdlvRcT9P + niqnQyz+7zpJR91cxnhK+oVC98zPMHwSbt99NBqDT9hYmsVD744zGYGK5lnvFgM2JJ4n + KBRYRzHL+QeBWSzhp6KAr4VxY5foGX+5csSajBK5paxljETN8AWI2EaR7yCJb3z6NYPt + VAxReVDiwZW3qeTSfkyrLbaMMcusyTYJfZ/8fvjkIpwJm+8Z7rtCS+V+jCP3FW80raZb + fUDXOVrmWKOvUKfq6qjvKmepcafXOlGny/SgBsBhRedfSXjKR38UWgSmPCIOJuVCTxjs + mYKw== +X-Received: by 10.204.13.25 with SMTP id z25mr505432bkz.114.1359386008694; + Mon, 28 Jan 2013 07:13:28 -0800 (PST) +Received: from localhost ([2001:4b98:dc0:43:216:3eff:fe1b:25f3]) + by mx.google.com with ESMTPS id fs20sm4075475bkc.8.2013.01.28.07.13.26 + (version=TLSv1.1 cipher=RC4-SHA bits=128/128); + Mon, 28 Jan 2013 07:13:27 -0800 (PST) +From: Jani Nikula +To: Robert Mast , notmuch@notmuchmail.org +Subject: Re: Reply all - issue +In-Reply-To: <000001cdfcd9$82500f00$86f02d00$@nl> +References: <000001cdfcd9$82500f00$86f02d00$@nl> +User-Agent: Notmuch/0.14+259~gdee88db (http://notmuchmail.org) Emacs/23.2.1 + (x86_64-pc-linux-gnu) +Date: Mon, 28 Jan 2013 16:13:19 +0100 +Message-ID: <87wquxjq7k.fsf@nikula.org> +MIME-Version: 1.0 +Content-Type: text/plain; charset=us-ascii +X-Gm-Message-State: + ALoCoQnuswafvHmLQkGJxLiy77Ick30gH97f9KxVgnporeWA6hQINQ1scazh6XbO3IW0ApuHXOWD +X-BeenThere: notmuch@notmuchmail.org +X-Mailman-Version: 2.1.13 +Precedence: list +List-Id: "Use and development of the notmuch mail system." + +List-Unsubscribe: , + +List-Archive: +List-Post: +List-Help: +List-Subscribe: , + +X-List-Received-Date: Mon, 28 Jan 2013 15:13:33 -0000 + +On Sun, 27 Jan 2013, Robert Mast wrote: +> Last week I studied many Windows-Mail User Agents with the conversation +> threading feature. +> +> None of them (SUP, mutt-kz(notmuch), Outlook 2010, Thunderbird with +> conversation thread plug in, Postbox, Evolution) could cope with the +> following case: + +Apparently all of them obey the RFC 2822 References: and In-Reply-To: +headers for threading, and have no additional heuristics. I think it's a +good thing, but YMMV. I think mutt supports manual breaking and joining +of threads. The gmail web interface, OTOH, automatically breaks threads +on Subject: changes too [1]. + +> In our e-mail-discussions people often choose 'reply-all' to construct a new +> message with the same reciepients. +> +> They clear the body and the subject, but the hidden References: and +> In-reply-To: stay and should be cleared as well. +> +> Result is that this new subject drowns in an old +> conversation-thread-drilldown and this unpredictable behavior makes +> conversation threading useless. + +The term you're looking for is thread hijacking. One could argue the +problem lies in the sender, not the recipient, and therefore should be +fixed in the sender end. + +> I think of a fix that indexes the first dates of (stripped) subject-changes +> within threads, and with each first (stripped) subject change check the body +> on quotes of previous messages. If there is no quote to referenced mails +> then drop the reference and assign a new thread_id_ to the (stripped) +> subject. + +Doing something like this would break threading for emailed patch series +[2], a very common practice in the open source world, including notmuch +development [3]. Indeed, the way gmail breaks patch threads, but then +joins different versions of the same patch email into new threads, is +very annoying IMO. + +Also note that whatever you do, it should work the same way regardless +of the order in which messages the thread are indexed. Regenerating the +database should always end up in the same thread structure. + +> After two days of studying I think the best place with the least +> interference with existing code is between 'notmuch new' and starting the +> MUA. Then the threads are in place in XAPIAN, and new thread_id_'s can be +> inserted. + +The place you're looking for is probably +_notmuch_database_link_message() in lib/database.cc. + +Patches, as they say, are welcome, but I believe for upstream notmuch +inclusion you'd need to address the issues I pointed out above. + +HTH, +Jani. + + +[1] http://support.google.com/mail/bin/answer.py?hl=en&answer=5900 + +[2] http://git-scm.com/book/en/Distributed-Git-Contributing-to-a-Project#Public-Large-Project + +[3] http://notmuchmail.org/pipermail/notmuch/2013/thread.html -- 2.26.2