From 435c4817cb10887062241ec5e40174f6c96b651b Mon Sep 17 00:00:00 2001 From: Sam Date: Tue, 8 Jun 2021 01:07:46 +1000 Subject: [PATCH] FEATURE: enable tagging by default (#13175) Over the years we have found that a few communities never discovered tags. Instead of having them default off we now have them default on, ensuring that everyone finds out about them. Co-authored-by: Dan Ungureanu --- config/site_settings.yml | 2 +- .../20210527114834_set_tagging_enabled.rb | 25 ++++++++++++++++ spec/lib/search_spec.rb | 1 + .../api/schemas/json/group_response.json | 30 +++++++++++++++++++ .../serializers/topic_view_serializer_spec.rb | 3 -- 5 files changed, 57 insertions(+), 4 deletions(-) create mode 100644 db/migrate/20210527114834_set_tagging_enabled.rb diff --git a/config/site_settings.yml b/config/site_settings.yml index a9448424f79..da7b823e98a 100644 --- a/config/site_settings.yml +++ b/config/site_settings.yml @@ -2396,7 +2396,7 @@ user_api: tags: tagging_enabled: client: true - default: false + default: true refresh: true tag_style: client: true diff --git a/db/migrate/20210527114834_set_tagging_enabled.rb b/db/migrate/20210527114834_set_tagging_enabled.rb new file mode 100644 index 00000000000..73e9fa74473 --- /dev/null +++ b/db/migrate/20210527114834_set_tagging_enabled.rb @@ -0,0 +1,25 @@ +# frozen_string_literal: true + +class SetTaggingEnabled < ActiveRecord::Migration[6.1] + def up + result = execute <<~SQL + SELECT created_at + FROM schema_migration_details + ORDER BY created_at + LIMIT 1 + SQL + + # keep tagging disabled for existing sites + if result.first['created_at'].to_datetime < 1.hour.ago + execute <<~SQL + INSERT INTO site_settings(name, data_type, value, created_at, updated_at) + VALUES('tagging_enabled', 5, 'f', NOW(), NOW()) + ON CONFLICT (name) DO NOTHING + SQL + end + end + + def down + raise ActiveRecord::IrreversibleMigration + end +end diff --git a/spec/lib/search_spec.rb b/spec/lib/search_spec.rb index 5e5cec530aa..86e9992d447 100644 --- a/spec/lib/search_spec.rb +++ b/spec/lib/search_spec.rb @@ -106,6 +106,7 @@ describe Search do it "includes custom tables" do begin + SiteSetting.tagging_enabled = false expect(Search.execute("test").posts[0].topic.association(:category).loaded?).to be true expect(Search.execute("test").posts[0].topic.association(:tags).loaded?).to be false diff --git a/spec/requests/api/schemas/json/group_response.json b/spec/requests/api/schemas/json/group_response.json index 7ba352070db..c4b31112f60 100644 --- a/spec/requests/api/schemas/json/group_response.json +++ b/spec/requests/api/schemas/json/group_response.json @@ -279,6 +279,36 @@ "type": "array", "items": [ + ] + }, + "watching_tags": { + "type": "array", + "items": [ + + ] + }, + "watching_first_post_tags": { + "type": "array", + "items": [ + + ] + }, + "tracking_tags": { + "type": "array", + "items": [ + + ] + }, + "regular_tags": { + "type": "array", + "items": [ + + ] + }, + "muted_tags": { + "type": "array", + "items": [ + ] } }, diff --git a/spec/serializers/topic_view_serializer_spec.rb b/spec/serializers/topic_view_serializer_spec.rb index c7515a8fd64..ac256d27928 100644 --- a/spec/serializers/topic_view_serializer_spec.rb +++ b/spec/serializers/topic_view_serializer_spec.rb @@ -196,8 +196,6 @@ describe TopicViewSerializer do fab!(:staff_tag_group) { Fabricate(:tag_group, permissions: { "staff" => 1 }, tag_names: [hidden_tag.name]) } before do - SiteSetting.tagging_enabled = true - hidden_tag.tag_groups << staff_tag_group topic.tags << hidden_tag end @@ -218,7 +216,6 @@ describe TopicViewSerializer do fab!(:tag3) { Fabricate(:tag, name: 'atag', topic_count: 3) } before do - SiteSetting.tagging_enabled = true topic.tags << tag1 topic.tags << tag2 topic.tags << tag3