diff --git a/app/helpers/email_helper.rb b/app/helpers/email_helper.rb index 64cb028c535..a542c3b66d3 100644 --- a/app/helpers/email_helper.rb +++ b/app/helpers/email_helper.rb @@ -24,7 +24,7 @@ module EmailHelper def email_topic_link(topic) url, title = extract_details(topic) - raw "#{title}" + raw "#{title}" end def email_html_template diff --git a/app/views/email/_mailing_list_post.html.erb b/app/views/email/_mailing_list_post.html.erb index 43d09820e2e..a16e0d525af 100644 --- a/app/views/email/_mailing_list_post.html.erb +++ b/app/views/email/_mailing_list_post.html.erb @@ -1,5 +1,5 @@
  • - <%= raw format_topic_title(topic.title) %> + <%= raw format_topic_title(topic.title) %> <%= post_count %> <%= category_badge(topic.category, inline_style: true, absolute_url: true) %>
  • diff --git a/lib/email/sender.rb b/lib/email/sender.rb index 5ec4acd8dac..59286747a5f 100644 --- a/lib/email/sender.rb +++ b/lib/email/sender.rb @@ -171,7 +171,9 @@ module Email if topic if SiteSetting.private_email? - @message.header["List-Archive"] = "#{Discourse.base_url}#{topic.slugless_url}" + @message.header[ + "List-Archive" + ] = "#{Discourse.base_url_no_prefix}#{topic.slugless_url}" else @message.header["List-Archive"] = topic.url end diff --git a/spec/helpers/email_helper_spec.rb b/spec/helpers/email_helper_spec.rb new file mode 100644 index 00000000000..5b4b318cc05 --- /dev/null +++ b/spec/helpers/email_helper_spec.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +RSpec.describe EmailHelper do + describe "#email_topic_link" do + it "respects subfolder" do + set_subfolder "/forum" + topic = Fabricate(:topic) + expect(helper.email_topic_link(topic)).to include("#{Discourse.base_url_no_prefix}/forum/t") + end + end +end diff --git a/spec/models/post_spec.rb b/spec/models/post_spec.rb index 2ca17c1e4ec..1f78830c302 100644 --- a/spec/models/post_spec.rb +++ b/spec/models/post_spec.rb @@ -2238,6 +2238,17 @@ RSpec.describe Post do end end + describe "full_url" do + it "returns the correct post url with subfolder install" do + set_subfolder "/forum" + post = Fabricate(:post) + + expect(post.full_url).to eq( + "#{Discourse.base_url_no_prefix}/forum/t/#{post.topic.slug}/#{post.topic.id}/#{post.post_number}", + ) + end + end + describe "public_posts_count_per_day" do before do freeze_time_safe