about summary refs log tree commit diff
diff options
context:
space:
mode:
authorNick Schonning <nschonni@gmail.com>2023-03-15 23:31:08 -0400
committerGitHub <noreply@github.com>2023-03-16 12:31:08 +0900
commitaa947a143b5bd84865bff2b24878d84f3d69b8b7 (patch)
tree9b9fa2743e0a09052fe0507fc7d433ee3d788ee4
parentf57bcb028bb5f69c98fdd758deac7be7f1367536 (diff)
Regen rubocop-todo without Max shadowing (#24076)
-rw-r--r--.rubocop.yml10
-rw-r--r--.rubocop_todo.yml2339
-rw-r--r--lib/mastodon/media_cli.rb2
3 files changed, 2151 insertions, 200 deletions
diff --git a/.rubocop.yml b/.rubocop.yml
index 99206e597..8eb3d402e 100644
--- a/.rubocop.yml
+++ b/.rubocop.yml
@@ -32,7 +32,6 @@ Layout/FirstHashElementIndentation:
   EnforcedStyle: consistent
 
 Layout/LineLength:
-  Max: 140 # RuboCop default 120
   AllowedPatterns:
     # Allow comments to be long lines
     - !ruby/regexp / \# .*$/
@@ -47,13 +46,11 @@ Lint/UselessAccessModifier:
     - class_methods
 
 Metrics/AbcSize:
-  Max: 34 # RuboCop default 17
   Exclude:
     - 'lib/**/*cli*.rb'
     - db/*migrate/**/*
 
 Metrics/BlockLength:
-  Max: 55 # Default 25
   CountAsOne: [array, heredoc]
   Exclude:
     - 'lib/mastodon/*_cli.rb'
@@ -63,30 +60,23 @@ Metrics/BlockNesting:
     - 'lib/mastodon/*_cli.rb'
 
 Metrics/ClassLength:
-  Max: 500 # Default 100
   CountAsOne: [array, heredoc]
   Exclude:
     - 'lib/mastodon/*_cli.rb'
 
 Metrics/CyclomaticComplexity:
-  Max: 12 # Default 7
   Exclude:
     - lib/mastodon/*cli*.rb
     - db/*migrate/**/*
 
 Metrics/MethodLength:
-  Max: 25 # RuboCop default 10
   CountAsOne: [array, heredoc]
   Exclude:
     - 'lib/mastodon/*_cli.rb'
 
 Metrics/ModuleLength:
-  Max: 200 # Default 100
   CountAsOne: [array, heredoc]
 
-Metrics/PerceivedComplexity:
-  Max: 16 # RuboCop default 8
-
 Rails/HttpStatus:
   EnforcedStyle: numeric
 
diff --git a/.rubocop_todo.yml b/.rubocop_todo.yml
index 6dbcbaeba..e79f4f8e9 100644
--- a/.rubocop_todo.yml
+++ b/.rubocop_todo.yml
@@ -1,12 +1,11 @@
 # This configuration was generated by
-# `rubocop --auto-gen-config --auto-gen-only-exclude --no-exclude-limit`
-# on 2023-02-19 06:22:09 UTC using RuboCop version 1.45.1.
+# `rubocop --auto-gen-config --auto-gen-only-exclude --no-exclude-limit --no-offense-counts --no-auto-gen-timestamp`
+# using RuboCop version 1.48.1.
 # The point is for the user to remove these configuration records
 # one by one as the offenses are removed from the code base.
 # Note that changes in the inspected code, or installation of new
 # versions of RuboCop, may require this file to be generated again.
 
-# Offense count: 15
 # This cop supports safe autocorrection (--autocorrect).
 # Configuration parameters: TreatCommentsAsGroupSeparators, ConsiderPunctuation, Include.
 # Include: **/*.gemfile, **/Gemfile, **/gems.rb
@@ -14,14 +13,6 @@ Bundler/OrderedGems:
   Exclude:
     - 'Gemfile'
 
-# Offense count: 581
-# This cop supports safe autocorrection (--autocorrect).
-# Configuration parameters: AllowHeredoc, AllowURI, URISchemes, IgnoreCopDirectives, AllowedPatterns.
-# URISchemes: http, https
-Layout/LineLength:
-  Enabled: false
-
-# Offense count: 14
 # Configuration parameters: AllowedMethods, AllowedPatterns.
 Lint/AmbiguousBlockAssociation:
   Exclude:
@@ -35,7 +26,6 @@ Lint/AmbiguousBlockAssociation:
     - 'spec/services/unsuspend_account_service_spec.rb'
     - 'spec/workers/scheduler/accounts_statuses_cleanup_scheduler_spec.rb'
 
-# Offense count: 15
 # Configuration parameters: AllowedMethods.
 # AllowedMethods: enums
 Lint/ConstantDefinitionInBlock:
@@ -50,7 +40,6 @@ Lint/ConstantDefinitionInBlock:
     - 'spec/lib/settings/extend_spec.rb'
     - 'spec/models/concerns/remotable_spec.rb'
 
-# Offense count: 5
 # Configuration parameters: IgnoreLiteralBranches, IgnoreConstantBranches.
 Lint/DuplicateBranch:
   Exclude:
@@ -60,7 +49,6 @@ Lint/DuplicateBranch:
     - 'app/validators/vote_validator.rb'
     - 'lib/mastodon/maintenance_cli.rb'
 
-# Offense count: 42
 # Configuration parameters: AllowComments, AllowEmptyLambdas.
 Lint/EmptyBlock:
   Exclude:
@@ -68,11 +56,7 @@ Lint/EmptyBlock:
     - 'spec/controllers/application_controller_spec.rb'
     - 'spec/fabricators/access_token_fabricator.rb'
     - 'spec/fabricators/conversation_fabricator.rb'
-    - 'spec/fabricators/conversation_mute_fabricator.rb'
-    - 'spec/fabricators/import_fabricator.rb'
-    - 'spec/fabricators/setting_fabricator.rb'
     - 'spec/fabricators/system_key_fabricator.rb'
-    - 'spec/fabricators/web_setting_fabricator.rb'
     - 'spec/helpers/admin/action_logs_helper_spec.rb'
     - 'spec/lib/activitypub/adapter_spec.rb'
     - 'spec/models/account_alias_spec.rb'
@@ -93,7 +77,6 @@ Lint/EmptyBlock:
     - 'spec/models/list_spec.rb'
     - 'spec/models/login_activity_spec.rb'
     - 'spec/models/mute_spec.rb'
-    - 'spec/models/one_time_key_spec.rb'
     - 'spec/models/preview_card_spec.rb'
     - 'spec/models/preview_card_trend_spec.rb'
     - 'spec/models/relay_spec.rb'
@@ -107,30 +90,25 @@ Lint/EmptyBlock:
     - 'spec/models/user_role_spec.rb'
     - 'spec/models/web/setting_spec.rb'
 
-# Offense count: 1
 # Configuration parameters: AllowComments.
 Lint/EmptyClass:
   Exclude:
     - 'spec/controllers/api/base_controller_spec.rb'
 
-# Offense count: 1
 # This cop supports unsafe autocorrection (--autocorrect-all).
 Lint/NonDeterministicRequireOrder:
   Exclude:
     - 'spec/rails_helper.rb'
 
-# Offense count: 1
 Lint/NonLocalExitFromIterator:
   Exclude:
     - 'app/helpers/jsonld_helper.rb'
 
-# Offense count: 2
 # This cop supports unsafe autocorrection (--autocorrect-all).
 Lint/OrAssignmentToConstant:
   Exclude:
     - 'lib/sanitize_ext/sanitize_config.rb'
 
-# Offense count: 33
 Lint/UselessAssignment:
   Exclude:
     - 'app/services/activitypub/process_status_update_service.rb'
@@ -151,53 +129,46 @@ Lint/UselessAssignment:
     - 'spec/services/resolve_url_service_spec.rb'
     - 'spec/views/statuses/show.html.haml_spec.rb'
 
-# Offense count: 3
 # Configuration parameters: CheckForMethodsWithNoSideEffects.
 Lint/Void:
   Exclude:
     - 'spec/services/resolve_account_service_spec.rb'
 
-# Offense count: 66
 # Configuration parameters: AllowedMethods, AllowedPatterns, CountRepeatedAttributes.
 Metrics/AbcSize:
-  Enabled: false
+  Max: 150
 
-# Offense count: 10
-# Configuration parameters: CountComments, Max, CountAsOne, AllowedMethods, AllowedPatterns, inherit_mode.
+# Configuration parameters: CountComments, CountAsOne, AllowedMethods, AllowedPatterns, inherit_mode.
 # AllowedMethods: refine
 Metrics/BlockLength:
-  Exclude:
-    - 'app/models/concerns/account_interactions.rb'
-    - 'db/post_migrate/20221101190723_backfill_admin_action_logs.rb'
-    - 'db/post_migrate/20221206114142_backfill_admin_action_logs_again.rb'
-    - 'lib/tasks/branding.rake'
-    - 'lib/tasks/mastodon.rake'
-    - 'lib/tasks/repo.rake'
-    - 'lib/tasks/tests.rake'
+  Max: 433
 
-# Offense count: 1
 # Configuration parameters: CountBlocks, Max.
 Metrics/BlockNesting:
   Exclude:
     - 'lib/tasks/mastodon.rake'
 
-# Offense count: 39
+# Configuration parameters: CountComments, CountAsOne.
+Metrics/ClassLength:
+  Max: 373
+
 # Configuration parameters: AllowedMethods, AllowedPatterns.
 Metrics/CyclomaticComplexity:
-  Enabled: false
+  Max: 25
 
-# Offense count: 35
 # Configuration parameters: CountComments, CountAsOne, AllowedMethods, AllowedPatterns.
 Metrics/MethodLength:
-  Enabled: false
+  Max: 58
 
-# Offense count: 1
 # Configuration parameters: CountComments, Max, CountAsOne.
 Metrics/ModuleLength:
   Exclude:
+    - 'app/controllers/concerns/signature_verification.rb'
+    - 'app/helpers/application_helper.rb'
+    - 'app/helpers/jsonld_helper.rb'
+    - 'app/helpers/statuses_helper.rb'
     - 'app/models/concerns/account_interactions.rb'
 
-# Offense count: 5
 # Configuration parameters: Max, CountKeywordArgs, MaxOptionalParameters.
 Metrics/ParameterLists:
   Exclude:
@@ -206,32 +177,14 @@ Metrics/ParameterLists:
     - 'app/services/activitypub/fetch_remote_actor_service.rb'
     - 'app/services/activitypub/fetch_remote_status_service.rb'
 
-# Offense count: 16
-# Configuration parameters: AllowedMethods, AllowedPatterns, Max.
+# Configuration parameters: AllowedMethods, AllowedPatterns.
 Metrics/PerceivedComplexity:
-  Exclude:
-    - 'app/helpers/jsonld_helper.rb'
-    - 'app/lib/feed_manager.rb'
-    - 'app/lib/status_cache_hydrator.rb'
-    - 'app/lib/user_settings_decorator.rb'
-    - 'app/models/trends/links.rb'
-    - 'app/services/activitypub/fetch_remote_key_service.rb'
-    - 'app/services/activitypub/fetch_remote_status_service.rb'
-    - 'app/services/activitypub/process_account_service.rb'
-    - 'app/services/fetch_link_card_service.rb'
-    - 'app/services/fetch_oembed_service.rb'
-    - 'app/services/process_mentions_service.rb'
-    - 'app/services/resolve_account_service.rb'
-    - 'lib/mastodon/accounts_cli.rb'
-    - 'lib/mastodon/domains_cli.rb'
-    - 'lib/mastodon/maintenance_cli.rb'
+  Max: 28
 
-# Offense count: 1
 Naming/AccessorMethodName:
   Exclude:
     - 'app/controllers/auth/sessions_controller.rb'
 
-# Offense count: 7
 # Configuration parameters: EnforcedStyleForLeadingUnderscores.
 # SupportedStylesForLeadingUnderscores: disallowed, required, optional
 Naming/MemoizedInstanceVariableName:
@@ -243,10 +196,9 @@ Naming/MemoizedInstanceVariableName:
     - 'app/services/resolve_url_service.rb'
     - 'app/services/search_service.rb'
 
-# Offense count: 50
 # Configuration parameters: EnforcedStyle, CheckMethodNames, CheckSymbols, AllowedIdentifiers, AllowedPatterns.
 # SupportedStyles: snake_case, normalcase, non_integer
-# AllowedIdentifiers: capture3, iso8601, rfc1123_date, rfc822, rfc2822, rfc3339
+# AllowedIdentifiers: capture3, iso8601, rfc1123_date, rfc822, rfc2822, rfc3339, x86_64
 Naming/VariableNumber:
   Exclude:
     - 'db/migrate/20180106000232_add_index_on_statuses_for_api_v1_accounts_account_id_statuses.rb'
@@ -263,7 +215,6 @@ Naming/VariableNumber:
     - 'spec/models/user_spec.rb'
     - 'spec/services/activitypub/fetch_featured_collection_service_spec.rb'
 
-# Offense count: 12
 # Configuration parameters: MinSize.
 Performance/CollectionLiteralInLoop:
   Exclude:
@@ -278,14 +229,12 @@ Performance/CollectionLiteralInLoop:
     - 'app/services/unsuspend_account_service.rb'
     - 'lib/mastodon/media_cli.rb'
 
-# Offense count: 4
 # This cop supports unsafe autocorrection (--autocorrect-all).
 Performance/Count:
   Exclude:
     - 'app/lib/importer/accounts_index_importer.rb'
     - 'app/lib/importer/tags_index_importer.rb'
 
-# Offense count: 10
 # This cop supports unsafe autocorrection (--autocorrect-all).
 # Configuration parameters: SafeMultiline.
 Performance/DeletePrefix:
@@ -301,7 +250,6 @@ Performance/DeletePrefix:
     - 'app/services/resolve_account_service.rb'
     - 'app/services/tag_search_service.rb'
 
-# Offense count: 19
 # This cop supports unsafe autocorrection (--autocorrect-all).
 Performance/MapCompact:
   Exclude:
@@ -321,36 +269,30 @@ Performance/MapCompact:
     - 'db/migrate/20200407202420_migrate_unavailable_inboxes.rb'
     - 'spec/presenters/status_relationships_presenter_spec.rb'
 
-# Offense count: 7
 Performance/MethodObjectAsBlock:
   Exclude:
     - 'app/models/account_suggestions/source.rb'
     - 'spec/models/export_spec.rb'
 
-# Offense count: 1
 # This cop supports unsafe autocorrection (--autocorrect-all).
 Performance/RedundantEqualityComparisonBlock:
   Exclude:
     - 'spec/requests/link_headers_spec.rb'
 
-# Offense count: 1
 # This cop supports unsafe autocorrection (--autocorrect-all).
 # Configuration parameters: SafeMultiline.
 Performance/StartWith:
   Exclude:
     - 'app/lib/extractor.rb'
 
-# Offense count: 4
 # This cop supports unsafe autocorrection (--autocorrect-all).
 # Configuration parameters: OnlySumOrWithInitialValue.
 Performance/Sum:
   Exclude:
     - 'app/lib/activity_tracker.rb'
     - 'app/models/trends/history.rb'
-    - 'app/workers/scheduler/accounts_statuses_cleanup_scheduler.rb'
     - 'lib/paperclip/color_extractor.rb'
 
-# Offense count: 15
 # This cop supports unsafe autocorrection (--autocorrect-all).
 Performance/TimesMap:
   Exclude:
@@ -360,7 +302,6 @@ Performance/TimesMap:
     - 'spec/lib/request_pool_spec.rb'
     - 'spec/models/account_spec.rb'
 
-# Offense count: 4
 # This cop supports unsafe autocorrection (--autocorrect-all).
 Performance/UnfreezeString:
   Exclude:
@@ -369,7 +310,6 @@ Performance/UnfreezeString:
     - 'app/validators/status_length_validator.rb'
     - 'lib/tasks/mastodon.rake'
 
-# Offense count: 27
 RSpec/AnyInstance:
   Exclude:
     - 'spec/controllers/activitypub/inboxes_controller_spec.rb'
@@ -390,12 +330,10 @@ RSpec/AnyInstance:
     - 'spec/workers/activitypub/delivery_worker_spec.rb'
     - 'spec/workers/web/push_notification_worker_spec.rb'
 
-# Offense count: 1
 RSpec/BeforeAfterAll:
   Exclude:
     - 'spec/requests/localization_spec.rb'
 
-# Offense count: 558
 # Configuration parameters: Prefixes, AllowedPatterns.
 # Prefixes: when, with, without
 RSpec/ContextWording:
@@ -440,7 +378,6 @@ RSpec/ContextWording:
     - 'spec/lib/html_aware_formatter_spec.rb'
     - 'spec/lib/link_details_extractor_spec.rb'
     - 'spec/lib/ostatus/tag_manager_spec.rb'
-    - 'spec/lib/plain_text_formatter_spec.rb'
     - 'spec/lib/scope_transformer_spec.rb'
     - 'spec/lib/status_cache_hydrator_spec.rb'
     - 'spec/lib/status_reach_finder_spec.rb'
@@ -506,7 +443,6 @@ RSpec/ContextWording:
     - 'spec/workers/move_worker_spec.rb'
     - 'spec/workers/scheduler/accounts_statuses_cleanup_scheduler_spec.rb'
 
-# Offense count: 339
 # This cop supports unsafe autocorrection (--autocorrect-all).
 # Configuration parameters: SkipBlocks, EnforcedStyle.
 # SupportedStyles: described_class, explicit
@@ -581,7 +517,6 @@ RSpec/DescribedClass:
     - 'spec/services/update_account_service_spec.rb'
     - 'spec/validators/note_length_validator_spec.rb'
 
-# Offense count: 32
 # This cop supports unsafe autocorrection (--autocorrect-all).
 RSpec/EmptyExampleGroup:
   Exclude:
@@ -604,7 +539,6 @@ RSpec/EmptyExampleGroup:
     - 'spec/models/list_spec.rb'
     - 'spec/models/login_activity_spec.rb'
     - 'spec/models/mute_spec.rb'
-    - 'spec/models/one_time_key_spec.rb'
     - 'spec/models/preview_card_spec.rb'
     - 'spec/models/preview_card_trend_spec.rb'
     - 'spec/models/relay_spec.rb'
@@ -618,12 +552,10 @@ RSpec/EmptyExampleGroup:
     - 'spec/models/web/setting_spec.rb'
     - 'spec/services/unmute_service_spec.rb'
 
-# Offense count: 178
 # Configuration parameters: CountAsOne.
 RSpec/ExampleLength:
   Max: 22
 
-# Offense count: 21
 # This cop supports unsafe autocorrection (--autocorrect-all).
 # Configuration parameters: EnforcedStyle.
 # SupportedStyles: method_call, block
@@ -641,14 +573,12 @@ RSpec/ExpectChange:
     - 'spec/services/unsuspend_account_service_spec.rb'
     - 'spec/workers/scheduler/accounts_statuses_cleanup_scheduler_spec.rb'
 
-# Offense count: 5
 RSpec/ExpectInHook:
   Exclude:
     - 'spec/controllers/api/v1/media_controller_spec.rb'
     - 'spec/controllers/settings/applications_controller_spec.rb'
     - 'spec/lib/status_filter_spec.rb'
 
-# Offense count: 16
 # This cop supports safe autocorrection (--autocorrect).
 # Configuration parameters: EnforcedStyle.
 # SupportedStyles: implicit, each, example
@@ -664,7 +594,6 @@ RSpec/HookArgument:
     - 'spec/services/import_service_spec.rb'
     - 'spec/spec_helper.rb'
 
-# Offense count: 101
 # Configuration parameters: AssignmentOnly.
 RSpec/InstanceVariable:
   Exclude:
@@ -687,7 +616,6 @@ RSpec/InstanceVariable:
     - 'spec/services/search_service_spec.rb'
     - 'spec/services/unblock_domain_service_spec.rb'
 
-# Offense count: 15
 RSpec/LeakyConstantDeclaration:
   Exclude:
     - 'spec/controllers/api/base_controller_spec.rb'
@@ -700,7 +628,6 @@ RSpec/LeakyConstantDeclaration:
     - 'spec/lib/settings/extend_spec.rb'
     - 'spec/models/concerns/remotable_spec.rb'
 
-# Offense count: 108
 RSpec/LetSetup:
   Exclude:
     - 'spec/controllers/admin/accounts_controller_spec.rb'
@@ -753,7 +680,6 @@ RSpec/LetSetup:
     - 'spec/workers/scheduler/accounts_statuses_cleanup_scheduler_spec.rb'
     - 'spec/workers/scheduler/user_cleanup_scheduler_spec.rb'
 
-# Offense count: 7
 RSpec/MessageChain:
   Exclude:
     - 'spec/controllers/api/v1/media_controller_spec.rb'
@@ -761,7 +687,6 @@ RSpec/MessageChain:
     - 'spec/models/session_activation_spec.rb'
     - 'spec/models/setting_spec.rb'
 
-# Offense count: 47
 # Configuration parameters: EnforcedStyle.
 # SupportedStyles: have_received, receive
 RSpec/MessageSpies:
@@ -784,7 +709,6 @@ RSpec/MessageSpies:
     - 'spec/spec_helper.rb'
     - 'spec/validators/status_length_validator_spec.rb'
 
-# Offense count: 35
 RSpec/MissingExampleGroupArgument:
   Exclude:
     - 'spec/controllers/accounts_controller_spec.rb'
@@ -810,16 +734,13 @@ RSpec/MissingExampleGroupArgument:
     - 'spec/services/notify_service_spec.rb'
     - 'spec/services/process_mentions_service_spec.rb'
 
-# Offense count: 599
 RSpec/MultipleExpectations:
   Max: 19
 
-# Offense count: 442
 # Configuration parameters: AllowSubject.
 RSpec/MultipleMemoizedHelpers:
   Max: 21
 
-# Offense count: 7
 # This cop supports safe autocorrection (--autocorrect).
 RSpec/MultipleSubjects:
   Exclude:
@@ -831,7 +752,6 @@ RSpec/MultipleSubjects:
     - 'spec/controllers/follower_accounts_controller_spec.rb'
     - 'spec/controllers/following_accounts_controller_spec.rb'
 
-# Offense count: 1407
 # Configuration parameters: EnforcedStyle, IgnoreSharedExamples.
 # SupportedStyles: always, named_only
 RSpec/NamedSubject:
@@ -1030,12 +950,10 @@ RSpec/NamedSubject:
     - 'spec/workers/unfollow_follow_worker_spec.rb'
     - 'spec/workers/web/push_notification_worker_spec.rb'
 
-# Offense count: 552
 # Configuration parameters: AllowedGroups.
 RSpec/NestedGroups:
   Max: 6
 
-# Offense count: 2
 # Configuration parameters: AllowedPatterns.
 # AllowedPatterns: ^expect_, ^assert_
 RSpec/NoExpectationExample:
@@ -1043,13 +961,11 @@ RSpec/NoExpectationExample:
     - 'spec/controllers/auth/registrations_controller_spec.rb'
     - 'spec/services/precompute_feed_service_spec.rb'
 
-# Offense count: 3
 RSpec/PendingWithoutReason:
   Exclude:
     - 'spec/models/account_spec.rb'
     - 'spec/support/examples/lib/settings/scoped_settings.rb'
 
-# Offense count: 9
 # This cop supports unsafe autocorrection (--autocorrect-all).
 # Configuration parameters: Strict, EnforcedStyle, AllowedExplicitMatchers.
 # SupportedStyles: inflected, explicit
@@ -1059,7 +975,6 @@ RSpec/PredicateMatcher:
     - 'spec/models/user_spec.rb'
     - 'spec/services/post_status_service_spec.rb'
 
-# Offense count: 180
 # This cop supports unsafe autocorrection (--autocorrect-all).
 # Configuration parameters: Inferences.
 RSpec/Rails/InferredSpecType:
@@ -1166,7 +1081,6 @@ RSpec/Rails/InferredSpecType:
     - 'spec/helpers/formatting_helper_spec.rb'
     - 'spec/helpers/home_helper_spec.rb'
     - 'spec/helpers/routing_helper_spec.rb'
-    - 'spec/helpers/statuses_helper_spec.rb'
     - 'spec/mailers/admin_mailer_spec.rb'
     - 'spec/mailers/notification_mailer_spec.rb'
     - 'spec/mailers/user_mailer_spec.rb'
@@ -1184,18 +1098,15 @@ RSpec/Rails/InferredSpecType:
     - 'spec/models/announcement_mute_spec.rb'
     - 'spec/models/announcement_reaction_spec.rb'
     - 'spec/models/announcement_spec.rb'
-    - 'spec/models/appeal_spec.rb'
     - 'spec/models/backup_spec.rb'
     - 'spec/models/block_spec.rb'
     - 'spec/models/canonical_email_block_spec.rb'
     - 'spec/models/conversation_mute_spec.rb'
     - 'spec/models/conversation_spec.rb'
-    - 'spec/models/custom_emoji_category_spec.rb'
     - 'spec/models/custom_emoji_spec.rb'
     - 'spec/models/custom_filter_keyword_spec.rb'
     - 'spec/models/custom_filter_spec.rb'
     - 'spec/models/device_spec.rb'
-    - 'spec/models/domain_allow_spec.rb'
     - 'spec/models/domain_block_spec.rb'
     - 'spec/models/email_domain_block_spec.rb'
     - 'spec/models/encrypted_message_spec.rb'
@@ -1208,28 +1119,22 @@ RSpec/Rails/InferredSpecType:
     - 'spec/models/identity_spec.rb'
     - 'spec/models/import_spec.rb'
     - 'spec/models/invite_spec.rb'
-    - 'spec/models/ip_block_spec.rb'
     - 'spec/models/list_account_spec.rb'
     - 'spec/models/list_spec.rb'
     - 'spec/models/login_activity_spec.rb'
-    - 'spec/models/marker_spec.rb'
     - 'spec/models/media_attachment_spec.rb'
     - 'spec/models/mention_spec.rb'
     - 'spec/models/mute_spec.rb'
     - 'spec/models/notification_spec.rb'
-    - 'spec/models/one_time_key_spec.rb'
-    - 'spec/models/poll_spec.rb'
     - 'spec/models/poll_vote_spec.rb'
     - 'spec/models/preview_card_spec.rb'
     - 'spec/models/preview_card_trend_spec.rb'
     - 'spec/models/public_feed_spec.rb'
     - 'spec/models/relay_spec.rb'
-    - 'spec/models/rule_spec.rb'
     - 'spec/models/scheduled_status_spec.rb'
     - 'spec/models/session_activation_spec.rb'
     - 'spec/models/setting_spec.rb'
     - 'spec/models/site_upload_spec.rb'
-    - 'spec/models/status_edit_spec.rb'
     - 'spec/models/status_pin_spec.rb'
     - 'spec/models/status_spec.rb'
     - 'spec/models/status_stat_spec.rb'
@@ -1245,23 +1150,19 @@ RSpec/Rails/InferredSpecType:
     - 'spec/models/webauthn_credentials_spec.rb'
     - 'spec/models/webhook_spec.rb'
 
-# Offense count: 6
 RSpec/RepeatedExample:
   Exclude:
     - 'spec/policies/status_policy_spec.rb'
 
-# Offense count: 6
 RSpec/RepeatedExampleGroupBody:
   Exclude:
     - 'spec/controllers/statuses_controller_spec.rb'
 
-# Offense count: 4
 RSpec/RepeatedExampleGroupDescription:
   Exclude:
     - 'spec/controllers/admin/reports/actions_controller_spec.rb'
     - 'spec/policies/report_note_policy_spec.rb'
 
-# Offense count: 12
 RSpec/ScatteredSetup:
   Exclude:
     - 'spec/controllers/activitypub/followers_synchronizations_controller_spec.rb'
@@ -1269,15 +1170,12 @@ RSpec/ScatteredSetup:
     - 'spec/controllers/admin/disputes/appeals_controller_spec.rb'
     - 'spec/controllers/auth/registrations_controller_spec.rb'
     - 'spec/services/activitypub/process_account_service_spec.rb'
-    - 'spec/services/fetch_resource_service_spec.rb'
 
-# Offense count: 1
 # This cop supports safe autocorrection (--autocorrect).
 RSpec/SharedContext:
   Exclude:
     - 'spec/services/unsuspend_account_service_spec.rb'
 
-# Offense count: 16
 RSpec/StubbedMock:
   Exclude:
     - 'spec/controllers/api/base_controller_spec.rb'
@@ -1289,7 +1187,6 @@ RSpec/StubbedMock:
     - 'spec/lib/webfinger_resource_spec.rb'
     - 'spec/services/activitypub/process_collection_service_spec.rb'
 
-# Offense count: 22
 RSpec/SubjectDeclaration:
   Exclude:
     - 'spec/controllers/admin/domain_blocks_controller_spec.rb'
@@ -1314,13 +1211,11 @@ RSpec/SubjectDeclaration:
     - 'spec/policies/user_policy_spec.rb'
     - 'spec/services/activitypub/process_account_service_spec.rb'
 
-# Offense count: 5
 RSpec/SubjectStub:
   Exclude:
     - 'spec/services/unallow_domain_service_spec.rb'
     - 'spec/validators/blacklisted_email_validator_spec.rb'
 
-# Offense count: 119
 # Configuration parameters: IgnoreNameless, IgnoreSymbolicNames.
 RSpec/VerifiedDoubles:
   Exclude:
@@ -1361,7 +1256,6 @@ RSpec/VerifiedDoubles:
     - 'spec/workers/feed_insert_worker_spec.rb'
     - 'spec/workers/regeneration_worker_spec.rb'
 
-# Offense count: 19
 # This cop supports safe autocorrection (--autocorrect).
 # Configuration parameters: ExpectedOrder, Include.
 # ExpectedOrder: index, show, new, edit, create, update, destroy
@@ -1388,7 +1282,6 @@ Rails/ActionOrder:
     - 'app/controllers/settings/applications_controller.rb'
     - 'app/controllers/settings/two_factor_authentication/webauthn_credentials_controller.rb'
 
-# Offense count: 7
 # This cop supports safe autocorrection (--autocorrect).
 # Configuration parameters: Include.
 # Include: app/models/**/*.rb
@@ -1402,7 +1295,6 @@ Rails/ActiveRecordCallbacksOrder:
     - 'app/models/session_activation.rb'
     - 'app/models/status.rb'
 
-# Offense count: 4
 # This cop supports unsafe autocorrection (--autocorrect-all).
 Rails/ApplicationController:
   Exclude:
@@ -1411,7 +1303,6 @@ Rails/ApplicationController:
     - 'app/controllers/well_known/nodeinfo_controller.rb'
     - 'app/controllers/well_known/webfinger_controller.rb'
 
-# Offense count: 35
 # Configuration parameters: Database, Include.
 # SupportedDatabases: mysql, postgresql
 # Include: db/migrate/*.rb
@@ -1449,7 +1340,6 @@ Rails/BulkChangeTable:
     - 'db/migrate/20220303000827_add_ordered_media_attachment_ids_to_status_edits.rb'
     - 'db/migrate/20220824164433_add_human_identifier_to_admin_action_logs.rb'
 
-# Offense count: 7
 # This cop supports unsafe autocorrection (--autocorrect-all).
 Rails/CompactBlank:
   Exclude:
@@ -1460,14 +1350,12 @@ Rails/CompactBlank:
     - 'app/models/user.rb'
     - 'app/services/import_service.rb'
 
-# Offense count: 3
 # This cop supports safe autocorrection (--autocorrect).
 Rails/ContentTag:
   Exclude:
     - 'app/helpers/application_helper.rb'
     - 'app/helpers/branding_helper.rb'
 
-# Offense count: 8
 # Configuration parameters: Include.
 # Include: db/migrate/*.rb
 Rails/CreateTableWithTimestamps:
@@ -1481,22 +1369,17 @@ Rails/CreateTableWithTimestamps:
     - 'db/migrate/20220824233535_create_status_trends.rb'
     - 'db/migrate/20221006061337_create_preview_card_trends.rb'
 
-# Offense count: 4
 # This cop supports unsafe autocorrection (--autocorrect-all).
 Rails/DeprecatedActiveModelErrorsMethods:
   Exclude:
-    - 'app/validators/ed25519_key_validator.rb'
-    - 'app/validators/ed25519_signature_validator.rb'
     - 'lib/mastodon/accounts_cli.rb'
 
-# Offense count: 4
 # This cop supports safe autocorrection (--autocorrect).
 Rails/DuplicateAssociation:
   Exclude:
     - 'app/serializers/activitypub/collection_serializer.rb'
     - 'app/serializers/activitypub/note_serializer.rb'
 
-# Offense count: 76
 # Configuration parameters: EnforcedStyle.
 # SupportedStyles: slashes, arguments
 Rails/FilePath:
@@ -1564,7 +1447,6 @@ Rails/FilePath:
     - 'spec/rails_helper.rb'
     - 'spec/spec_helper.rb'
 
-# Offense count: 6
 # Configuration parameters: Include.
 # Include: app/models/**/*.rb
 Rails/HasAndBelongsToMany:
@@ -1574,7 +1456,6 @@ Rails/HasAndBelongsToMany:
     - 'app/models/status.rb'
     - 'app/models/tag.rb'
 
-# Offense count: 15
 # Configuration parameters: Include.
 # Include: app/models/**/*.rb
 Rails/HasManyOrHasOneDependent:
@@ -1589,7 +1470,6 @@ Rails/HasManyOrHasOneDependent:
     - 'app/models/user.rb'
     - 'app/models/web/push_subscription.rb'
 
-# Offense count: 4
 # Configuration parameters: Include.
 # Include: app/helpers/**/*.rb
 Rails/HelperInstanceVariable:
@@ -1598,7 +1478,6 @@ Rails/HelperInstanceVariable:
     - 'app/helpers/instance_helper.rb'
     - 'app/helpers/jsonld_helper.rb'
 
-# Offense count: 3
 # This cop supports safe autocorrection (--autocorrect).
 # Configuration parameters: Include.
 # Include: spec/**/*, test/**/*
@@ -1606,7 +1485,6 @@ Rails/HttpPositionalArguments:
   Exclude:
     - 'spec/config/initializers/rack_attack_spec.rb'
 
-# Offense count: 7
 # Configuration parameters: Include.
 # Include: spec/**/*.rb, test/**/*.rb
 Rails/I18nLocaleAssignment:
@@ -1615,13 +1493,11 @@ Rails/I18nLocaleAssignment:
     - 'spec/helpers/application_helper_spec.rb'
     - 'spec/requests/localization_spec.rb'
 
-# Offense count: 6
 Rails/I18nLocaleTexts:
   Exclude:
     - 'lib/tasks/mastodon.rake'
     - 'spec/helpers/flashes_helper_spec.rb'
 
-# Offense count: 8
 # This cop supports unsafe autocorrection (--autocorrect-all).
 Rails/IgnoredColumnsAssignment:
   Exclude:
@@ -1634,7 +1510,6 @@ Rails/IgnoredColumnsAssignment:
     - 'app/models/status_edit.rb'
     - 'app/models/user.rb'
 
-# Offense count: 25
 # Configuration parameters: IgnoreScopes, Include.
 # Include: app/models/**/*.rb
 Rails/InverseOf:
@@ -1647,9 +1522,7 @@ Rails/InverseOf:
     - 'app/models/instance.rb'
     - 'app/models/notification.rb'
     - 'app/models/status.rb'
-    - 'app/models/user_ip.rb'
 
-# Offense count: 13
 # Configuration parameters: Include.
 # Include: app/controllers/**/*.rb, app/mailers/**/*.rb
 Rails/LexicallyScopedActionFilter:
@@ -1660,7 +1533,6 @@ Rails/LexicallyScopedActionFilter:
     - 'app/controllers/auth/registrations_controller.rb'
     - 'app/controllers/auth/sessions_controller.rb'
 
-# Offense count: 18
 # This cop supports unsafe autocorrection (--autocorrect-all).
 Rails/NegateInclude:
   Exclude:
@@ -1680,7 +1552,6 @@ Rails/NegateInclude:
     - 'app/workers/web/push_notification_worker.rb'
     - 'lib/paperclip/color_extractor.rb'
 
-# Offense count: 2
 # This cop supports unsafe autocorrection (--autocorrect-all).
 # Configuration parameters: Include.
 # Include: app/**/*.rb, config/**/*.rb, db/**/*.rb, lib/**/*.rb
@@ -1688,7 +1559,6 @@ Rails/Output:
   Exclude:
     - 'lib/mastodon/ip_blocks_cli.rb'
 
-# Offense count: 9
 # This cop supports unsafe autocorrection (--autocorrect-all).
 # Configuration parameters: Include.
 # Include: **/Rakefile, **/*.rake
@@ -1701,7 +1571,6 @@ Rails/RakeEnvironment:
     - 'lib/tasks/repo.rake'
     - 'lib/tasks/statistics.rake'
 
-# Offense count: 29
 # Configuration parameters: Include.
 # Include: db/**/*.rb
 Rails/ReversibleMigration:
@@ -1720,7 +1589,6 @@ Rails/ReversibleMigration:
     - 'db/migrate/20180617162849_remove_unused_indexes.rb'
     - 'db/migrate/20220827195229_change_canonical_email_blocks_nullable.rb'
 
-# Offense count: 141
 # Configuration parameters: ForbiddenMethods, AllowedMethods.
 # ForbiddenMethods: decrement!, decrement_counter, increment!, increment_counter, insert, insert!, insert_all, insert_all!, toggle!, touch, touch_all, update_all, update_attribute, update_column, update_columns, update_counters, upsert, upsert_all
 Rails/SkipsModelValidations:
@@ -1774,7 +1642,6 @@ Rails/SkipsModelValidations:
     - 'spec/services/follow_service_spec.rb'
     - 'spec/services/update_account_service_spec.rb'
 
-# Offense count: 11
 # This cop supports unsafe autocorrection (--autocorrect-all).
 Rails/SquishedSQLHeredocs:
   Exclude:
@@ -1784,7 +1651,6 @@ Rails/SquishedSQLHeredocs:
     - 'lib/mastodon/snowflake.rb'
     - 'lib/tasks/tests.rake'
 
-# Offense count: 7
 Rails/TransactionExitStatement:
   Exclude:
     - 'app/lib/activitypub/activity/announce.rb'
@@ -1792,7 +1658,6 @@ Rails/TransactionExitStatement:
     - 'app/lib/activitypub/activity/delete.rb'
     - 'app/services/activitypub/process_account_service.rb'
 
-# Offense count: 4
 # Configuration parameters: Include.
 # Include: app/models/**/*.rb
 Rails/UniqueValidationWithoutIndex:
@@ -1802,7 +1667,6 @@ Rails/UniqueValidationWithoutIndex:
     - 'app/models/identity.rb'
     - 'app/models/webauthn_credential.rb'
 
-# Offense count: 19
 # Configuration parameters: Include.
 # Include: app/models/**/*.rb
 Rails/UnusedIgnoredColumns:
@@ -1816,7 +1680,6 @@ Rails/UnusedIgnoredColumns:
     - 'app/models/status_edit.rb'
     - 'app/models/user.rb'
 
-# Offense count: 61
 # This cop supports unsafe autocorrection (--autocorrect-all).
 # Configuration parameters: EnforcedStyle.
 # SupportedStyles: exists, where
@@ -1856,24 +1719,461 @@ Rails/WhereExists:
     - 'spec/services/purge_domain_service_spec.rb'
     - 'spec/services/unallow_domain_service_spec.rb'
 
-# Offense count: 5
 # This cop supports unsafe autocorrection (--autocorrect-all).
+# Configuration parameters: MinBranchesCount.
 Style/CaseLikeIf:
   Exclude:
-    - 'app/controllers/authorize_interactions_controller.rb'
     - 'app/controllers/concerns/signature_verification.rb'
-    - 'app/helpers/jsonld_helper.rb'
-    - 'app/models/account.rb'
-    - 'app/services/resolve_url_service.rb'
 
-# Offense count: 445
 # This cop supports unsafe autocorrection (--autocorrect-all).
 # Configuration parameters: EnforcedStyle.
 # SupportedStyles: nested, compact
 Style/ClassAndModuleChildren:
-  Enabled: false
+  Exclude:
+    - 'app/controllers/activitypub/base_controller.rb'
+    - 'app/controllers/activitypub/claims_controller.rb'
+    - 'app/controllers/activitypub/collections_controller.rb'
+    - 'app/controllers/activitypub/followers_synchronizations_controller.rb'
+    - 'app/controllers/activitypub/inboxes_controller.rb'
+    - 'app/controllers/activitypub/outboxes_controller.rb'
+    - 'app/controllers/activitypub/replies_controller.rb'
+    - 'app/controllers/admin/announcements_controller.rb'
+    - 'app/controllers/admin/disputes/appeals_controller.rb'
+    - 'app/controllers/admin/domain_allows_controller.rb'
+    - 'app/controllers/admin/reports/actions_controller.rb'
+    - 'app/controllers/admin/settings/about_controller.rb'
+    - 'app/controllers/admin/settings/appearance_controller.rb'
+    - 'app/controllers/admin/settings/branding_controller.rb'
+    - 'app/controllers/admin/settings/content_retention_controller.rb'
+    - 'app/controllers/admin/settings/discovery_controller.rb'
+    - 'app/controllers/admin/settings/registrations_controller.rb'
+    - 'app/controllers/admin/trends/links/preview_card_providers_controller.rb'
+    - 'app/controllers/admin/trends/links_controller.rb'
+    - 'app/controllers/admin/trends/statuses_controller.rb'
+    - 'app/controllers/admin/trends/tags_controller.rb'
+    - 'app/controllers/admin/users/roles_controller.rb'
+    - 'app/controllers/admin/users/two_factor_authentications_controller.rb'
+    - 'app/controllers/admin/webhooks/secrets_controller.rb'
+    - 'app/controllers/api/base_controller.rb'
+    - 'app/controllers/api/oembed_controller.rb'
+    - 'app/controllers/api/v1/accounts/credentials_controller.rb'
+    - 'app/controllers/api/v1/accounts/familiar_followers_controller.rb'
+    - 'app/controllers/api/v1/accounts/featured_tags_controller.rb'
+    - 'app/controllers/api/v1/accounts/follower_accounts_controller.rb'
+    - 'app/controllers/api/v1/accounts/following_accounts_controller.rb'
+    - 'app/controllers/api/v1/accounts/identity_proofs_controller.rb'
+    - 'app/controllers/api/v1/accounts/lists_controller.rb'
+    - 'app/controllers/api/v1/accounts/lookup_controller.rb'
+    - 'app/controllers/api/v1/accounts/notes_controller.rb'
+    - 'app/controllers/api/v1/accounts/pins_controller.rb'
+    - 'app/controllers/api/v1/accounts/relationships_controller.rb'
+    - 'app/controllers/api/v1/accounts/search_controller.rb'
+    - 'app/controllers/api/v1/accounts/statuses_controller.rb'
+    - 'app/controllers/api/v1/accounts_controller.rb'
+    - 'app/controllers/api/v1/admin/account_actions_controller.rb'
+    - 'app/controllers/api/v1/admin/accounts_controller.rb'
+    - 'app/controllers/api/v1/admin/canonical_email_blocks_controller.rb'
+    - 'app/controllers/api/v1/admin/dimensions_controller.rb'
+    - 'app/controllers/api/v1/admin/domain_allows_controller.rb'
+    - 'app/controllers/api/v1/admin/domain_blocks_controller.rb'
+    - 'app/controllers/api/v1/admin/email_domain_blocks_controller.rb'
+    - 'app/controllers/api/v1/admin/ip_blocks_controller.rb'
+    - 'app/controllers/api/v1/admin/measures_controller.rb'
+    - 'app/controllers/api/v1/admin/reports_controller.rb'
+    - 'app/controllers/api/v1/admin/retention_controller.rb'
+    - 'app/controllers/api/v1/admin/trends/links_controller.rb'
+    - 'app/controllers/api/v1/admin/trends/statuses_controller.rb'
+    - 'app/controllers/api/v1/admin/trends/tags_controller.rb'
+    - 'app/controllers/api/v1/announcements/reactions_controller.rb'
+    - 'app/controllers/api/v1/announcements_controller.rb'
+    - 'app/controllers/api/v1/apps/credentials_controller.rb'
+    - 'app/controllers/api/v1/apps_controller.rb'
+    - 'app/controllers/api/v1/blocks_controller.rb'
+    - 'app/controllers/api/v1/bookmarks_controller.rb'
+    - 'app/controllers/api/v1/conversations_controller.rb'
+    - 'app/controllers/api/v1/crypto/deliveries_controller.rb'
+    - 'app/controllers/api/v1/crypto/encrypted_messages_controller.rb'
+    - 'app/controllers/api/v1/crypto/keys/claims_controller.rb'
+    - 'app/controllers/api/v1/crypto/keys/counts_controller.rb'
+    - 'app/controllers/api/v1/crypto/keys/queries_controller.rb'
+    - 'app/controllers/api/v1/crypto/keys/uploads_controller.rb'
+    - 'app/controllers/api/v1/custom_emojis_controller.rb'
+    - 'app/controllers/api/v1/directories_controller.rb'
+    - 'app/controllers/api/v1/domain_blocks_controller.rb'
+    - 'app/controllers/api/v1/emails/confirmations_controller.rb'
+    - 'app/controllers/api/v1/endorsements_controller.rb'
+    - 'app/controllers/api/v1/favourites_controller.rb'
+    - 'app/controllers/api/v1/featured_tags/suggestions_controller.rb'
+    - 'app/controllers/api/v1/featured_tags_controller.rb'
+    - 'app/controllers/api/v1/filters_controller.rb'
+    - 'app/controllers/api/v1/follow_requests_controller.rb'
+    - 'app/controllers/api/v1/followed_tags_controller.rb'
+    - 'app/controllers/api/v1/instances/activity_controller.rb'
+    - 'app/controllers/api/v1/instances/domain_blocks_controller.rb'
+    - 'app/controllers/api/v1/instances/extended_descriptions_controller.rb'
+    - 'app/controllers/api/v1/instances/peers_controller.rb'
+    - 'app/controllers/api/v1/instances/privacy_policies_controller.rb'
+    - 'app/controllers/api/v1/instances/rules_controller.rb'
+    - 'app/controllers/api/v1/instances_controller.rb'
+    - 'app/controllers/api/v1/lists/accounts_controller.rb'
+    - 'app/controllers/api/v1/lists_controller.rb'
+    - 'app/controllers/api/v1/markers_controller.rb'
+    - 'app/controllers/api/v1/media_controller.rb'
+    - 'app/controllers/api/v1/mutes_controller.rb'
+    - 'app/controllers/api/v1/notifications_controller.rb'
+    - 'app/controllers/api/v1/polls/votes_controller.rb'
+    - 'app/controllers/api/v1/polls_controller.rb'
+    - 'app/controllers/api/v1/preferences_controller.rb'
+    - 'app/controllers/api/v1/push/subscriptions_controller.rb'
+    - 'app/controllers/api/v1/reports_controller.rb'
+    - 'app/controllers/api/v1/scheduled_statuses_controller.rb'
+    - 'app/controllers/api/v1/statuses/bookmarks_controller.rb'
+    - 'app/controllers/api/v1/statuses/favourited_by_accounts_controller.rb'
+    - 'app/controllers/api/v1/statuses/favourites_controller.rb'
+    - 'app/controllers/api/v1/statuses/histories_controller.rb'
+    - 'app/controllers/api/v1/statuses/mutes_controller.rb'
+    - 'app/controllers/api/v1/statuses/pins_controller.rb'
+    - 'app/controllers/api/v1/statuses/reblogged_by_accounts_controller.rb'
+    - 'app/controllers/api/v1/statuses/reblogs_controller.rb'
+    - 'app/controllers/api/v1/statuses/sources_controller.rb'
+    - 'app/controllers/api/v1/statuses/translations_controller.rb'
+    - 'app/controllers/api/v1/statuses_controller.rb'
+    - 'app/controllers/api/v1/streaming_controller.rb'
+    - 'app/controllers/api/v1/suggestions_controller.rb'
+    - 'app/controllers/api/v1/tags_controller.rb'
+    - 'app/controllers/api/v1/timelines/home_controller.rb'
+    - 'app/controllers/api/v1/timelines/list_controller.rb'
+    - 'app/controllers/api/v1/timelines/public_controller.rb'
+    - 'app/controllers/api/v1/timelines/tag_controller.rb'
+    - 'app/controllers/api/v1/trends/links_controller.rb'
+    - 'app/controllers/api/v1/trends/statuses_controller.rb'
+    - 'app/controllers/api/v1/trends/tags_controller.rb'
+    - 'app/controllers/api/v2/admin/accounts_controller.rb'
+    - 'app/controllers/api/v2/filters/keywords_controller.rb'
+    - 'app/controllers/api/v2/filters/statuses_controller.rb'
+    - 'app/controllers/api/v2/filters_controller.rb'
+    - 'app/controllers/api/v2/instances_controller.rb'
+    - 'app/controllers/api/v2/media_controller.rb'
+    - 'app/controllers/api/v2/search_controller.rb'
+    - 'app/controllers/api/v2/suggestions_controller.rb'
+    - 'app/controllers/api/web/base_controller.rb'
+    - 'app/controllers/api/web/embeds_controller.rb'
+    - 'app/controllers/api/web/push_subscriptions_controller.rb'
+    - 'app/controllers/api/web/settings_controller.rb'
+    - 'app/controllers/auth/challenges_controller.rb'
+    - 'app/controllers/auth/confirmations_controller.rb'
+    - 'app/controllers/auth/omniauth_callbacks_controller.rb'
+    - 'app/controllers/auth/passwords_controller.rb'
+    - 'app/controllers/auth/registrations_controller.rb'
+    - 'app/controllers/auth/sessions_controller.rb'
+    - 'app/controllers/auth/setup_controller.rb'
+    - 'app/controllers/disputes/appeals_controller.rb'
+    - 'app/controllers/disputes/base_controller.rb'
+    - 'app/controllers/disputes/strikes_controller.rb'
+    - 'app/controllers/filters/statuses_controller.rb'
+    - 'app/controllers/oauth/authorizations_controller.rb'
+    - 'app/controllers/oauth/authorized_applications_controller.rb'
+    - 'app/controllers/oauth/tokens_controller.rb'
+    - 'app/controllers/settings/aliases_controller.rb'
+    - 'app/controllers/settings/applications_controller.rb'
+    - 'app/controllers/settings/base_controller.rb'
+    - 'app/controllers/settings/deletes_controller.rb'
+    - 'app/controllers/settings/exports_controller.rb'
+    - 'app/controllers/settings/featured_tags_controller.rb'
+    - 'app/controllers/settings/imports_controller.rb'
+    - 'app/controllers/settings/login_activities_controller.rb'
+    - 'app/controllers/settings/migration/redirects_controller.rb'
+    - 'app/controllers/settings/migrations_controller.rb'
+    - 'app/controllers/settings/preferences/appearance_controller.rb'
+    - 'app/controllers/settings/preferences/notifications_controller.rb'
+    - 'app/controllers/settings/preferences/other_controller.rb'
+    - 'app/controllers/settings/preferences_controller.rb'
+    - 'app/controllers/settings/profiles_controller.rb'
+    - 'app/controllers/settings/sessions_controller.rb'
+    - 'app/helpers/admin/account_moderation_notes_helper.rb'
+    - 'app/helpers/admin/action_logs_helper.rb'
+    - 'app/helpers/admin/dashboard_helper.rb'
+    - 'app/helpers/admin/filter_helper.rb'
+    - 'app/helpers/admin/settings_helper.rb'
+    - 'app/helpers/admin/trends/statuses_helper.rb'
+    - 'app/lib/activitypub/activity.rb'
+    - 'app/lib/activitypub/activity/accept.rb'
+    - 'app/lib/activitypub/activity/add.rb'
+    - 'app/lib/activitypub/activity/announce.rb'
+    - 'app/lib/activitypub/activity/block.rb'
+    - 'app/lib/activitypub/activity/create.rb'
+    - 'app/lib/activitypub/activity/delete.rb'
+    - 'app/lib/activitypub/activity/flag.rb'
+    - 'app/lib/activitypub/activity/follow.rb'
+    - 'app/lib/activitypub/activity/like.rb'
+    - 'app/lib/activitypub/activity/move.rb'
+    - 'app/lib/activitypub/activity/reject.rb'
+    - 'app/lib/activitypub/activity/remove.rb'
+    - 'app/lib/activitypub/activity/undo.rb'
+    - 'app/lib/activitypub/activity/update.rb'
+    - 'app/lib/activitypub/adapter.rb'
+    - 'app/lib/activitypub/case_transform.rb'
+    - 'app/lib/activitypub/dereferencer.rb'
+    - 'app/lib/activitypub/forwarder.rb'
+    - 'app/lib/activitypub/linked_data_signature.rb'
+    - 'app/lib/activitypub/parser/custom_emoji_parser.rb'
+    - 'app/lib/activitypub/parser/media_attachment_parser.rb'
+    - 'app/lib/activitypub/parser/poll_parser.rb'
+    - 'app/lib/activitypub/parser/status_parser.rb'
+    - 'app/lib/activitypub/serializer.rb'
+    - 'app/lib/activitypub/tag_manager.rb'
+    - 'app/lib/admin/metrics/dimension.rb'
+    - 'app/lib/admin/metrics/dimension/base_dimension.rb'
+    - 'app/lib/admin/metrics/dimension/instance_accounts_dimension.rb'
+    - 'app/lib/admin/metrics/dimension/instance_languages_dimension.rb'
+    - 'app/lib/admin/metrics/dimension/languages_dimension.rb'
+    - 'app/lib/admin/metrics/dimension/servers_dimension.rb'
+    - 'app/lib/admin/metrics/dimension/software_versions_dimension.rb'
+    - 'app/lib/admin/metrics/dimension/sources_dimension.rb'
+    - 'app/lib/admin/metrics/dimension/space_usage_dimension.rb'
+    - 'app/lib/admin/metrics/dimension/tag_languages_dimension.rb'
+    - 'app/lib/admin/metrics/dimension/tag_servers_dimension.rb'
+    - 'app/lib/admin/metrics/measure.rb'
+    - 'app/lib/admin/metrics/measure/active_users_measure.rb'
+    - 'app/lib/admin/metrics/measure/base_measure.rb'
+    - 'app/lib/admin/metrics/measure/instance_accounts_measure.rb'
+    - 'app/lib/admin/metrics/measure/instance_followers_measure.rb'
+    - 'app/lib/admin/metrics/measure/instance_follows_measure.rb'
+    - 'app/lib/admin/metrics/measure/instance_media_attachments_measure.rb'
+    - 'app/lib/admin/metrics/measure/instance_reports_measure.rb'
+    - 'app/lib/admin/metrics/measure/instance_statuses_measure.rb'
+    - 'app/lib/admin/metrics/measure/interactions_measure.rb'
+    - 'app/lib/admin/metrics/measure/new_users_measure.rb'
+    - 'app/lib/admin/metrics/measure/opened_reports_measure.rb'
+    - 'app/lib/admin/metrics/measure/resolved_reports_measure.rb'
+    - 'app/lib/admin/metrics/measure/tag_accounts_measure.rb'
+    - 'app/lib/admin/metrics/measure/tag_servers_measure.rb'
+    - 'app/lib/admin/metrics/measure/tag_uses_measure.rb'
+    - 'app/lib/admin/metrics/retention.rb'
+    - 'app/lib/admin/system_check.rb'
+    - 'app/lib/admin/system_check/base_check.rb'
+    - 'app/lib/admin/system_check/database_schema_check.rb'
+    - 'app/lib/admin/system_check/elasticsearch_check.rb'
+    - 'app/lib/admin/system_check/message.rb'
+    - 'app/lib/admin/system_check/rules_check.rb'
+    - 'app/lib/admin/system_check/sidekiq_process_check.rb'
+    - 'app/lib/connection_pool/shared_connection_pool.rb'
+    - 'app/lib/connection_pool/shared_timed_stack.rb'
+    - 'app/lib/importer/accounts_index_importer.rb'
+    - 'app/lib/importer/base_importer.rb'
+    - 'app/lib/importer/statuses_index_importer.rb'
+    - 'app/lib/importer/tags_index_importer.rb'
+    - 'app/lib/nodeinfo/adapter.rb'
+    - 'app/lib/ostatus/tag_manager.rb'
+    - 'app/lib/request.rb'
+    - 'app/lib/rss/builder.rb'
+    - 'app/lib/rss/channel.rb'
+    - 'app/lib/rss/element.rb'
+    - 'app/lib/rss/item.rb'
+    - 'app/lib/rss/media_content.rb'
+    - 'app/lib/translation_service/deepl.rb'
+    - 'app/lib/translation_service/libre_translate.rb'
+    - 'app/lib/translation_service/translation.rb'
+    - 'app/lib/vacuum/access_tokens_vacuum.rb'
+    - 'app/lib/vacuum/backups_vacuum.rb'
+    - 'app/lib/vacuum/feeds_vacuum.rb'
+    - 'app/lib/vacuum/media_attachments_vacuum.rb'
+    - 'app/lib/vacuum/preview_cards_vacuum.rb'
+    - 'app/lib/vacuum/statuses_vacuum.rb'
+    - 'app/lib/vacuum/system_keys_vacuum.rb'
+    - 'app/models/account/field.rb'
+    - 'app/models/account_suggestions/global_source.rb'
+    - 'app/models/account_suggestions/past_interactions_source.rb'
+    - 'app/models/account_suggestions/setting_source.rb'
+    - 'app/models/account_suggestions/source.rb'
+    - 'app/models/account_suggestions/suggestion.rb'
+    - 'app/models/admin/account_action.rb'
+    - 'app/models/admin/action_log.rb'
+    - 'app/models/admin/action_log_filter.rb'
+    - 'app/models/admin/appeal_filter.rb'
+    - 'app/models/admin/import.rb'
+    - 'app/models/admin/status_batch_action.rb'
+    - 'app/models/admin/status_filter.rb'
+    - 'app/models/form/account_batch.rb'
+    - 'app/models/form/admin_settings.rb'
+    - 'app/models/form/challenge.rb'
+    - 'app/models/form/custom_emoji_batch.rb'
+    - 'app/models/form/delete_confirmation.rb'
+    - 'app/models/form/domain_block_batch.rb'
+    - 'app/models/form/email_domain_block_batch.rb'
+    - 'app/models/form/ip_block_batch.rb'
+    - 'app/models/form/redirect.rb'
+    - 'app/models/form/status_filter_batch_action.rb'
+    - 'app/models/form/two_factor_confirmation.rb'
+    - 'app/models/trends/base.rb'
+    - 'app/models/trends/history.rb'
+    - 'app/models/trends/links.rb'
+    - 'app/models/trends/preview_card_batch.rb'
+    - 'app/models/trends/preview_card_filter.rb'
+    - 'app/models/trends/preview_card_provider_batch.rb'
+    - 'app/models/trends/preview_card_provider_filter.rb'
+    - 'app/models/trends/query.rb'
+    - 'app/models/trends/status_batch.rb'
+    - 'app/models/trends/status_filter.rb'
+    - 'app/models/trends/statuses.rb'
+    - 'app/models/trends/tag_batch.rb'
+    - 'app/models/trends/tag_filter.rb'
+    - 'app/models/trends/tags.rb'
+    - 'app/models/web/push_subscription.rb'
+    - 'app/models/web/setting.rb'
+    - 'app/policies/admin/status_policy.rb'
+    - 'app/presenters/activitypub/activity_presenter.rb'
+    - 'app/presenters/activitypub/collection_presenter.rb'
+    - 'app/presenters/webhooks/event_presenter.rb'
+    - 'app/serializers/activitypub/accept_follow_serializer.rb'
+    - 'app/serializers/activitypub/activity_serializer.rb'
+    - 'app/serializers/activitypub/actor_serializer.rb'
+    - 'app/serializers/activitypub/add_serializer.rb'
+    - 'app/serializers/activitypub/block_serializer.rb'
+    - 'app/serializers/activitypub/collection_serializer.rb'
+    - 'app/serializers/activitypub/delete_actor_serializer.rb'
+    - 'app/serializers/activitypub/delete_serializer.rb'
+    - 'app/serializers/activitypub/device_serializer.rb'
+    - 'app/serializers/activitypub/emoji_serializer.rb'
+    - 'app/serializers/activitypub/encrypted_message_serializer.rb'
+    - 'app/serializers/activitypub/flag_serializer.rb'
+    - 'app/serializers/activitypub/follow_serializer.rb'
+    - 'app/serializers/activitypub/hashtag_serializer.rb'
+    - 'app/serializers/activitypub/image_serializer.rb'
+    - 'app/serializers/activitypub/like_serializer.rb'
+    - 'app/serializers/activitypub/move_serializer.rb'
+    - 'app/serializers/activitypub/note_serializer.rb'
+    - 'app/serializers/activitypub/one_time_key_serializer.rb'
+    - 'app/serializers/activitypub/outbox_serializer.rb'
+    - 'app/serializers/activitypub/public_key_serializer.rb'
+    - 'app/serializers/activitypub/reject_follow_serializer.rb'
+    - 'app/serializers/activitypub/remove_serializer.rb'
+    - 'app/serializers/activitypub/undo_announce_serializer.rb'
+    - 'app/serializers/activitypub/undo_block_serializer.rb'
+    - 'app/serializers/activitypub/undo_follow_serializer.rb'
+    - 'app/serializers/activitypub/undo_like_serializer.rb'
+    - 'app/serializers/activitypub/update_poll_serializer.rb'
+    - 'app/serializers/activitypub/update_serializer.rb'
+    - 'app/serializers/activitypub/vote_serializer.rb'
+    - 'app/serializers/nodeinfo/discovery_serializer.rb'
+    - 'app/serializers/nodeinfo/serializer.rb'
+    - 'app/serializers/rest/account_serializer.rb'
+    - 'app/serializers/rest/admin/account_serializer.rb'
+    - 'app/serializers/rest/admin/canonical_email_block_serializer.rb'
+    - 'app/serializers/rest/admin/cohort_serializer.rb'
+    - 'app/serializers/rest/admin/dimension_serializer.rb'
+    - 'app/serializers/rest/admin/domain_allow_serializer.rb'
+    - 'app/serializers/rest/admin/domain_block_serializer.rb'
+    - 'app/serializers/rest/admin/email_domain_block_serializer.rb'
+    - 'app/serializers/rest/admin/existing_domain_block_error_serializer.rb'
+    - 'app/serializers/rest/admin/ip_block_serializer.rb'
+    - 'app/serializers/rest/admin/ip_serializer.rb'
+    - 'app/serializers/rest/admin/measure_serializer.rb'
+    - 'app/serializers/rest/admin/report_serializer.rb'
+    - 'app/serializers/rest/admin/tag_serializer.rb'
+    - 'app/serializers/rest/admin/webhook_event_serializer.rb'
+    - 'app/serializers/rest/announcement_serializer.rb'
+    - 'app/serializers/rest/application_serializer.rb'
+    - 'app/serializers/rest/context_serializer.rb'
+    - 'app/serializers/rest/conversation_serializer.rb'
+    - 'app/serializers/rest/credential_account_serializer.rb'
+    - 'app/serializers/rest/custom_emoji_serializer.rb'
+    - 'app/serializers/rest/domain_block_serializer.rb'
+    - 'app/serializers/rest/encrypted_message_serializer.rb'
+    - 'app/serializers/rest/extended_description_serializer.rb'
+    - 'app/serializers/rest/familiar_followers_serializer.rb'
+    - 'app/serializers/rest/featured_tag_serializer.rb'
+    - 'app/serializers/rest/filter_keyword_serializer.rb'
+    - 'app/serializers/rest/filter_result_serializer.rb'
+    - 'app/serializers/rest/filter_serializer.rb'
+    - 'app/serializers/rest/filter_status_serializer.rb'
+    - 'app/serializers/rest/instance_serializer.rb'
+    - 'app/serializers/rest/keys/claim_result_serializer.rb'
+    - 'app/serializers/rest/keys/device_serializer.rb'
+    - 'app/serializers/rest/keys/query_result_serializer.rb'
+    - 'app/serializers/rest/list_serializer.rb'
+    - 'app/serializers/rest/marker_serializer.rb'
+    - 'app/serializers/rest/media_attachment_serializer.rb'
+    - 'app/serializers/rest/muted_account_serializer.rb'
+    - 'app/serializers/rest/notification_serializer.rb'
+    - 'app/serializers/rest/poll_serializer.rb'
+    - 'app/serializers/rest/preferences_serializer.rb'
+    - 'app/serializers/rest/preview_card_serializer.rb'
+    - 'app/serializers/rest/privacy_policy_serializer.rb'
+    - 'app/serializers/rest/reaction_serializer.rb'
+    - 'app/serializers/rest/relationship_serializer.rb'
+    - 'app/serializers/rest/report_serializer.rb'
+    - 'app/serializers/rest/role_serializer.rb'
+    - 'app/serializers/rest/rule_serializer.rb'
+    - 'app/serializers/rest/scheduled_status_serializer.rb'
+    - 'app/serializers/rest/search_serializer.rb'
+    - 'app/serializers/rest/status_edit_serializer.rb'
+    - 'app/serializers/rest/status_serializer.rb'
+    - 'app/serializers/rest/status_source_serializer.rb'
+    - 'app/serializers/rest/suggestion_serializer.rb'
+    - 'app/serializers/rest/tag_serializer.rb'
+    - 'app/serializers/rest/translation_serializer.rb'
+    - 'app/serializers/rest/trends/link_serializer.rb'
+    - 'app/serializers/rest/v1/filter_serializer.rb'
+    - 'app/serializers/rest/v1/instance_serializer.rb'
+    - 'app/serializers/rest/web_push_subscription_serializer.rb'
+    - 'app/serializers/web/notification_serializer.rb'
+    - 'app/services/activitypub/fetch_featured_collection_service.rb'
+    - 'app/services/activitypub/fetch_featured_tags_collection_service.rb'
+    - 'app/services/activitypub/fetch_remote_account_service.rb'
+    - 'app/services/activitypub/fetch_remote_actor_service.rb'
+    - 'app/services/activitypub/fetch_remote_key_service.rb'
+    - 'app/services/activitypub/fetch_remote_poll_service.rb'
+    - 'app/services/activitypub/fetch_remote_status_service.rb'
+    - 'app/services/activitypub/fetch_replies_service.rb'
+    - 'app/services/activitypub/prepare_followers_synchronization_service.rb'
+    - 'app/services/activitypub/process_account_service.rb'
+    - 'app/services/activitypub/process_collection_service.rb'
+    - 'app/services/activitypub/process_status_update_service.rb'
+    - 'app/services/activitypub/synchronize_followers_service.rb'
+    - 'app/services/keys/claim_service.rb'
+    - 'app/services/keys/query_service.rb'
+    - 'app/workers/activitypub/account_raw_distribution_worker.rb'
+    - 'app/workers/activitypub/delivery_worker.rb'
+    - 'app/workers/activitypub/distribute_poll_update_worker.rb'
+    - 'app/workers/activitypub/distribution_worker.rb'
+    - 'app/workers/activitypub/fetch_replies_worker.rb'
+    - 'app/workers/activitypub/followers_synchronization_worker.rb'
+    - 'app/workers/activitypub/low_priority_delivery_worker.rb'
+    - 'app/workers/activitypub/migrated_follow_delivery_worker.rb'
+    - 'app/workers/activitypub/move_distribution_worker.rb'
+    - 'app/workers/activitypub/post_upgrade_worker.rb'
+    - 'app/workers/activitypub/processing_worker.rb'
+    - 'app/workers/activitypub/raw_distribution_worker.rb'
+    - 'app/workers/activitypub/status_update_distribution_worker.rb'
+    - 'app/workers/activitypub/synchronize_featured_collection_worker.rb'
+    - 'app/workers/activitypub/synchronize_featured_tags_collection_worker.rb'
+    - 'app/workers/activitypub/update_distribution_worker.rb'
+    - 'app/workers/admin/account_deletion_worker.rb'
+    - 'app/workers/admin/domain_purge_worker.rb'
+    - 'app/workers/admin/suspension_worker.rb'
+    - 'app/workers/admin/unsuspension_worker.rb'
+    - 'app/workers/import/relationship_worker.rb'
+    - 'app/workers/scheduler/accounts_statuses_cleanup_scheduler.rb'
+    - 'app/workers/scheduler/follow_recommendations_scheduler.rb'
+    - 'app/workers/scheduler/indexing_scheduler.rb'
+    - 'app/workers/scheduler/instance_refresh_scheduler.rb'
+    - 'app/workers/scheduler/ip_cleanup_scheduler.rb'
+    - 'app/workers/scheduler/pghero_scheduler.rb'
+    - 'app/workers/scheduler/scheduled_statuses_scheduler.rb'
+    - 'app/workers/scheduler/suspended_user_cleanup_scheduler.rb'
+    - 'app/workers/scheduler/trends/refresh_scheduler.rb'
+    - 'app/workers/scheduler/trends/review_notifications_scheduler.rb'
+    - 'app/workers/scheduler/user_cleanup_scheduler.rb'
+    - 'app/workers/scheduler/vacuum_scheduler.rb'
+    - 'app/workers/web/push_notification_worker.rb'
+    - 'app/workers/webhooks/delivery_worker.rb'
+    - 'lib/mastodon/rack_middleware.rb'
+    - 'lib/mastodon/sidekiq_middleware.rb'
+    - 'lib/mastodon/snowflake.rb'
+    - 'lib/webpacker/helper_extensions.rb'
+    - 'lib/webpacker/manifest_extensions.rb'
 
-# Offense count: 2
 # This cop supports safe autocorrection (--autocorrect).
 # Configuration parameters: AllowedMethods, AllowedPatterns.
 # AllowedMethods: ==, equal?, eql?
@@ -1882,24 +2182,1352 @@ Style/ClassEqualityComparison:
     - 'app/helpers/jsonld_helper.rb'
     - 'app/serializers/activitypub/outbox_serializer.rb'
 
-# Offense count: 7
 Style/CombinableLoops:
   Exclude:
     - 'app/models/form/custom_emoji_batch.rb'
     - 'app/models/form/ip_block_batch.rb'
 
-# Offense count: 5
 # This cop supports unsafe autocorrection (--autocorrect-all).
 Style/ConcatArrayLiterals:
   Exclude:
     - 'app/lib/feed_manager.rb'
 
-# Offense count: 1433
 # Configuration parameters: AllowedConstants.
 Style/Documentation:
-  Enabled: false
+  Exclude:
+    - 'app/chewy/accounts_index.rb'
+    - 'app/chewy/statuses_index.rb'
+    - 'app/chewy/tags_index.rb'
+    - 'app/controllers/about_controller.rb'
+    - 'app/controllers/accounts_controller.rb'
+    - 'app/controllers/activitypub/base_controller.rb'
+    - 'app/controllers/activitypub/claims_controller.rb'
+    - 'app/controllers/activitypub/collections_controller.rb'
+    - 'app/controllers/activitypub/followers_synchronizations_controller.rb'
+    - 'app/controllers/activitypub/inboxes_controller.rb'
+    - 'app/controllers/activitypub/outboxes_controller.rb'
+    - 'app/controllers/activitypub/replies_controller.rb'
+    - 'app/controllers/admin/account_actions_controller.rb'
+    - 'app/controllers/admin/account_moderation_notes_controller.rb'
+    - 'app/controllers/admin/accounts_controller.rb'
+    - 'app/controllers/admin/action_logs_controller.rb'
+    - 'app/controllers/admin/announcements_controller.rb'
+    - 'app/controllers/admin/base_controller.rb'
+    - 'app/controllers/admin/change_emails_controller.rb'
+    - 'app/controllers/admin/confirmations_controller.rb'
+    - 'app/controllers/admin/custom_emojis_controller.rb'
+    - 'app/controllers/admin/dashboard_controller.rb'
+    - 'app/controllers/admin/disputes/appeals_controller.rb'
+    - 'app/controllers/admin/domain_allows_controller.rb'
+    - 'app/controllers/admin/domain_blocks_controller.rb'
+    - 'app/controllers/admin/email_domain_blocks_controller.rb'
+    - 'app/controllers/admin/export_domain_allows_controller.rb'
+    - 'app/controllers/admin/export_domain_blocks_controller.rb'
+    - 'app/controllers/admin/follow_recommendations_controller.rb'
+    - 'app/controllers/admin/instances_controller.rb'
+    - 'app/controllers/admin/invites_controller.rb'
+    - 'app/controllers/admin/ip_blocks_controller.rb'
+    - 'app/controllers/admin/relationships_controller.rb'
+    - 'app/controllers/admin/relays_controller.rb'
+    - 'app/controllers/admin/report_notes_controller.rb'
+    - 'app/controllers/admin/reports/actions_controller.rb'
+    - 'app/controllers/admin/reports_controller.rb'
+    - 'app/controllers/admin/resets_controller.rb'
+    - 'app/controllers/admin/roles_controller.rb'
+    - 'app/controllers/admin/rules_controller.rb'
+    - 'app/controllers/admin/settings/about_controller.rb'
+    - 'app/controllers/admin/settings/appearance_controller.rb'
+    - 'app/controllers/admin/settings/branding_controller.rb'
+    - 'app/controllers/admin/settings/content_retention_controller.rb'
+    - 'app/controllers/admin/settings/discovery_controller.rb'
+    - 'app/controllers/admin/settings/registrations_controller.rb'
+    - 'app/controllers/admin/settings_controller.rb'
+    - 'app/controllers/admin/site_uploads_controller.rb'
+    - 'app/controllers/admin/statuses_controller.rb'
+    - 'app/controllers/admin/tags_controller.rb'
+    - 'app/controllers/admin/trends/links/preview_card_providers_controller.rb'
+    - 'app/controllers/admin/trends/links_controller.rb'
+    - 'app/controllers/admin/trends/statuses_controller.rb'
+    - 'app/controllers/admin/trends/tags_controller.rb'
+    - 'app/controllers/admin/users/roles_controller.rb'
+    - 'app/controllers/admin/users/two_factor_authentications_controller.rb'
+    - 'app/controllers/admin/warning_presets_controller.rb'
+    - 'app/controllers/admin/webhooks/secrets_controller.rb'
+    - 'app/controllers/admin/webhooks_controller.rb'
+    - 'app/controllers/api/base_controller.rb'
+    - 'app/controllers/api/oembed_controller.rb'
+    - 'app/controllers/api/v1/accounts/credentials_controller.rb'
+    - 'app/controllers/api/v1/accounts/familiar_followers_controller.rb'
+    - 'app/controllers/api/v1/accounts/featured_tags_controller.rb'
+    - 'app/controllers/api/v1/accounts/follower_accounts_controller.rb'
+    - 'app/controllers/api/v1/accounts/following_accounts_controller.rb'
+    - 'app/controllers/api/v1/accounts/identity_proofs_controller.rb'
+    - 'app/controllers/api/v1/accounts/lists_controller.rb'
+    - 'app/controllers/api/v1/accounts/lookup_controller.rb'
+    - 'app/controllers/api/v1/accounts/notes_controller.rb'
+    - 'app/controllers/api/v1/accounts/pins_controller.rb'
+    - 'app/controllers/api/v1/accounts/relationships_controller.rb'
+    - 'app/controllers/api/v1/accounts/search_controller.rb'
+    - 'app/controllers/api/v1/accounts/statuses_controller.rb'
+    - 'app/controllers/api/v1/accounts_controller.rb'
+    - 'app/controllers/api/v1/admin/account_actions_controller.rb'
+    - 'app/controllers/api/v1/admin/accounts_controller.rb'
+    - 'app/controllers/api/v1/admin/canonical_email_blocks_controller.rb'
+    - 'app/controllers/api/v1/admin/dimensions_controller.rb'
+    - 'app/controllers/api/v1/admin/domain_allows_controller.rb'
+    - 'app/controllers/api/v1/admin/domain_blocks_controller.rb'
+    - 'app/controllers/api/v1/admin/email_domain_blocks_controller.rb'
+    - 'app/controllers/api/v1/admin/ip_blocks_controller.rb'
+    - 'app/controllers/api/v1/admin/measures_controller.rb'
+    - 'app/controllers/api/v1/admin/reports_controller.rb'
+    - 'app/controllers/api/v1/admin/retention_controller.rb'
+    - 'app/controllers/api/v1/admin/trends/links_controller.rb'
+    - 'app/controllers/api/v1/admin/trends/statuses_controller.rb'
+    - 'app/controllers/api/v1/admin/trends/tags_controller.rb'
+    - 'app/controllers/api/v1/announcements/reactions_controller.rb'
+    - 'app/controllers/api/v1/announcements_controller.rb'
+    - 'app/controllers/api/v1/apps/credentials_controller.rb'
+    - 'app/controllers/api/v1/apps_controller.rb'
+    - 'app/controllers/api/v1/blocks_controller.rb'
+    - 'app/controllers/api/v1/bookmarks_controller.rb'
+    - 'app/controllers/api/v1/conversations_controller.rb'
+    - 'app/controllers/api/v1/crypto/deliveries_controller.rb'
+    - 'app/controllers/api/v1/crypto/encrypted_messages_controller.rb'
+    - 'app/controllers/api/v1/crypto/keys/claims_controller.rb'
+    - 'app/controllers/api/v1/crypto/keys/counts_controller.rb'
+    - 'app/controllers/api/v1/crypto/keys/queries_controller.rb'
+    - 'app/controllers/api/v1/crypto/keys/uploads_controller.rb'
+    - 'app/controllers/api/v1/custom_emojis_controller.rb'
+    - 'app/controllers/api/v1/directories_controller.rb'
+    - 'app/controllers/api/v1/domain_blocks_controller.rb'
+    - 'app/controllers/api/v1/emails/confirmations_controller.rb'
+    - 'app/controllers/api/v1/endorsements_controller.rb'
+    - 'app/controllers/api/v1/favourites_controller.rb'
+    - 'app/controllers/api/v1/featured_tags/suggestions_controller.rb'
+    - 'app/controllers/api/v1/featured_tags_controller.rb'
+    - 'app/controllers/api/v1/filters_controller.rb'
+    - 'app/controllers/api/v1/follow_requests_controller.rb'
+    - 'app/controllers/api/v1/followed_tags_controller.rb'
+    - 'app/controllers/api/v1/instances/activity_controller.rb'
+    - 'app/controllers/api/v1/instances/domain_blocks_controller.rb'
+    - 'app/controllers/api/v1/instances/extended_descriptions_controller.rb'
+    - 'app/controllers/api/v1/instances/peers_controller.rb'
+    - 'app/controllers/api/v1/instances/privacy_policies_controller.rb'
+    - 'app/controllers/api/v1/instances/rules_controller.rb'
+    - 'app/controllers/api/v1/instances_controller.rb'
+    - 'app/controllers/api/v1/lists/accounts_controller.rb'
+    - 'app/controllers/api/v1/lists_controller.rb'
+    - 'app/controllers/api/v1/markers_controller.rb'
+    - 'app/controllers/api/v1/media_controller.rb'
+    - 'app/controllers/api/v1/mutes_controller.rb'
+    - 'app/controllers/api/v1/notifications_controller.rb'
+    - 'app/controllers/api/v1/polls/votes_controller.rb'
+    - 'app/controllers/api/v1/polls_controller.rb'
+    - 'app/controllers/api/v1/preferences_controller.rb'
+    - 'app/controllers/api/v1/push/subscriptions_controller.rb'
+    - 'app/controllers/api/v1/reports_controller.rb'
+    - 'app/controllers/api/v1/scheduled_statuses_controller.rb'
+    - 'app/controllers/api/v1/statuses/bookmarks_controller.rb'
+    - 'app/controllers/api/v1/statuses/favourited_by_accounts_controller.rb'
+    - 'app/controllers/api/v1/statuses/favourites_controller.rb'
+    - 'app/controllers/api/v1/statuses/histories_controller.rb'
+    - 'app/controllers/api/v1/statuses/mutes_controller.rb'
+    - 'app/controllers/api/v1/statuses/pins_controller.rb'
+    - 'app/controllers/api/v1/statuses/reblogged_by_accounts_controller.rb'
+    - 'app/controllers/api/v1/statuses/reblogs_controller.rb'
+    - 'app/controllers/api/v1/statuses/sources_controller.rb'
+    - 'app/controllers/api/v1/statuses/translations_controller.rb'
+    - 'app/controllers/api/v1/statuses_controller.rb'
+    - 'app/controllers/api/v1/streaming_controller.rb'
+    - 'app/controllers/api/v1/suggestions_controller.rb'
+    - 'app/controllers/api/v1/tags_controller.rb'
+    - 'app/controllers/api/v1/timelines/home_controller.rb'
+    - 'app/controllers/api/v1/timelines/list_controller.rb'
+    - 'app/controllers/api/v1/timelines/public_controller.rb'
+    - 'app/controllers/api/v1/timelines/tag_controller.rb'
+    - 'app/controllers/api/v1/trends/links_controller.rb'
+    - 'app/controllers/api/v1/trends/statuses_controller.rb'
+    - 'app/controllers/api/v1/trends/tags_controller.rb'
+    - 'app/controllers/api/v2/admin/accounts_controller.rb'
+    - 'app/controllers/api/v2/filters/keywords_controller.rb'
+    - 'app/controllers/api/v2/filters/statuses_controller.rb'
+    - 'app/controllers/api/v2/filters_controller.rb'
+    - 'app/controllers/api/v2/instances_controller.rb'
+    - 'app/controllers/api/v2/media_controller.rb'
+    - 'app/controllers/api/v2/search_controller.rb'
+    - 'app/controllers/api/v2/suggestions_controller.rb'
+    - 'app/controllers/api/web/base_controller.rb'
+    - 'app/controllers/api/web/embeds_controller.rb'
+    - 'app/controllers/api/web/push_subscriptions_controller.rb'
+    - 'app/controllers/api/web/settings_controller.rb'
+    - 'app/controllers/application_controller.rb'
+    - 'app/controllers/auth/challenges_controller.rb'
+    - 'app/controllers/auth/confirmations_controller.rb'
+    - 'app/controllers/auth/omniauth_callbacks_controller.rb'
+    - 'app/controllers/auth/passwords_controller.rb'
+    - 'app/controllers/auth/registrations_controller.rb'
+    - 'app/controllers/auth/sessions_controller.rb'
+    - 'app/controllers/auth/setup_controller.rb'
+    - 'app/controllers/authorize_interactions_controller.rb'
+    - 'app/controllers/concerns/access_token_tracking_concern.rb'
+    - 'app/controllers/concerns/account_controller_concern.rb'
+    - 'app/controllers/concerns/account_owned_concern.rb'
+    - 'app/controllers/concerns/accountable_concern.rb'
+    - 'app/controllers/concerns/admin_export_controller_concern.rb'
+    - 'app/controllers/concerns/authorization.rb'
+    - 'app/controllers/concerns/cache_concern.rb'
+    - 'app/controllers/concerns/export_controller_concern.rb'
+    - 'app/controllers/concerns/localized.rb'
+    - 'app/controllers/concerns/rate_limit_headers.rb'
+    - 'app/controllers/concerns/registration_spam_concern.rb'
+    - 'app/controllers/concerns/session_tracking_concern.rb'
+    - 'app/controllers/concerns/signature_authentication.rb'
+    - 'app/controllers/concerns/signature_verification.rb'
+    - 'app/controllers/concerns/two_factor_authentication_concern.rb'
+    - 'app/controllers/concerns/user_tracking_concern.rb'
+    - 'app/controllers/concerns/web_app_controller_concern.rb'
+    - 'app/controllers/custom_css_controller.rb'
+    - 'app/controllers/disputes/appeals_controller.rb'
+    - 'app/controllers/disputes/base_controller.rb'
+    - 'app/controllers/disputes/strikes_controller.rb'
+    - 'app/controllers/emojis_controller.rb'
+    - 'app/controllers/filters/statuses_controller.rb'
+    - 'app/controllers/filters_controller.rb'
+    - 'app/controllers/follower_accounts_controller.rb'
+    - 'app/controllers/following_accounts_controller.rb'
+    - 'app/controllers/health_controller.rb'
+    - 'app/controllers/home_controller.rb'
+    - 'app/controllers/instance_actors_controller.rb'
+    - 'app/controllers/intents_controller.rb'
+    - 'app/controllers/invites_controller.rb'
+    - 'app/controllers/manifests_controller.rb'
+    - 'app/controllers/media_controller.rb'
+    - 'app/controllers/media_proxy_controller.rb'
+    - 'app/controllers/oauth/authorizations_controller.rb'
+    - 'app/controllers/oauth/authorized_applications_controller.rb'
+    - 'app/controllers/oauth/tokens_controller.rb'
+    - 'app/controllers/privacy_controller.rb'
+    - 'app/controllers/relationships_controller.rb'
+    - 'app/controllers/settings/aliases_controller.rb'
+    - 'app/controllers/settings/applications_controller.rb'
+    - 'app/controllers/settings/base_controller.rb'
+    - 'app/controllers/settings/deletes_controller.rb'
+    - 'app/controllers/settings/exports/blocked_accounts_controller.rb'
+    - 'app/controllers/settings/exports/blocked_domains_controller.rb'
+    - 'app/controllers/settings/exports/bookmarks_controller.rb'
+    - 'app/controllers/settings/exports/following_accounts_controller.rb'
+    - 'app/controllers/settings/exports/lists_controller.rb'
+    - 'app/controllers/settings/exports/muted_accounts_controller.rb'
+    - 'app/controllers/settings/exports_controller.rb'
+    - 'app/controllers/settings/featured_tags_controller.rb'
+    - 'app/controllers/settings/imports_controller.rb'
+    - 'app/controllers/settings/login_activities_controller.rb'
+    - 'app/controllers/settings/migration/redirects_controller.rb'
+    - 'app/controllers/settings/migrations_controller.rb'
+    - 'app/controllers/settings/pictures_controller.rb'
+    - 'app/controllers/settings/preferences/appearance_controller.rb'
+    - 'app/controllers/settings/preferences/notifications_controller.rb'
+    - 'app/controllers/settings/preferences/other_controller.rb'
+    - 'app/controllers/settings/preferences_controller.rb'
+    - 'app/controllers/settings/profiles_controller.rb'
+    - 'app/controllers/settings/sessions_controller.rb'
+    - 'app/controllers/settings/two_factor_authentication/confirmations_controller.rb'
+    - 'app/controllers/settings/two_factor_authentication/otp_authentication_controller.rb'
+    - 'app/controllers/settings/two_factor_authentication/recovery_codes_controller.rb'
+    - 'app/controllers/settings/two_factor_authentication/webauthn_credentials_controller.rb'
+    - 'app/controllers/settings/two_factor_authentication_methods_controller.rb'
+    - 'app/controllers/shares_controller.rb'
+    - 'app/controllers/statuses_cleanup_controller.rb'
+    - 'app/controllers/statuses_controller.rb'
+    - 'app/controllers/tags_controller.rb'
+    - 'app/controllers/well_known/host_meta_controller.rb'
+    - 'app/controllers/well_known/nodeinfo_controller.rb'
+    - 'app/controllers/well_known/webfinger_controller.rb'
+    - 'app/helpers/accounts_helper.rb'
+    - 'app/helpers/admin/account_moderation_notes_helper.rb'
+    - 'app/helpers/admin/action_logs_helper.rb'
+    - 'app/helpers/admin/dashboard_helper.rb'
+    - 'app/helpers/admin/filter_helper.rb'
+    - 'app/helpers/admin/settings_helper.rb'
+    - 'app/helpers/admin/trends/statuses_helper.rb'
+    - 'app/helpers/application_helper.rb'
+    - 'app/helpers/branding_helper.rb'
+    - 'app/helpers/context_helper.rb'
+    - 'app/helpers/domain_control_helper.rb'
+    - 'app/helpers/email_helper.rb'
+    - 'app/helpers/flashes_helper.rb'
+    - 'app/helpers/formatting_helper.rb'
+    - 'app/helpers/home_helper.rb'
+    - 'app/helpers/instance_helper.rb'
+    - 'app/helpers/jsonld_helper.rb'
+    - 'app/helpers/languages_helper.rb'
+    - 'app/helpers/mascot_helper.rb'
+    - 'app/helpers/routing_helper.rb'
+    - 'app/helpers/settings_helper.rb'
+    - 'app/helpers/statuses_helper.rb'
+    - 'app/helpers/webfinger_helper.rb'
+    - 'app/lib/access_token_extension.rb'
+    - 'app/lib/account_reach_finder.rb'
+    - 'app/lib/activity_tracker.rb'
+    - 'app/lib/activitypub/activity.rb'
+    - 'app/lib/activitypub/activity/accept.rb'
+    - 'app/lib/activitypub/activity/add.rb'
+    - 'app/lib/activitypub/activity/announce.rb'
+    - 'app/lib/activitypub/activity/block.rb'
+    - 'app/lib/activitypub/activity/create.rb'
+    - 'app/lib/activitypub/activity/delete.rb'
+    - 'app/lib/activitypub/activity/flag.rb'
+    - 'app/lib/activitypub/activity/follow.rb'
+    - 'app/lib/activitypub/activity/like.rb'
+    - 'app/lib/activitypub/activity/move.rb'
+    - 'app/lib/activitypub/activity/reject.rb'
+    - 'app/lib/activitypub/activity/remove.rb'
+    - 'app/lib/activitypub/activity/undo.rb'
+    - 'app/lib/activitypub/activity/update.rb'
+    - 'app/lib/activitypub/adapter.rb'
+    - 'app/lib/activitypub/case_transform.rb'
+    - 'app/lib/activitypub/dereferencer.rb'
+    - 'app/lib/activitypub/forwarder.rb'
+    - 'app/lib/activitypub/linked_data_signature.rb'
+    - 'app/lib/activitypub/parser/custom_emoji_parser.rb'
+    - 'app/lib/activitypub/parser/media_attachment_parser.rb'
+    - 'app/lib/activitypub/parser/poll_parser.rb'
+    - 'app/lib/activitypub/parser/status_parser.rb'
+    - 'app/lib/activitypub/serializer.rb'
+    - 'app/lib/activitypub/tag_manager.rb'
+    - 'app/lib/admin/metrics/dimension.rb'
+    - 'app/lib/admin/metrics/dimension/base_dimension.rb'
+    - 'app/lib/admin/metrics/dimension/instance_accounts_dimension.rb'
+    - 'app/lib/admin/metrics/dimension/instance_languages_dimension.rb'
+    - 'app/lib/admin/metrics/dimension/languages_dimension.rb'
+    - 'app/lib/admin/metrics/dimension/servers_dimension.rb'
+    - 'app/lib/admin/metrics/dimension/software_versions_dimension.rb'
+    - 'app/lib/admin/metrics/dimension/sources_dimension.rb'
+    - 'app/lib/admin/metrics/dimension/space_usage_dimension.rb'
+    - 'app/lib/admin/metrics/dimension/tag_languages_dimension.rb'
+    - 'app/lib/admin/metrics/dimension/tag_servers_dimension.rb'
+    - 'app/lib/admin/metrics/measure.rb'
+    - 'app/lib/admin/metrics/measure/active_users_measure.rb'
+    - 'app/lib/admin/metrics/measure/base_measure.rb'
+    - 'app/lib/admin/metrics/measure/instance_accounts_measure.rb'
+    - 'app/lib/admin/metrics/measure/instance_followers_measure.rb'
+    - 'app/lib/admin/metrics/measure/instance_follows_measure.rb'
+    - 'app/lib/admin/metrics/measure/instance_media_attachments_measure.rb'
+    - 'app/lib/admin/metrics/measure/instance_reports_measure.rb'
+    - 'app/lib/admin/metrics/measure/instance_statuses_measure.rb'
+    - 'app/lib/admin/metrics/measure/interactions_measure.rb'
+    - 'app/lib/admin/metrics/measure/new_users_measure.rb'
+    - 'app/lib/admin/metrics/measure/opened_reports_measure.rb'
+    - 'app/lib/admin/metrics/measure/resolved_reports_measure.rb'
+    - 'app/lib/admin/metrics/measure/tag_accounts_measure.rb'
+    - 'app/lib/admin/metrics/measure/tag_servers_measure.rb'
+    - 'app/lib/admin/metrics/measure/tag_uses_measure.rb'
+    - 'app/lib/admin/metrics/retention.rb'
+    - 'app/lib/admin/system_check.rb'
+    - 'app/lib/admin/system_check/base_check.rb'
+    - 'app/lib/admin/system_check/database_schema_check.rb'
+    - 'app/lib/admin/system_check/elasticsearch_check.rb'
+    - 'app/lib/admin/system_check/message.rb'
+    - 'app/lib/admin/system_check/rules_check.rb'
+    - 'app/lib/admin/system_check/sidekiq_process_check.rb'
+    - 'app/lib/application_extension.rb'
+    - 'app/lib/ascii_folding.rb'
+    - 'app/lib/cache_buster.rb'
+    - 'app/lib/connection_pool/shared_connection_pool.rb'
+    - 'app/lib/connection_pool/shared_timed_stack.rb'
+    - 'app/lib/delivery_failure_tracker.rb'
+    - 'app/lib/emoji_formatter.rb'
+    - 'app/lib/entity_cache.rb'
+    - 'app/lib/extractor.rb'
+    - 'app/lib/fast_geometry_parser.rb'
+    - 'app/lib/fast_ip_map.rb'
+    - 'app/lib/feed_manager.rb'
+    - 'app/lib/hash_object.rb'
+    - 'app/lib/hashtag_normalizer.rb'
+    - 'app/lib/html_aware_formatter.rb'
+    - 'app/lib/importer/accounts_index_importer.rb'
+    - 'app/lib/importer/base_importer.rb'
+    - 'app/lib/importer/statuses_index_importer.rb'
+    - 'app/lib/importer/tags_index_importer.rb'
+    - 'app/lib/inline_renderer.rb'
+    - 'app/lib/link_details_extractor.rb'
+    - 'app/lib/nodeinfo/adapter.rb'
+    - 'app/lib/ostatus/tag_manager.rb'
+    - 'app/lib/permalink_redirector.rb'
+    - 'app/lib/plain_text_formatter.rb'
+    - 'app/lib/potential_friendship_tracker.rb'
+    - 'app/lib/rate_limiter.rb'
+    - 'app/lib/redis_configuration.rb'
+    - 'app/lib/request.rb'
+    - 'app/lib/request_pool.rb'
+    - 'app/lib/response_with_limit.rb'
+    - 'app/lib/rss/builder.rb'
+    - 'app/lib/rss/channel.rb'
+    - 'app/lib/rss/element.rb'
+    - 'app/lib/rss/item.rb'
+    - 'app/lib/rss/media_content.rb'
+    - 'app/lib/scope_parser.rb'
+    - 'app/lib/scope_transformer.rb'
+    - 'app/lib/search_query_parser.rb'
+    - 'app/lib/search_query_transformer.rb'
+    - 'app/lib/settings/extend.rb'
+    - 'app/lib/settings/scoped_settings.rb'
+    - 'app/lib/status_cache_hydrator.rb'
+    - 'app/lib/status_filter.rb'
+    - 'app/lib/status_finder.rb'
+    - 'app/lib/status_reach_finder.rb'
+    - 'app/lib/suspicious_sign_in_detector.rb'
+    - 'app/lib/tag_manager.rb'
+    - 'app/lib/text_formatter.rb'
+    - 'app/lib/themes.rb'
+    - 'app/lib/translation_service.rb'
+    - 'app/lib/translation_service/deepl.rb'
+    - 'app/lib/translation_service/libre_translate.rb'
+    - 'app/lib/translation_service/translation.rb'
+    - 'app/lib/user_settings_decorator.rb'
+    - 'app/lib/vacuum.rb'
+    - 'app/lib/vacuum/access_tokens_vacuum.rb'
+    - 'app/lib/vacuum/backups_vacuum.rb'
+    - 'app/lib/vacuum/feeds_vacuum.rb'
+    - 'app/lib/vacuum/media_attachments_vacuum.rb'
+    - 'app/lib/vacuum/preview_cards_vacuum.rb'
+    - 'app/lib/vacuum/statuses_vacuum.rb'
+    - 'app/lib/vacuum/system_keys_vacuum.rb'
+    - 'app/lib/validation_error_formatter.rb'
+    - 'app/lib/video_metadata_extractor.rb'
+    - 'app/lib/webfinger.rb'
+    - 'app/lib/webfinger_resource.rb'
+    - 'app/mailers/admin_mailer.rb'
+    - 'app/mailers/application_mailer.rb'
+    - 'app/mailers/notification_mailer.rb'
+    - 'app/mailers/user_mailer.rb'
+    - 'app/models/account.rb'
+    - 'app/models/account/field.rb'
+    - 'app/models/account_alias.rb'
+    - 'app/models/account_conversation.rb'
+    - 'app/models/account_domain_block.rb'
+    - 'app/models/account_filter.rb'
+    - 'app/models/account_migration.rb'
+    - 'app/models/account_moderation_note.rb'
+    - 'app/models/account_pin.rb'
+    - 'app/models/account_stat.rb'
+    - 'app/models/account_statuses_filter.rb'
+    - 'app/models/account_suggestions.rb'
+    - 'app/models/account_suggestions/global_source.rb'
+    - 'app/models/account_suggestions/past_interactions_source.rb'
+    - 'app/models/account_suggestions/setting_source.rb'
+    - 'app/models/account_suggestions/source.rb'
+    - 'app/models/account_suggestions/suggestion.rb'
+    - 'app/models/account_summary.rb'
+    - 'app/models/account_warning.rb'
+    - 'app/models/account_warning_preset.rb'
+    - 'app/models/admin.rb'
+    - 'app/models/admin/account_action.rb'
+    - 'app/models/admin/action_log.rb'
+    - 'app/models/admin/action_log_filter.rb'
+    - 'app/models/admin/appeal_filter.rb'
+    - 'app/models/admin/status_batch_action.rb'
+    - 'app/models/admin/status_filter.rb'
+    - 'app/models/announcement.rb'
+    - 'app/models/announcement_filter.rb'
+    - 'app/models/announcement_mute.rb'
+    - 'app/models/announcement_reaction.rb'
+    - 'app/models/application_record.rb'
+    - 'app/models/backup.rb'
+    - 'app/models/block.rb'
+    - 'app/models/bookmark.rb'
+    - 'app/models/canonical_email_block.rb'
+    - 'app/models/concerns/account_associations.rb'
+    - 'app/models/concerns/account_avatar.rb'
+    - 'app/models/concerns/account_counters.rb'
+    - 'app/models/concerns/account_finder_concern.rb'
+    - 'app/models/concerns/account_header.rb'
+    - 'app/models/concerns/account_interactions.rb'
+    - 'app/models/concerns/account_merging.rb'
+    - 'app/models/concerns/attachmentable.rb'
+    - 'app/models/concerns/cacheable.rb'
+    - 'app/models/concerns/domain_materializable.rb'
+    - 'app/models/concerns/domain_normalizable.rb'
+    - 'app/models/concerns/expireable.rb'
+    - 'app/models/concerns/follow_limitable.rb'
+    - 'app/models/concerns/ldap_authenticable.rb'
+    - 'app/models/concerns/lockable.rb'
+    - 'app/models/concerns/omniauthable.rb'
+    - 'app/models/concerns/paginable.rb'
+    - 'app/models/concerns/pam_authenticable.rb'
+    - 'app/models/concerns/rate_limitable.rb'
+    - 'app/models/concerns/redisable.rb'
+    - 'app/models/concerns/relationship_cacheable.rb'
+    - 'app/models/concerns/remotable.rb'
+    - 'app/models/concerns/status_snapshot_concern.rb'
+    - 'app/models/concerns/status_threading_concern.rb'
+    - 'app/models/content_retention_policy.rb'
+    - 'app/models/context.rb'
+    - 'app/models/conversation.rb'
+    - 'app/models/conversation_mute.rb'
+    - 'app/models/custom_emoji.rb'
+    - 'app/models/custom_emoji_category.rb'
+    - 'app/models/custom_emoji_filter.rb'
+    - 'app/models/custom_filter.rb'
+    - 'app/models/custom_filter_keyword.rb'
+    - 'app/models/custom_filter_status.rb'
+    - 'app/models/device.rb'
+    - 'app/models/domain_allow.rb'
+    - 'app/models/domain_block.rb'
+    - 'app/models/email_domain_block.rb'
+    - 'app/models/encrypted_message.rb'
+    - 'app/models/export.rb'
+    - 'app/models/extended_description.rb'
+    - 'app/models/favourite.rb'
+    - 'app/models/featured_tag.rb'
+    - 'app/models/feed.rb'
+    - 'app/models/follow.rb'
+    - 'app/models/follow_recommendation.rb'
+    - 'app/models/follow_recommendation_filter.rb'
+    - 'app/models/follow_recommendation_suppression.rb'
+    - 'app/models/follow_request.rb'
+    - 'app/models/form/account_batch.rb'
+    - 'app/models/form/admin_settings.rb'
+    - 'app/models/form/challenge.rb'
+    - 'app/models/form/custom_emoji_batch.rb'
+    - 'app/models/form/delete_confirmation.rb'
+    - 'app/models/form/domain_block_batch.rb'
+    - 'app/models/form/email_domain_block_batch.rb'
+    - 'app/models/form/ip_block_batch.rb'
+    - 'app/models/form/redirect.rb'
+    - 'app/models/form/status_filter_batch_action.rb'
+    - 'app/models/form/two_factor_confirmation.rb'
+    - 'app/models/home_feed.rb'
+    - 'app/models/identity.rb'
+    - 'app/models/import.rb'
+    - 'app/models/instance.rb'
+    - 'app/models/instance_filter.rb'
+    - 'app/models/invite.rb'
+    - 'app/models/invite_filter.rb'
+    - 'app/models/ip_block.rb'
+    - 'app/models/list.rb'
+    - 'app/models/list_account.rb'
+    - 'app/models/list_feed.rb'
+    - 'app/models/login_activity.rb'
+    - 'app/models/marker.rb'
+    - 'app/models/media_attachment.rb'
+    - 'app/models/mention.rb'
+    - 'app/models/message_franking.rb'
+    - 'app/models/mute.rb'
+    - 'app/models/notification.rb'
+    - 'app/models/one_time_key.rb'
+    - 'app/models/poll.rb'
+    - 'app/models/poll_vote.rb'
+    - 'app/models/preview_card.rb'
+    - 'app/models/preview_card_provider.rb'
+    - 'app/models/privacy_policy.rb'
+    - 'app/models/public_feed.rb'
+    - 'app/models/relationship_filter.rb'
+    - 'app/models/relay.rb'
+    - 'app/models/remote_follow.rb'
+    - 'app/models/report.rb'
+    - 'app/models/report_filter.rb'
+    - 'app/models/report_note.rb'
+    - 'app/models/scheduled_status.rb'
+    - 'app/models/search.rb'
+    - 'app/models/session_activation.rb'
+    - 'app/models/setting.rb'
+    - 'app/models/site_upload.rb'
+    - 'app/models/status.rb'
+    - 'app/models/status_edit.rb'
+    - 'app/models/status_pin.rb'
+    - 'app/models/status_stat.rb'
+    - 'app/models/status_trend.rb'
+    - 'app/models/tag.rb'
+    - 'app/models/tag_feed.rb'
+    - 'app/models/tag_follow.rb'
+    - 'app/models/tombstone.rb'
+    - 'app/models/trends.rb'
+    - 'app/models/trends/base.rb'
+    - 'app/models/trends/history.rb'
+    - 'app/models/trends/links.rb'
+    - 'app/models/trends/preview_card_batch.rb'
+    - 'app/models/trends/preview_card_filter.rb'
+    - 'app/models/trends/preview_card_provider_batch.rb'
+    - 'app/models/trends/preview_card_provider_filter.rb'
+    - 'app/models/trends/query.rb'
+    - 'app/models/trends/status_batch.rb'
+    - 'app/models/trends/status_filter.rb'
+    - 'app/models/trends/statuses.rb'
+    - 'app/models/trends/tag_batch.rb'
+    - 'app/models/trends/tag_filter.rb'
+    - 'app/models/trends/tags.rb'
+    - 'app/models/unavailable_domain.rb'
+    - 'app/models/user.rb'
+    - 'app/models/user_invite_request.rb'
+    - 'app/models/user_ip.rb'
+    - 'app/models/user_role.rb'
+    - 'app/models/web.rb'
+    - 'app/models/web/push_subscription.rb'
+    - 'app/models/web/setting.rb'
+    - 'app/models/webauthn_credential.rb'
+    - 'app/models/webhook.rb'
+    - 'app/policies/account_moderation_note_policy.rb'
+    - 'app/policies/account_policy.rb'
+    - 'app/policies/account_warning_policy.rb'
+    - 'app/policies/account_warning_preset_policy.rb'
+    - 'app/policies/admin/status_policy.rb'
+    - 'app/policies/announcement_policy.rb'
+    - 'app/policies/appeal_policy.rb'
+    - 'app/policies/application_policy.rb'
+    - 'app/policies/audit_log_policy.rb'
+    - 'app/policies/backup_policy.rb'
+    - 'app/policies/canonical_email_block_policy.rb'
+    - 'app/policies/custom_emoji_policy.rb'
+    - 'app/policies/dashboard_policy.rb'
+    - 'app/policies/delivery_policy.rb'
+    - 'app/policies/domain_allow_policy.rb'
+    - 'app/policies/domain_block_policy.rb'
+    - 'app/policies/email_domain_block_policy.rb'
+    - 'app/policies/follow_recommendation_policy.rb'
+    - 'app/policies/instance_policy.rb'
+    - 'app/policies/invite_policy.rb'
+    - 'app/policies/ip_block_policy.rb'
+    - 'app/policies/poll_policy.rb'
+    - 'app/policies/preview_card_policy.rb'
+    - 'app/policies/preview_card_provider_policy.rb'
+    - 'app/policies/relay_policy.rb'
+    - 'app/policies/report_note_policy.rb'
+    - 'app/policies/report_policy.rb'
+    - 'app/policies/rule_policy.rb'
+    - 'app/policies/settings_policy.rb'
+    - 'app/policies/status_policy.rb'
+    - 'app/policies/tag_policy.rb'
+    - 'app/policies/user_policy.rb'
+    - 'app/policies/user_role_policy.rb'
+    - 'app/policies/webhook_policy.rb'
+    - 'app/presenters/account_relationships_presenter.rb'
+    - 'app/presenters/activitypub/activity_presenter.rb'
+    - 'app/presenters/activitypub/collection_presenter.rb'
+    - 'app/presenters/familiar_followers_presenter.rb'
+    - 'app/presenters/filter_result_presenter.rb'
+    - 'app/presenters/initial_state_presenter.rb'
+    - 'app/presenters/instance_presenter.rb'
+    - 'app/presenters/status_relationships_presenter.rb'
+    - 'app/presenters/tag_relationships_presenter.rb'
+    - 'app/presenters/webhooks/event_presenter.rb'
+    - 'app/serializers/activitypub/accept_follow_serializer.rb'
+    - 'app/serializers/activitypub/activity_serializer.rb'
+    - 'app/serializers/activitypub/actor_serializer.rb'
+    - 'app/serializers/activitypub/add_serializer.rb'
+    - 'app/serializers/activitypub/block_serializer.rb'
+    - 'app/serializers/activitypub/collection_serializer.rb'
+    - 'app/serializers/activitypub/delete_actor_serializer.rb'
+    - 'app/serializers/activitypub/delete_serializer.rb'
+    - 'app/serializers/activitypub/device_serializer.rb'
+    - 'app/serializers/activitypub/emoji_serializer.rb'
+    - 'app/serializers/activitypub/encrypted_message_serializer.rb'
+    - 'app/serializers/activitypub/flag_serializer.rb'
+    - 'app/serializers/activitypub/follow_serializer.rb'
+    - 'app/serializers/activitypub/hashtag_serializer.rb'
+    - 'app/serializers/activitypub/image_serializer.rb'
+    - 'app/serializers/activitypub/like_serializer.rb'
+    - 'app/serializers/activitypub/move_serializer.rb'
+    - 'app/serializers/activitypub/note_serializer.rb'
+    - 'app/serializers/activitypub/one_time_key_serializer.rb'
+    - 'app/serializers/activitypub/outbox_serializer.rb'
+    - 'app/serializers/activitypub/public_key_serializer.rb'
+    - 'app/serializers/activitypub/reject_follow_serializer.rb'
+    - 'app/serializers/activitypub/remove_serializer.rb'
+    - 'app/serializers/activitypub/undo_announce_serializer.rb'
+    - 'app/serializers/activitypub/undo_block_serializer.rb'
+    - 'app/serializers/activitypub/undo_follow_serializer.rb'
+    - 'app/serializers/activitypub/undo_like_serializer.rb'
+    - 'app/serializers/activitypub/update_poll_serializer.rb'
+    - 'app/serializers/activitypub/update_serializer.rb'
+    - 'app/serializers/activitypub/vote_serializer.rb'
+    - 'app/serializers/initial_state_serializer.rb'
+    - 'app/serializers/manifest_serializer.rb'
+    - 'app/serializers/nodeinfo/discovery_serializer.rb'
+    - 'app/serializers/nodeinfo/serializer.rb'
+    - 'app/serializers/oembed_serializer.rb'
+    - 'app/serializers/rest/account_serializer.rb'
+    - 'app/serializers/rest/admin/account_serializer.rb'
+    - 'app/serializers/rest/admin/canonical_email_block_serializer.rb'
+    - 'app/serializers/rest/admin/cohort_serializer.rb'
+    - 'app/serializers/rest/admin/dimension_serializer.rb'
+    - 'app/serializers/rest/admin/domain_allow_serializer.rb'
+    - 'app/serializers/rest/admin/domain_block_serializer.rb'
+    - 'app/serializers/rest/admin/email_domain_block_serializer.rb'
+    - 'app/serializers/rest/admin/existing_domain_block_error_serializer.rb'
+    - 'app/serializers/rest/admin/ip_block_serializer.rb'
+    - 'app/serializers/rest/admin/ip_serializer.rb'
+    - 'app/serializers/rest/admin/measure_serializer.rb'
+    - 'app/serializers/rest/admin/report_serializer.rb'
+    - 'app/serializers/rest/admin/tag_serializer.rb'
+    - 'app/serializers/rest/admin/webhook_event_serializer.rb'
+    - 'app/serializers/rest/announcement_serializer.rb'
+    - 'app/serializers/rest/application_serializer.rb'
+    - 'app/serializers/rest/context_serializer.rb'
+    - 'app/serializers/rest/conversation_serializer.rb'
+    - 'app/serializers/rest/credential_account_serializer.rb'
+    - 'app/serializers/rest/custom_emoji_serializer.rb'
+    - 'app/serializers/rest/domain_block_serializer.rb'
+    - 'app/serializers/rest/encrypted_message_serializer.rb'
+    - 'app/serializers/rest/extended_description_serializer.rb'
+    - 'app/serializers/rest/familiar_followers_serializer.rb'
+    - 'app/serializers/rest/featured_tag_serializer.rb'
+    - 'app/serializers/rest/filter_keyword_serializer.rb'
+    - 'app/serializers/rest/filter_result_serializer.rb'
+    - 'app/serializers/rest/filter_serializer.rb'
+    - 'app/serializers/rest/filter_status_serializer.rb'
+    - 'app/serializers/rest/instance_serializer.rb'
+    - 'app/serializers/rest/keys/claim_result_serializer.rb'
+    - 'app/serializers/rest/keys/device_serializer.rb'
+    - 'app/serializers/rest/keys/query_result_serializer.rb'
+    - 'app/serializers/rest/list_serializer.rb'
+    - 'app/serializers/rest/marker_serializer.rb'
+    - 'app/serializers/rest/media_attachment_serializer.rb'
+    - 'app/serializers/rest/muted_account_serializer.rb'
+    - 'app/serializers/rest/notification_serializer.rb'
+    - 'app/serializers/rest/poll_serializer.rb'
+    - 'app/serializers/rest/preferences_serializer.rb'
+    - 'app/serializers/rest/preview_card_serializer.rb'
+    - 'app/serializers/rest/privacy_policy_serializer.rb'
+    - 'app/serializers/rest/reaction_serializer.rb'
+    - 'app/serializers/rest/relationship_serializer.rb'
+    - 'app/serializers/rest/report_serializer.rb'
+    - 'app/serializers/rest/role_serializer.rb'
+    - 'app/serializers/rest/rule_serializer.rb'
+    - 'app/serializers/rest/scheduled_status_serializer.rb'
+    - 'app/serializers/rest/search_serializer.rb'
+    - 'app/serializers/rest/status_edit_serializer.rb'
+    - 'app/serializers/rest/status_serializer.rb'
+    - 'app/serializers/rest/status_source_serializer.rb'
+    - 'app/serializers/rest/suggestion_serializer.rb'
+    - 'app/serializers/rest/tag_serializer.rb'
+    - 'app/serializers/rest/translation_serializer.rb'
+    - 'app/serializers/rest/trends/link_serializer.rb'
+    - 'app/serializers/rest/v1/filter_serializer.rb'
+    - 'app/serializers/rest/v1/instance_serializer.rb'
+    - 'app/serializers/rest/web_push_subscription_serializer.rb'
+    - 'app/serializers/web/notification_serializer.rb'
+    - 'app/serializers/webfinger_serializer.rb'
+    - 'app/services/account_search_service.rb'
+    - 'app/services/account_statuses_cleanup_service.rb'
+    - 'app/services/activitypub/fetch_featured_collection_service.rb'
+    - 'app/services/activitypub/fetch_featured_tags_collection_service.rb'
+    - 'app/services/activitypub/fetch_remote_account_service.rb'
+    - 'app/services/activitypub/fetch_remote_actor_service.rb'
+    - 'app/services/activitypub/fetch_remote_key_service.rb'
+    - 'app/services/activitypub/fetch_remote_poll_service.rb'
+    - 'app/services/activitypub/fetch_remote_status_service.rb'
+    - 'app/services/activitypub/fetch_replies_service.rb'
+    - 'app/services/activitypub/prepare_followers_synchronization_service.rb'
+    - 'app/services/activitypub/process_account_service.rb'
+    - 'app/services/activitypub/process_collection_service.rb'
+    - 'app/services/activitypub/process_status_update_service.rb'
+    - 'app/services/activitypub/synchronize_followers_service.rb'
+    - 'app/services/after_block_domain_from_account_service.rb'
+    - 'app/services/after_block_service.rb'
+    - 'app/services/after_unallow_domain_service.rb'
+    - 'app/services/app_sign_up_service.rb'
+    - 'app/services/appeal_service.rb'
+    - 'app/services/approve_appeal_service.rb'
+    - 'app/services/authorize_follow_service.rb'
+    - 'app/services/backup_service.rb'
+    - 'app/services/base_service.rb'
+    - 'app/services/batched_remove_status_service.rb'
+    - 'app/services/block_domain_service.rb'
+    - 'app/services/block_service.rb'
+    - 'app/services/bootstrap_timeline_service.rb'
+    - 'app/services/clear_domain_media_service.rb'
+    - 'app/services/concerns/payloadable.rb'
+    - 'app/services/create_featured_tag_service.rb'
+    - 'app/services/delete_account_service.rb'
+    - 'app/services/deliver_to_device_service.rb'
+    - 'app/services/fan_out_on_write_service.rb'
+    - 'app/services/favourite_service.rb'
+    - 'app/services/fetch_link_card_service.rb'
+    - 'app/services/fetch_oembed_service.rb'
+    - 'app/services/fetch_remote_status_service.rb'
+    - 'app/services/fetch_resource_service.rb'
+    - 'app/services/follow_migration_service.rb'
+    - 'app/services/follow_service.rb'
+    - 'app/services/import_service.rb'
+    - 'app/services/keys/claim_service.rb'
+    - 'app/services/keys/query_service.rb'
+    - 'app/services/move_service.rb'
+    - 'app/services/mute_service.rb'
+    - 'app/services/notify_service.rb'
+    - 'app/services/post_status_service.rb'
+    - 'app/services/precompute_feed_service.rb'
+    - 'app/services/process_hashtags_service.rb'
+    - 'app/services/process_mentions_service.rb'
+    - 'app/services/purge_domain_service.rb'
+    - 'app/services/reblog_service.rb'
+    - 'app/services/reject_follow_service.rb'
+    - 'app/services/remove_domains_from_followers_service.rb'
+    - 'app/services/remove_featured_tag_service.rb'
+    - 'app/services/remove_from_followers_service.rb'
+    - 'app/services/remove_status_service.rb'
+    - 'app/services/report_service.rb'
+    - 'app/services/resolve_account_service.rb'
+    - 'app/services/resolve_url_service.rb'
+    - 'app/services/search_service.rb'
+    - 'app/services/suspend_account_service.rb'
+    - 'app/services/tag_search_service.rb'
+    - 'app/services/translate_status_service.rb'
+    - 'app/services/unallow_domain_service.rb'
+    - 'app/services/unblock_domain_service.rb'
+    - 'app/services/unblock_service.rb'
+    - 'app/services/unfavourite_service.rb'
+    - 'app/services/unfollow_service.rb'
+    - 'app/services/unmute_service.rb'
+    - 'app/services/unsuspend_account_service.rb'
+    - 'app/services/update_account_service.rb'
+    - 'app/services/update_status_service.rb'
+    - 'app/services/verify_link_service.rb'
+    - 'app/services/vote_service.rb'
+    - 'app/services/webhook_service.rb'
+    - 'app/validators/blacklisted_email_validator.rb'
+    - 'app/validators/disallowed_hashtags_validator.rb'
+    - 'app/validators/domain_validator.rb'
+    - 'app/validators/ed25519_key_validator.rb'
+    - 'app/validators/ed25519_signature_validator.rb'
+    - 'app/validators/email_mx_validator.rb'
+    - 'app/validators/existing_username_validator.rb'
+    - 'app/validators/follow_limit_validator.rb'
+    - 'app/validators/import_validator.rb'
+    - 'app/validators/language_validator.rb'
+    - 'app/validators/note_length_validator.rb'
+    - 'app/validators/poll_validator.rb'
+    - 'app/validators/reaction_validator.rb'
+    - 'app/validators/registration_form_time_validator.rb'
+    - 'app/validators/status_length_validator.rb'
+    - 'app/validators/status_pin_validator.rb'
+    - 'app/validators/unique_username_validator.rb'
+    - 'app/validators/unreserved_username_validator.rb'
+    - 'app/validators/url_validator.rb'
+    - 'app/validators/vote_validator.rb'
+    - 'app/workers/account_deletion_worker.rb'
+    - 'app/workers/account_merging_worker.rb'
+    - 'app/workers/activitypub/account_raw_distribution_worker.rb'
+    - 'app/workers/activitypub/delivery_worker.rb'
+    - 'app/workers/activitypub/distribute_poll_update_worker.rb'
+    - 'app/workers/activitypub/distribution_worker.rb'
+    - 'app/workers/activitypub/fetch_replies_worker.rb'
+    - 'app/workers/activitypub/followers_synchronization_worker.rb'
+    - 'app/workers/activitypub/low_priority_delivery_worker.rb'
+    - 'app/workers/activitypub/migrated_follow_delivery_worker.rb'
+    - 'app/workers/activitypub/move_distribution_worker.rb'
+    - 'app/workers/activitypub/post_upgrade_worker.rb'
+    - 'app/workers/activitypub/processing_worker.rb'
+    - 'app/workers/activitypub/raw_distribution_worker.rb'
+    - 'app/workers/activitypub/status_update_distribution_worker.rb'
+    - 'app/workers/activitypub/synchronize_featured_collection_worker.rb'
+    - 'app/workers/activitypub/synchronize_featured_tags_collection_worker.rb'
+    - 'app/workers/activitypub/update_distribution_worker.rb'
+    - 'app/workers/admin/account_deletion_worker.rb'
+    - 'app/workers/admin/domain_purge_worker.rb'
+    - 'app/workers/admin/suspension_worker.rb'
+    - 'app/workers/admin/unsuspension_worker.rb'
+    - 'app/workers/after_account_domain_block_worker.rb'
+    - 'app/workers/after_unallow_domain_worker.rb'
+    - 'app/workers/authorize_follow_worker.rb'
+    - 'app/workers/backup_worker.rb'
+    - 'app/workers/block_worker.rb'
+    - 'app/workers/bootstrap_timeline_worker.rb'
+    - 'app/workers/cache_buster_worker.rb'
+    - 'app/workers/concerns/exponential_backoff.rb'
+    - 'app/workers/delete_mute_worker.rb'
+    - 'app/workers/distribution_worker.rb'
+    - 'app/workers/domain_block_worker.rb'
+    - 'app/workers/domain_clear_media_worker.rb'
+    - 'app/workers/feed_insert_worker.rb'
+    - 'app/workers/fetch_reply_worker.rb'
+    - 'app/workers/import/relationship_worker.rb'
+    - 'app/workers/import_worker.rb'
+    - 'app/workers/link_crawl_worker.rb'
+    - 'app/workers/local_notification_worker.rb'
+    - 'app/workers/merge_worker.rb'
+    - 'app/workers/move_worker.rb'
+    - 'app/workers/mute_worker.rb'
+    - 'app/workers/poll_expiration_notify_worker.rb'
+    - 'app/workers/post_process_media_worker.rb'
+    - 'app/workers/publish_announcement_reaction_worker.rb'
+    - 'app/workers/publish_scheduled_announcement_worker.rb'
+    - 'app/workers/publish_scheduled_status_worker.rb'
+    - 'app/workers/push_conversation_worker.rb'
+    - 'app/workers/push_encrypted_message_worker.rb'
+    - 'app/workers/push_update_worker.rb'
+    - 'app/workers/redownload_avatar_worker.rb'
+    - 'app/workers/redownload_header_worker.rb'
+    - 'app/workers/redownload_media_worker.rb'
+    - 'app/workers/refollow_worker.rb'
+    - 'app/workers/regeneration_worker.rb'
+    - 'app/workers/remote_account_refresh_worker.rb'
+    - 'app/workers/removal_worker.rb'
+    - 'app/workers/remove_featured_tag_worker.rb'
+    - 'app/workers/resolve_account_worker.rb'
+    - 'app/workers/scheduler/accounts_statuses_cleanup_scheduler.rb'
+    - 'app/workers/scheduler/follow_recommendations_scheduler.rb'
+    - 'app/workers/scheduler/indexing_scheduler.rb'
+    - 'app/workers/scheduler/instance_refresh_scheduler.rb'
+    - 'app/workers/scheduler/ip_cleanup_scheduler.rb'
+    - 'app/workers/scheduler/pghero_scheduler.rb'
+    - 'app/workers/scheduler/scheduled_statuses_scheduler.rb'
+    - 'app/workers/scheduler/suspended_user_cleanup_scheduler.rb'
+    - 'app/workers/scheduler/trends/refresh_scheduler.rb'
+    - 'app/workers/scheduler/trends/review_notifications_scheduler.rb'
+    - 'app/workers/scheduler/user_cleanup_scheduler.rb'
+    - 'app/workers/scheduler/vacuum_scheduler.rb'
+    - 'app/workers/thread_resolve_worker.rb'
+    - 'app/workers/trigger_webhook_worker.rb'
+    - 'app/workers/unfavourite_worker.rb'
+    - 'app/workers/unfollow_follow_worker.rb'
+    - 'app/workers/unmerge_worker.rb'
+    - 'app/workers/unpublish_announcement_worker.rb'
+    - 'app/workers/verify_account_links_worker.rb'
+    - 'app/workers/web/push_notification_worker.rb'
+    - 'app/workers/webhooks/delivery_worker.rb'
+    - 'db/migrate/20160220174730_create_accounts.rb'
+    - 'db/migrate/20160220211917_create_statuses.rb'
+    - 'db/migrate/20160221003140_create_users.rb'
+    - 'db/migrate/20160221003621_create_follows.rb'
+    - 'db/migrate/20160222122600_create_stream_entries.rb'
+    - 'db/migrate/20160222143943_add_profile_fields_to_accounts.rb'
+    - 'db/migrate/20160223162837_add_metadata_to_statuses.rb'
+    - 'db/migrate/20160223164502_make_uris_nullable_in_statuses.rb'
+    - 'db/migrate/20160223165723_add_url_to_statuses.rb'
+    - 'db/migrate/20160223165855_add_url_to_accounts.rb'
+    - 'db/migrate/20160223171800_create_favourites.rb'
+    - 'db/migrate/20160224223247_create_mentions.rb'
+    - 'db/migrate/20160227230233_add_attachment_avatar_to_accounts.rb'
+    - 'db/migrate/20160305115639_add_devise_to_users.rb'
+    - 'db/migrate/20160306172223_create_doorkeeper_tables.rb'
+    - 'db/migrate/20160312193225_add_attachment_header_to_accounts.rb'
+    - 'db/migrate/20160314164231_add_owner_to_application.rb'
+    - 'db/migrate/20160316103650_add_missing_indices.rb'
+    - 'db/migrate/20160322193748_add_avatar_remote_url_to_accounts.rb'
+    - 'db/migrate/20160325130944_add_admin_to_users.rb'
+    - 'db/migrate/20160826155805_add_superapp_to_oauth_applications.rb'
+    - 'db/migrate/20160905150353_create_media_attachments.rb'
+    - 'db/migrate/20160919221059_add_subscription_expires_at_to_accounts.rb'
+    - 'db/migrate/20160920003904_remove_verify_token_from_accounts.rb'
+    - 'db/migrate/20160926213048_remove_owner_from_application.rb'
+    - 'db/migrate/20161003142332_add_confirmable_to_users.rb'
+    - 'db/migrate/20161003145426_create_blocks.rb'
+    - 'db/migrate/20161006213403_rails_settings_migration.rb'
+    - 'db/migrate/20161009120834_create_domain_blocks.rb'
+    - 'db/migrate/20161027172456_add_silenced_to_accounts.rb'
+    - 'db/migrate/20161104173623_create_tags.rb'
+    - 'db/migrate/20161105130633_create_statuses_tags_join_table.rb'
+    - 'db/migrate/20161116162355_add_locale_to_users.rb'
+    - 'db/migrate/20161119211120_create_notifications.rb'
+    - 'db/migrate/20161122163057_remove_unneeded_indexes.rb'
+    - 'db/migrate/20161123093447_add_sensitive_to_statuses.rb'
+    - 'db/migrate/20161128103007_create_subscriptions.rb'
+    - 'db/migrate/20161130142058_add_last_successful_delivery_at_to_subscriptions.rb'
+    - 'db/migrate/20161130185319_add_visibility_to_statuses.rb'
+    - 'db/migrate/20161202132159_add_in_reply_to_account_id_to_statuses.rb'
+    - 'db/migrate/20161203164520_add_from_account_id_to_notifications.rb'
+    - 'db/migrate/20161205214545_add_suspended_to_accounts.rb'
+    - 'db/migrate/20161221152630_add_hidden_to_stream_entries.rb'
+    - 'db/migrate/20161222201034_add_locked_to_accounts.rb'
+    - 'db/migrate/20161222204147_create_follow_requests.rb'
+    - 'db/migrate/20170105224407_add_shortcode_to_media_attachments.rb'
+    - 'db/migrate/20170109120109_create_web_settings.rb'
+    - 'db/migrate/20170112154826_migrate_settings.rb'
+    - 'db/migrate/20170114194937_add_application_to_statuses.rb'
+    - 'db/migrate/20170114203041_add_website_to_oauth_application.rb'
+    - 'db/migrate/20170119214911_create_preview_cards.rb'
+    - 'db/migrate/20170123162658_add_severity_to_domain_blocks.rb'
+    - 'db/migrate/20170123203248_add_reject_media_to_domain_blocks.rb'
+    - 'db/migrate/20170125145934_add_spoiler_text_to_statuses.rb'
+    - 'db/migrate/20170127165745_add_devise_two_factor_to_users.rb'
+    - 'db/migrate/20170205175257_remove_devices.rb'
+    - 'db/migrate/20170209184350_add_reply_to_statuses.rb'
+    - 'db/migrate/20170214110202_create_reports.rb'
+    - 'db/migrate/20170217012631_add_reblog_of_id_foreign_key_to_statuses.rb'
+    - 'db/migrate/20170301222600_create_mutes.rb'
+    - 'db/migrate/20170303212857_add_last_emailed_at_to_users.rb'
+    - 'db/migrate/20170304202101_add_type_to_media_attachments.rb'
+    - 'db/migrate/20170317193015_add_search_index_to_accounts.rb'
+    - 'db/migrate/20170318214217_add_header_remote_url_to_accounts.rb'
+    - 'db/migrate/20170322021028_add_lowercase_index_to_accounts.rb'
+    - 'db/migrate/20170322143850_change_primary_key_to_bigint_on_statuses.rb'
+    - 'db/migrate/20170322162804_add_search_index_to_tags.rb'
+    - 'db/migrate/20170330021336_add_counter_caches.rb'
+    - 'db/migrate/20170330163835_create_imports.rb'
+    - 'db/migrate/20170330164118_add_attachment_data_to_imports.rb'
+    - 'db/migrate/20170403172249_add_action_taken_by_account_id_to_reports.rb'
+    - 'db/migrate/20170405112956_add_index_on_mentions_status_id.rb'
+    - 'db/migrate/20170406215816_add_notifications_and_favourites_indices.rb'
+    - 'db/migrate/20170409170753_add_last_webfingered_at_to_accounts.rb'
+    - 'db/migrate/20170414080609_add_devise_two_factor_backupable_to_users.rb'
+    - 'db/migrate/20170414132105_add_language_to_statuses.rb'
+    - 'db/migrate/20170418160728_add_indexes_to_reports_for_accounts.rb'
+    - 'db/migrate/20170423005413_add_allowed_languages_to_user.rb'
+    - 'db/migrate/20170424003227_create_account_domain_blocks.rb'
+    - 'db/migrate/20170424112722_add_status_id_index_to_statuses_tags.rb'
+    - 'db/migrate/20170425131920_add_media_attachment_meta.rb'
+    - 'db/migrate/20170425202925_add_oembed_to_preview_cards.rb'
+    - 'db/migrate/20170427011934_re_add_owner_to_application.rb'
+    - 'db/migrate/20170506235850_create_conversations.rb'
+    - 'db/migrate/20170507000211_add_conversation_id_to_statuses.rb'
+    - 'db/migrate/20170507141759_optimize_index_subscriptions.rb'
+    - 'db/migrate/20170508230434_create_conversation_mutes.rb'
+    - 'db/migrate/20170516072309_add_index_accounts_on_uri.rb'
+    - 'db/migrate/20170520145338_change_language_filter_to_opt_out.rb'
+    - 'db/migrate/20170601210557_add_index_on_media_attachments_account_id.rb'
+    - 'db/migrate/20170604144747_add_foreign_keys_for_accounts.rb'
+    - 'db/migrate/20170606113804_change_tag_search_index_to_btree.rb'
+    - 'db/migrate/20170609145826_remove_default_language_from_statuses.rb'
+    - 'db/migrate/20170610000000_add_statuses_index_on_account_id_id.rb'
+    - 'db/migrate/20170623152212_create_session_activations.rb'
+    - 'db/migrate/20170624134742_add_description_to_session_activations.rb'
+    - 'db/migrate/20170625140443_add_access_token_id_to_session_activations.rb'
+    - 'db/migrate/20170711225116_fix_null_booleans.rb'
+    - 'db/migrate/20170713112503_make_tag_search_case_insensitive.rb'
+    - 'db/migrate/20170713175513_create_web_push_subscriptions.rb'
+    - 'db/migrate/20170713190709_add_web_push_subscription_to_session_activations.rb'
+    - 'db/migrate/20170714184731_add_domain_to_subscriptions.rb'
+    - 'db/migrate/20170716191202_add_hide_notifications_to_mute.rb'
+    - 'db/migrate/20170718211102_add_activitypub_to_accounts.rb'
+    - 'db/migrate/20170720000000_add_index_favourites_on_account_id_and_id.rb'
+    - 'db/migrate/20170823162448_create_status_pins.rb'
+    - 'db/migrate/20170824103029_add_timestamps_to_status_pins.rb'
+    - 'db/migrate/20170829215220_remove_status_pins_account_index.rb'
+    - 'db/migrate/20170901141119_truncate_preview_cards.rb'
+    - 'db/migrate/20170901142658_create_join_table_preview_cards_statuses.rb'
+    - 'db/migrate/20170905044538_add_index_id_account_id_activity_type_on_notifications.rb'
+    - 'db/migrate/20170905165803_add_local_to_statuses.rb'
+    - 'db/migrate/20170913000752_create_site_uploads.rb'
+    - 'db/migrate/20170917153509_create_custom_emojis.rb'
+    - 'db/migrate/20170918125918_ids_to_bigints.rb'
+    - 'db/migrate/20170920024819_status_ids_to_timestamp_ids.rb'
+    - 'db/migrate/20170920032311_fix_reblogs_in_feeds.rb'
+    - 'db/migrate/20170924022025_ids_to_bigints2.rb'
+    - 'db/migrate/20170927215609_add_description_to_media_attachments.rb'
+    - 'db/migrate/20170928082043_create_email_domain_blocks.rb'
+    - 'db/migrate/20171005102658_create_account_moderation_notes.rb'
+    - 'db/migrate/20171005171936_add_disabled_to_custom_emojis.rb'
+    - 'db/migrate/20171006142024_add_uri_to_custom_emojis.rb'
+    - 'db/migrate/20171010023049_add_foreign_key_to_account_moderation_notes.rb'
+    - 'db/migrate/20171010025614_change_accounts_nonnullable_in_account_moderation_notes.rb'
+    - 'db/migrate/20171020084748_add_visible_in_picker_to_custom_emoji.rb'
+    - 'db/migrate/20171028221157_add_reblogs_to_follows.rb'
+    - 'db/migrate/20171107143332_add_memorial_to_accounts.rb'
+    - 'db/migrate/20171107143624_add_disabled_to_users.rb'
+    - 'db/migrate/20171109012327_add_moderator_to_accounts.rb'
+    - 'db/migrate/20171114080328_add_index_domain_to_email_domain_blocks.rb'
+    - 'db/migrate/20171114231651_create_lists.rb'
+    - 'db/migrate/20171116161857_create_list_accounts.rb'
+    - 'db/migrate/20171118012443_add_moved_to_account_id_to_accounts.rb'
+    - 'db/migrate/20171119172437_create_admin_action_logs.rb'
+    - 'db/migrate/20171122120436_add_index_account_and_reblog_of_id_to_statuses.rb'
+    - 'db/migrate/20171125024930_create_invites.rb'
+    - 'db/migrate/20171125031751_add_invite_id_to_users.rb'
+    - 'db/migrate/20171125185353_add_index_reblog_of_id_and_account_to_statuses.rb'
+    - 'db/migrate/20171125190735_remove_old_reblog_index_on_statuses.rb'
+    - 'db/migrate/20171129172043_add_index_on_stream_entries.rb'
+    - 'db/migrate/20171130000000_add_embed_url_to_preview_cards.rb'
+    - 'db/migrate/20171201000000_change_account_id_nonnullable_in_lists.rb'
+    - 'db/migrate/20171212195226_remove_duplicate_indexes_in_lists.rb'
+    - 'db/migrate/20171226094803_more_faster_index_on_notifications.rb'
+    - 'db/migrate/20180106000232_add_index_on_statuses_for_api_v1_accounts_account_id_statuses.rb'
+    - 'db/migrate/20180109143959_add_remember_token_to_users.rb'
+    - 'db/migrate/20180204034416_create_identities.rb'
+    - 'db/migrate/20180206000000_change_user_id_nonnullable.rb'
+    - 'db/migrate/20180211015820_create_backups.rb'
+    - 'db/migrate/20180304013859_add_featured_collection_url_to_accounts.rb'
+    - 'db/migrate/20180310000000_change_columns_in_notifications_nonnullable.rb'
+    - 'db/migrate/20180402031200_add_assigned_account_id_to_reports.rb'
+    - 'db/migrate/20180402040909_create_report_notes.rb'
+    - 'db/migrate/20180410204633_add_fields_to_accounts.rb'
+    - 'db/migrate/20180416210259_add_uri_to_relationships.rb'
+    - 'db/migrate/20180506221944_add_actor_type_to_accounts.rb'
+    - 'db/migrate/20180510214435_add_access_token_id_to_web_push_subscriptions.rb'
+    - 'db/migrate/20180510230049_migrate_web_push_subscriptions.rb'
+    - 'db/migrate/20180514130000_improve_index_on_statuses_for_api_v1_accounts_account_id_statuses.rb'
+    - 'db/migrate/20180514140000_revert_index_change_on_statuses_for_api_v1_accounts_account_id_statuses.rb'
+    - 'db/migrate/20180528141303_fix_accounts_unique_index.rb'
+    - 'db/migrate/20180608213548_reject_following_blocked_users.rb'
+    - 'db/migrate/20180609104432_migrate_web_push_subscriptions2.rb'
+    - 'db/migrate/20180615122121_add_autofollow_to_invites.rb'
+    - 'db/migrate/20180616192031_add_chosen_languages_to_users.rb'
+    - 'db/migrate/20180617162849_remove_unused_indexes.rb'
+    - 'db/migrate/20180628181026_create_custom_filters.rb'
+    - 'db/migrate/20180707154237_add_whole_word_to_custom_filter.rb'
+    - 'db/migrate/20180711152640_create_relays.rb'
+    - 'db/migrate/20180808175627_create_account_pins.rb'
+    - 'db/migrate/20180812123222_change_relays_enabled.rb'
+    - 'db/migrate/20180812162710_create_status_stats.rb'
+    - 'db/migrate/20180812173710_copy_status_stats.rb'
+    - 'db/migrate/20180814171349_add_confidential_to_doorkeeper_application.rb'
+    - 'db/migrate/20180820232245_add_foreign_key_indices.rb'
+    - 'db/migrate/20180831171112_create_bookmarks.rb'
+    - 'db/migrate/20180929222014_create_account_conversations.rb'
+    - 'db/migrate/20181007025445_create_pghero_space_stats.rb'
+    - 'db/migrate/20181010141500_add_silent_to_mentions.rb'
+    - 'db/migrate/20181017170937_add_reject_reports_to_domain_blocks.rb'
+    - 'db/migrate/20181018205649_add_unread_to_account_conversations.rb'
+    - 'db/migrate/20181024224956_migrate_account_conversations.rb'
+    - 'db/migrate/20181026034033_remove_faux_remote_account_duplicates.rb'
+    - 'db/migrate/20181116165755_create_account_stats.rb'
+    - 'db/migrate/20181116173541_copy_account_stats.rb'
+    - 'db/migrate/20181127130500_identity_id_to_bigint.rb'
+    - 'db/migrate/20181127165847_add_show_replies_to_lists.rb'
+    - 'db/migrate/20181203003808_create_accounts_tags_join_table.rb'
+    - 'db/migrate/20181203021853_add_discoverable_to_accounts.rb'
+    - 'db/migrate/20181204193439_add_last_status_at_to_account_stats.rb'
+    - 'db/migrate/20181204215309_create_account_tag_stats.rb'
+    - 'db/migrate/20181207011115_downcase_custom_emoji_domains.rb'
+    - 'db/migrate/20181213184704_create_account_warnings.rb'
+    - 'db/migrate/20181213185533_create_account_warning_presets.rb'
+    - 'db/migrate/20181219235220_add_created_by_application_id_to_users.rb'
+    - 'db/migrate/20181226021420_add_also_known_as_to_accounts.rb'
+    - 'db/migrate/20190103124649_create_scheduled_statuses.rb'
+    - 'db/migrate/20190103124754_add_scheduled_status_id_to_media_attachments.rb'
+    - 'db/migrate/20190117114553_create_tombstones.rb'
+    - 'db/migrate/20190201012802_add_overwrite_to_imports.rb'
+    - 'db/migrate/20190203180359_create_featured_tags.rb'
+    - 'db/migrate/20190225031541_create_polls.rb'
+    - 'db/migrate/20190225031625_create_poll_votes.rb'
+    - 'db/migrate/20190226003449_add_poll_id_to_statuses.rb'
+    - 'db/migrate/20190304152020_add_uri_to_poll_votes.rb'
+    - 'db/migrate/20190306145741_add_lock_version_to_polls.rb'
+    - 'db/migrate/20190307234537_add_approved_to_users.rb'
+    - 'db/migrate/20190314181829_migrate_open_registrations_setting.rb'
+    - 'db/migrate/20190316190352_create_account_identity_proofs.rb'
+    - 'db/migrate/20190317135723_add_uri_to_reports.rb'
+    - 'db/migrate/20190403141604_add_comment_to_invites.rb'
+    - 'db/migrate/20190409054914_create_user_invite_requests.rb'
+    - 'db/migrate/20190420025523_add_blurhash_to_media_attachments.rb'
+    - 'db/migrate/20190509164208_add_by_moderator_to_tombstone.rb'
+    - 'db/migrate/20190511134027_add_silenced_at_suspended_at_to_accounts.rb'
+    - 'db/migrate/20190529143559_preserve_old_layout_for_existing_users.rb'
+    - 'db/migrate/20190627222225_create_custom_emoji_categories.rb'
+    - 'db/migrate/20190627222826_add_category_id_to_custom_emojis.rb'
+    - 'db/migrate/20190701022101_add_trust_level_to_accounts.rb'
+    - 'db/migrate/20190705002136_create_domain_allows.rb'
+    - 'db/migrate/20190715164535_add_instance_actor.rb'
+    - 'db/migrate/20190726175042_add_case_insensitive_index_to_tags.rb'
+    - 'db/migrate/20190729185330_add_score_to_tags.rb'
+    - 'db/migrate/20190805123746_add_capabilities_to_tags.rb'
+    - 'db/migrate/20190807135426_add_comments_to_domain_blocks.rb'
+    - 'db/migrate/20190815225426_add_last_status_at_to_tags.rb'
+    - 'db/migrate/20190819134503_add_deleted_at_to_statuses.rb'
+    - 'db/migrate/20190820003045_update_statuses_index.rb'
+    - 'db/migrate/20190823221802_add_local_index_to_statuses.rb'
+    - 'db/migrate/20190901035623_add_max_score_to_tags.rb'
+    - 'db/migrate/20190904222339_create_markers.rb'
+    - 'db/migrate/20190914202517_create_account_migrations.rb'
+    - 'db/migrate/20190915194355_create_account_aliases.rb'
+    - 'db/migrate/20190917213523_add_remember_token_index.rb'
+    - 'db/migrate/20190927232842_add_voters_count_to_polls.rb'
+    - 'db/migrate/20191001213028_add_lock_version_to_account_stats.rb'
+    - 'db/migrate/20191007013357_update_pt_locales.rb'
+    - 'db/migrate/20191031163205_change_list_account_follow_nullable.rb'
+    - 'db/migrate/20191212003415_increase_backup_size.rb'
+    - 'db/migrate/20191212163405_add_hide_collections_to_accounts.rb'
+    - 'db/migrate/20191218153258_create_announcements.rb'
+    - 'db/migrate/20200113125135_create_announcement_mutes.rb'
+    - 'db/migrate/20200114113335_create_announcement_reactions.rb'
+    - 'db/migrate/20200119112504_add_public_index_to_statuses.rb'
+    - 'db/migrate/20200126203551_add_published_at_to_announcements.rb'
+    - 'db/migrate/20200306035625_add_processing_to_media_attachments.rb'
+    - 'db/migrate/20200309150742_add_forwarded_to_reports.rb'
+    - 'db/migrate/20200312144258_add_title_to_account_warning_presets.rb'
+    - 'db/migrate/20200312162302_add_status_ids_to_announcements.rb'
+    - 'db/migrate/20200312185443_add_parent_id_to_email_domain_blocks.rb'
+    - 'db/migrate/20200317021758_add_expires_at_to_mutes.rb'
+    - 'db/migrate/20200407201300_create_unavailable_domains.rb'
+    - 'db/migrate/20200407202420_migrate_unavailable_inboxes.rb'
+    - 'db/migrate/20200417125749_add_storage_schema_version.rb'
+    - 'db/migrate/20200508212852_reset_unique_jobs_locks.rb'
+    - 'db/migrate/20200510110808_reset_web_app_secret.rb'
+    - 'db/migrate/20200510181721_remove_duplicated_indexes_pghero.rb'
+    - 'db/migrate/20200516180352_create_devices.rb'
+    - 'db/migrate/20200516183822_create_one_time_keys.rb'
+    - 'db/migrate/20200518083523_create_encrypted_messages.rb'
+    - 'db/migrate/20200521180606_encrypted_message_ids_to_timestamp_ids.rb'
+    - 'db/migrate/20200529214050_add_devices_url_to_accounts.rb'
+    - 'db/migrate/20200601222558_create_system_keys.rb'
+    - 'db/migrate/20200605155027_add_blurhash_to_preview_cards.rb'
+    - 'db/migrate/20200608113046_add_sign_in_token_to_users.rb'
+    - 'db/migrate/20200614002136_add_sensitized_to_accounts.rb'
+    - 'db/migrate/20200620164023_add_fixed_lowercase_index_to_accounts.rb'
+    - 'db/migrate/20200622213645_media_attachment_ids_to_timestamp_ids.rb'
+    - 'db/migrate/20200627125810_add_thumbnail_columns_to_media_attachments.rb'
+    - 'db/migrate/20200628133322_create_account_notes.rb'
+    - 'db/migrate/20200630190240_create_webauthn_credentials.rb'
+    - 'db/migrate/20200630190544_add_webauthn_id_to_users.rb'
+    - 'db/migrate/20200908193330_create_account_deletion_requests.rb'
+    - 'db/migrate/20200917192924_add_notify_to_follows.rb'
+    - 'db/migrate/20200917193034_add_type_to_notifications.rb'
+    - 'db/migrate/20200917222316_add_index_notifications_on_type.rb'
+    - 'db/migrate/20201008202037_create_ip_blocks.rb'
+    - 'db/migrate/20201008220312_add_sign_up_ip_to_users.rb'
+    - 'db/migrate/20201017233919_add_suspension_origin_to_accounts.rb'
+    - 'db/migrate/20201206004238_create_instances.rb'
+    - 'db/migrate/20201218054746_add_obfuscate_to_domain_blocks.rb'
+    - 'db/migrate/20210221045109_create_rules.rb'
+    - 'db/migrate/20210306164523_account_ids_to_timestamp_ids.rb'
+    - 'db/migrate/20210322164601_create_account_summaries.rb'
+    - 'db/migrate/20210323114347_create_follow_recommendations.rb'
+    - 'db/migrate/20210324171613_create_follow_recommendation_suppressions.rb'
+    - 'db/migrate/20210416200740_create_canonical_email_blocks.rb'
+    - 'db/migrate/20210421121431_add_case_insensitive_btree_index_to_tags.rb'
+    - 'db/migrate/20210425135952_add_index_on_media_attachments_account_id_status_id.rb'
+    - 'db/migrate/20210505174616_update_follow_recommendations_to_version_2.rb'
+    - 'db/migrate/20210609202149_create_login_activities.rb'
+    - 'db/migrate/20210616214526_create_user_ips.rb'
+    - 'db/migrate/20210621221010_add_skip_sign_in_token_to_users.rb'
+    - 'db/migrate/20210630000137_fix_canonical_email_blocks_foreign_key.rb'
+    - 'db/migrate/20210722120340_create_account_statuses_cleanup_policies.rb'
+    - 'db/migrate/20210904215403_add_edited_at_to_statuses.rb'
+    - 'db/migrate/20210908220918_create_status_edits.rb'
+    - 'db/migrate/20211031031021_create_preview_card_providers.rb'
+    - 'db/migrate/20211112011713_add_language_to_preview_cards.rb'
+    - 'db/migrate/20211115032527_add_trendable_to_preview_cards.rb'
+    - 'db/migrate/20211123212714_add_link_type_to_preview_cards.rb'
+    - 'db/migrate/20211213040746_update_account_summaries_to_version_2.rb'
+    - 'db/migrate/20211231080958_add_category_to_reports.rb'
+    - 'db/migrate/20220105163928_remove_mentions_status_id_index.rb'
+    - 'db/migrate/20220115125126_add_report_id_to_account_warnings.rb'
+    - 'db/migrate/20220115125341_fix_account_warning_actions.rb'
+    - 'db/migrate/20220116202951_add_deleted_at_index_on_statuses.rb'
+    - 'db/migrate/20220124141035_create_appeals.rb'
+    - 'db/migrate/20220202200743_add_trendable_to_accounts.rb'
+    - 'db/migrate/20220202200926_add_trendable_to_statuses.rb'
+    - 'db/migrate/20220210153119_add_overruled_at_to_account_warnings.rb'
+    - 'db/migrate/20220224010024_add_ips_to_email_domain_blocks.rb'
+    - 'db/migrate/20220227041951_add_last_used_at_to_oauth_access_tokens.rb'
+    - 'db/migrate/20220302232632_add_ordered_media_attachment_ids_to_statuses.rb'
+    - 'db/migrate/20220303000827_add_ordered_media_attachment_ids_to_status_edits.rb'
+    - 'db/migrate/20220304195405_migrate_hide_network_preference.rb'
+    - 'db/migrate/20220307094650_fix_featured_tags_constraints.rb'
+    - 'db/migrate/20220309213005_fix_reblog_deleted_at.rb'
+    - 'db/migrate/20220316233212_update_kurdish_locales.rb'
+    - 'db/migrate/20220428112511_add_index_statuses_on_account_id.rb'
+    - 'db/migrate/20220428112727_add_index_statuses_pins_on_status_id.rb'
+    - 'db/migrate/20220428114454_add_index_reports_on_assigned_account_id.rb'
+    - 'db/migrate/20220428114902_add_index_reports_on_action_taken_by_account_id.rb'
+    - 'db/migrate/20220606044941_create_webhooks.rb'
+    - 'db/migrate/20220611210335_create_user_roles.rb'
+    - 'db/migrate/20220611212541_add_role_id_to_users.rb'
+    - 'db/migrate/20220613110628_create_custom_filter_keywords.rb'
+    - 'db/migrate/20220613110711_migrate_custom_filters.rb'
+    - 'db/migrate/20220613110834_add_action_to_custom_filters.rb'
+    - 'db/migrate/20220710102457_add_display_name_to_tags.rb'
+    - 'db/migrate/20220714171049_create_tag_follows.rb'
+    - 'db/migrate/20220808101323_create_custom_filter_statuses.rb'
+    - 'db/migrate/20220824164433_add_human_identifier_to_admin_action_logs.rb'
+    - 'db/migrate/20220824233535_create_status_trends.rb'
+    - 'db/migrate/20220827195229_change_canonical_email_blocks_nullable.rb'
+    - 'db/migrate/20220829192633_add_languages_to_follows.rb'
+    - 'db/migrate/20220829192658_add_languages_to_follow_requests.rb'
+    - 'db/migrate/20221006061337_create_preview_card_trends.rb'
+    - 'db/migrate/20221012181003_add_blurhash_to_site_uploads.rb'
+    - 'db/migrate/20221021055441_add_index_featured_tags_on_account_id_and_tag_id.rb'
+    - 'db/migrate/20221025171544_add_index_ip_blocks_on_ip.rb'
+    - 'db/migrate/20221104133904_add_name_to_featured_tags.rb'
+    - 'db/post_migrate/20180813113448_copy_status_stats_cleanup.rb'
+    - 'db/post_migrate/20181116184611_copy_account_stats_cleanup.rb'
+    - 'db/post_migrate/20190511152737_remove_suspended_silenced_account_fields.rb'
+    - 'db/post_migrate/20190519130537_remove_boosts_widening_audience.rb'
+    - 'db/post_migrate/20190706233204_drop_stream_entries.rb'
+    - 'db/post_migrate/20190715031050_drop_subscriptions.rb'
+    - 'db/post_migrate/20190901040524_remove_score_from_tags.rb'
+    - 'db/post_migrate/20190927124642_remove_invalid_web_push_subscription.rb'
+    - 'db/post_migrate/20200917193528_migrate_notifications_type.rb'
+    - 'db/post_migrate/20200917222734_remove_index_notifications_on_account_activity.rb'
+    - 'db/post_migrate/20201017234926_fill_account_suspension_origin.rb'
+    - 'db/post_migrate/20210308133107_remove_subscription_expires_at_from_accounts.rb'
+    - 'db/post_migrate/20210502233513_drop_account_tag_stats.rb'
+    - 'db/post_migrate/20210507001928_remove_hub_url_from_accounts.rb'
+    - 'db/post_migrate/20210526193025_remove_lock_version_from_account_stats.rb'
+    - 'db/post_migrate/20210616214135_remove_current_sign_in_ip_from_users.rb'
+    - 'db/post_migrate/20210808071221_clear_orphaned_account_notes.rb'
+    - 'db/post_migrate/20211126000907_drop_account_identity_proofs.rb'
+    - 'db/post_migrate/20220109213908_remove_action_taken_from_reports.rb'
+    - 'db/post_migrate/20220118183010_remove_index_users_on_remember_token.rb'
+    - 'db/post_migrate/20220118183123_remove_rememberable_from_users.rb'
+    - 'db/post_migrate/20220202201015_remove_trust_level_from_accounts.rb'
+    - 'db/post_migrate/20220303203437_remove_media_attachments_changed_from_status_edits.rb'
+    - 'db/post_migrate/20220307083603_optimize_null_index_conversations_uri.rb'
+    - 'db/post_migrate/20220310060545_optimize_null_index_statuses_in_reply_to_account_id.rb'
+    - 'db/post_migrate/20220310060556_optimize_null_index_statuses_in_reply_to_id.rb'
+    - 'db/post_migrate/20220310060614_optimize_null_index_media_attachments_scheduled_status_id.rb'
+    - 'db/post_migrate/20220310060626_optimize_null_index_media_attachments_shortcode.rb'
+    - 'db/post_migrate/20220310060641_optimize_null_index_users_reset_password_token.rb'
+    - 'db/post_migrate/20220310060653_optimize_null_index_users_created_by_application_id.rb'
+    - 'db/post_migrate/20220310060706_optimize_null_index_statuses_uri.rb'
+    - 'db/post_migrate/20220310060722_optimize_null_index_accounts_moved_to_account_id.rb'
+    - 'db/post_migrate/20220310060740_optimize_null_index_oauth_access_tokens_refresh_token.rb'
+    - 'db/post_migrate/20220310060750_optimize_null_index_accounts_url.rb'
+    - 'db/post_migrate/20220310060809_optimize_null_index_oauth_access_tokens_resource_owner_id.rb'
+    - 'db/post_migrate/20220310060833_optimize_null_index_announcement_reactions_custom_emoji_id.rb'
+    - 'db/post_migrate/20220310060854_optimize_null_index_appeals_approved_by_account_id.rb'
+    - 'db/post_migrate/20220310060913_optimize_null_index_account_migrations_target_account_id.rb'
+    - 'db/post_migrate/20220310060926_optimize_null_index_appeals_rejected_by_account_id.rb'
+    - 'db/post_migrate/20220310060939_optimize_null_index_list_accounts_follow_id.rb'
+    - 'db/post_migrate/20220310060959_optimize_null_index_web_push_subscriptions_access_token_id.rb'
+    - 'db/post_migrate/20220429101025_remove_ips_from_email_domain_blocks.rb'
+    - 'db/post_migrate/20220429101850_clear_email_domain_blocks.rb'
+    - 'db/post_migrate/20220527114923_remove_filtered_languages_from_users.rb'
+    - 'db/post_migrate/20220613110802_remove_whole_word_from_custom_filters.rb'
+    - 'db/post_migrate/20220613110903_remove_irreversible_from_custom_filters.rb'
+    - 'db/post_migrate/20220617202502_migrate_roles.rb'
+    - 'db/post_migrate/20220704024901_migrate_settings_to_user_roles.rb'
+    - 'db/post_migrate/20220729171123_fix_custom_filter_keywords_id_seq.rb'
+    - 'db/post_migrate/20220824164532_remove_recorded_changes_from_admin_action_logs.rb'
+    - 'db/post_migrate/20221101190723_backfill_admin_action_logs.rb'
+    - 'db/post_migrate/20221206114142_backfill_admin_action_logs_again.rb'
+    - 'lib/active_record/batches.rb'
+    - 'lib/active_record/database_tasks_extensions.rb'
+    - 'lib/chewy/strategy/mastodon.rb'
+    - 'lib/cli.rb'
+    - 'lib/devise/two_factor_ldap_authenticatable.rb'
+    - 'lib/devise/two_factor_pam_authenticatable.rb'
+    - 'lib/exceptions.rb'
+    - 'lib/generators/post_deployment_migration_generator.rb'
+    - 'lib/mastodon/accounts_cli.rb'
+    - 'lib/mastodon/cache_cli.rb'
+    - 'lib/mastodon/canonical_email_blocks_cli.rb'
+    - 'lib/mastodon/cli_helper.rb'
+    - 'lib/mastodon/domains_cli.rb'
+    - 'lib/mastodon/email_domain_blocks_cli.rb'
+    - 'lib/mastodon/emoji_cli.rb'
+    - 'lib/mastodon/feeds_cli.rb'
+    - 'lib/mastodon/ip_blocks_cli.rb'
+    - 'lib/mastodon/maintenance_cli.rb'
+    - 'lib/mastodon/media_cli.rb'
+    - 'lib/mastodon/premailer_webpack_strategy.rb'
+    - 'lib/mastodon/preview_cards_cli.rb'
+    - 'lib/mastodon/rack_middleware.rb'
+    - 'lib/mastodon/search_cli.rb'
+    - 'lib/mastodon/settings_cli.rb'
+    - 'lib/mastodon/sidekiq_middleware.rb'
+    - 'lib/mastodon/snowflake.rb'
+    - 'lib/mastodon/statuses_cli.rb'
+    - 'lib/mastodon/upgrade_cli.rb'
+    - 'lib/mastodon/version.rb'
+    - 'lib/paperclip/attachment_extensions.rb'
+    - 'lib/paperclip/blurhash_transcoder.rb'
+    - 'lib/paperclip/color_extractor.rb'
+    - 'lib/paperclip/gif_transcoder.rb'
+    - 'lib/paperclip/image_extractor.rb'
+    - 'lib/paperclip/lazy_thumbnail.rb'
+    - 'lib/paperclip/response_with_limit_adapter.rb'
+    - 'lib/paperclip/type_corrector.rb'
+    - 'lib/paperclip/url_generator_extensions.rb'
+    - 'lib/public_file_server_middleware.rb'
+    - 'lib/rails/engine_extensions.rb'
+    - 'lib/redis/namespace_extensions.rb'
+    - 'lib/sanitize_ext/sanitize_config.rb'
+    - 'lib/simple_navigation/item_extensions.rb'
+    - 'lib/terrapin/multi_pipe_extensions.rb'
+    - 'lib/webpacker/helper_extensions.rb'
+    - 'lib/webpacker/manifest_extensions.rb'
 
-# Offense count: 10
 # This cop supports safe autocorrection (--autocorrect).
 # Configuration parameters: AllowedVars.
 Style/FetchEnvVar:
@@ -1912,7 +3540,6 @@ Style/FetchEnvVar:
     - 'lib/tasks/repo.rake'
     - 'spec/features/profile_spec.rb'
 
-# Offense count: 15
 # This cop supports safe autocorrection (--autocorrect).
 # Configuration parameters: EnforcedStyle, MaxUnannotatedPlaceholdersAllowed, AllowedMethods, AllowedPatterns.
 # SupportedStyles: annotated, template, unannotated
@@ -1922,14 +3549,360 @@ Style/FormatStringToken:
     - 'lib/mastodon/maintenance_cli.rb'
     - 'lib/paperclip/color_extractor.rb'
 
-# Offense count: 713
 # This cop supports unsafe autocorrection (--autocorrect-all).
 # Configuration parameters: EnforcedStyle.
 # SupportedStyles: always, always_true, never
 Style/FrozenStringLiteralComment:
-  Enabled: false
+  Exclude:
+    - 'app/views/accounts/show.rss.ruby'
+    - 'app/views/tags/show.rss.ruby'
+    - 'app/views/well_known/host_meta/show.xml.ruby'
+    - 'db/migrate/20160220174730_create_accounts.rb'
+    - 'db/migrate/20160220211917_create_statuses.rb'
+    - 'db/migrate/20160221003140_create_users.rb'
+    - 'db/migrate/20160221003621_create_follows.rb'
+    - 'db/migrate/20160222122600_create_stream_entries.rb'
+    - 'db/migrate/20160222143943_add_profile_fields_to_accounts.rb'
+    - 'db/migrate/20160223162837_add_metadata_to_statuses.rb'
+    - 'db/migrate/20160223164502_make_uris_nullable_in_statuses.rb'
+    - 'db/migrate/20160223165723_add_url_to_statuses.rb'
+    - 'db/migrate/20160223165855_add_url_to_accounts.rb'
+    - 'db/migrate/20160223171800_create_favourites.rb'
+    - 'db/migrate/20160224223247_create_mentions.rb'
+    - 'db/migrate/20160227230233_add_attachment_avatar_to_accounts.rb'
+    - 'db/migrate/20160305115639_add_devise_to_users.rb'
+    - 'db/migrate/20160306172223_create_doorkeeper_tables.rb'
+    - 'db/migrate/20160312193225_add_attachment_header_to_accounts.rb'
+    - 'db/migrate/20160314164231_add_owner_to_application.rb'
+    - 'db/migrate/20160316103650_add_missing_indices.rb'
+    - 'db/migrate/20160322193748_add_avatar_remote_url_to_accounts.rb'
+    - 'db/migrate/20160325130944_add_admin_to_users.rb'
+    - 'db/migrate/20160826155805_add_superapp_to_oauth_applications.rb'
+    - 'db/migrate/20160905150353_create_media_attachments.rb'
+    - 'db/migrate/20160919221059_add_subscription_expires_at_to_accounts.rb'
+    - 'db/migrate/20160920003904_remove_verify_token_from_accounts.rb'
+    - 'db/migrate/20160926213048_remove_owner_from_application.rb'
+    - 'db/migrate/20161003142332_add_confirmable_to_users.rb'
+    - 'db/migrate/20161003145426_create_blocks.rb'
+    - 'db/migrate/20161006213403_rails_settings_migration.rb'
+    - 'db/migrate/20161009120834_create_domain_blocks.rb'
+    - 'db/migrate/20161027172456_add_silenced_to_accounts.rb'
+    - 'db/migrate/20161104173623_create_tags.rb'
+    - 'db/migrate/20161105130633_create_statuses_tags_join_table.rb'
+    - 'db/migrate/20161116162355_add_locale_to_users.rb'
+    - 'db/migrate/20161119211120_create_notifications.rb'
+    - 'db/migrate/20161122163057_remove_unneeded_indexes.rb'
+    - 'db/migrate/20161123093447_add_sensitive_to_statuses.rb'
+    - 'db/migrate/20161128103007_create_subscriptions.rb'
+    - 'db/migrate/20161130142058_add_last_successful_delivery_at_to_subscriptions.rb'
+    - 'db/migrate/20161130185319_add_visibility_to_statuses.rb'
+    - 'db/migrate/20161202132159_add_in_reply_to_account_id_to_statuses.rb'
+    - 'db/migrate/20161203164520_add_from_account_id_to_notifications.rb'
+    - 'db/migrate/20161205214545_add_suspended_to_accounts.rb'
+    - 'db/migrate/20161221152630_add_hidden_to_stream_entries.rb'
+    - 'db/migrate/20161222201034_add_locked_to_accounts.rb'
+    - 'db/migrate/20161222204147_create_follow_requests.rb'
+    - 'db/migrate/20170105224407_add_shortcode_to_media_attachments.rb'
+    - 'db/migrate/20170109120109_create_web_settings.rb'
+    - 'db/migrate/20170112154826_migrate_settings.rb'
+    - 'db/migrate/20170114194937_add_application_to_statuses.rb'
+    - 'db/migrate/20170114203041_add_website_to_oauth_application.rb'
+    - 'db/migrate/20170119214911_create_preview_cards.rb'
+    - 'db/migrate/20170123162658_add_severity_to_domain_blocks.rb'
+    - 'db/migrate/20170123203248_add_reject_media_to_domain_blocks.rb'
+    - 'db/migrate/20170125145934_add_spoiler_text_to_statuses.rb'
+    - 'db/migrate/20170127165745_add_devise_two_factor_to_users.rb'
+    - 'db/migrate/20170205175257_remove_devices.rb'
+    - 'db/migrate/20170209184350_add_reply_to_statuses.rb'
+    - 'db/migrate/20170214110202_create_reports.rb'
+    - 'db/migrate/20170217012631_add_reblog_of_id_foreign_key_to_statuses.rb'
+    - 'db/migrate/20170301222600_create_mutes.rb'
+    - 'db/migrate/20170303212857_add_last_emailed_at_to_users.rb'
+    - 'db/migrate/20170304202101_add_type_to_media_attachments.rb'
+    - 'db/migrate/20170317193015_add_search_index_to_accounts.rb'
+    - 'db/migrate/20170318214217_add_header_remote_url_to_accounts.rb'
+    - 'db/migrate/20170322021028_add_lowercase_index_to_accounts.rb'
+    - 'db/migrate/20170322143850_change_primary_key_to_bigint_on_statuses.rb'
+    - 'db/migrate/20170322162804_add_search_index_to_tags.rb'
+    - 'db/migrate/20170330021336_add_counter_caches.rb'
+    - 'db/migrate/20170330163835_create_imports.rb'
+    - 'db/migrate/20170330164118_add_attachment_data_to_imports.rb'
+    - 'db/migrate/20170403172249_add_action_taken_by_account_id_to_reports.rb'
+    - 'db/migrate/20170405112956_add_index_on_mentions_status_id.rb'
+    - 'db/migrate/20170406215816_add_notifications_and_favourites_indices.rb'
+    - 'db/migrate/20170409170753_add_last_webfingered_at_to_accounts.rb'
+    - 'db/migrate/20170414080609_add_devise_two_factor_backupable_to_users.rb'
+    - 'db/migrate/20170414132105_add_language_to_statuses.rb'
+    - 'db/migrate/20170418160728_add_indexes_to_reports_for_accounts.rb'
+    - 'db/migrate/20170423005413_add_allowed_languages_to_user.rb'
+    - 'db/migrate/20170424003227_create_account_domain_blocks.rb'
+    - 'db/migrate/20170424112722_add_status_id_index_to_statuses_tags.rb'
+    - 'db/migrate/20170425131920_add_media_attachment_meta.rb'
+    - 'db/migrate/20170425202925_add_oembed_to_preview_cards.rb'
+    - 'db/migrate/20170427011934_re_add_owner_to_application.rb'
+    - 'db/migrate/20170506235850_create_conversations.rb'
+    - 'db/migrate/20170507000211_add_conversation_id_to_statuses.rb'
+    - 'db/migrate/20170507141759_optimize_index_subscriptions.rb'
+    - 'db/migrate/20170508230434_create_conversation_mutes.rb'
+    - 'db/migrate/20170516072309_add_index_accounts_on_uri.rb'
+    - 'db/migrate/20170520145338_change_language_filter_to_opt_out.rb'
+    - 'db/migrate/20170601210557_add_index_on_media_attachments_account_id.rb'
+    - 'db/migrate/20170604144747_add_foreign_keys_for_accounts.rb'
+    - 'db/migrate/20170606113804_change_tag_search_index_to_btree.rb'
+    - 'db/migrate/20170609145826_remove_default_language_from_statuses.rb'
+    - 'db/migrate/20170610000000_add_statuses_index_on_account_id_id.rb'
+    - 'db/migrate/20170623152212_create_session_activations.rb'
+    - 'db/migrate/20170624134742_add_description_to_session_activations.rb'
+    - 'db/migrate/20170625140443_add_access_token_id_to_session_activations.rb'
+    - 'db/migrate/20170711225116_fix_null_booleans.rb'
+    - 'db/migrate/20170713112503_make_tag_search_case_insensitive.rb'
+    - 'db/migrate/20170713175513_create_web_push_subscriptions.rb'
+    - 'db/migrate/20170713190709_add_web_push_subscription_to_session_activations.rb'
+    - 'db/migrate/20170714184731_add_domain_to_subscriptions.rb'
+    - 'db/migrate/20170716191202_add_hide_notifications_to_mute.rb'
+    - 'db/migrate/20170718211102_add_activitypub_to_accounts.rb'
+    - 'db/migrate/20170720000000_add_index_favourites_on_account_id_and_id.rb'
+    - 'db/migrate/20170823162448_create_status_pins.rb'
+    - 'db/migrate/20170824103029_add_timestamps_to_status_pins.rb'
+    - 'db/migrate/20170829215220_remove_status_pins_account_index.rb'
+    - 'db/migrate/20170901141119_truncate_preview_cards.rb'
+    - 'db/migrate/20170901142658_create_join_table_preview_cards_statuses.rb'
+    - 'db/migrate/20170905044538_add_index_id_account_id_activity_type_on_notifications.rb'
+    - 'db/migrate/20170905165803_add_local_to_statuses.rb'
+    - 'db/migrate/20170913000752_create_site_uploads.rb'
+    - 'db/migrate/20170917153509_create_custom_emojis.rb'
+    - 'db/migrate/20170918125918_ids_to_bigints.rb'
+    - 'db/migrate/20170920024819_status_ids_to_timestamp_ids.rb'
+    - 'db/migrate/20170920032311_fix_reblogs_in_feeds.rb'
+    - 'db/migrate/20170924022025_ids_to_bigints2.rb'
+    - 'db/migrate/20170927215609_add_description_to_media_attachments.rb'
+    - 'db/migrate/20170928082043_create_email_domain_blocks.rb'
+    - 'db/migrate/20171005102658_create_account_moderation_notes.rb'
+    - 'db/migrate/20171005171936_add_disabled_to_custom_emojis.rb'
+    - 'db/migrate/20171006142024_add_uri_to_custom_emojis.rb'
+    - 'db/migrate/20171010023049_add_foreign_key_to_account_moderation_notes.rb'
+    - 'db/migrate/20171010025614_change_accounts_nonnullable_in_account_moderation_notes.rb'
+    - 'db/migrate/20171020084748_add_visible_in_picker_to_custom_emoji.rb'
+    - 'db/migrate/20171028221157_add_reblogs_to_follows.rb'
+    - 'db/migrate/20171107143332_add_memorial_to_accounts.rb'
+    - 'db/migrate/20171107143624_add_disabled_to_users.rb'
+    - 'db/migrate/20171109012327_add_moderator_to_accounts.rb'
+    - 'db/migrate/20171114080328_add_index_domain_to_email_domain_blocks.rb'
+    - 'db/migrate/20171114231651_create_lists.rb'
+    - 'db/migrate/20171116161857_create_list_accounts.rb'
+    - 'db/migrate/20171118012443_add_moved_to_account_id_to_accounts.rb'
+    - 'db/migrate/20171119172437_create_admin_action_logs.rb'
+    - 'db/migrate/20171122120436_add_index_account_and_reblog_of_id_to_statuses.rb'
+    - 'db/migrate/20171125024930_create_invites.rb'
+    - 'db/migrate/20171125031751_add_invite_id_to_users.rb'
+    - 'db/migrate/20171125185353_add_index_reblog_of_id_and_account_to_statuses.rb'
+    - 'db/migrate/20171125190735_remove_old_reblog_index_on_statuses.rb'
+    - 'db/migrate/20171129172043_add_index_on_stream_entries.rb'
+    - 'db/migrate/20171130000000_add_embed_url_to_preview_cards.rb'
+    - 'db/migrate/20171201000000_change_account_id_nonnullable_in_lists.rb'
+    - 'db/migrate/20171212195226_remove_duplicate_indexes_in_lists.rb'
+    - 'db/migrate/20171226094803_more_faster_index_on_notifications.rb'
+    - 'db/migrate/20180106000232_add_index_on_statuses_for_api_v1_accounts_account_id_statuses.rb'
+    - 'db/migrate/20180109143959_add_remember_token_to_users.rb'
+    - 'db/migrate/20180204034416_create_identities.rb'
+    - 'db/migrate/20180206000000_change_user_id_nonnullable.rb'
+    - 'db/migrate/20180211015820_create_backups.rb'
+    - 'db/migrate/20180304013859_add_featured_collection_url_to_accounts.rb'
+    - 'db/migrate/20180310000000_change_columns_in_notifications_nonnullable.rb'
+    - 'db/migrate/20180402031200_add_assigned_account_id_to_reports.rb'
+    - 'db/migrate/20180402040909_create_report_notes.rb'
+    - 'db/migrate/20180410204633_add_fields_to_accounts.rb'
+    - 'db/migrate/20180416210259_add_uri_to_relationships.rb'
+    - 'db/migrate/20180506221944_add_actor_type_to_accounts.rb'
+    - 'db/migrate/20180510214435_add_access_token_id_to_web_push_subscriptions.rb'
+    - 'db/migrate/20180510230049_migrate_web_push_subscriptions.rb'
+    - 'db/migrate/20180528141303_fix_accounts_unique_index.rb'
+    - 'db/migrate/20180608213548_reject_following_blocked_users.rb'
+    - 'db/migrate/20180609104432_migrate_web_push_subscriptions2.rb'
+    - 'db/migrate/20180615122121_add_autofollow_to_invites.rb'
+    - 'db/migrate/20180616192031_add_chosen_languages_to_users.rb'
+    - 'db/migrate/20180617162849_remove_unused_indexes.rb'
+    - 'db/migrate/20180628181026_create_custom_filters.rb'
+    - 'db/migrate/20180707154237_add_whole_word_to_custom_filter.rb'
+    - 'db/migrate/20180711152640_create_relays.rb'
+    - 'db/migrate/20180808175627_create_account_pins.rb'
+    - 'db/migrate/20180812123222_change_relays_enabled.rb'
+    - 'db/migrate/20180812162710_create_status_stats.rb'
+    - 'db/migrate/20180812173710_copy_status_stats.rb'
+    - 'db/migrate/20180814171349_add_confidential_to_doorkeeper_application.rb'
+    - 'db/migrate/20180831171112_create_bookmarks.rb'
+    - 'db/migrate/20180929222014_create_account_conversations.rb'
+    - 'db/migrate/20181007025445_create_pghero_space_stats.rb'
+    - 'db/migrate/20181010141500_add_silent_to_mentions.rb'
+    - 'db/migrate/20181017170937_add_reject_reports_to_domain_blocks.rb'
+    - 'db/migrate/20181018205649_add_unread_to_account_conversations.rb'
+    - 'db/migrate/20181024224956_migrate_account_conversations.rb'
+    - 'db/migrate/20181026034033_remove_faux_remote_account_duplicates.rb'
+    - 'db/migrate/20181116165755_create_account_stats.rb'
+    - 'db/migrate/20181116173541_copy_account_stats.rb'
+    - 'db/migrate/20181127130500_identity_id_to_bigint.rb'
+    - 'db/migrate/20181127165847_add_show_replies_to_lists.rb'
+    - 'db/migrate/20181203003808_create_accounts_tags_join_table.rb'
+    - 'db/migrate/20181203021853_add_discoverable_to_accounts.rb'
+    - 'db/migrate/20181204193439_add_last_status_at_to_account_stats.rb'
+    - 'db/migrate/20181204215309_create_account_tag_stats.rb'
+    - 'db/migrate/20181207011115_downcase_custom_emoji_domains.rb'
+    - 'db/migrate/20181213184704_create_account_warnings.rb'
+    - 'db/migrate/20181213185533_create_account_warning_presets.rb'
+    - 'db/migrate/20181219235220_add_created_by_application_id_to_users.rb'
+    - 'db/migrate/20181226021420_add_also_known_as_to_accounts.rb'
+    - 'db/migrate/20190103124649_create_scheduled_statuses.rb'
+    - 'db/migrate/20190103124754_add_scheduled_status_id_to_media_attachments.rb'
+    - 'db/migrate/20190117114553_create_tombstones.rb'
+    - 'db/migrate/20190201012802_add_overwrite_to_imports.rb'
+    - 'db/migrate/20190203180359_create_featured_tags.rb'
+    - 'db/migrate/20190225031541_create_polls.rb'
+    - 'db/migrate/20190225031625_create_poll_votes.rb'
+    - 'db/migrate/20190226003449_add_poll_id_to_statuses.rb'
+    - 'db/migrate/20190304152020_add_uri_to_poll_votes.rb'
+    - 'db/migrate/20190306145741_add_lock_version_to_polls.rb'
+    - 'db/migrate/20190307234537_add_approved_to_users.rb'
+    - 'db/migrate/20190314181829_migrate_open_registrations_setting.rb'
+    - 'db/migrate/20190316190352_create_account_identity_proofs.rb'
+    - 'db/migrate/20190317135723_add_uri_to_reports.rb'
+    - 'db/migrate/20190403141604_add_comment_to_invites.rb'
+    - 'db/migrate/20190409054914_create_user_invite_requests.rb'
+    - 'db/migrate/20190420025523_add_blurhash_to_media_attachments.rb'
+    - 'db/migrate/20190509164208_add_by_moderator_to_tombstone.rb'
+    - 'db/migrate/20190511134027_add_silenced_at_suspended_at_to_accounts.rb'
+    - 'db/migrate/20190529143559_preserve_old_layout_for_existing_users.rb'
+    - 'db/migrate/20190627222225_create_custom_emoji_categories.rb'
+    - 'db/migrate/20190627222826_add_category_id_to_custom_emojis.rb'
+    - 'db/migrate/20190701022101_add_trust_level_to_accounts.rb'
+    - 'db/migrate/20190705002136_create_domain_allows.rb'
+    - 'db/migrate/20190715164535_add_instance_actor.rb'
+    - 'db/migrate/20190726175042_add_case_insensitive_index_to_tags.rb'
+    - 'db/migrate/20190729185330_add_score_to_tags.rb'
+    - 'db/migrate/20190805123746_add_capabilities_to_tags.rb'
+    - 'db/migrate/20190807135426_add_comments_to_domain_blocks.rb'
+    - 'db/migrate/20190815225426_add_last_status_at_to_tags.rb'
+    - 'db/migrate/20190819134503_add_deleted_at_to_statuses.rb'
+    - 'db/migrate/20190820003045_update_statuses_index.rb'
+    - 'db/migrate/20190823221802_add_local_index_to_statuses.rb'
+    - 'db/migrate/20190901035623_add_max_score_to_tags.rb'
+    - 'db/migrate/20190904222339_create_markers.rb'
+    - 'db/migrate/20190914202517_create_account_migrations.rb'
+    - 'db/migrate/20190915194355_create_account_aliases.rb'
+    - 'db/migrate/20190927232842_add_voters_count_to_polls.rb'
+    - 'db/migrate/20191001213028_add_lock_version_to_account_stats.rb'
+    - 'db/migrate/20191007013357_update_pt_locales.rb'
+    - 'db/migrate/20191031163205_change_list_account_follow_nullable.rb'
+    - 'db/migrate/20191212003415_increase_backup_size.rb'
+    - 'db/migrate/20191212163405_add_hide_collections_to_accounts.rb'
+    - 'db/migrate/20191218153258_create_announcements.rb'
+    - 'db/migrate/20200113125135_create_announcement_mutes.rb'
+    - 'db/migrate/20200114113335_create_announcement_reactions.rb'
+    - 'db/migrate/20200119112504_add_public_index_to_statuses.rb'
+    - 'db/migrate/20200126203551_add_published_at_to_announcements.rb'
+    - 'db/migrate/20200306035625_add_processing_to_media_attachments.rb'
+    - 'db/migrate/20200309150742_add_forwarded_to_reports.rb'
+    - 'db/migrate/20200312144258_add_title_to_account_warning_presets.rb'
+    - 'db/migrate/20200312162302_add_status_ids_to_announcements.rb'
+    - 'db/migrate/20200312185443_add_parent_id_to_email_domain_blocks.rb'
+    - 'db/migrate/20200317021758_add_expires_at_to_mutes.rb'
+    - 'db/migrate/20200407201300_create_unavailable_domains.rb'
+    - 'db/migrate/20200407202420_migrate_unavailable_inboxes.rb'
+    - 'db/migrate/20200417125749_add_storage_schema_version.rb'
+    - 'db/migrate/20200508212852_reset_unique_jobs_locks.rb'
+    - 'db/migrate/20200510110808_reset_web_app_secret.rb'
+    - 'db/migrate/20200510181721_remove_duplicated_indexes_pghero.rb'
+    - 'db/migrate/20200516180352_create_devices.rb'
+    - 'db/migrate/20200516183822_create_one_time_keys.rb'
+    - 'db/migrate/20200518083523_create_encrypted_messages.rb'
+    - 'db/migrate/20200521180606_encrypted_message_ids_to_timestamp_ids.rb'
+    - 'db/migrate/20200529214050_add_devices_url_to_accounts.rb'
+    - 'db/migrate/20200601222558_create_system_keys.rb'
+    - 'db/migrate/20200605155027_add_blurhash_to_preview_cards.rb'
+    - 'db/migrate/20200608113046_add_sign_in_token_to_users.rb'
+    - 'db/migrate/20200614002136_add_sensitized_to_accounts.rb'
+    - 'db/migrate/20200620164023_add_fixed_lowercase_index_to_accounts.rb'
+    - 'db/migrate/20200622213645_media_attachment_ids_to_timestamp_ids.rb'
+    - 'db/migrate/20200627125810_add_thumbnail_columns_to_media_attachments.rb'
+    - 'db/migrate/20200628133322_create_account_notes.rb'
+    - 'db/migrate/20200630190240_create_webauthn_credentials.rb'
+    - 'db/migrate/20200630190544_add_webauthn_id_to_users.rb'
+    - 'db/migrate/20200908193330_create_account_deletion_requests.rb'
+    - 'db/migrate/20200917192924_add_notify_to_follows.rb'
+    - 'db/migrate/20200917193034_add_type_to_notifications.rb'
+    - 'db/migrate/20200917222316_add_index_notifications_on_type.rb'
+    - 'db/migrate/20201008202037_create_ip_blocks.rb'
+    - 'db/migrate/20201008220312_add_sign_up_ip_to_users.rb'
+    - 'db/migrate/20201017233919_add_suspension_origin_to_accounts.rb'
+    - 'db/migrate/20201206004238_create_instances.rb'
+    - 'db/migrate/20201218054746_add_obfuscate_to_domain_blocks.rb'
+    - 'db/migrate/20210221045109_create_rules.rb'
+    - 'db/migrate/20210306164523_account_ids_to_timestamp_ids.rb'
+    - 'db/migrate/20210322164601_create_account_summaries.rb'
+    - 'db/migrate/20210323114347_create_follow_recommendations.rb'
+    - 'db/migrate/20210324171613_create_follow_recommendation_suppressions.rb'
+    - 'db/migrate/20210416200740_create_canonical_email_blocks.rb'
+    - 'db/migrate/20210421121431_add_case_insensitive_btree_index_to_tags.rb'
+    - 'db/migrate/20210425135952_add_index_on_media_attachments_account_id_status_id.rb'
+    - 'db/migrate/20210505174616_update_follow_recommendations_to_version_2.rb'
+    - 'db/migrate/20210609202149_create_login_activities.rb'
+    - 'db/migrate/20210616214526_create_user_ips.rb'
+    - 'db/migrate/20210621221010_add_skip_sign_in_token_to_users.rb'
+    - 'db/migrate/20210630000137_fix_canonical_email_blocks_foreign_key.rb'
+    - 'db/migrate/20210722120340_create_account_statuses_cleanup_policies.rb'
+    - 'db/migrate/20210904215403_add_edited_at_to_statuses.rb'
+    - 'db/migrate/20210908220918_create_status_edits.rb'
+    - 'db/migrate/20211031031021_create_preview_card_providers.rb'
+    - 'db/migrate/20211112011713_add_language_to_preview_cards.rb'
+    - 'db/migrate/20211115032527_add_trendable_to_preview_cards.rb'
+    - 'db/migrate/20211123212714_add_link_type_to_preview_cards.rb'
+    - 'db/migrate/20211213040746_update_account_summaries_to_version_2.rb'
+    - 'db/migrate/20211231080958_add_category_to_reports.rb'
+    - 'db/migrate/20220105163928_remove_mentions_status_id_index.rb'
+    - 'db/migrate/20220115125126_add_report_id_to_account_warnings.rb'
+    - 'db/migrate/20220115125341_fix_account_warning_actions.rb'
+    - 'db/migrate/20220116202951_add_deleted_at_index_on_statuses.rb'
+    - 'db/migrate/20220124141035_create_appeals.rb'
+    - 'db/migrate/20220202200743_add_trendable_to_accounts.rb'
+    - 'db/migrate/20220202200926_add_trendable_to_statuses.rb'
+    - 'db/migrate/20220210153119_add_overruled_at_to_account_warnings.rb'
+    - 'db/migrate/20220224010024_add_ips_to_email_domain_blocks.rb'
+    - 'db/migrate/20220227041951_add_last_used_at_to_oauth_access_tokens.rb'
+    - 'db/migrate/20220302232632_add_ordered_media_attachment_ids_to_statuses.rb'
+    - 'db/migrate/20220303000827_add_ordered_media_attachment_ids_to_status_edits.rb'
+    - 'db/migrate/20220304195405_migrate_hide_network_preference.rb'
+    - 'db/migrate/20220307094650_fix_featured_tags_constraints.rb'
+    - 'db/migrate/20220309213005_fix_reblog_deleted_at.rb'
+    - 'db/migrate/20220316233212_update_kurdish_locales.rb'
+    - 'db/migrate/20220428112511_add_index_statuses_on_account_id.rb'
+    - 'db/migrate/20220428112727_add_index_statuses_pins_on_status_id.rb'
+    - 'db/migrate/20220428114454_add_index_reports_on_assigned_account_id.rb'
+    - 'db/migrate/20220428114902_add_index_reports_on_action_taken_by_account_id.rb'
+    - 'db/migrate/20220606044941_create_webhooks.rb'
+    - 'db/migrate/20220611210335_create_user_roles.rb'
+    - 'db/migrate/20220611212541_add_role_id_to_users.rb'
+    - 'db/migrate/20220710102457_add_display_name_to_tags.rb'
+    - 'db/migrate/20220714171049_create_tag_follows.rb'
+    - 'db/migrate/20220824164433_add_human_identifier_to_admin_action_logs.rb'
+    - 'db/migrate/20220824233535_create_status_trends.rb'
+    - 'db/migrate/20220827195229_change_canonical_email_blocks_nullable.rb'
+    - 'db/migrate/20220829192633_add_languages_to_follows.rb'
+    - 'db/migrate/20220829192658_add_languages_to_follow_requests.rb'
+    - 'db/migrate/20221006061337_create_preview_card_trends.rb'
+    - 'db/migrate/20221012181003_add_blurhash_to_site_uploads.rb'
+    - 'db/migrate/20221021055441_add_index_featured_tags_on_account_id_and_tag_id.rb'
+    - 'db/migrate/20221025171544_add_index_ip_blocks_on_ip.rb'
+    - 'db/migrate/20221104133904_add_name_to_featured_tags.rb'
+    - 'db/post_migrate/20190519130537_remove_boosts_widening_audience.rb'
+    - 'db/post_migrate/20210308133107_remove_subscription_expires_at_from_accounts.rb'
+    - 'db/post_migrate/20220118183123_remove_rememberable_from_users.rb'
+    - 'db/seeds/01_web_app.rb'
+    - 'db/seeds/02_instance_actor.rb'
+    - 'db/seeds/03_roles.rb'
+    - 'db/seeds/04_admin.rb'
+    - 'lib/rails/engine_extensions.rb'
+    - 'lib/tasks/branding.rake'
+    - 'spec/fabricators_spec.rb'
 
-# Offense count: 34
 # This cop supports safe autocorrection (--autocorrect).
 # Configuration parameters: MinBodyLength, AllowConsecutiveConditionals.
 Style/GuardClause:
@@ -1966,7 +3939,6 @@ Style/GuardClause:
     - 'lib/paperclip/attachment_extensions.rb'
     - 'lib/tasks/repo.rake'
 
-# Offense count: 13
 # This cop supports safe autocorrection (--autocorrect).
 # Configuration parameters: EnforcedStyle.
 # SupportedStyles: braces, no_braces
@@ -1982,7 +3954,6 @@ Style/HashAsLastArrayItem:
     - 'app/services/notify_service.rb'
     - 'db/migrate/20181024224956_migrate_account_conversations.rb'
 
-# Offense count: 12
 # This cop supports safe autocorrection (--autocorrect).
 # Configuration parameters: EnforcedStyle, EnforcedShorthandSyntax, UseHashRocketsWithSymbolValues, PreferHashRocketsForNonAlnumEndingSymbols.
 # SupportedStyles: ruby19, hash_rockets, no_mixed_keys, ruby19_no_mixed_keys
@@ -1996,14 +3967,12 @@ Style/HashSyntax:
     - 'spec/controllers/admin/statuses_controller_spec.rb'
     - 'spec/controllers/concerns/signature_verification_spec.rb'
 
-# Offense count: 3
 # This cop supports unsafe autocorrection (--autocorrect-all).
 Style/HashTransformValues:
   Exclude:
     - 'app/serializers/rest/web_push_subscription_serializer.rb'
     - 'app/services/import_service.rb'
 
-# Offense count: 3
 # This cop supports unsafe autocorrection (--autocorrect-all).
 # Configuration parameters: InverseMethods, InverseBlocks.
 Style/InverseMethods:
@@ -2012,13 +3981,11 @@ Style/InverseMethods:
     - 'app/services/update_account_service.rb'
     - 'spec/controllers/activitypub/replies_controller_spec.rb'
 
-# Offense count: 1
 # This cop supports unsafe autocorrection (--autocorrect-all).
 Style/MapToHash:
   Exclude:
     - 'app/models/status.rb'
 
-# Offense count: 17
 # This cop supports unsafe autocorrection (--autocorrect-all).
 # Configuration parameters: EnforcedStyle.
 # SupportedStyles: literals, strict
@@ -2035,7 +4002,6 @@ Style/MutableConstant:
     - 'lib/mastodon/snowflake.rb'
     - 'spec/controllers/api/base_controller_spec.rb'
 
-# Offense count: 10
 # Configuration parameters: AllowedMethods.
 # AllowedMethods: respond_to_missing?
 Style/OptionalBooleanParameter:
@@ -2050,7 +4016,6 @@ Style/OptionalBooleanParameter:
     - 'app/workers/unfollow_follow_worker.rb'
     - 'lib/mastodon/redis_config.rb'
 
-# Offense count: 16
 # This cop supports safe autocorrection (--autocorrect).
 Style/RedundantRegexpCharacterClass:
   Exclude:
@@ -2062,7 +4027,6 @@ Style/RedundantRegexpCharacterClass:
     - 'lib/tasks/emojis.rake'
     - 'lib/tasks/mastodon.rake'
 
-# Offense count: 10
 # This cop supports safe autocorrection (--autocorrect).
 Style/RedundantRegexpEscape:
   Exclude:
@@ -2073,7 +4037,6 @@ Style/RedundantRegexpEscape:
     - 'lib/paperclip/color_extractor.rb'
     - 'lib/tasks/mastodon.rake'
 
-# Offense count: 19
 # This cop supports safe autocorrection (--autocorrect).
 # Configuration parameters: EnforcedStyle, AllowInnerSlashes.
 # SupportedStyles: slashes, percent_r, mixed
@@ -2095,7 +4058,6 @@ Style/RegexpLiteral:
     - 'lib/mastodon/premailer_webpack_strategy.rb'
     - 'lib/tasks/mastodon.rake'
 
-# Offense count: 2
 # This cop supports unsafe autocorrection (--autocorrect-all).
 # Configuration parameters: ConvertCodeThatCanStartToReturnNil, AllowedMethods, MaxChainLength.
 # AllowedMethods: present?, blank?, presence, try, try!
@@ -2104,7 +4066,6 @@ Style/SafeNavigation:
     - 'app/models/concerns/account_finder_concern.rb'
     - 'app/models/status.rb'
 
-# Offense count: 5
 # This cop supports safe autocorrection (--autocorrect).
 # Configuration parameters: AllowAsExpressionSeparator.
 Style/Semicolon:
@@ -2113,7 +4074,6 @@ Style/Semicolon:
     - 'spec/validators/blacklisted_email_validator_spec.rb'
     - 'spec/workers/scheduler/accounts_statuses_cleanup_scheduler_spec.rb'
 
-# Offense count: 2
 # This cop supports safe autocorrection (--autocorrect).
 # Configuration parameters: EnforcedStyle.
 # SupportedStyles: only_raise, only_fail, semantic
@@ -2122,19 +4082,16 @@ Style/SignalException:
     - 'lib/devise/two_factor_ldap_authenticatable.rb'
     - 'lib/devise/two_factor_pam_authenticatable.rb'
 
-# Offense count: 3
 # This cop supports unsafe autocorrection (--autocorrect-all).
 Style/SingleArgumentDig:
   Exclude:
     - 'lib/webpacker/manifest_extensions.rb'
 
-# Offense count: 14
 # This cop supports unsafe autocorrection (--autocorrect-all).
 Style/SlicingWithRange:
   Exclude:
     - 'app/lib/emoji_formatter.rb'
     - 'app/lib/text_formatter.rb'
-    - 'app/lib/toc_generator.rb'
     - 'app/models/account_alias.rb'
     - 'app/models/domain_block.rb'
     - 'app/models/email_domain_block.rb'
@@ -2144,3 +4101,9 @@ Style/SlicingWithRange:
     - 'lib/active_record/batches.rb'
     - 'lib/mastodon/premailer_webpack_strategy.rb'
     - 'lib/tasks/repo.rake'
+
+# This cop supports safe autocorrection (--autocorrect).
+# Configuration parameters: AllowHeredoc, AllowURI, URISchemes, IgnoreCopDirectives, AllowedPatterns.
+# URISchemes: http, https
+Layout/LineLength:
+  Max: 701
diff --git a/lib/mastodon/media_cli.rb b/lib/mastodon/media_cli.rb
index fc70c8785..b2dfe58d5 100644
--- a/lib/mastodon/media_cli.rb
+++ b/lib/mastodon/media_cli.rb
@@ -35,7 +35,6 @@ module Mastodon
       follow status. By default, only accounts that are not followed by or
       following anyone locally are pruned.
     DESC
-    # rubocop:disable Metrics/PerceivedComplexity
     def remove
       if options[:prune_profiles] && options[:remove_headers]
         say('--prune-profiles and --remove-headers should not be specified simultaneously', :red, true)
@@ -224,7 +223,6 @@ module Mastodon
 
       say("Removed #{removed} orphans (approx. #{number_to_human_size(reclaimed_bytes)})#{dry_run}", :green, true)
     end
-    # rubocop:enable Metrics/PerceivedComplexity
 
     option :account, type: :string
     option :domain, type: :string