FIX: show category name in title for crawler view

FIX: show category name in title for crawler view

Show category name in title for crawler view despite presence of short_site_description.

Bug reported here: Short site description break category title for crawler or its the expected behavior? - bug - Discourse Meta

diff --git a/app/controllers/list_controller.rb b/app/controllers/list_controller.rb
index b835366..55c9227 100644
--- a/app/controllers/list_controller.rb
+++ b/app/controllers/list_controller.rb
@@ -109,7 +109,7 @@ class ListController < ApplicationController
             @title = I18n.t('js.filters.with_topics', filter: filter_title)
           end
           @title << " - #{SiteSetting.title}"
-        elsif (filter.to_s == current_homepage) && SiteSetting.short_site_description.present?
+        elsif @category.blank? && (filter.to_s == current_homepage) && SiteSetting.short_site_description.present?
           @title = "#{SiteSetting.title} - #{SiteSetting.short_site_description}"
         end
       end
diff --git a/spec/requests/list_controller_spec.rb b/spec/requests/list_controller_spec.rb
index 587c680..27ced58 100644
--- a/spec/requests/list_controller_spec.rb
+++ b/spec/requests/list_controller_spec.rb
@@ -463,6 +463,23 @@ RSpec.describe ListController do
           expect(css_select("link[rel=canonical]").length).to eq(1)
         end
       end
+
+      context "renders correct title" do
+        let!(:amazing_category) { Fabricate(:category, name: "Amazing Category") }
+
+        it 'for category default view' do
+          get "/c/#{amazing_category.slug}"
+
+          expect(response.body).to have_tag "title", text: "Amazing Category - Discourse"
+        end
+
+        it 'for category latest view' do
+          SiteSetting.short_site_description = "Best community"
+          get "/c/#{amazing_category.slug}/l/latest"
+
+          expect(response.body).to have_tag "title", text: "Amazing Category - Discourse"
+        end
+      end
     end
   end

GitHub sha: 2cd4e95d

This commit has been mentioned on Discourse Meta. There might be relevant details there: