From 3e1271041d62a894fc7c9ba3187a01fe63fc913a Mon Sep 17 00:00:00 2001 From: rngus2344 Date: Mon, 10 Mar 2025 15:15:08 -0500 Subject: [PATCH 1/4] DEV: Ai summary utilizing name instead of username --- lib/summarization/strategies/topic_summary.rb | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/lib/summarization/strategies/topic_summary.rb b/lib/summarization/strategies/topic_summary.rb index 4dfca68c5..dc5fb3c9c 100644 --- a/lib/summarization/strategies/topic_summary.rb +++ b/lib/summarization/strategies/topic_summary.rb @@ -13,11 +13,18 @@ def highest_target_number end def targets_data + name_or_username = + if SiteSetting.enable_names && !SiteSetting.prioritize_username_in_ux + :name || :username + else + :username + end + posts_data = (target.has_summary? ? best_replies : pick_selection).pluck( :post_number, :raw, - :username, + name_or_username, :last_version_at, ) From 9b1e4d4a70b0afb6df2d20d059630062e24a588d Mon Sep 17 00:00:00 2001 From: rngus2344 Date: Mon, 10 Mar 2025 15:46:26 -0500 Subject: [PATCH 2/4] utilize username if name not available --- lib/summarization/strategies/topic_summary.rb | 29 +++++++++---------- 1 file changed, 14 insertions(+), 15 deletions(-) diff --git a/lib/summarization/strategies/topic_summary.rb b/lib/summarization/strategies/topic_summary.rb index dc5fb3c9c..36a304963 100644 --- a/lib/summarization/strategies/topic_summary.rb +++ b/lib/summarization/strategies/topic_summary.rb @@ -13,29 +13,28 @@ def highest_target_number end def targets_data - name_or_username = - if SiteSetting.enable_names && !SiteSetting.prioritize_username_in_ux - :name || :username - else - :username - end + post_attributes = %i[post_number raw username last_version_at] + if SiteSetting.enable_names && !SiteSetting.prioritize_username_in_ux + post_attributes.push(:name) + end - posts_data = - (target.has_summary? ? best_replies : pick_selection).pluck( - :post_number, - :raw, - name_or_username, - :last_version_at, - ) + posts_data = (target.has_summary? ? best_replies : pick_selection).pluck(post_attributes) - posts_data.reduce([]) do |memo, (pn, raw, username, last_version_at)| + posts_data.reduce([]) do |memo, (pn, raw, username, last_version_at, name)| raw_text = raw if pn == 1 && target.topic_embed&.embed_content_cache.present? raw_text = target.topic_embed&.embed_content_cache end - memo << { poster: username, id: pn, text: raw_text, last_version_at: last_version_at } + display_name = name.presence || username + + memo << { + poster: display_name, + id: pn, + text: raw_text, + last_version_at: last_version_at, + } end end From 0feb89590ca01443b9eb4e337d1496433d09c12b Mon Sep 17 00:00:00 2001 From: rngus2344 Date: Mon, 10 Mar 2025 16:00:13 -0500 Subject: [PATCH 3/4] test added --- .../strategies/topic_summary_spec.rb | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/spec/lib/modules/summarization/strategies/topic_summary_spec.rb b/spec/lib/modules/summarization/strategies/topic_summary_spec.rb index 93f2c4c2c..61f5e05ff 100644 --- a/spec/lib/modules/summarization/strategies/topic_summary_spec.rb +++ b/spec/lib/modules/summarization/strategies/topic_summary_spec.rb @@ -61,5 +61,21 @@ expect(op_content).to include(topic_embed.embed_content_cache) end end + + context "when enable_names enabled and prioritize_username_in_ux disabled" do + fab!(:user) { Fabricate(:user, name: "test") } + + it "includes the name" do + SiteSetting.enable_names = true + SiteSetting.prioritize_username_in_ux = false + + post_1.update!(user: user) + + content = topic_summary.targets_data + poster_name = content.first[:poster] + + expect(poster_name).to eq("test") + end + end end end From 021f9b5028d55de12cc348d5f728ec27c5674d0f Mon Sep 17 00:00:00 2001 From: rngus2344 Date: Mon, 10 Mar 2025 16:04:03 -0500 Subject: [PATCH 4/4] test added 2 --- .../strategies/topic_summary_spec.rb | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/spec/lib/modules/summarization/strategies/topic_summary_spec.rb b/spec/lib/modules/summarization/strategies/topic_summary_spec.rb index 61f5e05ff..561c6270a 100644 --- a/spec/lib/modules/summarization/strategies/topic_summary_spec.rb +++ b/spec/lib/modules/summarization/strategies/topic_summary_spec.rb @@ -77,5 +77,21 @@ expect(poster_name).to eq("test") end end + + context "when enable_names enabled and prioritize_username_in_ux enabled" do + fab!(:user) { Fabricate(:user, username: "test") } + + it "includes the username" do + SiteSetting.enable_names = true + SiteSetting.prioritize_username_in_ux = true + + post_1.update!(user: user) + + content = topic_summary.targets_data + poster_name = content.first[:poster] + + expect(poster_name).to eq("test") + end + end end end