![](https://secure.gravatar.com/avatar/2d8b084fbf3bb480d8a3b6233b498f4f.jpg?s=120&d=mm&r=g)
On 3/11/15 1:51 AM, Aanand Shekhar Roy wrote:
After enough exchanges, the reference line will get too long, and then the proper (per the RFC) procedure is to drop the oldest reference. (For threading to work in the MUA, it only needs the last couple to find the latest message that has been received and thread under it)
There is also the fact that some MUAs will only reference the message it is a direct reply to with a Reply-To header and not process References at all.
What we can do, instead of having subject header for thread, we can look upto in-reply-to header , if the msg has no in-reply-to header then we can
assume it as a starting thread, otherwise it is a part of some thread. So the database 1 from which we were calculating count of posts on particular thread will now look like: User_Id | Msg_Id | Thread_Id | Count here, if the in-reply-to header of user B is msg-id of any existing entry Note that you will need to keep one of these records for EVERY message, not just every user/thread as someone may well reply to not the last
One point, there are TWO threading headings. In-Reply-To and References, and differing user agents will use one or the other, both or neither, so as a base, you will need to look for both of these. post by a user. (Perhaps you can let them expire after a given period of time, and replies to threads that have gone dormant can be considered new threads, after all, everyone's timers on that thread will have timed out).
You may want to split this into two tables, one mapping Message_IDs to Threads, and a second the users activity on a given thread, the second thus only needs one record per user-thread)
in database1, then he is a part of that conversation. By this, the user can't bypass the throttling system by causing minor changes in the subject. Also, even if he try to change the Subject then also it will fall under the same thread, because of the in-reply-to header. But he still can bypass the throttling system by just composing a new message on the subject, it won't get threaded together (for people who see messages threaded by references), but might by people who see messages group by subject, and looks totally normal to people who see messages by time, ungrouped.
There is also the problem of people just starting a new message with out using reply (or a digest user replying to the digest) which will place the message in a new thread. Yes, thats a problem, but I'm all idea'd out on how to work this out. I even asked Hyperkitty developer That is why I mentioned that in my opinion, any per-thread throttling system needs to be combined with either an overall throttling system or a new-thread throttling system (or both). This is why I made the comment that "per thread" limits really need to be combined with some form of over-all limit or new-thread limit to minimize the ability to "game" the system.
-- Richard Damon
-- Richard Damon