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

Commit 5686d4e

Browse files
committed
PERF: Preload only gists when including summaries in topic list
1 parent e54f2da commit 5686d4e

File tree

2 files changed

+10
-3
lines changed

2 files changed

+10
-3
lines changed

lib/summarization/entry_point.rb

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ def inject_into(plugin)
2020
plugin.register_modifier(:topic_query_create_list_topics) do |topics, options|
2121
if Discourse.filters.include?(options[:filter]) && SiteSetting.ai_summarization_enabled &&
2222
SiteSetting.ai_summarize_max_hot_topics_gists_per_batch > 0
23-
topics.includes(:ai_summaries)
23+
topics.includes(:ai_gist_summaries)
2424
else
2525
topics
2626
end
@@ -32,7 +32,7 @@ def inject_into(plugin)
3232
include_condition: -> { scope.can_see_gists? },
3333
) do
3434
return if !Discourse.filters.include?(options[:filter])
35-
summaries = object.ai_summaries.to_a
35+
summaries = object.ai_gist_summaries.to_a
3636

3737
# Summaries should always have one or zero elements here.
3838
# This is an extra safeguard to avoid including regular summaries.

lib/topic_extensions.rb

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,13 @@ module DiscourseAi
44
module TopicExtensions
55
extend ActiveSupport::Concern
66

7-
prepended { has_many :ai_summaries, as: :target }
7+
prepended do
8+
has_many :ai_summaries, as: :target
9+
10+
has_many :ai_gist_summaries,
11+
-> { where(summary_type: AiSummary.summary_types[:gist]) },
12+
class_name: "AiSummary",
13+
as: :target
14+
end
815
end
916
end

0 commit comments

Comments
 (0)