Re: threading is a risky business

From: John Finlay <finlay_at_veritas.com_at_hypermail-project.org>
Date: Thu, 14 Oct 1999 18:12:54 -0700
Message-ID: <38067F96.6027A774_at_veritas.com>


My guess is that the problem is related to matching to the same subject "Re: Beschwerde" when there is no replyto field. I think that oneunre() should be done before the first subject match is attempted. My thinking is that without a msgid in the replyto field you have to assume that the original subject must be at least oneunre() down ("Beschwerde" in this case). In this case, 0 would be the reply to 2 and 1 and 2 would not be replies.

When I rewrote the threading code for my variant of hypermail, if a message should be a reply to another but no match for the other is found then a dummy message is created to act as the anchor for the thread and possible future matches. The dummy messages are not printed out but the likely related mesages are printed together in the thread list. Your example would end up threaded like:

dummy message

|

+-1

|

+-2

  |

  +-0

It's not perfect since it's possible to have an unresolved msgid in the replyto field of 1 that would create threading like:

dummy message

|

+-1

dummy message

|

+-2

  |

  +-0

This result has the potential to have possibly related messages separated while printing.

John

Daniel Stenberg wrote:

> Hi
>
> I'm still doing research on the 'missing_thread' mailbox problem. The problem
> is pretty simple to describe:
>
> 1. The thread index requires a mail that is not a reply to start a thread
> with.
>
> 2. The function hashreplynumlookup() (struct.c:362) does it best to look up
> possible replies.
>
> 3. In the problematic mailbox we have identical subjects "Re: Beschwerde" in
> all three mails, but only one of them with a In-Reply-To: header.
>
> A few selected headers from the three mails:
>
> Subject: Re: Beschwerde
> In-Reply-To: <m0vB8kj-0009PcC_at_relay.Boerde.DE>
> Message-ID: <Pine.A32.3.91.961010183109.52177A-100000_at_graf350.urz.uni-magdeburg.de>
>
> Subject: Re: Beschwerde
> Message-Id: <m0vC2i2-0009PcC_at_relay.Boerde.DE>
>
> Subject: Re: Beschwerde
> Message-Id: <m0vB8kj-0009PcC_at_relay.Boerde.DE>
>
> 4. All this taken together, mail 0 is considered the reply to message 2 and
> the other two are considered replies to mail 0.
>
> I really can't see any good way out from this. Other than not match that
> willingly on subjects, but that will make hypermail less effective when
> clients that don't support in-reply-to and similar are used.
>
> Anyone with ideas or suggestions around this?
>
> --
> Daniel Stenberg - http://www.fts.frontec.se/~dast
> ech`echo xiun|tr nu oc|sed 'sx\([sx]\)\([xoi]\)xo un\2\1 is xg'`ol
Received on Fri 15 Oct 1999 09:17:22 AM GMT

This archive was generated by hypermail 2.3.0 : Sat 13 Mar 2010 03:46:11 AM GMT GMT