大家好,作为 OpenStreetMap 的一员,我发现 Discourse(他们现在使用的在线论坛)存在一些问题。
我听说邮件列表界面应该工作得很好。然而,我发现了一个 bug,即通过电子邮件回复时,主题会断开。然后会生成一个新的消息 ID,而不是重新使用原始 ID。
示例
主要概念是好的——它使用了,例如:
格式:thread msg-id in-reply-id
1 topic/851.
初始主题
1.1 topic/851/2747. topic/851
消息 2747 是对初始主题 851 的回复,如 in-reply-to: 和 references: 标头所示:
1.1.1 ee76eed4-a255-6d1c-0f5b-59da9772f230@gmx topic/851/2747.
这是对 topic/851/2747 的电子邮件回复,消息 ID 为 ee76eed4-a255-6d1c-0f5b-59da9772f230@gmx
1.1.1.1 topic/851/2749. ee76eed4-a255-6d1c-0f5b-59da9772f230@gmx
这里论坛回复 2749 正确地链接到我的消息 ID ee76eed4-a255-6d1c-0f5b-59da9772f230@gmx
1.1.1.1.1 07289952-0e88-c08a-ea66-b34774c8554e@gmx topic/851/2749.
…等等
但是,当我回复消息 ID ee76eed4-a255-6d1c-0f5b-59da9772f230@gmx 到上一个主题时,我引用了
References:… <topic/851/2747. bae9c8af72f1f7ef599f1bcd @OSM>
但是我的消息(HTML 论坛版本)被发回给我,其中包含
References: …
<topic/851/2747. ae42d62b1252f1572b2a9a07 @OSM>
您注意到引用中的消息 ID 有何不同吗?
论坛系统在引用中破坏了消息 ID!
这导致主题断开,出现以下情况:
1.2 topic/851/2748. topic/851/2747.
1.3 topic/851/2751. topic/851/2749.
其中 1.2 是 1.1.1 的论坛版本(新的消息 ID topic/851/2748.e6be773dbcc599ad5f35bae5@OSM,而不是我原来的消息 ID),
而 1.3 是 1.1.1.1.1 的论坛版本。
我还没有验证其他人是否收到残缺的主题——因为他们不会收到我原始回复的消息 ID
1.1.1 ee76eed4-a255-6d1c-0f5b-59da9772f230@gmx,
但也会收到论坛版本
1.2 消息 ID 为 topic/851/2748.e6be773dbcc599ad5f35bae5@OSM,同时还收到回复
1.1.1.1 引用了 ee76eed4-a255-6d1c-0f5b-59da9772f230@gmx
我在这里省略了域名,因为该论坛会将这些消息 ID 转换为 mailto 链接,从而超出了我允许的链接数量限制。