Confirmed users
360
edits
| Line 37: | Line 37: | ||
All core threading logic currently lives in mailnews/db/msgdb/src/nsMsgDatabase.cpp. It is controlled by the following preferences: | All core threading logic currently lives in mailnews/db/msgdb/src/nsMsgDatabase.cpp. It is controlled by the following preferences: | ||
* mail.thread_without_re : Thread by subject even when there is no "Re:" in the subject; default | * mail.thread_without_re : Thread by subject even when there is no "Re:" in the subject; default False in 3.0, used to be true in 2.0. | ||
* mail.strict_threading : Don't thread by subject; default False. | * mail.strict_threading : Don't thread by subject; default True for 3.0, used to be False in 2.0. | ||
* mail.correct_threading : Thread things correctly (using References/In-Reply-To) regardless of the order in which messages are added to a folder; default false. Requires extra memory and some extra processing once a folder (nsMsgDatabase) has new messages added to it. If you turn this on, you really should turn on strict_threading too. | * mail.correct_threading : Thread things correctly (using References/In-Reply-To) regardless of the order in which messages are added to a folder; default false. Requires extra memory and some extra processing once a folder (nsMsgDatabase) has new messages added to it. If you turn this on, you really should turn on strict_threading too. | ||
=== mail.thread_without_re === | === mail.thread_without_re === | ||
mail.thread_without_re (gThreadWithoutRe/ThreadBySubjectWithoutRe) defaults to True. | mail.thread_without_re (gThreadWithoutRe/ThreadBySubjectWithoutRe) defaults to False in Thunderbird 3.0, used to default to True in 2.0. | ||
If mail.thread_without_re is True, the subject does not have to start with "Re:" (or variants or localized variants) for threading to occur. If it's false, it does have to start with "Re:"/variants. | If mail.thread_without_re is True, the subject does not have to start with "Re:" (or variants or localized variants) for threading to occur. If it's false, it does have to start with "Re:"/variants. | ||
| Line 49: | Line 49: | ||
=== mail.strict_threading === | === mail.strict_threading === | ||
mail.strict_threading (gStrictThreading/UseStrictThreading) defaults to False. | mail.strict_threading (gStrictThreading/UseStrictThreading) defaults to True in 3.0, used to be False in 2.0. | ||
If mail.strict_threading is True, subject-threading is disabled entirely. Messages sent by clients that do not generate "References"/"In-Reply-To" headers (or responding to clients that do not generate "Message-ID" headers) will not be threaded. | If mail.strict_threading is True, subject-threading is disabled entirely. Messages sent by clients that do not generate "References"/"In-Reply-To" headers (or responding to clients that do not generate "Message-ID" headers) will not be threaded. | ||
| Line 57: | Line 57: | ||
=== mail.correct_threading === | === mail.correct_threading === | ||
mail.correct_threading (gCorrectThreading/UseCorrectThreading) defaults to | mail.correct_threading (gCorrectThreading/UseCorrectThreading) defaults to True in 3.0. Implemented by {{bug|181446}}, only available in 3.0 releases and later (never on the 2.0.0.x branch). | ||
If mail.correct_threading is True, the references stored on every nsIMsgDBHdr are used to populate a hashtable mapping every Message-ID we have heard about for a thread to that thread's thread id. For example, if message D with Message-ID: D and thread id of 42 "References:" C, B, and A, the hashtable will map C, B, and A to 42. | If mail.correct_threading is True, the references stored on every nsIMsgDBHdr are used to populate a hashtable mapping every Message-ID we have heard about for a thread to that thread's thread id. For example, if message D with Message-ID: D and thread id of 42 "References:" C, B, and A, the hashtable will map C, B, and A to 42. | ||