diff --git a/assets/javascripts/discourse/services/gists.js b/assets/javascripts/discourse/services/gists.js index 057492ace..de939bcd6 100644 --- a/assets/javascripts/discourse/services/gists.js +++ b/assets/javascripts/discourse/services/gists.js @@ -7,15 +7,9 @@ export default class Gists extends Service { @tracked preference = localStorage.getItem("topicListLayout"); get shouldShow() { - const currentRoute = this.router.currentRoute.name; - const isDiscovery = currentRoute.includes("discovery"); - const isNotCategories = !currentRoute.includes("categories"); - const gistsAvailable = - this.router.currentRoute.attributes?.list?.topics?.some( - (topic) => topic.ai_topic_gist - ); - - return isDiscovery && isNotCategories && gistsAvailable; + return this.router.currentRoute.attributes?.list?.topics?.some( + (topic) => topic.ai_topic_gist + ); } setPreference(value) { diff --git a/lib/summarization/entry_point.rb b/lib/summarization/entry_point.rb index b706eec71..ba876356b 100644 --- a/lib/summarization/entry_point.rb +++ b/lib/summarization/entry_point.rb @@ -17,9 +17,12 @@ def inject_into(plugin) scope.can_see_summary?(object.topic) end + # Don't add gists to the following topic lists. + gist_skipped_lists = %i[suggested semantic_related] + plugin.register_modifier(:topic_query_create_list_topics) do |topics, options| - if Discourse.filters.include?(options[:filter]) && SiteSetting.ai_summarization_enabled && - SiteSetting.ai_summary_gists_enabled + if SiteSetting.ai_summarization_enabled && SiteSetting.ai_summary_gists_enabled && + !gist_skipped_lists.include?(options[:filter]) topics.includes(:ai_gist_summary) else topics @@ -31,7 +34,7 @@ def inject_into(plugin) :ai_topic_gist, include_condition: -> { scope.can_see_gists? }, ) do - return if !Discourse.filters.include?(options[:filter]) + return if gist_skipped_lists.include?(options[:filter]) object.ai_gist_summary&.summarized_text end