FIX: Reduce scope of topic gists inclusion. (#925)

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.
This commit is contained in:
Roman Rizzi 2024-11-19 15:37:19 -03:00 committed by GitHub
parent 3c91f374ac
commit dcde94a393
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
1 changed files with 2 additions and 4 deletions

View File

@ -18,9 +18,7 @@ module DiscourseAi
end
plugin.register_modifier(:topic_query_create_list_topics) do |topics, options|
skipped_filters = %i[suggested semantic_related private_messages]
if !skipped_filters.include?(options[:filter]) && SiteSetting.ai_summarization_enabled &&
if Discourse.filters.include?(options[:filter]) && SiteSetting.ai_summarization_enabled &&
SiteSetting.ai_summarize_max_hot_topics_gists_per_batch > 0
topics.includes(:ai_summaries).where(
"ai_summaries.id IS NULL OR ai_summaries.summary_type = ?",
@ -36,7 +34,7 @@ module DiscourseAi
:ai_topic_gist,
include_condition: -> { scope.can_see_gists? },
) do
return if %i[suggested semantic_related private_messages].include?(options[:filter])
return if !Discourse.filters.include?(options[:filter])
summaries = object.ai_summaries.to_a
# Summaries should always have one or zero elements here.