ToddZ
2024 年 9 月 25 日午後 4:08
27
こちらは、アイドル状態のテストユーザーアカウントに送信された別のものです。
最終ログイン 2024-09-12
ダイジェスト頻度:毎日
「サマリーメールに新規ユーザーからのコンテンツを含める」:チェック済み
関連タグはミュートされていません
人気トピック:
「A.I. - 大きい方が良いのか?」 – 3回繰り返されています。トピックには3つのタグ、0件の返信、0件のいいねがあります。
「ソーシャルエンジニアリングチャレンジ」 – 2回繰り返されています。トピックには2つのタグ、1件の返信、0件のいいねがあります。
あなたへのおすすめ:
「新しいタグのリクエスト」 – 繰り返されていません。トピックには0個のタグ、0件の返信、0件のいいねがあります。
「いいね!」 1
j127
2024 年 9 月 25 日午後 5:54
28
最新のダイジェストで、私のいずれかのアカウントが受信したトピックは重複していませんでしたが、その下のコメント(「人気の投稿」)は重複していました。5つのスロットがあり、2つの重複(3つのユニークな投稿)がありましたが、どちらも同じトピックからのものでした。
編集:テスト/管理アカウントに送信された過去のダイジェストを確認しています。
前回のダイジェストにも「人気の投稿」に2つの重複があり、それも同じトピックからのものでした。
その前のダイジェストには重複トピックがありましたが、「人気の投稿」には重複はありませんでした。「あなたへのおすすめ」に重複がありました。
その前のダイジェストには重複はありませんでした。
「いいね!」 1
ToddZ
2024 年 9 月 25 日午後 8:28
29
@j127 、ダイジェストトピックにいくつのタグがあったか知りたいです。私の最近のサンプルでは、重複はトピックのタグの数に対応しています。偶然かもしれませんが、そうでないかもしれません。
「いいね!」 3
simon
2024 年 9 月 25 日午後 8:47
30
digest suppress tags のサイト設定にタグを追加し、複数のタグを持つトピックを作成することで、ローカルの Discourse サイトで問題を再現することができました。
以下のコードが問題の原因です: discourse/app/models/topic.rb at main · discourse/discourse · GitHub
if SiteSetting.digest_suppress_tags.present?
tag_ids = Tag.where_name(SiteSetting.digest_suppress_tags.split("|")).pluck(:id)
if tag_ids.present?
topics =
topics.joins("LEFT JOIN topic_tags tg ON topics.id = tg.topic_id").where(
"tg.tag_id NOT IN (?) OR tg.tag_id IS NULL",
tag_ids,
)
end
end
編集: ここで LEFT JOIN が必要だとは思いません。結合された topic_tags テーブルの列は、メソッドの後半では使用されていないようです。修正は次のように簡単なものになる可能性があります。
if SiteSetting.digest_suppress_tags.present?
tag_ids = Tag.where_name(SiteSetting.digest_suppress_tags.split("|")).pluck(:id)
if tag_ids.present?
topics =
topics.where.not(id: TopicTag.where(tag_id: tag_ids).select(:topic_id))
end
end
最適なアプローチについては、Discourse チームに判断を委ねます。for_digest メソッドは何度も実行されるため、効率的である必要があります。
「いいね!」 4
j127
2024 年 9 月 25 日午後 8:51
31
はい、二重投稿はすべて2つのタグが付いていました。
「いいね!」 2
ToddZ
2024 年 9 月 25 日午後 10:11
32
@simon – この件を調べていただき、本当にありがとうございます! 大変な作業だったことと思います。Discourseチームが戻ってきて、あなたの分析に基づいて対応してくれるのを楽しみにしています。
「いいね!」 1
ToddZ
2024 年 9 月 26 日午後 6:12
33
digest suppress tags に設定していたタグを削除したことで、サマリーが元に戻ったことを確認しました。(それまでの間は digest suppress categories を利用しています。)
「いいね!」 4
@simon は正しかったです それがまさにバグでした
main ← fix-duplicate-topics-in-summaries
opened 02:57PM - 31 Oct 24 UTC
When using the `digest_suppress_tags` site setting to list some tags that should… be removed from the digests, if there was a topic that had one suppressed tag and other regular tag(s), it would be duplicated in the summaries.
https://meta.discourse.org/t/multiple-repeated-summary-mail-entries/296539
Thanks to @scossar for [figuring it out](https://meta.discourse.org/t/multiple-repeated-summary-mail-entries/296539/30).
「いいね!」 7
ToddZ
2024 年 11 月 2 日午前 12:17
39
素晴らしいニュースです!
マージされたコミットがベータチャンネルでいつ利用可能になるのか、よくわかりません。3.4.0.beta3-dev (53f9c81790) を使用していて、GUIのアップデートが要求されていない場合、コマンドラインアップデートでこの変更を取得できますか?
Firepup650
(Firepup Sixfifty)
2024 年 11 月 2 日午前 2:05
40
UIはプロンプトなしで取り込むことができ、新しいコミットも取り込まれます。しかし、CLIで再構築しても取り込むことができます。
「いいね!」 2
zogstrip
クローズされました:
2024 年 11 月 4 日午前 7:00
41
このトピックは3日後に自動的に閉じられました。新しい返信はもう許可されていません。