unofficial mirror of notmuch@notmuchmail.org
 help / color / mirror / code / Atom feed
From: Jani Nikula <jani@nikula.org>
To: Robert Mast <beheerder@tekenbeetziekten.nl>, notmuch@notmuchmail.org
Subject: Re: Reply all - issue
Date: Mon, 28 Jan 2013 16:13:19 +0100	[thread overview]
Message-ID: <87wquxjq7k.fsf@nikula.org> (raw)
In-Reply-To: <000001cdfcd9$82500f00$86f02d00$@nl>

On Sun, 27 Jan 2013, Robert Mast <beheerder@tekenbeetziekten.nl> 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

  reply	other threads:[~2013-01-28 15:13 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-01-27 21:58 Reply all - issue Robert Mast
2013-01-28 15:13 ` Jani Nikula [this message]
2013-01-28 18:15   ` Robert Mast
2013-01-29  2:47     ` Carl Worth
2013-01-30 17:14       ` Robert Mast
2013-01-30 21:39         ` Suvayu Ali
2013-01-31 10:21           ` Andrei POPESCU
2013-01-30 20:56       ` Robert Mast
2013-01-30 21:49       ` Robert Mast
2013-01-31  1:12         ` David Bremner
2013-01-31  1:14           ` David Bremner
2013-02-12  7:07             ` Jameson Graef Rollins
2013-02-12 19:17               ` Carl Worth
2013-01-31 10:52 ` Michał Nazarewicz
2013-02-02 16:21   ` Robert Mast
2013-02-02 20:52     ` David Bremner
2013-02-03  0:06       ` [Spam-verdenking][english 100%] " Robert Mast
2013-02-03 15:26       ` Robert Mast
2013-02-03 18:28         ` David Bremner
2013-02-10 15:43       ` Robert Mast
2013-02-04 10:39     ` Michał Nazarewicz
2013-02-04 15:29       ` Suvayu Ali
2013-02-06 18:19       ` Istvan Marko

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://notmuchmail.org/

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

  git send-email \
    --in-reply-to=87wquxjq7k.fsf@nikula.org \
    --to=jani@nikula.org \
    --cc=beheerder@tekenbeetziekten.nl \
    --cc=notmuch@notmuchmail.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://yhetil.org/notmuch.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).