Всем привет, как участник OpenStreetMap, я обнаружил несколько проблем с Discourse, который сейчас используется для их онлайн-форума.
Мне сказали, что интерфейс рассылки должен работать отлично. Однако я нашёл баг: при ответе по электронной почте цепочка сообщений нарушается. Вместо повторного использования исходных идентификаторов сообщений генерируется новый ID.
Пример
Основная концепция в порядке — она используется, например, в формате:
формат: thread msg-id in-reply-id
1 topic/851.
начальная тема
1.1 topic/851/2747. topic/851
Сообщение 2747 в теме 851 является ответом на исходную тему 851, что указано в заголовках In-Reply-To и References:
1.1.1 ee76eed4-a255-6d1c-0f5b-59da9772f230@gmx topic/851/2747.
Это ответ по электронной почте на topic/851/2747 с идентификатором сообщения ee76eed4-a255-6d1c-0f5b-59da9772f230@gmx
1.1.1.1 topic/851/2749. ee76eed4-a255-6d1c-0f5b-59da9772f230@gmx
Здесь ответ форума 2749 корректно привязывается к моему идентификатору сообщения ee76eed4-a255-6d1c-0f5b-59da9772f230@gmx
1.1.1.1.1 07289952-0e88-c08a-ea66-b34774c8554e@gmx topic/851/2749.
…и так далее
Однако, когда я отвечаю с идентификатором сообщения ee76eed4-a255-6d1c-0f5b-59da9772f230@gmx на предыдущую тему, я ссылаюсь на:
References:… <topic/851/2747. bae9c8af72f1f7ef599f1bcd @OSM>
Но моё собственное сообщение (HTML-версия для форума) возвращается мне со следующим содержимым:
References: …
<topic/851/2747. ae42d62b1252f1572b2a9a07 @OSM>
Замечаете ли вы разницу в идентификаторе сообщения внутри References?
Система форума ломает идентификаторы сообщений внутри References!
Это приводит к разрыву цепочек:
1.2 topic/851/2748. topic/851/2747.
1.3 topic/851/2751. topic/851/2749.
где 1.2 — это версия форума для 1.1.1 (новый идентификатор сообщения topic/851/2748.e6be773dbcc599ad5f35bae5@OSM вместо моего исходного идентификатора),
а 1.3 — версия форума для 1.1.1.1.1
Я ещё не проверил, получают ли другие участники повреждённые цепочки, так как они не получат мой исходный ответ с идентификатором сообщения
1.1.1 ee76eed4-a255-6d1c-0f5b-59da9772f230@gmx,
но также получат версию форума
1.2 с идентификатором сообщения topic/851/2748.e6be773dbcc599ad5f35bae5@OSM, при этом получив ответ
1.1.1.1 со ссылками на ee76eed4-a255-6d1c-0f5b-59da9772f230@gmx
Я заменил доменные имена, так как этот форум преобразует такие идентификаторы сообщений в ссылки mailto, что превышает мой лимит разрешённых ссылок.