
On 21Jul2022 13:25, Stephen J. Turnbull <stephenjturnbull@gmail.com> wrote:
Cameron Simpson writes:
Discourse does not do `In-Reply-To:` very well at all. Here's some headers from the _second_ post in the "Core dev sprint this year" thread:
Message-ID: <topic/17208/60568.898edf234f56cf6f3a661c1a@discuss.python.org> In-Reply-To: <topic/17208@discuss.python.org> References: <topic/17208@discuss.python.org>
I'm tempted to write something uncivil, but instead I'm gonna go hug a puppy and weep.
So at present Discourse's email implementation is buggy. I need to submit a bug report.
Thank you!
Bug report: https://meta.discourse.org/t/discourse-email-messages-are-incorrectly-thread...
You may find it useful to cite RFC 5322, section 3.6.4, and emphasize "unique" while mentioning the algorithm for populating References and In-Reply-To presented there.
I've pointed them at it. I didn't belabor the id generation since their ids seem ok. It's the referencing header which are broken.
_However_, someone participating in "email mode" will of course send a message with its own distinct message-id from their source system, and that does not survive the email->discourse->email-out process. [...] I don't expect that to change.
That's just plain obnoxious. Anybody who's in the CCs who participates in "email mode" will get (practically speaking) unfilterable duplicates, and (if there is offline discussion) a bogus new thread.
Well, I think a number of mailing lists startyed do this to support DKIM or DMARC or something, otherwise their message would amount to a forgery if what they received. Never dug into it much. It's annoying, but not nearly as annoying as broken threading.
I wonder if this goes all the way through to the backend database (ie, the only id a message gets are its thread id, a timestamp, and some way to ensure a total order in the case of equal timestamps), and the only place in Discourse where the unique Message-ID appears is in the outgoing message. In that case getting any sanity in Discourse email could be very expensive for Discourse.
Personally I don't care how "expensive" it is. The email mode is, to me, a _major_ feature of Discourse. I'm sure I'm not alone is hating forums which require me to go to them (or, equally bad, send some kind of summary of new things - I'm looking at you, Google Groups). That Discourse does quite a good job of letting people participate via the forum or email is very welcome. But it has to be done correctly. Cheers, Cameron Simpson <cs@cskk.id.au>