Skip to content
This repository was archived by the owner on Jul 22, 2025. It is now read-only.

Commit a46da28

Browse files
committed
FIX: Reduce scope of topic gists inclusion.
The topic query is used differently, and we can't assume the modifier will always receive an AR relation. Let's scope it to `Discourse#filters` instead of most lists.
1 parent 3c91f37 commit a46da28

File tree

1 file changed

+5
-5
lines changed

1 file changed

+5
-5
lines changed

lib/summarization/entry_point.rb

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -18,11 +18,11 @@ def inject_into(plugin)
1818
end
1919

2020
plugin.register_modifier(:topic_query_create_list_topics) do |topics, options|
21-
skipped_filters = %i[suggested semantic_related private_messages]
22-
23-
if !skipped_filters.include?(options[:filter]) && SiteSetting.ai_summarization_enabled &&
21+
if Discourse.filters.include?(options[:filter]) && SiteSetting.ai_summarization_enabled &&
2422
SiteSetting.ai_summarize_max_hot_topics_gists_per_batch > 0
25-
topics.includes(:ai_summaries).where(
23+
topics.joins(
24+
"LEFT OUTER JOIN ai_summaries ON topics.id = ai_summaries.target_id AND ai_summaries.target_type = 'Topic'",
25+
).where(
2626
"ai_summaries.id IS NULL OR ai_summaries.summary_type = ?",
2727
AiSummary.summary_types[:gist],
2828
)
@@ -36,7 +36,7 @@ def inject_into(plugin)
3636
:ai_topic_gist,
3737
include_condition: -> { scope.can_see_gists? },
3838
) do
39-
return if %i[suggested semantic_related private_messages].include?(options[:filter])
39+
return if !Discourse.filters.include?(options[:filter])
4040
summaries = object.ai_summaries.to_a
4141

4242
# Summaries should always have one or zero elements here.

0 commit comments

Comments
 (0)