メールのスレッディングが壊れている

Discourse からのメールがスレッドでグループ化されなくなりました。これは、In-Reply-To が以前の Message-ID と一致しないことが原因だと推測しています。

最初の投稿:

Message-ID: <topic/1084.23319831779de465ac375ecf@mydomain.com>
References: <topic/1084@mydomain.com>

1回目の返信:

Message-ID: <topic/1084/2214.3da8a000c93bc4ebe1be7dc8@mydomain.com>
In-Reply-To: <topic/1084@mydomain.com>
References: <topic/1084@mydomain.com>

2回目の返信:

Message-ID: <topic/1084/2215.9e39f57fbc3836748bbb7407@mydomain.com>
In-Reply-To: <topic/1084/2214.1db1dbd94b11c9d94ca45b3a@mydomain.com>
References: <topic/1084@mydomain.com>

私のインスタンスは Discourse 2.9.0.beta2 (ea3a58d051) を実行しています。

「いいね!」 4

@martin が最近これを担当し、問題を修正しました。最新バージョンに更新してみてください。

「いいね!」 3

Hi @tomtjes

ご報告ありがとうございます。この新しいスレッド機能がThunderbirdでうまく機能しないという報告を受けています。メールクライアントとしてThunderbirdをご利用ですか、それとも他のものをご利用ですか?

もし他のユーザーにも問題が発生しているようであれば、さらなる改善を検討するかもしれません。

「いいね!」 5

なるほど、クライアントに依存するのですね。私のメインクライアントはMailMateですが、他のクライアントをいくつかテストしたところ、スレッディングは問題なく動作しました。

「いいね!」 4

Thunderbirdの問題ではなく、スレッディングをサポートするどのメールクライアントでも発生する問題だと思います。しかし、ここでのin-reply-toとreferences内の異なる情報間の違いが、異なる解釈に依存するのかどうかはわかりません。

現在、rfc5322に従ってReferencesを修正したことがわかります。
In-Reply-To: 返信するメッセージのmessage-idを引用します。
References: 返信されたメッセージのメッセージIDを以前のreferencesに追加します。

最初の投稿

Message-ID: <msg-id1>
…そしてReferencesなし

1回目の返信


`
Message-ID: <msg-id2>
In-Reply-To: <msg-id1>
References: <msg-id1>
`

2回目の返信:

Message-ID: <msg-id3>
In-Reply-To: <msg-id2>
References: <msg-id1> <msg-id2>

しかし、https://meta.discourse.org/t/mailing-list-mode-threading-is-broken/222492で示されているように、メッセージIDを壊してしまいました。

ちなみに:複数の行をpreformatted textとしてマークすると、cmd-eマーキングが1回ではなく、行ごとに複数回含まれるという別のバグがありますか?

「いいね!」 1

それも報告してくれてありがとう。できるだけ早くこの件の作業をスケジュールしたいと思います。

「いいね!」 3

皆さん、こんにちは。OpenStreetMapのメンバーとして、現在オンラインフォーラムとして使用されているDiscourseにいくつかの問題を見つけました。

メーリングリストインターフェースは非常によく機能すると言われました。しかし、電子メールで返信すると、スレッドが壊れるというバグを見つけました。元のメッセージIDを再利用する代わりに、新しいメッセージIDが生成されます。


主な概念は問題ありません。例えば、次のように使用されています。

フォーマット: スレッドメッセージID 返信先ID
1 topic/851.

最初のスレッド

1.1 topic/851/2747. topic/851

メッセージ2747は、in-reply-to: および references: ヘッダーで示されているように、スレッド851の最初のトピック851への返信です。

1.1.1 ee76eed4-a255-6d1c-0f5b-59da9772f230@gmx 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 topic/851/2748.e6be773dbcc599ad5f35bae5@OSMを受け取り、さらに返信
1.1.1.1 を ee76eed4-a255-6d1c-0f5b-59da9772f230@gmx への参照とともに受け取るからです。

このフォーラムはドメイン名をメールtoリンクに変換するため、許可されているリンク数を超えてしまうため、ここにドメイン名を省略しました。

「いいね!」 1

Discourse email messages are incorrectly threaded - #36 by sam を優先してこのトピックを閉じます。そちらで全て解決します。

「いいね!」 1