Delete the abuse_report_labels feature flag
This feature flag was introduced in 16.4, which is more than 12 milestones ago.
As part of our process we want to ensure feature flags don't stay too long in the codebase.
Rollout issue: #421373 (closed)
Remaining mentions of the feature flag (click to expand)
app/controllers/admin/abuse_reports_controller.rb
9: push_frontend_feature_flag(:abuse_report_labels)
spec/serializers/admin/abuse_report_entity_spec.rb
44: stub_feature_flags(abuse_report_labels: false)
app/controllers/admin/abuse_reports_controller.rb
9: push_frontend_feature_flag(:abuse_report_labels)
app/assets/javascripts/admin/abuse_report/components/abuse_report_app.vue
75: v-if="glFeatures.abuseReportLabels"
spec/frontend/admin/abuse_report/components/abuse_report_app_spec.js
141: createComponent({}, { glFeatures: { abuseReportLabels: true } });
149: createComponent({}, { glFeatures: { abuseReportLabels: false } });
app/assets/javascripts/admin/abuse_report/components/abuse_report_app.vue
75: v-if="glFeatures.abuseReportLabels"
app/assets/javascripts/admin/abuse_report/components/labels_select.vue
14:import abuseReportLabelsQuery from '../graphql/abuse_report_labels.query.graphql';
48: return abuseReportLabelsQuery;
app/assets/javascripts/admin/abuse_report/graphql/abuse_report_labels.query.graphql
1:query abuseReportLabelsQuery($searchTerm: String) {
2: labels: abuseReportLabels(searchTerm: $searchTerm) {
app/assets/javascripts/sidebar/queries/constants.js
16:import abuseReportLabelsQuery from '~/admin/abuse_report/graphql/abuse_report_labels.query.graphql';
159: query: abuseReportLabelsQuery,
doc-locale/ja-jp/api/graphql/reference/_index.md
56:### `Query.abuseReportLabels`
doc/api/graphql/reference/_index.md
62:### `Query.abuseReportLabels`
spec/frontend/admin/abuse_report/components/abuse_report_app_spec.js
139: describe('when abuseReportLabels feature flag is enabled', () => {
141: createComponent({}, { glFeatures: { abuseReportLabels: true } });
147: describe('when abuseReportLabels feature flag is disabled', () => {
149: createComponent({}, { glFeatures: { abuseReportLabels: false } });
spec/frontend/sidebar/components/labels/labels_select_widget/dropdown_contents_create_view_spec.js
14: mockLabelsQueryResponse as abuseReportLabelsQueryResponse,
190: labelsResponse: abuseReportLabelsQueryResponse,
spec/requests/api/graphql/abuse_report_labels_spec.rb
26: let(:query) { graphql_query_for('abuseReportLabels', arguments, fields) }
35: expect(graphql_data_at('abuseReportLabels', 'nodes').size).to eq 2
36: expect(graphql_data_at('abuseReportLabels', 'nodes', 0)).to match(a_graphql_entity_for(label_two))
37: expect(graphql_data_at('abuseReportLabels', 'nodes', 1)).to match(a_graphql_entity_for(label_one))
46: expect(graphql_data_at('abuseReportLabels', 'nodes')).to be_empty
54: expect(graphql_data_at('abuseReportLabels', 'nodes').size).to eq 1
55: expect(graphql_data_at('abuseReportLabels', 'nodes', 0)).to match(a_graphql_entity_for(label_one))
.rubocop_todo/gitlab/bounded_contexts.yml
14: - 'app/finders/admin/abuse_report_labels_finder.rb'
132: - 'app/graphql/mutations/admin/abuse_report_labels/create.rb'
217: - 'app/graphql/resolvers/abuse_report_labels_resolver.rb'
1345: - 'app/services/admin/abuse_report_labels/create_service.rb'
.rubocop_todo/rspec/be_eq.yml
1234: - 'spec/services/admin/abuse_report_labels/create_service_spec.rb'
.rubocop_todo/rspec/named_subject.yml
2567: - 'spec/requests/api/graphql/mutations/admin/abuse_report_labels/create_spec.rb'
.rubocop_todo/style/inline_disable_annotation.yml
100: - 'app/finders/admin/abuse_report_labels_finder.rb'
app/assets/javascripts/admin/abuse_report/components/labels_select.vue
14:import abuseReportLabelsQuery from '../graphql/abuse_report_labels.query.graphql';
app/assets/javascripts/sidebar/queries/constants.js
16:import abuseReportLabelsQuery from '~/admin/abuse_report/graphql/abuse_report_labels.query.graphql';
app/controllers/admin/abuse_reports_controller.rb
9: push_frontend_feature_flag(:abuse_report_labels)
app/finders/abuse_reports_finder.rb
20: @reports = reports.with_labels if Feature.enabled?(:abuse_report_labels)
app/graphql/types/query_type.rb
237: field :abuse_report_labels, ::Types::AntiAbuse::AbuseReportLabelType.connection_type,
app/models/anti_abuse/reports/label.rb
8: self.table_name = 'abuse_report_labels'
app/serializers/admin/abuse_report_entity.rb
11: expose :labels, using: AntiAbuse::Reports::LabelEntity, if: ->(*) { Feature.enabled?(:abuse_report_labels) }
config/feature_flags/development/abuse_report_labels.yml
2:name: abuse_report_labels
db/docs/abuse_report_labels.yml
2:table_name: abuse_report_labels
db/migrate/20241022011456_create_abuse_report_labels.rb
7: create_table :abuse_report_labels do |t|
db/migrate/20241022012511_add_index_to_abuse_report_labels_title_and_description_columns.rb
8: TITLE_INDEX_NAME = 'index_abuse_report_labels_on_title_trigram'
9: DESCRIPTION_INDEX_NAME = 'index_abuse_report_labels_on_description_trigram'
12: add_concurrent_index :abuse_report_labels, :title, name: TITLE_INDEX_NAME,
14: add_concurrent_index :abuse_report_labels, :description, name: DESCRIPTION_INDEX_NAME,
19: remove_concurrent_index_by_name :abuse_report_labels, TITLE_INDEX_NAME
20: remove_concurrent_index_by_name :abuse_report_labels, DESCRIPTION_INDEX_NAME
db/post_migrate/20250425082347_fix_seq_ownership_for_build_metadata.rb
13: ['abuse_report_labels_id_seq', 'abuse_report_labels.id'],
scripts/verify-tff-mapping
410: changed_file: 'app/graphql/resolvers/abuse_report_labels_resolver.rb',
411: expected: ['spec/requests/api/graphql/abuse_report_labels_spec.rb']
425: changed_file: 'app/graphql/mutations/admin/abuse_report_labels/create.rb',
426: expected: ['spec/requests/api/graphql/mutations/admin/abuse_report_labels/create_spec.rb']
spec/frontend/admin/abuse_report/components/labels_select_spec.js
12:import labelsQuery from '~/admin/abuse_report/graphql/abuse_report_labels.query.graphql';
spec/lib/gitlab/database/no_new_tables_with_gitlab_main_schema_spec.rb
18: 'abuse_report_labels', # gitlab_main_clusterwide now deprecated
spec/requests/api/graphql/abuse_report_labels_spec.rb
5:RSpec.describe 'abuse_report_labels', feature_category: :insider_threat do
spec/serializers/admin/abuse_report_entity_spec.rb
42: context 'when abuse_report_labels feature flag is disabled' do
44: stub_feature_flags(abuse_report_labels: false)
spec/support/shared_contexts/graphql/types/query_type_shared_context.rb
54: :abuse_report_labels,
Currently the feature flag is disabled on production
It is possible that this MR will still need some changes to remove references to the feature flag in the code.
At the moment the gitlab-housekeeper is not always capable of removing all references so you must check the diff and pipeline failures to confirm if there are any issues.
It is the responsibility of groupauthorization to push those changes to this branch.
Note: If you do not want to remove this feature flag at this time, you can add an intended_to_rollout_by_date attribute in the feature flag YAML file to prevent automated removal.
TODO for the reviewers before merging this MR
-
See the status of the rollout by checking #421373 (closed), https://gitlab.com/gitlab-com/gl-infra/feature-flag-log/-/issues/?search=abuse_report_labels&sort=created_date&state=all&label_name%5B%5D=host%3A%3Agitlab.com -
Verify the feature flag status via chatops by running /chatops run feature get abuse_report_labels. -
Search for references to AbuseReportLabelsin frontend part of code -
Search for references to abuse_report_labelsin code -
Check if we need to remove any Gem or other related code by looking at the changes in !128701 (merged)
This change was generated by gitlab-housekeeper using the Keeps::DeleteOldFeatureFlags keep.
To provide feedback on your experience with gitlab-housekeeper please create an issue with the
label GitLab Housekeeper and consider pinging the author of this keep.