From fb8503e861b630728ead4be847309f1fd7c03dd4 Mon Sep 17 00:00:00 2001 From: Aaron Patterson Date: Tue, 14 Feb 2023 23:30:27 -0800 Subject: Upgrade to Ruby 3.2 (#22928) Co-authored-by: Matthew Ford --- .github/workflows/check-i18n.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to '.github/workflows') diff --git a/.github/workflows/check-i18n.yml b/.github/workflows/check-i18n.yml index b2e619786..aa2ec0394 100644 --- a/.github/workflows/check-i18n.yml +++ b/.github/workflows/check-i18n.yml @@ -14,7 +14,7 @@ permissions: jobs: check-i18n: - runs-on: ubuntu-latest + runs-on: ubuntu-22.04 steps: - uses: actions/checkout@v3 -- cgit From 418c3a4699222f0a0ed201282b328d4a2c46d8ad Mon Sep 17 00:00:00 2001 From: Nick Schonning Date: Wed, 15 Feb 2023 19:24:35 -0500 Subject: Move Jest tests to filtered GitHub Action (#23623) --- .circleci/config.yml | 8 -------- .github/workflows/test-js.yml | 41 +++++++++++++++++++++++++++++++++++++++++ jest.config.js | 29 +++++++++++------------------ 3 files changed, 52 insertions(+), 26 deletions(-) create mode 100644 .github/workflows/test-js.yml (limited to '.github/workflows') diff --git a/.circleci/config.yml b/.circleci/config.yml index 0b3123893..183ad9048 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -217,11 +217,3 @@ workflows: - test-two-step-migrations: requires: - build - - node/run: - cache-version: v1 - name: test-webui - pkg-manager: yarn - requires: - - build - version: '16.19' - yarn-run: test:jest diff --git a/.github/workflows/test-js.yml b/.github/workflows/test-js.yml new file mode 100644 index 000000000..60b8e318e --- /dev/null +++ b/.github/workflows/test-js.yml @@ -0,0 +1,41 @@ +name: JavaScript Testing +on: + push: + branches-ignore: + - 'dependabot/**' + paths: + - 'package.json' + - 'yarn.lock' + - '.nvmrc' + - '**/*.js' + - '**/*.snap' + - '.github/workflows/test-js.yml' + + pull_request: + paths: + - 'package.json' + - 'yarn.lock' + - '.nvmrc' + - '**/*.js' + - '**/*.snap' + - '.github/workflows/test-js.yml' + +jobs: + test: + runs-on: ubuntu-latest + + steps: + - name: Clone repository + uses: actions/checkout@v3 + + - name: Set up Node.js + uses: actions/setup-node@v3 + with: + cache: yarn + node-version-file: '.nvmrc' + + - name: Install all yarn packages + run: yarn --frozen-lockfile + + - name: Jest testing + run: yarn test:jest --reporters github-actions summary diff --git a/jest.config.js b/jest.config.js index d7b5610b8..69222ea35 100644 --- a/jest.config.js +++ b/jest.config.js @@ -1,9 +1,7 @@ -module.exports = { - 'testEnvironment': 'jsdom', - 'projects': [ - '/app/javascript/mastodon', - ], - 'testPathIgnorePatterns': [ +/** @type {import('jest').Config} */ +const config = { + testEnvironment: 'jsdom', + testPathIgnorePatterns: [ '/node_modules/', '/vendor/', '/config/', @@ -11,22 +9,17 @@ module.exports = { '/public/', '/tmp/', ], - 'setupFiles': [ - 'raf/polyfill', - ], - 'setupFilesAfterEnv': [ - '/app/javascript/mastodon/test_setup.js', - ], - 'collectCoverageFrom': [ + setupFiles: ['raf/polyfill'], + setupFilesAfterEnv: ['/app/javascript/mastodon/test_setup.js'], + collectCoverageFrom: [ 'app/javascript/mastodon/**/*.js', '!app/javascript/mastodon/features/emoji/emoji_compressed.js', '!app/javascript/mastodon/locales/locale-data/*.js', '!app/javascript/mastodon/service_worker/entry.js', '!app/javascript/mastodon/test_setup.js', ], - 'coverageDirectory': '/coverage', - 'moduleDirectories': [ - '/node_modules', - '/app/javascript', - ], + coverageDirectory: '/coverage', + moduleDirectories: ['/node_modules', '/app/javascript'], }; + +module.exports = config; -- cgit From 1f957c63253059e957231759fb6a7697b0a1f1b3 Mon Sep 17 00:00:00 2001 From: Nick Schonning Date: Wed, 15 Feb 2023 20:24:05 -0500 Subject: Use .nvmrc file for CI setup-node (#23562) --- .github/workflows/lint-css.yml | 1 + .github/workflows/lint-js.yml | 1 + .github/workflows/lint-json.yml | 1 + .github/workflows/lint-yml.yml | 1 + 4 files changed, 4 insertions(+) (limited to '.github/workflows') diff --git a/.github/workflows/lint-css.yml b/.github/workflows/lint-css.yml index 431b88e8d..e2571296a 100644 --- a/.github/workflows/lint-css.yml +++ b/.github/workflows/lint-css.yml @@ -36,6 +36,7 @@ jobs: uses: actions/setup-node@v3 with: cache: yarn + node-version-file: '.nvmrc' - name: Install all yarn packages run: yarn --frozen-lockfile diff --git a/.github/workflows/lint-js.yml b/.github/workflows/lint-js.yml index 49d989771..c349f269d 100644 --- a/.github/workflows/lint-js.yml +++ b/.github/workflows/lint-js.yml @@ -32,6 +32,7 @@ jobs: uses: actions/setup-node@v3 with: cache: yarn + node-version-file: '.nvmrc' - name: Install all yarn packages run: yarn --frozen-lockfile diff --git a/.github/workflows/lint-json.yml b/.github/workflows/lint-json.yml index 524ed083a..b89d0a0f7 100644 --- a/.github/workflows/lint-json.yml +++ b/.github/workflows/lint-json.yml @@ -32,6 +32,7 @@ jobs: uses: actions/setup-node@v3 with: cache: yarn + node-version-file: '.nvmrc' - name: Install all yarn packages run: yarn --frozen-lockfile diff --git a/.github/workflows/lint-yml.yml b/.github/workflows/lint-yml.yml index 48f8170b3..6865d73dd 100644 --- a/.github/workflows/lint-yml.yml +++ b/.github/workflows/lint-yml.yml @@ -34,6 +34,7 @@ jobs: uses: actions/setup-node@v3 with: cache: yarn + node-version-file: '.nvmrc' - name: Install all yarn packages run: yarn --frozen-lockfile -- cgit From 29ec2c4fb513b54eec66606a7608a44e782986d5 Mon Sep 17 00:00:00 2001 From: Nick Schonning Date: Wed, 15 Feb 2023 22:59:45 -0500 Subject: Trigger CI build on .nvmrc change (#23627) --- .github/workflows/lint-css.yml | 2 ++ .github/workflows/lint-js.yml | 2 ++ .github/workflows/lint-json.yml | 2 ++ .github/workflows/lint-yml.yml | 2 ++ 4 files changed, 8 insertions(+) (limited to '.github/workflows') diff --git a/.github/workflows/lint-css.yml b/.github/workflows/lint-css.yml index e2571296a..e13d227bd 100644 --- a/.github/workflows/lint-css.yml +++ b/.github/workflows/lint-css.yml @@ -6,6 +6,7 @@ on: paths: - 'package.json' - 'yarn.lock' + - '.nvmrc' - '.prettier*' - 'stylelint.config.js' - '**/*.css' @@ -17,6 +18,7 @@ on: paths: - 'package.json' - 'yarn.lock' + - '.nvmrc' - '.prettier*' - 'stylelint.config.js' - '**/*.css' diff --git a/.github/workflows/lint-js.yml b/.github/workflows/lint-js.yml index c349f269d..3e0d9d1a9 100644 --- a/.github/workflows/lint-js.yml +++ b/.github/workflows/lint-js.yml @@ -6,6 +6,7 @@ on: paths: - 'package.json' - 'yarn.lock' + - '.nvmrc' - '.prettier*' - '.eslint*' - '**/*.js' @@ -15,6 +16,7 @@ on: paths: - 'package.json' - 'yarn.lock' + - '.nvmrc' - '.prettier*' - '.eslint*' - '**/*.js' diff --git a/.github/workflows/lint-json.yml b/.github/workflows/lint-json.yml index b89d0a0f7..98f101ad9 100644 --- a/.github/workflows/lint-json.yml +++ b/.github/workflows/lint-json.yml @@ -6,6 +6,7 @@ on: paths: - 'package.json' - 'yarn.lock' + - '.nvmrc' - '.prettier*' - '**/*.json' - '.github/workflows/lint-json.yml' @@ -15,6 +16,7 @@ on: paths: - 'package.json' - 'yarn.lock' + - '.nvmrc' - '.prettier*' - '**/*.json' - '.github/workflows/lint-json.yml' diff --git a/.github/workflows/lint-yml.yml b/.github/workflows/lint-yml.yml index 6865d73dd..6f79babcf 100644 --- a/.github/workflows/lint-yml.yml +++ b/.github/workflows/lint-yml.yml @@ -6,6 +6,7 @@ on: paths: - 'package.json' - 'yarn.lock' + - '.nvmrc' - '.prettier*' - '**/*.yaml' - '**/*.yml' @@ -16,6 +17,7 @@ on: paths: - 'package.json' - 'yarn.lock' + - '.nvmrc' - '.prettier*' - '**/*.yaml' - '**/*.yml' -- cgit From 68a92c81bfb1bc4703cd4974321b8cb168793541 Mon Sep 17 00:00:00 2001 From: Nick Schonning Date: Thu, 16 Feb 2023 01:33:50 -0500 Subject: Generate minimimal Rubocop Todo file (#23629) --- .github/workflows/lint-ruby.yml | 29 +- .rubocop.yml | 418 +--- .rubocop_todo.yml | 4055 +++++++++++++++++++++++++++++++++++++++ 3 files changed, 4097 insertions(+), 405 deletions(-) create mode 100644 .rubocop_todo.yml (limited to '.github/workflows') diff --git a/.github/workflows/lint-ruby.yml b/.github/workflows/lint-ruby.yml index b834e3053..54f45796c 100644 --- a/.github/workflows/lint-ruby.yml +++ b/.github/workflows/lint-ruby.yml @@ -5,7 +5,8 @@ on: - 'dependabot/**' paths: - 'Gemfile*' - - '.rubocop.yml' + - '.rubocop*.yml' + - '.ruby-version' - '**/*.rb' - '**/*.rake' - '.github/workflows/lint-ruby.yml' @@ -13,7 +14,8 @@ on: pull_request: paths: - 'Gemfile*' - - '.rubocop.yml' + - '.rubocop*.yml' + - '.ruby-version' - '**/*.rb' - '**/*.rake' - '.github/workflows/lint-ruby.yml' @@ -21,21 +23,22 @@ on: jobs: lint: runs-on: ubuntu-latest + steps: - - name: Checkout Code + - name: Clone repository uses: actions/checkout@v3 + + - name: Install native Ruby dependencies + run: sudo apt-get install -y libicu-dev libidn11-dev + + - name: Set up Ruby + uses: ruby/setup-ruby@v1 with: - fetch-depth: 0 + ruby-version: .ruby-version + bundler-cache: true - - name: Set-up RuboCop Problem Mathcher + - name: Set-up RuboCop Problem Matcher uses: r7kamura/rubocop-problem-matchers-action@v1 - name: Run rubocop - uses: github/super-linter@v4 - env: - DEFAULT_BRANCH: main - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - LINTER_RULES_PATH: . - RUBY_CONFIG_FILE: .rubocop.yml - VALIDATE_ALL_CODEBASE: false - VALIDATE_RUBY: true + run: bundle exec rubocop diff --git a/.rubocop.yml b/.rubocop.yml index 3c9223470..5278ee38c 100644 --- a/.rubocop.yml +++ b/.rubocop.yml @@ -1,3 +1,9 @@ +inherit_from: .rubocop_todo.yml + +inherit_mode: + merge: + - Exclude + require: - rubocop-rails - rubocop-rspec @@ -23,50 +29,19 @@ AllCops: - 'lib/json_ld/*' - 'lib/templates/**/*' -Bundler/OrderedGems: - Enabled: false - -Layout/AccessModifierIndentation: - EnforcedStyle: indent - -Layout/EmptyLineAfterMagicComment: - Enabled: false - -Layout/EmptyLineAfterGuardClause: - Enabled: false - -Layout/EmptyLineBetweenDefs: - AllowAdjacentOneLineDefs: true - -Layout/EmptyLinesAroundAttributeAccessor: - Enabled: true - Layout/FirstHashElementIndentation: EnforcedStyle: consistent -Layout/HashAlignment: - Enabled: false - -Layout/SpaceAroundMethodCallOperator: - Enabled: true - -Layout/SpaceInsideHashLiteralBraces: - EnforcedStyle: space - -Lint/DeprecatedOpenSSLConstant: - Enabled: true - -Lint/DuplicateElsifCondition: - Enabled: true - -Lint/MixedRegexpCaptureTypes: - Enabled: true - -Lint/RaiseException: - Enabled: true - -Lint/StructNewOverride: - Enabled: true +Layout/LineLength: + Max: 140 # RuboCop default 120 + AllowedPatterns: + # Allow comments to be long lines + - !ruby/regexp / \# .*$/ + - !ruby/regexp /^\# .*$/ + Exclude: + - lib/**/*cli*.rb + - db/*migrate/**/* + - db/seeds/**/* Lint/UselessAccessModifier: ContextCreatingMethods: @@ -77,403 +52,62 @@ Metrics/AbcSize: Exclude: - 'lib/**/*cli*.rb' - db/*migrate/**/* - - lib/paperclip/color_extractor.rb - - app/workers/scheduler/follow_recommendations_scheduler.rb - - app/services/activitypub/fetch*_service.rb - - lib/paperclip/**/* - CountRepeatedAttributes: false - AllowedMethods: - - update_media_attachments! - - account_link_to - - attempt_oembed - - build_crutches - - calculate_scores - - cc - - dump_actor! - - filter_from_home? - - hydrate - - import_bookmarks! - - import_relationships! - - initialize - - link_to_mention - - log_target - - matches_time_window? - - parse_metadata - - perform_statuses_search! - - privatize_media_attachments! - - process_update - - publish_media_attachments! - - remotable_attachment - - render_initial_state - - render_with_cache - - searchable_by - - self.cached_filters_for - - set_fetchable_attributes! - - signed_request_actor - - statuses_to_delete - - update_poll! Metrics/BlockLength: - Max: 55 + Max: 55 # Default 25 + CountAsOne: [array, heredoc] Exclude: - 'lib/mastodon/*_cli.rb' - CountComments: false - CountAsOne: [array, heredoc] - AllowedMethods: - - task - - namespace - - class_methods - - included Metrics/BlockNesting: - Max: 3 Exclude: - 'lib/mastodon/*_cli.rb' Metrics/ClassLength: - CountComments: false - Max: 500 + Max: 500 # Default 100 CountAsOne: [array, heredoc] Exclude: - 'lib/mastodon/*_cli.rb' Metrics/CyclomaticComplexity: - Max: 12 + Max: 12 # Default 7 Exclude: - lib/mastodon/*cli*.rb - db/*migrate/**/* - AllowedMethods: - - attempt_oembed - - blocked? - - build_crutches - - calculate_scores - - cc - - discover_endpoint! - - filter_from_home? - - hydrate - - klass - - link_to_mention - - log_target - - matches_time_window? - - patch_for_forwarding! - - preprocess_attributes! - - process_update - - remotable_attachment - - scan_text! - - self.cached_filters_for - - set_fetchable_attributes! - - setup_redis_env_url - - update_media_attachments! - -Layout/LineLength: - Max: 140 # RuboCop default 120 - AllowHeredoc: true - AllowURI: true - IgnoreCopDirectives: true - AllowedPatterns: - # Allow comments to be long lines - - !ruby/regexp / \# .*$/ - - !ruby/regexp /^\# .*$/ - Exclude: - - lib/**/*cli*.rb - - db/*migrate/**/* - - db/seeds/**/* Metrics/MethodLength: - CountComments: false - CountAsOne: [array, heredoc] Max: 25 # RuboCop default 10 + CountAsOne: [array, heredoc] Exclude: - 'lib/mastodon/*_cli.rb' - AllowedMethods: - - account_link_to - - attempt_oembed - - body_with_limit - - build_crutches - - cached_filters_for - - calculate_scores - - check_webfinger! - - clean_feeds! - - collection_items - - collection_presenter - - copy_account_notes! - - deduplicate_accounts! - - deduplicate_conversations! - - deduplicate_local_accounts! - - deduplicate_statuses! - - deduplicate_tags! - - deduplicate_users! - - discover_endpoint! - - extract_extra_uris_with_indices - - extract_hashtags_with_indices - - extract_mentions_or_lists_with_indices - - filter_from_home? - - from_elasticsearch - - handle_explicit_update! - - handle_mark_as_sensitive! - - hsl_to_rgb - - import_bookmarks! - - import_domain_blocks! - - import_relationships! - - ldap_options - - matches_time_window? - - outbox_presenter - - pam_get_user - - parallelize_with_progress - - parse_and_transform - - patch_for_forwarding! - - populate_home - - post_process_style - - preload_cache_collection_target_statuses - - privatize_media_attachments! - - provides_callback_for - - publish_media_attachments! - - relevant_account_timestamp - - remotable_attachment - - rgb_to_hsl - - rss_status_content_format - - set_fetchable_attributes! - - setup_redis_env_url - - signed_request_actor - - to_preview_card_attributes - - upgrade_storage_filesystem - - upgrade_storage_s3 - - user_settings_params - - hydrate - - cc - - self_destruct Metrics/ModuleLength: - CountComments: false - Max: 200 + Max: 200 # Default 100 CountAsOne: [array, heredoc] -Metrics/ParameterLists: - Max: 5 # RuboCop default 5 - CountKeywordArgs: true # RuboCop default true - MaxOptionalParameters: 3 # RuboCop default 3 - Exclude: - - app/models/concerns/account_interactions.rb - - app/services/activitypub/fetch_remote_account_service.rb - - app/services/activitypub/fetch_remote_actor_service.rb - Metrics/PerceivedComplexity: Max: 16 # RuboCop default 8 - AllowedMethods: - - attempt_oembed - - build_crutches - - calculate_scores - - deduplicate_users! - - discover_endpoint! - - filter_from_home? - - hydrate - - patch_for_forwarding! - - process_update - - remove_orphans - - update_media_attachments! - -Naming/MemoizedInstanceVariableName: - Enabled: false - -Naming/MethodParameterName: - Enabled: true - -Rails: - Enabled: true - -Rails/ApplicationController: - Enabled: false - Exclude: - - 'app/controllers/well_known/**/*.rb' - -Rails/BelongsTo: - Enabled: false - -Rails/ContentTag: - Enabled: false - -Rails/EnumHash: - Enabled: false Rails/Exit: Exclude: - - 'lib/mastodon/*' + - 'lib/mastodon/*_cli.rb' + - 'lib/mastodon/cli_helper.rb' - 'lib/cli.rb' -Rails/FilePath: - Enabled: false - -Rails/HasAndBelongsToMany: - Enabled: false - -Rails/HasManyOrHasOneDependent: - Enabled: false - -Rails/HelperInstanceVariable: - Enabled: false - -Rails/HttpStatus: - Enabled: false - -Rails/IndexBy: - Enabled: false - -Rails/InverseOf: - Enabled: false - -Rails/LexicallyScopedActionFilter: - Enabled: false - -Rails/OutputSafety: - Enabled: true - -Rails/RakeEnvironment: - Enabled: false - -Rails/RedundantForeignKey: - Enabled: false - -Rails/SkipsModelValidations: - Enabled: false - -Rails/UniqueValidationWithoutIndex: - Enabled: false - -Style/AccessorGrouping: - Enabled: true - -Style/AccessModifierDeclarations: - Enabled: false - -Style/ArrayCoercion: - Enabled: true - -Style/BisectedAttrAccessor: - Enabled: true - -Style/CaseLikeIf: - Enabled: false - -Style/ClassAndModuleChildren: - Enabled: false - -Style/CollectionMethods: - Enabled: true - PreferredMethods: - find_all: 'select' - -Style/Documentation: - Enabled: false - -Style/DoubleNegation: - Enabled: true - -Style/ExpandPathArguments: - Enabled: false - -Style/ExponentialNotation: - Enabled: true - -Style/FormatString: - Enabled: false - -Style/FormatStringToken: - Enabled: false - -Style/FrozenStringLiteralComment: - Enabled: true - -Style/GuardClause: - Enabled: false - -Style/HashAsLastArrayItem: - Enabled: false - -Style/HashEachMethods: - Enabled: true - -Style/HashLikeCase: - Enabled: true - -Style/HashTransformKeys: - Enabled: true - -Style/HashTransformValues: +Style/Copyright: Enabled: false + AutocorrectNotice: Style/HashSyntax: - Enabled: true EnforcedStyle: ruby19_no_mixed_keys -Style/IfUnlessModifier: - Enabled: false - -Style/InverseMethods: - Enabled: false - -Style/Lambda: - Enabled: false - -Style/MutableConstant: - Enabled: false - Style/PercentLiteralDelimiters: PreferredDelimiters: '%i': '()' '%w': '()' -Style/PerlBackrefs: - AutoCorrect: false - -Style/RedundantFetchBlock: - Enabled: true - -Style/RedundantFileExtensionInRequire: - Enabled: true - -Style/RedundantRegexpCharacterClass: - Enabled: false - -Style/RedundantRegexpEscape: - Enabled: false - -Style/RedundantReturn: - Enabled: true - -Style/RedundantBegin: - Enabled: false - -Style/RegexpLiteral: - Enabled: false - -Style/RescueStandardError: - Enabled: true - -Style/SignalException: - Enabled: false - -Style/SlicingWithRange: - Enabled: true - -Style/SymbolArray: - Enabled: false - Style/TrailingCommaInArrayLiteral: EnforcedStyleForMultiline: 'comma' Style/TrailingCommaInHashLiteral: EnforcedStyleForMultiline: 'comma' - -Style/UnpackFirst: - Enabled: false - -RSpec/ScatteredSetup: - Enabled: false -RSpec/ImplicitExpect: - Enabled: false -RSpec/NamedSubject: - Enabled: false -RSpec/DescribeClass: - Enabled: false -RSpec/LetSetup: - Enabled: false diff --git a/.rubocop_todo.yml b/.rubocop_todo.yml new file mode 100644 index 000000000..d1d5e0612 --- /dev/null +++ b/.rubocop_todo.yml @@ -0,0 +1,4055 @@ +# This configuration was generated by +# `rubocop --auto-gen-config --auto-gen-only-exclude --no-exclude-limit` +# on 2023-02-16 04:55:24 UTC using RuboCop version 1.45.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 +Bundler/OrderedGems: + Exclude: + - 'Gemfile' + +# Offense count: 5 +# This cop supports safe autocorrection (--autocorrect). +# Configuration parameters: EnforcedStyle, IndentationWidth. +# SupportedStyles: with_first_argument, with_fixed_indentation +Layout/ArgumentAlignment: + Exclude: + - 'spec/models/account_statuses_cleanup_policy_spec.rb' + - 'spec/services/activitypub/process_collection_service_spec.rb' + - 'spec/services/activitypub/process_status_update_service_spec.rb' + +# Offense count: 1 +# This cop supports safe autocorrection (--autocorrect). +# Configuration parameters: EnforcedStyleAlignWith. +# SupportedStylesAlignWith: either, start_of_block, start_of_line +Layout/BlockAlignment: + Exclude: + - 'spec/controllers/api/v1/accounts/credentials_controller_spec.rb' + +# Offense count: 1 +# This cop supports safe autocorrection (--autocorrect). +Layout/ClosingParenthesisIndentation: + Exclude: + - 'spec/controllers/auth/sessions_controller_spec.rb' + +# Offense count: 1 +# This cop supports safe autocorrection (--autocorrect). +# Configuration parameters: AllowForAlignment. +Layout/CommentIndentation: + Exclude: + - 'db/migrate/20180514130000_improve_index_on_statuses_for_api_v1_accounts_account_id_statuses.rb' + +# Offense count: 22 +# This cop supports safe autocorrection (--autocorrect). +# Configuration parameters: EnforcedStyle. +# SupportedStyles: leading, trailing +Layout/DotPosition: + Exclude: + - 'lib/paperclip/attachment_extensions.rb' + - 'spec/routing/api_routing_spec.rb' + - 'spec/routing/well_known_routes_spec.rb' + +# Offense count: 1 +# This cop supports safe autocorrection (--autocorrect). +Layout/ElseAlignment: + Exclude: + - 'db/migrate/20161006213403_rails_settings_migration.rb' + +# Offense count: 81 +# This cop supports safe autocorrection (--autocorrect). +Layout/EmptyLineAfterGuardClause: + Exclude: + - 'app/controllers/api/v1/tags_controller.rb' + - 'app/controllers/application_controller.rb' + - 'app/controllers/concerns/session_tracking_concern.rb' + - 'app/controllers/concerns/signature_verification.rb' + - 'app/helpers/application_helper.rb' + - 'app/lib/activitypub/activity.rb' + - 'app/lib/activitypub/tag_manager.rb' + - 'app/lib/request.rb' + - 'app/lib/settings/scoped_settings.rb' + - 'app/lib/status_filter.rb' + - 'app/lib/tag_manager.rb' + - 'app/lib/webfinger.rb' + - 'app/models/account.rb' + - 'app/models/account_conversation.rb' + - 'app/models/admin/import.rb' + - 'app/models/custom_filter.rb' + - 'app/models/favourite.rb' + - 'app/models/form/admin_settings.rb' + - 'app/models/poll.rb' + - 'app/models/session_activation.rb' + - 'app/models/setting.rb' + - 'app/models/status_edit.rb' + - 'app/models/user.rb' + - 'app/models/user_role.rb' + - 'app/services/activitypub/fetch_remote_actor_service.rb' + - 'app/services/activitypub/fetch_remote_status_service.rb' + - 'app/services/activitypub/fetch_replies_service.rb' + - 'app/services/activitypub/process_account_service.rb' + - 'app/services/favourite_service.rb' + - 'app/services/notify_service.rb' + - 'app/services/post_status_service.rb' + - 'app/services/vote_service.rb' + - 'app/validators/follow_limit_validator.rb' + - 'app/validators/unreserved_username_validator.rb' + - 'app/workers/scheduler/accounts_statuses_cleanup_scheduler.rb' + - 'db/migrate/20190314181829_migrate_open_registrations_setting.rb' + - 'db/migrate/20190529143559_preserve_old_layout_for_existing_users.rb' + - 'db/migrate/20210421121431_add_case_insensitive_btree_index_to_tags.rb' + - 'db/post_migrate/20221101190723_backfill_admin_action_logs.rb' + - 'db/post_migrate/20221206114142_backfill_admin_action_logs_again.rb' + - 'lib/mastodon/domains_cli.rb' + +# Offense count: 71 +# This cop supports safe autocorrection (--autocorrect). +Layout/EmptyLineAfterMagicComment: + Exclude: + - 'Capfile' + - 'app/helpers/languages_helper.rb' + - 'app/models/account.rb' + - 'app/models/account_conversation.rb' + - 'app/models/account_domain_block.rb' + - 'app/models/account_moderation_note.rb' + - 'app/models/account_note.rb' + - 'app/models/account_pin.rb' + - 'app/models/account_stat.rb' + - 'app/models/account_summary.rb' + - 'app/models/account_warning.rb' + - 'app/models/backup.rb' + - 'app/models/block.rb' + - 'app/models/bookmark.rb' + - 'app/models/canonical_email_block.rb' + - 'app/models/conversation.rb' + - 'app/models/conversation_mute.rb' + - 'app/models/custom_emoji.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_block.rb' + - 'app/models/email_domain_block.rb' + - 'app/models/encrypted_message.rb' + - 'app/models/favourite.rb' + - 'app/models/featured_tag.rb' + - 'app/models/follow.rb' + - 'app/models/follow_recommendation.rb' + - 'app/models/follow_recommendation_suppression.rb' + - 'app/models/follow_request.rb' + - 'app/models/identity.rb' + - 'app/models/import.rb' + - 'app/models/instance.rb' + - 'app/models/invite.rb' + - 'app/models/ip_block.rb' + - 'app/models/list.rb' + - 'app/models/list_account.rb' + - 'app/models/login_activity.rb' + - 'app/models/media_attachment.rb' + - 'app/models/mention.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/relay.rb' + - 'app/models/report.rb' + - 'app/models/report_note.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/tag.rb' + - 'app/models/unavailable_domain.rb' + - 'app/models/user.rb' + - 'app/models/user_ip.rb' + - 'app/models/web/push_subscription.rb' + - 'app/models/web/setting.rb' + - 'app/models/webauthn_credential.rb' + - 'config.ru' + - 'db/migrate/20220613110834_add_action_to_custom_filters.rb' + - 'db/post_migrate/20220613110802_remove_whole_word_from_custom_filters.rb' + - 'db/post_migrate/20220613110903_remove_irreversible_from_custom_filters.rb' + - 'spec/controllers/api/v1/accounts/statuses_controller_spec.rb' + - 'spec/models/tag_spec.rb' + +# Offense count: 3 +# This cop supports safe autocorrection (--autocorrect). +Layout/EmptyLines: + Exclude: + - 'spec/controllers/authorize_interactions_controller_spec.rb' + - 'spec/controllers/settings/two_factor_authentication/confirmations_controller_spec.rb' + - 'spec/lib/activitypub/activity/create_spec.rb' + +# Offense count: 9 +# This cop supports safe autocorrection (--autocorrect). +# Configuration parameters: EnforcedStyle. +# SupportedStyles: empty_lines, no_empty_lines +Layout/EmptyLinesAroundBlockBody: + Exclude: + - 'spec/fabricators/system_key_fabricator.rb' + - 'spec/models/account_alias_spec.rb' + - 'spec/models/device_spec.rb' + - 'spec/models/encrypted_message_spec.rb' + - 'spec/models/login_activity_spec.rb' + - 'spec/models/one_time_key_spec.rb' + - 'spec/models/system_key_spec.rb' + - 'spec/services/bootstrap_timeline_service_spec.rb' + - 'spec/services/fetch_oembed_service_spec.rb' + +# Offense count: 1 +# This cop supports safe autocorrection (--autocorrect). +# Configuration parameters: EnforcedStyleAlignWith, Severity. +# SupportedStylesAlignWith: keyword, variable, start_of_line +Layout/EndAlignment: + Exclude: + - 'db/migrate/20161006213403_rails_settings_migration.rb' + +# Offense count: 19 +# This cop supports safe autocorrection (--autocorrect). +# Configuration parameters: AllowForAlignment, AllowBeforeTrailingComments, ForceEqualSignAlignment. +Layout/ExtraSpacing: + Exclude: + - 'spec/config/initializers/rack_attack_spec.rb' + - 'spec/controllers/api/v2/filters/statuses_controller_spec.rb' + - 'spec/fabricators/custom_filter_keyword_fabricator.rb' + - 'spec/fabricators/poll_vote_fabricator.rb' + - 'spec/models/account_statuses_cleanup_policy_spec.rb' + - 'spec/services/activitypub/process_status_update_service_spec.rb' + - 'spec/services/import_service_spec.rb' + - 'spec/services/resolve_account_service_spec.rb' + - 'spec/services/resolve_url_service_spec.rb' + - 'spec/validators/note_length_validator_spec.rb' + - 'spec/validators/unreserved_username_validator_spec.rb' + - 'spec/workers/activitypub/move_distribution_worker_spec.rb' + +# Offense count: 4 +# This cop supports safe autocorrection (--autocorrect). +# Configuration parameters: EnforcedStyle, IndentationWidth. +# SupportedStyles: consistent, consistent_relative_to_receiver, special_for_inner_method_call, special_for_inner_method_call_in_parentheses +Layout/FirstArgumentIndentation: + Exclude: + - 'spec/services/remove_status_service_spec.rb' + +# Offense count: 4 +# This cop supports safe autocorrection (--autocorrect). +# Configuration parameters: EnforcedStyle, IndentationWidth. +# SupportedStyles: special_inside_parentheses, consistent, align_brackets +Layout/FirstArrayElementIndentation: + Exclude: + - 'spec/controllers/admin/dashboard_controller_spec.rb' + - 'spec/workers/activitypub/move_distribution_worker_spec.rb' + +# Offense count: 113 +# This cop supports safe autocorrection (--autocorrect). +# Configuration parameters: AllowMultipleStyles, EnforcedHashRocketStyle, EnforcedColonStyle, EnforcedLastArgumentHashStyle. +# SupportedHashRocketStyles: key, separator, table +# SupportedColonStyles: key, separator, table +# SupportedLastArgumentHashStyles: always_inspect, always_ignore, ignore_implicit, ignore_explicit +Layout/HashAlignment: + Exclude: + - 'app/lib/activitypub/linked_data_signature.rb' + - 'app/lib/ostatus/tag_manager.rb' + - 'app/models/account/field.rb' + - 'app/models/account_warning.rb' + - 'app/models/media_attachment.rb' + - 'app/models/notification.rb' + - 'app/models/poll.rb' + - 'app/presenters/account_relationships_presenter.rb' + - 'app/services/keys/claim_service.rb' + - 'app/services/keys/query_service.rb' + - 'app/workers/web/push_notification_worker.rb' + - 'db/post_migrate/20200917193528_migrate_notifications_type.rb' + - 'lib/sanitize_ext/sanitize_config.rb' + - 'lib/tasks/auto_annotate_models.rake' + - 'lib/tasks/mastodon.rake' + - 'spec/models/admin/account_action_spec.rb' + - 'spec/models/concerns/account_interactions_spec.rb' + +# Offense count: 3 +# This cop supports safe autocorrection (--autocorrect). +Layout/HeredocIndentation: + Exclude: + - 'spec/controllers/well_known/host_meta_controller_spec.rb' + - 'spec/lib/link_details_extractor_spec.rb' + +# Offense count: 5 +# This cop supports safe autocorrection (--autocorrect). +# Configuration parameters: EnforcedStyle. +# SupportedStyles: normal, indented_internal_methods +Layout/IndentationConsistency: + Exclude: + - 'spec/controllers/api/v1/statuses/favourited_by_accounts_controller_spec.rb' + - 'spec/controllers/api/v1/statuses/reblogged_by_accounts_controller_spec.rb' + - 'spec/models/trends/statuses_spec.rb' + - 'spec/services/import_service_spec.rb' + +# Offense count: 4 +# This cop supports safe autocorrection (--autocorrect). +# Configuration parameters: Width, AllowedPatterns. +Layout/IndentationWidth: + Exclude: + - 'db/migrate/20161006213403_rails_settings_migration.rb' + - 'spec/controllers/api/v1/accounts/credentials_controller_spec.rb' + - 'spec/services/account_statuses_cleanup_service_spec.rb' + - 'spec/services/import_service_spec.rb' + +# Offense count: 1 +# This cop supports safe autocorrection (--autocorrect). +# Configuration parameters: AllowDoxygenCommentStyle, AllowGemfileRubyComment. +Layout/LeadingCommentSpace: + Exclude: + - 'lib/paperclip/attachment_extensions.rb' + +# Offense count: 2 +# This cop supports safe autocorrection (--autocorrect). +# Configuration parameters: AutoCorrect, EnforcedStyle. +# SupportedStyles: space, no_space +Layout/LineContinuationSpacing: + Exclude: + - 'spec/support/stories/profile_stories.rb' + +# Offense count: 577 +# This cop supports safe autocorrection (--autocorrect). +# Configuration parameters: AllowHeredoc, AllowURI, URISchemes, IgnoreCopDirectives, AllowedPatterns. +# URISchemes: http, https +Layout/LineLength: + Enabled: false + +# Offense count: 4 +# This cop supports safe autocorrection (--autocorrect). +# Configuration parameters: EnforcedStyle. +# SupportedStyles: symmetrical, new_line, same_line +Layout/MultilineMethodCallBraceLayout: + Exclude: + - 'spec/models/account_statuses_cleanup_policy_spec.rb' + - 'spec/services/activitypub/process_status_update_service_spec.rb' + +# Offense count: 3 +# This cop supports safe autocorrection (--autocorrect). +# Configuration parameters: AllowForAlignment, EnforcedStyleForExponentOperator. +# SupportedStylesForExponentOperator: space, no_space +Layout/SpaceAroundOperators: + Exclude: + - 'spec/services/activitypub/fetch_remote_status_service_spec.rb' + - 'spec/validators/note_length_validator_spec.rb' + +# Offense count: 1 +# This cop supports safe autocorrection (--autocorrect). +# Configuration parameters: EnforcedStyle, EnforcedStyleForEmptyBraces. +# SupportedStyles: space, no_space +# SupportedStylesForEmptyBraces: space, no_space +Layout/SpaceBeforeBlockBraces: + Exclude: + - 'spec/controllers/api/v1/reports_controller_spec.rb' + +# Offense count: 3 +# This cop supports safe autocorrection (--autocorrect). +# Configuration parameters: AllowForAlignment. +Layout/SpaceBeforeFirstArg: + Exclude: + - 'spec/fabricators/custom_filter_keyword_fabricator.rb' + - 'spec/fabricators/poll_vote_fabricator.rb' + - 'spec/models/concerns/account_interactions_spec.rb' + +# Offense count: 24 +# This cop supports safe autocorrection (--autocorrect). +# Configuration parameters: EnforcedStyle, EnforcedStyleForEmptyBrackets. +# SupportedStyles: space, no_space, compact +# SupportedStylesForEmptyBrackets: space, no_space +Layout/SpaceInsideArrayLiteralBrackets: + Exclude: + - 'db/migrate/20161006213403_rails_settings_migration.rb' + - 'spec/controllers/settings/applications_controller_spec.rb' + - 'spec/lib/extractor_spec.rb' + - 'spec/models/export_spec.rb' + - 'spec/services/activitypub/process_account_service_spec.rb' + - 'spec/workers/scheduler/accounts_statuses_cleanup_scheduler_spec.rb' + +# Offense count: 4 +# This cop supports safe autocorrection (--autocorrect). +# Configuration parameters: EnforcedStyle, EnforcedStyleForEmptyBraces, SpaceBeforeBlockParameters. +# SupportedStyles: space, no_space +# SupportedStylesForEmptyBraces: space, no_space +Layout/SpaceInsideBlockBraces: + Exclude: + - 'spec/lib/fast_ip_map_spec.rb' + - 'spec/models/user_role_spec.rb' + - 'spec/serializers/rest/account_serializer_spec.rb' + - 'spec/workers/activitypub/distribution_worker_spec.rb' + +# Offense count: 6 +# This cop supports safe autocorrection (--autocorrect). +# Configuration parameters: EnforcedStyle, EnforcedStyleForEmptyBraces. +# SupportedStyles: space, no_space, compact +# SupportedStylesForEmptyBraces: space, no_space +Layout/SpaceInsideHashLiteralBraces: + Exclude: + - 'app/lib/activitypub/activity/create.rb' + - 'app/services/activitypub/fetch_replies_service.rb' + - 'spec/services/activitypub/process_collection_service_spec.rb' + - 'spec/services/update_status_service_spec.rb' + +# Offense count: 1 +# This cop supports safe autocorrection (--autocorrect). +# Configuration parameters: EnforcedStyle. +# SupportedStyles: space, compact, no_space +Layout/SpaceInsideParens: + Exclude: + - 'spec/validators/unreserved_username_validator_spec.rb' + +# Offense count: 4 +# This cop supports safe autocorrection (--autocorrect). +# Configuration parameters: EnforcedStyle. +# SupportedStyles: space, no_space +Layout/SpaceInsideStringInterpolation: + Exclude: + - 'spec/controllers/auth/sessions_controller_spec.rb' + - 'spec/controllers/settings/two_factor_authentication/webauthn_credentials_controller_spec.rb' + - 'spec/services/activitypub/process_account_service_spec.rb' + +# Offense count: 8 +# This cop supports safe autocorrection (--autocorrect). +# Configuration parameters: EnforcedStyle. +# SupportedStyles: final_newline, final_blank_line +Layout/TrailingEmptyLines: + Exclude: + - 'db/migrate/20190306145741_add_lock_version_to_polls.rb' + - 'db/migrate/20190807135426_add_comments_to_domain_blocks.rb' + - 'db/migrate/20200312162302_add_status_ids_to_announcements.rb' + - 'db/migrate/20200510181721_remove_duplicated_indexes_pghero.rb' + - 'db/migrate/20200628133322_create_account_notes.rb' + - 'db/migrate/20210722120340_create_account_statuses_cleanup_policies.rb' + - 'spec/fabricators/ip_block_fabricator.rb' + - 'spec/fabricators/status_edit_fabricator.rb' + +# Offense count: 7 +# This cop supports safe autocorrection (--autocorrect). +# Configuration parameters: AllowInHeredoc. +Layout/TrailingWhitespace: + Exclude: + - 'app/models/concerns/expireable.rb' + - 'db/post_migrate/20220729171123_fix_custom_filter_keywords_id_seq.rb' + - 'lib/tasks/mastodon.rake' + - 'spec/models/account/field_spec.rb' + - 'spec/services/remove_from_follwers_service_spec.rb' + +# Offense count: 14 +# Configuration parameters: AllowedMethods, AllowedPatterns. +Lint/AmbiguousBlockAssociation: + Exclude: + - 'spec/controllers/admin/account_moderation_notes_controller_spec.rb' + - 'spec/controllers/settings/two_factor_authentication/confirmations_controller_spec.rb' + - 'spec/controllers/settings/two_factor_authentication/otp_authentication_controller_spec.rb' + - 'spec/controllers/settings/two_factor_authentication/webauthn_credentials_controller_spec.rb' + - 'spec/services/activitypub/process_status_update_service_spec.rb' + - 'spec/services/post_status_service_spec.rb' + - 'spec/services/suspend_account_service_spec.rb' + - 'spec/services/unsuspend_account_service_spec.rb' + - 'spec/workers/scheduler/accounts_statuses_cleanup_scheduler_spec.rb' + +# Offense count: 7 +# This cop supports safe autocorrection (--autocorrect). +Lint/AmbiguousOperator: + Exclude: + - 'spec/controllers/api/v1/suggestions_controller_spec.rb' + - 'spec/lib/request_spec.rb' + - 'spec/models/user_role_spec.rb' + +# Offense count: 17 +# This cop supports safe autocorrection (--autocorrect). +Lint/AmbiguousOperatorPrecedence: + Exclude: + - 'app/controllers/concerns/rate_limit_headers.rb' + - 'app/lib/rate_limiter.rb' + - 'app/models/system_key.rb' + - 'app/models/webauthn_credential.rb' + - 'app/workers/concerns/exponential_backoff.rb' + - 'lib/paperclip/color_extractor.rb' + +# Offense count: 15 +# Configuration parameters: AllowedMethods. +# AllowedMethods: enums +Lint/ConstantDefinitionInBlock: + Exclude: + - 'spec/controllers/api/base_controller_spec.rb' + - 'spec/controllers/application_controller_spec.rb' + - 'spec/controllers/concerns/accountable_concern_spec.rb' + - 'spec/controllers/concerns/signature_verification_spec.rb' + - 'spec/lib/activitypub/adapter_spec.rb' + - 'spec/lib/connection_pool/shared_connection_pool_spec.rb' + - 'spec/lib/connection_pool/shared_timed_stack_spec.rb' + - 'spec/lib/settings/extend_spec.rb' + - 'spec/models/concerns/remotable_spec.rb' + +# Offense count: 5 +# Configuration parameters: IgnoreLiteralBranches, IgnoreConstantBranches. +Lint/DuplicateBranch: + Exclude: + - 'app/lib/permalink_redirector.rb' + - 'app/models/account_statuses_filter.rb' + - 'app/validators/email_mx_validator.rb' + - 'app/validators/vote_validator.rb' + - 'lib/mastodon/maintenance_cli.rb' + +# Offense count: 42 +# Configuration parameters: AllowComments, AllowEmptyLambdas. +Lint/EmptyBlock: + Exclude: + - 'spec/controllers/api/v2/search_controller_spec.rb' + - '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_log_helper_spec.rb' + - 'spec/lib/activitypub/adapter_spec.rb' + - 'spec/models/account_alias_spec.rb' + - 'spec/models/account_deletion_request_spec.rb' + - 'spec/models/account_moderation_note_spec.rb' + - 'spec/models/announcement_mute_spec.rb' + - 'spec/models/announcement_reaction_spec.rb' + - 'spec/models/announcement_spec.rb' + - 'spec/models/backup_spec.rb' + - 'spec/models/conversation_mute_spec.rb' + - 'spec/models/custom_filter_keyword_spec.rb' + - 'spec/models/custom_filter_spec.rb' + - 'spec/models/device_spec.rb' + - 'spec/models/encrypted_message_spec.rb' + - 'spec/models/featured_tag_spec.rb' + - 'spec/models/follow_recommendation_suppression_spec.rb' + - 'spec/models/list_account_spec.rb' + - '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' + - 'spec/models/scheduled_status_spec.rb' + - 'spec/models/status_stat_spec.rb' + - 'spec/models/status_trend_spec.rb' + - 'spec/models/system_key_spec.rb' + - 'spec/models/tag_follow_spec.rb' + - 'spec/models/unavailable_domain_spec.rb' + - 'spec/models/user_invite_request_spec.rb' + - '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: 6 +# This cop supports safe autocorrection (--autocorrect). +Lint/ParenthesesAsGroupedExpression: + Exclude: + - 'spec/controllers/api/v1/admin/accounts_controller_spec.rb' + - 'spec/controllers/api/v2/admin/accounts_controller_spec.rb' + - 'spec/lib/activitypub/activity/flag_spec.rb' + - 'spec/models/import_spec.rb' + +# Offense count: 35 +# This cop supports safe autocorrection (--autocorrect). +# Configuration parameters: EnforcedStyle. +# SupportedStyles: strict, consistent +Lint/SymbolConversion: + Exclude: + - 'app/lib/translation_service/deepl.rb' + - 'app/services/backup_service.rb' + - 'spec/controllers/auth/registrations_controller_spec.rb' + - 'spec/controllers/auth/sessions_controller_spec.rb' + - 'spec/lib/activitypub/activity/announce_spec.rb' + - 'spec/lib/activitypub/activity/create_spec.rb' + - 'spec/services/activitypub/process_collection_service_spec.rb' + +# Offense count: 3 +# This cop supports safe autocorrection (--autocorrect). +# Configuration parameters: IgnoreEmptyBlocks, AllowUnusedKeywordArguments. +Lint/UnusedBlockArgument: + Exclude: + - 'spec/lib/activitypub/activity/add_spec.rb' + - 'spec/lib/request_pool_spec.rb' + +# Offense count: 33 +Lint/UselessAssignment: + Exclude: + - 'app/services/activitypub/process_status_update_service.rb' + - 'db/migrate/20190511134027_add_silenced_at_suspended_at_to_accounts.rb' + - 'db/post_migrate/20190511152737_remove_suspended_silenced_account_fields.rb' + - 'spec/controllers/api/v1/bookmarks_controller_spec.rb' + - 'spec/controllers/api/v1/favourites_controller_spec.rb' + - 'spec/controllers/concerns/account_controller_concern_spec.rb' + - 'spec/helpers/jsonld_helper_spec.rb' + - 'spec/models/account_spec.rb' + - 'spec/models/domain_block_spec.rb' + - 'spec/models/status_spec.rb' + - 'spec/models/user_spec.rb' + - 'spec/models/webauthn_credentials_spec.rb' + - 'spec/services/account_search_service_spec.rb' + - 'spec/services/post_status_service_spec.rb' + - 'spec/services/precompute_feed_service_spec.rb' + - '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: 65 +# Configuration parameters: AllowedMethods, AllowedPatterns, CountRepeatedAttributes. +Metrics/AbcSize: + Enabled: false + +# Offense count: 11 +# Configuration parameters: CountComments, Max, CountAsOne, AllowedMethods, AllowedPatterns, inherit_mode. +# AllowedMethods: refine +Metrics/BlockLength: + Exclude: + - 'app/models/concerns/account_interactions.rb' + - 'app/models/concerns/omniauthable.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' + +# Offense count: 1 +# Configuration parameters: CountBlocks, Max. +Metrics/BlockNesting: + Exclude: + - 'lib/tasks/mastodon.rake' + +# Offense count: 39 +# Configuration parameters: AllowedMethods, AllowedPatterns. +Metrics/CyclomaticComplexity: + Enabled: false + +# Offense count: 40 +# Configuration parameters: CountComments, CountAsOne, AllowedMethods, AllowedPatterns. +Metrics/MethodLength: + Enabled: false + +# Offense count: 1 +# Configuration parameters: CountComments, Max, CountAsOne. +Metrics/ModuleLength: + Exclude: + - 'app/models/concerns/account_interactions.rb' + +# Offense count: 5 +# Configuration parameters: Max, CountKeywordArgs, MaxOptionalParameters. +Metrics/ParameterLists: + Exclude: + - 'app/models/concerns/account_interactions.rb' + - 'app/services/activitypub/fetch_remote_account_service.rb' + - 'app/services/activitypub/fetch_remote_actor_service.rb' + - 'app/services/activitypub/fetch_remote_status_service.rb' + +# Offense count: 16 +# Configuration parameters: AllowedMethods, AllowedPatterns, Max. +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' + +# Offense count: 1 +Naming/AccessorMethodName: + Exclude: + - 'app/controllers/auth/sessions_controller.rb' + +# Offense count: 7 +# Configuration parameters: EnforcedStyleForLeadingUnderscores. +# SupportedStylesForLeadingUnderscores: disallowed, required, optional +Naming/MemoizedInstanceVariableName: + Exclude: + - 'app/controllers/api/v1/bookmarks_controller.rb' + - 'app/controllers/api/v1/favourites_controller.rb' + - 'app/controllers/concerns/rate_limit_headers.rb' + - 'app/lib/activitypub/activity.rb' + - '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 +Naming/VariableNumber: + Exclude: + - 'db/migrate/20180106000232_add_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/20190820003045_update_statuses_index.rb' + - 'db/migrate/20190823221802_add_local_index_to_statuses.rb' + - 'db/migrate/20200119112504_add_public_index_to_statuses.rb' + - 'spec/controllers/activitypub/followers_synchronizations_controller_spec.rb' + - 'spec/lib/feed_manager_spec.rb' + - 'spec/models/account_spec.rb' + - 'spec/models/concerns/account_interactions_spec.rb' + - 'spec/models/custom_emoji_filter_spec.rb' + - 'spec/models/domain_block_spec.rb' + - 'spec/models/user_spec.rb' + - 'spec/services/activitypub/fetch_featured_collection_service_spec.rb' + +# Offense count: 12 +# Configuration parameters: MinSize. +Performance/CollectionLiteralInLoop: + Exclude: + - 'app/models/admin/appeal_filter.rb' + - 'app/models/admin/status_filter.rb' + - 'app/models/relationship_filter.rb' + - 'app/models/trends/preview_card_filter.rb' + - 'app/models/trends/status_filter.rb' + - 'app/presenters/status_relationships_presenter.rb' + - 'app/services/fetch_resource_service.rb' + - 'app/services/suspend_account_service.rb' + - '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: + Exclude: + - 'app/controllers/authorize_interactions_controller.rb' + - 'app/controllers/concerns/signature_verification.rb' + - 'app/controllers/intents_controller.rb' + - 'app/lib/activitypub/case_transform.rb' + - 'app/lib/permalink_redirector.rb' + - 'app/lib/webfinger_resource.rb' + - 'app/services/activitypub/fetch_remote_actor_service.rb' + - 'app/services/backup_service.rb' + - 'app/services/resolve_account_service.rb' + - 'app/services/tag_search_service.rb' + +# Offense count: 1 +# This cop supports unsafe autocorrection (--autocorrect-all). +# Configuration parameters: SafeMultiline. +Performance/DeleteSuffix: + Exclude: + - 'lib/tasks/repo.rake' + +# Offense count: 19 +# This cop supports unsafe autocorrection (--autocorrect-all). +Performance/MapCompact: + Exclude: + - 'app/lib/admin/metrics/dimension.rb' + - 'app/lib/admin/metrics/measure.rb' + - 'app/lib/feed_manager.rb' + - 'app/models/account.rb' + - 'app/models/account_statuses_cleanup_policy.rb' + - 'app/models/account_suggestions/setting_source.rb' + - 'app/models/account_suggestions/source.rb' + - 'app/models/follow_recommendation_filter.rb' + - 'app/models/notification.rb' + - 'app/models/user_role.rb' + - 'app/models/webhook.rb' + - 'app/services/process_mentions_service.rb' + - 'app/validators/existing_username_validator.rb' + - '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: + - 'spec/controllers/api/v1/blocks_controller_spec.rb' + - 'spec/controllers/api/v1/mutes_controller_spec.rb' + - 'spec/lib/feed_manager_spec.rb' + - 'spec/lib/request_pool_spec.rb' + - 'spec/models/account_spec.rb' + +# Offense count: 4 +# This cop supports unsafe autocorrection (--autocorrect-all). +Performance/UnfreezeString: + Exclude: + - 'app/lib/rss/builder.rb' + - 'app/lib/text_formatter.rb' + - 'app/validators/status_length_validator.rb' + - 'lib/tasks/mastodon.rake' + +# Offense count: 27 +RSpec/AnyInstance: + Exclude: + - 'spec/controllers/activitypub/inboxes_controller_spec.rb' + - 'spec/controllers/admin/accounts_controller_spec.rb' + - 'spec/controllers/admin/resets_controller_spec.rb' + - 'spec/controllers/admin/settings/branding_controller_spec.rb' + - 'spec/controllers/api/v1/media_controller_spec.rb' + - 'spec/controllers/auth/sessions_controller_spec.rb' + - 'spec/controllers/settings/two_factor_authentication/confirmations_controller_spec.rb' + - 'spec/controllers/settings/two_factor_authentication/recovery_codes_controller_spec.rb' + - 'spec/lib/request_spec.rb' + - 'spec/lib/status_filter_spec.rb' + - 'spec/models/account_spec.rb' + - 'spec/models/setting_spec.rb' + - 'spec/services/activitypub/process_collection_service_spec.rb' + - 'spec/validators/blacklisted_email_validator_spec.rb' + - 'spec/validators/follow_limit_validator_spec.rb' + - 'spec/workers/activitypub/delivery_worker_spec.rb' + - 'spec/workers/web/push_notification_worker_spec.rb' + +# Offense count: 139 +# This cop supports unsafe autocorrection (--autocorrect-all). +RSpec/BeEq: + Exclude: + - 'spec/controllers/admin/export_domain_allows_controller_spec.rb' + - 'spec/controllers/admin/reports/actions_controller_spec.rb' + - 'spec/controllers/admin/reports_controller_spec.rb' + - 'spec/controllers/admin/users/two_factor_authentications_controller_spec.rb' + - 'spec/controllers/api/v1/accounts/credentials_controller_spec.rb' + - 'spec/controllers/api/v1/bookmarks_controller_spec.rb' + - 'spec/controllers/api/v1/favourites_controller_spec.rb' + - 'spec/controllers/api/v2/filters/keywords_controller_spec.rb' + - 'spec/controllers/application_controller_spec.rb' + - 'spec/controllers/auth/registrations_controller_spec.rb' + - 'spec/controllers/statuses_cleanup_controller_spec.rb' + - 'spec/helpers/application_helper_spec.rb' + - 'spec/helpers/jsonld_helper_spec.rb' + - 'spec/lib/activitypub/activity/add_spec.rb' + - 'spec/lib/activitypub/activity/create_spec.rb' + - 'spec/lib/feed_manager_spec.rb' + - 'spec/lib/ostatus/tag_manager_spec.rb' + - 'spec/lib/tag_manager_spec.rb' + - 'spec/lib/user_settings_decorator_spec.rb' + - 'spec/models/account_domain_block_spec.rb' + - 'spec/models/account_spec.rb' + - 'spec/models/block_spec.rb' + - 'spec/models/domain_block_spec.rb' + - 'spec/models/favourite_spec.rb' + - 'spec/models/media_attachment_spec.rb' + - 'spec/models/user_spec.rb' + - 'spec/models/web/push_subscription_spec.rb' + - 'spec/services/activitypub/process_status_update_service_spec.rb' + - 'spec/services/fetch_oembed_service_spec.rb' + - 'spec/services/fetch_resource_service_spec.rb' + - 'spec/services/post_status_service_spec.rb' + - 'spec/services/precompute_feed_service_spec.rb' + - 'spec/services/resolve_account_service_spec.rb' + - 'spec/support/examples/lib/settings/scoped_settings.rb' + - 'spec/workers/domain_block_worker_spec.rb' + - 'spec/workers/domain_clear_media_worker_spec.rb' + - 'spec/workers/feed_insert_worker_spec.rb' + - 'spec/workers/regeneration_worker_spec.rb' + +# Offense count: 22 +# This cop supports safe autocorrection (--autocorrect). +# Configuration parameters: EnforcedStyle. +# SupportedStyles: be, be_nil +RSpec/BeNil: + Exclude: + - 'spec/controllers/accounts_controller_spec.rb' + - 'spec/controllers/activitypub/collections_controller_spec.rb' + - 'spec/controllers/activitypub/outboxes_controller_spec.rb' + - 'spec/controllers/activitypub/replies_controller_spec.rb' + - 'spec/controllers/api/v1/apps_controller_spec.rb' + - 'spec/controllers/api/v1/statuses_controller_spec.rb' + - 'spec/controllers/instance_actors_controller_spec.rb' + - 'spec/controllers/statuses_controller_spec.rb' + - 'spec/models/account_statuses_cleanup_policy_spec.rb' + - 'spec/models/concerns/account_interactions_spec.rb' + - 'spec/models/session_activation_spec.rb' + - 'spec/models/user_spec.rb' + +# Offense count: 1 +RSpec/BeforeAfterAll: + Exclude: + - 'spec/requests/localization_spec.rb' + +# Offense count: 14 +# This cop supports safe autocorrection (--autocorrect). +# Configuration parameters: EnabledMethods. +RSpec/Capybara/FeatureMethods: + Exclude: + - 'spec/features/log_in_spec.rb' + - 'spec/features/profile_spec.rb' + +# Offense count: 32 +# This cop supports safe autocorrection (--autocorrect). +# Configuration parameters: EnforcedStyle. +# SupportedStyles: be_a, be_kind_of +RSpec/ClassCheck: + Exclude: + - 'spec/lib/settings/extend_spec.rb' + - 'spec/models/concerns/account_interactions_spec.rb' + - 'spec/models/custom_emoji_filter_spec.rb' + - 'spec/models/session_activation_spec.rb' + - 'spec/models/setting_spec.rb' + - 'spec/models/user_role_spec.rb' + - 'spec/models/user_spec.rb' + +# Offense count: 558 +# Configuration parameters: Prefixes, AllowedPatterns. +# Prefixes: when, with, without +RSpec/ContextWording: + Exclude: + - 'spec/config/initializers/rack_attack_spec.rb' + - 'spec/controllers/accounts_controller_spec.rb' + - 'spec/controllers/activitypub/collections_controller_spec.rb' + - 'spec/controllers/activitypub/inboxes_controller_spec.rb' + - 'spec/controllers/admin/domain_blocks_controller_spec.rb' + - 'spec/controllers/admin/reports/actions_controller_spec.rb' + - 'spec/controllers/admin/statuses_controller_spec.rb' + - 'spec/controllers/api/v1/accounts/relationships_controller_spec.rb' + - 'spec/controllers/api/v1/accounts_controller_spec.rb' + - 'spec/controllers/api/v1/admin/domain_blocks_controller_spec.rb' + - 'spec/controllers/api/v1/emails/confirmations_controller_spec.rb' + - 'spec/controllers/api/v1/instances/activity_controller_spec.rb' + - 'spec/controllers/api/v1/instances/peers_controller_spec.rb' + - 'spec/controllers/api/v1/media_controller_spec.rb' + - 'spec/controllers/api/v2/filters_controller_spec.rb' + - 'spec/controllers/application_controller_spec.rb' + - 'spec/controllers/auth/registrations_controller_spec.rb' + - 'spec/controllers/auth/sessions_controller_spec.rb' + - 'spec/controllers/concerns/cache_concern_spec.rb' + - 'spec/controllers/concerns/challengable_concern_spec.rb' + - 'spec/controllers/concerns/localized_spec.rb' + - 'spec/controllers/concerns/rate_limit_headers_spec.rb' + - 'spec/controllers/instance_actors_controller_spec.rb' + - 'spec/controllers/settings/applications_controller_spec.rb' + - 'spec/controllers/settings/two_factor_authentication/webauthn_credentials_controller_spec.rb' + - 'spec/controllers/statuses_controller_spec.rb' + - 'spec/helpers/admin/account_moderation_notes_helper_spec.rb' + - 'spec/helpers/jsonld_helper_spec.rb' + - 'spec/helpers/routing_helper_spec.rb' + - 'spec/lib/activitypub/activity/accept_spec.rb' + - 'spec/lib/activitypub/activity/announce_spec.rb' + - 'spec/lib/activitypub/activity/create_spec.rb' + - 'spec/lib/activitypub/activity/follow_spec.rb' + - 'spec/lib/activitypub/activity/reject_spec.rb' + - 'spec/lib/emoji_formatter_spec.rb' + - 'spec/lib/entity_cache_spec.rb' + - 'spec/lib/feed_manager_spec.rb' + - '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' + - 'spec/lib/text_formatter_spec.rb' + - 'spec/models/account/field_spec.rb' + - 'spec/models/account_spec.rb' + - 'spec/models/admin/account_action_spec.rb' + - 'spec/models/concerns/account_interactions_spec.rb' + - 'spec/models/concerns/remotable_spec.rb' + - 'spec/models/custom_emoji_filter_spec.rb' + - 'spec/models/custom_emoji_spec.rb' + - 'spec/models/email_domain_block_spec.rb' + - 'spec/models/media_attachment_spec.rb' + - 'spec/models/notification_spec.rb' + - 'spec/models/remote_follow_spec.rb' + - 'spec/models/report_spec.rb' + - 'spec/models/session_activation_spec.rb' + - 'spec/models/setting_spec.rb' + - 'spec/models/status_spec.rb' + - 'spec/models/web/push_subscription_spec.rb' + - 'spec/policies/account_moderation_note_policy_spec.rb' + - 'spec/policies/account_policy_spec.rb' + - 'spec/policies/backup_policy_spec.rb' + - 'spec/policies/custom_emoji_policy_spec.rb' + - 'spec/policies/domain_block_policy_spec.rb' + - 'spec/policies/email_domain_block_policy_spec.rb' + - 'spec/policies/instance_policy_spec.rb' + - 'spec/policies/invite_policy_spec.rb' + - 'spec/policies/relay_policy_spec.rb' + - 'spec/policies/report_note_policy_spec.rb' + - 'spec/policies/report_policy_spec.rb' + - 'spec/policies/settings_policy_spec.rb' + - 'spec/policies/tag_policy_spec.rb' + - 'spec/policies/user_policy_spec.rb' + - 'spec/presenters/account_relationships_presenter_spec.rb' + - 'spec/presenters/status_relationships_presenter_spec.rb' + - 'spec/services/account_search_service_spec.rb' + - 'spec/services/account_statuses_cleanup_service_spec.rb' + - 'spec/services/activitypub/fetch_remote_status_service_spec.rb' + - 'spec/services/activitypub/process_account_service_spec.rb' + - 'spec/services/activitypub/process_status_update_service_spec.rb' + - 'spec/services/fetch_link_card_service_spec.rb' + - 'spec/services/fetch_oembed_service_spec.rb' + - 'spec/services/fetch_remote_status_service_spec.rb' + - 'spec/services/follow_service_spec.rb' + - 'spec/services/import_service_spec.rb' + - 'spec/services/notify_service_spec.rb' + - 'spec/services/process_mentions_service_spec.rb' + - 'spec/services/reblog_service_spec.rb' + - 'spec/services/report_service_spec.rb' + - 'spec/services/resolve_account_service_spec.rb' + - 'spec/services/resolve_url_service_spec.rb' + - 'spec/services/search_service_spec.rb' + - 'spec/services/unallow_domain_service_spec.rb' + - 'spec/services/verify_link_service_spec.rb' + - 'spec/validators/disallowed_hashtags_validator_spec.rb' + - 'spec/validators/email_mx_validator_spec.rb' + - 'spec/validators/follow_limit_validator_spec.rb' + - 'spec/validators/poll_validator_spec.rb' + - 'spec/validators/status_pin_validator_spec.rb' + - 'spec/validators/unreserved_username_validator_spec.rb' + - 'spec/validators/url_validator_spec.rb' + - '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 +RSpec/DescribedClass: + Exclude: + - 'spec/controllers/concerns/cache_concern_spec.rb' + - 'spec/controllers/concerns/challengable_concern_spec.rb' + - 'spec/lib/entity_cache_spec.rb' + - 'spec/lib/extractor_spec.rb' + - 'spec/lib/feed_manager_spec.rb' + - 'spec/lib/hash_object_spec.rb' + - 'spec/lib/ostatus/tag_manager_spec.rb' + - 'spec/lib/request_spec.rb' + - 'spec/lib/tag_manager_spec.rb' + - 'spec/lib/webfinger_resource_spec.rb' + - 'spec/mailers/notification_mailer_spec.rb' + - 'spec/mailers/user_mailer_spec.rb' + - 'spec/models/account_conversation_spec.rb' + - 'spec/models/account_domain_block_spec.rb' + - 'spec/models/account_migration_spec.rb' + - 'spec/models/account_spec.rb' + - 'spec/models/block_spec.rb' + - 'spec/models/domain_block_spec.rb' + - 'spec/models/email_domain_block_spec.rb' + - 'spec/models/export_spec.rb' + - 'spec/models/favourite_spec.rb' + - 'spec/models/follow_spec.rb' + - 'spec/models/identity_spec.rb' + - 'spec/models/import_spec.rb' + - 'spec/models/media_attachment_spec.rb' + - 'spec/models/notification_spec.rb' + - 'spec/models/relationship_filter_spec.rb' + - 'spec/models/report_filter_spec.rb' + - 'spec/models/session_activation_spec.rb' + - 'spec/models/setting_spec.rb' + - 'spec/models/site_upload_spec.rb' + - 'spec/models/status_pin_spec.rb' + - 'spec/models/status_spec.rb' + - 'spec/models/user_spec.rb' + - 'spec/policies/account_moderation_note_policy_spec.rb' + - 'spec/presenters/account_relationships_presenter_spec.rb' + - 'spec/presenters/instance_presenter_spec.rb' + - 'spec/presenters/status_relationships_presenter_spec.rb' + - 'spec/serializers/activitypub/note_spec.rb' + - 'spec/serializers/activitypub/update_poll_spec.rb' + - 'spec/serializers/rest/account_serializer_spec.rb' + - 'spec/services/activitypub/fetch_remote_account_service_spec.rb' + - 'spec/services/activitypub/fetch_remote_actor_service_spec.rb' + - 'spec/services/activitypub/fetch_remote_key_service_spec.rb' + - 'spec/services/after_block_domain_from_account_service_spec.rb' + - 'spec/services/authorize_follow_service_spec.rb' + - 'spec/services/batched_remove_status_service_spec.rb' + - 'spec/services/block_domain_service_spec.rb' + - 'spec/services/block_service_spec.rb' + - 'spec/services/bootstrap_timeline_service_spec.rb' + - 'spec/services/clear_domain_media_service_spec.rb' + - 'spec/services/favourite_service_spec.rb' + - 'spec/services/follow_service_spec.rb' + - 'spec/services/import_service_spec.rb' + - 'spec/services/post_status_service_spec.rb' + - 'spec/services/precompute_feed_service_spec.rb' + - 'spec/services/process_mentions_service_spec.rb' + - 'spec/services/purge_domain_service_spec.rb' + - 'spec/services/reblog_service_spec.rb' + - 'spec/services/reject_follow_service_spec.rb' + - 'spec/services/remove_from_follwers_service_spec.rb' + - 'spec/services/remove_status_service_spec.rb' + - 'spec/services/unallow_domain_service_spec.rb' + - 'spec/services/unblock_service_spec.rb' + - 'spec/services/unfollow_service_spec.rb' + - 'spec/services/unmute_service_spec.rb' + - '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: + - 'spec/helpers/admin/action_log_helper_spec.rb' + - 'spec/models/account_alias_spec.rb' + - 'spec/models/account_deletion_request_spec.rb' + - 'spec/models/account_moderation_note_spec.rb' + - 'spec/models/announcement_mute_spec.rb' + - 'spec/models/announcement_reaction_spec.rb' + - 'spec/models/announcement_spec.rb' + - 'spec/models/backup_spec.rb' + - 'spec/models/conversation_mute_spec.rb' + - 'spec/models/custom_filter_keyword_spec.rb' + - 'spec/models/custom_filter_spec.rb' + - 'spec/models/device_spec.rb' + - 'spec/models/encrypted_message_spec.rb' + - 'spec/models/featured_tag_spec.rb' + - 'spec/models/follow_recommendation_suppression_spec.rb' + - 'spec/models/list_account_spec.rb' + - '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' + - 'spec/models/scheduled_status_spec.rb' + - 'spec/models/status_stat_spec.rb' + - 'spec/models/status_trend_spec.rb' + - 'spec/models/system_key_spec.rb' + - 'spec/models/tag_follow_spec.rb' + - 'spec/models/unavailable_domain_spec.rb' + - 'spec/models/user_invite_request_spec.rb' + - 'spec/models/web/setting_spec.rb' + - 'spec/services/unmute_service_spec.rb' + +# Offense count: 2 +# This cop supports safe autocorrection (--autocorrect). +# Configuration parameters: AllowConsecutiveOneLiners. +RSpec/EmptyLineAfterExample: + Exclude: + - 'spec/services/search_service_spec.rb' + +# Offense count: 25 +# This cop supports safe autocorrection (--autocorrect). +RSpec/EmptyLineAfterFinalLet: + Exclude: + - 'spec/config/initializers/rack_attack_spec.rb' + - 'spec/controllers/admin/reports_controller_spec.rb' + - 'spec/controllers/admin/resets_controller_spec.rb' + - 'spec/controllers/api/web/embeds_controller_spec.rb' + - 'spec/controllers/instance_actors_controller_spec.rb' + - 'spec/controllers/intents_controller_spec.rb' + - 'spec/controllers/settings/applications_controller_spec.rb' + - 'spec/controllers/settings/sessions_controller_spec.rb' + - 'spec/controllers/shares_controller_spec.rb' + - 'spec/lib/status_filter_spec.rb' + - 'spec/models/account_spec.rb' + - 'spec/models/account_statuses_cleanup_policy_spec.rb' + - 'spec/services/fetch_resource_service_spec.rb' + - 'spec/services/import_service_spec.rb' + - 'spec/services/precompute_feed_service_spec.rb' + - 'spec/validators/poll_validator_spec.rb' + +# Offense count: 1 +# This cop supports safe autocorrection (--autocorrect). +# Configuration parameters: AllowConsecutiveOneLiners. +RSpec/EmptyLineAfterHook: + Exclude: + - 'spec/helpers/application_helper_spec.rb' + +# Offense count: 19 +# This cop supports safe autocorrection (--autocorrect). +RSpec/EmptyLineAfterSubject: + Exclude: + - 'spec/controllers/activitypub/collections_controller_spec.rb' + - 'spec/controllers/activitypub/followers_synchronizations_controller_spec.rb' + - 'spec/controllers/activitypub/outboxes_controller_spec.rb' + - 'spec/controllers/activitypub/replies_controller_spec.rb' + - 'spec/controllers/admin/reports/actions_controller_spec.rb' + - 'spec/controllers/api/web/embeds_controller_spec.rb' + - 'spec/controllers/emojis_controller_spec.rb' + - 'spec/controllers/follower_accounts_controller_spec.rb' + - 'spec/controllers/following_accounts_controller_spec.rb' + - 'spec/controllers/relationships_controller_spec.rb' + - 'spec/lib/activitypub/activity/delete_spec.rb' + - 'spec/lib/activitypub/activity/flag_spec.rb' + - 'spec/models/admin/account_action_spec.rb' + - 'spec/models/user_spec.rb' + - 'spec/services/fetch_remote_status_service_spec.rb' + - 'spec/workers/refollow_worker_spec.rb' + +# Offense count: 178 +# Configuration parameters: CountAsOne. +RSpec/ExampleLength: + Max: 22 + +# Offense count: 10 +# This cop supports safe autocorrection (--autocorrect). +# Configuration parameters: CustomTransform, IgnoredWords, DisallowedExamples. +# DisallowedExamples: works +RSpec/ExampleWording: + Exclude: + - 'spec/controllers/settings/applications_controller_spec.rb' + - 'spec/models/custom_emoji_spec.rb' + - 'spec/models/user_spec.rb' + +# Offense count: 2 +# This cop supports safe autocorrection (--autocorrect). +RSpec/ExcessiveDocstringSpacing: + Exclude: + - 'spec/controllers/settings/migrations_controller_spec.rb' + - 'spec/models/concerns/account_interactions_spec.rb' + +# Offense count: 1 +# This cop supports safe autocorrection (--autocorrect). +RSpec/ExpectActual: + Exclude: + - 'spec/controllers/well_known/nodeinfo_controller_spec.rb' + +# Offense count: 21 +# This cop supports unsafe autocorrection (--autocorrect-all). +# Configuration parameters: EnforcedStyle. +# SupportedStyles: method_call, block +RSpec/ExpectChange: + Exclude: + - 'spec/controllers/admin/account_moderation_notes_controller_spec.rb' + - 'spec/controllers/admin/custom_emojis_controller_spec.rb' + - 'spec/controllers/admin/invites_controller_spec.rb' + - 'spec/controllers/admin/report_notes_controller_spec.rb' + - 'spec/controllers/concerns/accountable_concern_spec.rb' + - 'spec/controllers/invites_controller_spec.rb' + - 'spec/controllers/settings/two_factor_authentication/webauthn_credentials_controller_spec.rb' + - 'spec/models/admin/account_action_spec.rb' + - 'spec/services/suspend_account_service_spec.rb' + - '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: 61 +# Configuration parameters: Include, CustomTransform, IgnoreMethods, SpecSuffixOnly. +# Include: **/*_spec*rb*, **/spec/**/* +RSpec/FilePath: + Exclude: + - 'spec/config/initializers/rack_attack_spec.rb' + - 'spec/controllers/activitypub/collections_controller_spec.rb' + - 'spec/controllers/activitypub/followers_synchronizations_controller_spec.rb' + - 'spec/controllers/activitypub/inboxes_controller_spec.rb' + - 'spec/controllers/activitypub/outboxes_controller_spec.rb' + - 'spec/controllers/activitypub/replies_controller_spec.rb' + - 'spec/controllers/admin/change_email_controller_spec.rb' + - 'spec/controllers/admin/users/roles_controller.rb' + - 'spec/controllers/api/oembed_controller_spec.rb' + - 'spec/controllers/concerns/account_controller_concern_spec.rb' + - 'spec/controllers/concerns/export_controller_concern_spec.rb' + - 'spec/controllers/concerns/localized_spec.rb' + - 'spec/controllers/concerns/rate_limit_headers_spec.rb' + - 'spec/controllers/concerns/signature_verification_spec.rb' + - 'spec/controllers/concerns/user_tracking_concern_spec.rb' + - 'spec/controllers/well_known/nodeinfo_controller_spec.rb' + - 'spec/helpers/admin/action_log_helper_spec.rb' + - 'spec/helpers/jsonld_helper_spec.rb' + - 'spec/lib/activitypub/activity/accept_spec.rb' + - 'spec/lib/activitypub/activity/add_spec.rb' + - 'spec/lib/activitypub/activity/announce_spec.rb' + - 'spec/lib/activitypub/activity/block_spec.rb' + - 'spec/lib/activitypub/activity/create_spec.rb' + - 'spec/lib/activitypub/activity/delete_spec.rb' + - 'spec/lib/activitypub/activity/flag_spec.rb' + - 'spec/lib/activitypub/activity/follow_spec.rb' + - 'spec/lib/activitypub/activity/like_spec.rb' + - 'spec/lib/activitypub/activity/move_spec.rb' + - 'spec/lib/activitypub/activity/reject_spec.rb' + - 'spec/lib/activitypub/activity/remove_spec.rb' + - 'spec/lib/activitypub/activity/undo_spec.rb' + - 'spec/lib/activitypub/activity/update_spec.rb' + - 'spec/lib/activitypub/adapter_spec.rb' + - 'spec/lib/activitypub/dereferencer_spec.rb' + - 'spec/lib/activitypub/linked_data_signature_spec.rb' + - 'spec/lib/activitypub/tag_manager_spec.rb' + - 'spec/lib/ostatus/tag_manager_spec.rb' + - 'spec/lib/sanitize_config_spec.rb' + - 'spec/serializers/activitypub/note_spec.rb' + - 'spec/serializers/activitypub/update_poll_spec.rb' + - 'spec/services/activitypub/fetch_featured_collection_service_spec.rb' + - 'spec/services/activitypub/fetch_featured_tags_collection_service_spec.rb' + - 'spec/services/activitypub/fetch_remote_account_service_spec.rb' + - 'spec/services/activitypub/fetch_remote_actor_service_spec.rb' + - 'spec/services/activitypub/fetch_remote_key_service_spec.rb' + - 'spec/services/activitypub/fetch_remote_status_service_spec.rb' + - 'spec/services/activitypub/fetch_replies_service_spec.rb' + - 'spec/services/activitypub/process_account_service_spec.rb' + - 'spec/services/activitypub/process_collection_service_spec.rb' + - 'spec/services/activitypub/process_status_update_service_spec.rb' + - 'spec/services/activitypub/synchronize_followers_service_spec.rb' + - 'spec/services/fetch_oembed_service_spec.rb' + - 'spec/services/remove_from_follwers_service_spec.rb' + - 'spec/workers/activitypub/delivery_worker_spec.rb' + - 'spec/workers/activitypub/distribute_poll_update_worker_spec.rb' + - 'spec/workers/activitypub/distribution_worker_spec.rb' + - 'spec/workers/activitypub/fetch_replies_worker_spec.rb' + - 'spec/workers/activitypub/move_distribution_worker_spec.rb' + - 'spec/workers/activitypub/processing_worker_spec.rb' + - 'spec/workers/activitypub/status_update_distribution_worker_spec.rb' + - 'spec/workers/activitypub/update_distribution_worker_spec.rb' + +# Offense count: 16 +# This cop supports safe autocorrection (--autocorrect). +# Configuration parameters: EnforcedStyle. +# SupportedStyles: implicit, each, example +RSpec/HookArgument: + Exclude: + - 'spec/controllers/api/v1/streaming_controller_spec.rb' + - 'spec/controllers/well_known/webfinger_controller_spec.rb' + - 'spec/helpers/instance_helper_spec.rb' + - 'spec/models/user_spec.rb' + - 'spec/rails_helper.rb' + - 'spec/serializers/activitypub/note_spec.rb' + - 'spec/serializers/activitypub/update_poll_spec.rb' + - 'spec/services/import_service_spec.rb' + - 'spec/spec_helper.rb' + +# Offense count: 1 +# This cop supports safe autocorrection (--autocorrect). +RSpec/HooksBeforeExamples: + Exclude: + - 'spec/services/fetch_resource_service_spec.rb' + +# Offense count: 159 +# This cop supports safe autocorrection (--autocorrect). +# Configuration parameters: EnforcedStyle. +# SupportedStyles: single_line_only, single_statement_only, disallow, require_implicit +RSpec/ImplicitSubject: + Exclude: + - 'spec/controllers/admin/accounts_controller_spec.rb' + - 'spec/controllers/admin/instances_controller_spec.rb' + - 'spec/controllers/application_controller_spec.rb' + - 'spec/controllers/home_controller_spec.rb' + - 'spec/controllers/relationships_controller_spec.rb' + - 'spec/controllers/settings/featured_tags_controller_spec.rb' + - 'spec/controllers/settings/migrations_controller_spec.rb' + - 'spec/controllers/settings/sessions_controller_spec.rb' + - 'spec/features/log_in_spec.rb' + - 'spec/features/profile_spec.rb' + - 'spec/lib/emoji_formatter_spec.rb' + - 'spec/lib/entity_cache_spec.rb' + - 'spec/lib/html_aware_formatter_spec.rb' + - 'spec/lib/ostatus/tag_manager_spec.rb' + - 'spec/lib/plain_text_formatter_spec.rb' + - 'spec/lib/text_formatter_spec.rb' + - 'spec/models/concerns/account_interactions_spec.rb' + - 'spec/models/custom_emoji_spec.rb' + - 'spec/models/media_attachment_spec.rb' + - 'spec/models/notification_spec.rb' + - 'spec/models/remote_follow_spec.rb' + - 'spec/models/report_spec.rb' + - 'spec/models/session_activation_spec.rb' + - 'spec/models/setting_spec.rb' + +# Offense count: 101 +# Configuration parameters: AssignmentOnly. +RSpec/InstanceVariable: + Exclude: + - 'spec/controllers/api/v1/streaming_controller_spec.rb' + - 'spec/controllers/application_controller_spec.rb' + - 'spec/controllers/auth/confirmations_controller_spec.rb' + - 'spec/controllers/auth/passwords_controller_spec.rb' + - 'spec/controllers/auth/sessions_controller_spec.rb' + - 'spec/controllers/concerns/export_controller_concern_spec.rb' + - 'spec/controllers/home_controller_spec.rb' + - 'spec/controllers/settings/two_factor_authentication/webauthn_credentials_controller_spec.rb' + - 'spec/controllers/statuses_cleanup_controller_spec.rb' + - 'spec/models/concerns/account_finder_concern_spec.rb' + - 'spec/models/concerns/account_interactions_spec.rb' + - 'spec/models/concerns/remotable_spec.rb' + - 'spec/models/public_feed_spec.rb' + - 'spec/serializers/activitypub/note_spec.rb' + - 'spec/serializers/activitypub/update_poll_spec.rb' + - 'spec/services/remove_status_service_spec.rb' + - 'spec/services/search_service_spec.rb' + - 'spec/services/unblock_domain_service_spec.rb' + +# Offense count: 118 +# This cop supports safe autocorrection (--autocorrect). +RSpec/LeadingSubject: + Exclude: + - 'spec/controllers/activitypub/collections_controller_spec.rb' + - 'spec/controllers/activitypub/followers_synchronizations_controller_spec.rb' + - 'spec/controllers/activitypub/inboxes_controller_spec.rb' + - 'spec/controllers/activitypub/outboxes_controller_spec.rb' + - 'spec/controllers/admin/invites_controller_spec.rb' + - 'spec/controllers/auth/registrations_controller_spec.rb' + - 'spec/controllers/well_known/webfinger_controller_spec.rb' + - 'spec/lib/activitypub/activity/accept_spec.rb' + - 'spec/lib/activitypub/activity/announce_spec.rb' + - 'spec/lib/activitypub/activity/create_spec.rb' + - 'spec/lib/activitypub/activity/reject_spec.rb' + - 'spec/lib/activitypub/activity/undo_spec.rb' + - 'spec/lib/activitypub/activity/update_spec.rb' + - 'spec/lib/activitypub/adapter_spec.rb' + - 'spec/lib/activitypub/dereferencer_spec.rb' + - 'spec/lib/activitypub/linked_data_signature_spec.rb' + - 'spec/lib/link_details_extractor_spec.rb' + - 'spec/lib/status_filter_spec.rb' + - 'spec/lib/status_reach_finder_spec.rb' + - 'spec/lib/suspicious_sign_in_detector_spec.rb' + - 'spec/lib/text_formatter_spec.rb' + - 'spec/lib/vacuum/backups_vacuum_spec.rb' + - 'spec/lib/vacuum/media_attachments_vacuum_spec.rb' + - 'spec/lib/vacuum/preview_cards_vacuum_spec.rb' + - 'spec/lib/vacuum/statuses_vacuum_spec.rb' + - 'spec/models/account/field_spec.rb' + - 'spec/models/account_spec.rb' + - 'spec/models/account_statuses_cleanup_policy_spec.rb' + - 'spec/models/account_statuses_filter_spec.rb' + - 'spec/models/concerns/account_interactions_spec.rb' + - 'spec/models/custom_emoji_filter_spec.rb' + - 'spec/models/custom_emoji_spec.rb' + - 'spec/models/home_feed_spec.rb' + - 'spec/models/media_attachment_spec.rb' + - 'spec/models/public_feed_spec.rb' + - 'spec/models/remote_follow_spec.rb' + - 'spec/models/setting_spec.rb' + - 'spec/models/status_spec.rb' + - 'spec/models/user_spec.rb' + - 'spec/models/web/push_subscription_spec.rb' + - 'spec/presenters/familiar_followers_presenter_spec.rb' + - 'spec/serializers/activitypub/note_spec.rb' + - 'spec/serializers/activitypub/update_poll_spec.rb' + - 'spec/serializers/rest/account_serializer_spec.rb' + - 'spec/services/activitypub/fetch_featured_collection_service_spec.rb' + - 'spec/services/activitypub/fetch_featured_tags_collection_service_spec.rb' + - 'spec/services/activitypub/fetch_remote_status_service_spec.rb' + - 'spec/services/activitypub/fetch_replies_service_spec.rb' + - 'spec/services/activitypub/process_account_service_spec.rb' + - 'spec/services/activitypub/process_collection_service_spec.rb' + - 'spec/services/activitypub/process_status_update_service_spec.rb' + - 'spec/services/activitypub/synchronize_followers_service_spec.rb' + - 'spec/services/after_block_domain_from_account_service_spec.rb' + - 'spec/services/app_sign_up_service_spec.rb' + - 'spec/services/authorize_follow_service_spec.rb' + - 'spec/services/block_domain_service_spec.rb' + - 'spec/services/block_service_spec.rb' + - 'spec/services/clear_domain_media_service_spec.rb' + - 'spec/services/delete_account_service_spec.rb' + - 'spec/services/fan_out_on_write_service_spec.rb' + - 'spec/services/favourite_service_spec.rb' + - 'spec/services/fetch_resource_service_spec.rb' + - 'spec/services/follow_service_spec.rb' + - 'spec/services/process_mentions_service_spec.rb' + - 'spec/services/purge_domain_service_spec.rb' + - 'spec/services/reblog_service_spec.rb' + - 'spec/services/reject_follow_service_spec.rb' + - 'spec/services/remove_from_follwers_service_spec.rb' + - 'spec/services/report_service_spec.rb' + - 'spec/services/suspend_account_service_spec.rb' + - 'spec/services/unallow_domain_service_spec.rb' + - 'spec/services/unblock_service_spec.rb' + - 'spec/services/unfollow_service_spec.rb' + - 'spec/services/unsuspend_account_service_spec.rb' + - 'spec/validators/blacklisted_email_validator_spec.rb' + - 'spec/workers/move_worker_spec.rb' + - 'spec/workers/unfollow_follow_worker_spec.rb' + +# Offense count: 15 +RSpec/LeakyConstantDeclaration: + Exclude: + - 'spec/controllers/api/base_controller_spec.rb' + - 'spec/controllers/application_controller_spec.rb' + - 'spec/controllers/concerns/accountable_concern_spec.rb' + - 'spec/controllers/concerns/signature_verification_spec.rb' + - 'spec/lib/activitypub/adapter_spec.rb' + - 'spec/lib/connection_pool/shared_connection_pool_spec.rb' + - 'spec/lib/connection_pool/shared_timed_stack_spec.rb' + - 'spec/lib/settings/extend_spec.rb' + - 'spec/models/concerns/remotable_spec.rb' + +# Offense count: 2 +# This cop supports safe autocorrection (--autocorrect). +RSpec/LetBeforeExamples: + Exclude: + - 'spec/models/user_spec.rb' + +# Offense count: 108 +RSpec/LetSetup: + Exclude: + - 'spec/controllers/admin/accounts_controller_spec.rb' + - 'spec/controllers/admin/action_logs_controller_spec.rb' + - 'spec/controllers/admin/instances_controller_spec.rb' + - 'spec/controllers/admin/reports/actions_controller_spec.rb' + - 'spec/controllers/admin/statuses_controller_spec.rb' + - 'spec/controllers/api/v1/accounts/statuses_controller_spec.rb' + - 'spec/controllers/api/v1/admin/accounts_controller_spec.rb' + - 'spec/controllers/api/v1/admin/domain_allows_controller_spec.rb' + - 'spec/controllers/api/v1/admin/domain_blocks_controller_spec.rb' + - 'spec/controllers/api/v1/filters_controller_spec.rb' + - 'spec/controllers/api/v1/followed_tags_controller_spec.rb' + - 'spec/controllers/api/v1/tags_controller_spec.rb' + - 'spec/controllers/api/v2/admin/accounts_controller_spec.rb' + - 'spec/controllers/api/v2/filters/keywords_controller_spec.rb' + - 'spec/controllers/api/v2/filters/statuses_controller_spec.rb' + - 'spec/controllers/api/v2/filters_controller_spec.rb' + - 'spec/controllers/auth/confirmations_controller_spec.rb' + - 'spec/controllers/auth/passwords_controller_spec.rb' + - 'spec/controllers/auth/sessions_controller_spec.rb' + - 'spec/controllers/follower_accounts_controller_spec.rb' + - 'spec/controllers/following_accounts_controller_spec.rb' + - 'spec/controllers/oauth/authorized_applications_controller_spec.rb' + - 'spec/controllers/oauth/tokens_controller_spec.rb' + - 'spec/controllers/tags_controller_spec.rb' + - 'spec/lib/activitypub/activity/delete_spec.rb' + - 'spec/lib/vacuum/preview_cards_vacuum_spec.rb' + - 'spec/models/account_spec.rb' + - 'spec/models/account_statuses_cleanup_policy_spec.rb' + - 'spec/models/canonical_email_block_spec.rb' + - 'spec/models/status_spec.rb' + - 'spec/models/user_spec.rb' + - 'spec/services/account_statuses_cleanup_service_spec.rb' + - 'spec/services/activitypub/fetch_featured_collection_service_spec.rb' + - 'spec/services/activitypub/fetch_remote_status_service_spec.rb' + - 'spec/services/activitypub/process_account_service_spec.rb' + - 'spec/services/activitypub/process_collection_service_spec.rb' + - 'spec/services/batched_remove_status_service_spec.rb' + - 'spec/services/block_domain_service_spec.rb' + - 'spec/services/delete_account_service_spec.rb' + - 'spec/services/import_service_spec.rb' + - 'spec/services/notify_service_spec.rb' + - 'spec/services/remove_status_service_spec.rb' + - 'spec/services/report_service_spec.rb' + - 'spec/services/resolve_account_service_spec.rb' + - 'spec/services/suspend_account_service_spec.rb' + - 'spec/services/unallow_domain_service_spec.rb' + - 'spec/services/unsuspend_account_service_spec.rb' + - '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' + - 'spec/models/concerns/remotable_spec.rb' + - 'spec/models/session_activation_spec.rb' + - 'spec/models/setting_spec.rb' + +# Offense count: 47 +# Configuration parameters: EnforcedStyle. +# SupportedStyles: have_received, receive +RSpec/MessageSpies: + Exclude: + - 'spec/controllers/admin/accounts_controller_spec.rb' + - 'spec/controllers/api/base_controller_spec.rb' + - 'spec/controllers/auth/registrations_controller_spec.rb' + - 'spec/helpers/admin/account_moderation_notes_helper_spec.rb' + - 'spec/helpers/application_helper_spec.rb' + - 'spec/lib/status_finder_spec.rb' + - 'spec/lib/webfinger_resource_spec.rb' + - 'spec/models/admin/account_action_spec.rb' + - 'spec/models/concerns/remotable_spec.rb' + - 'spec/models/follow_request_spec.rb' + - 'spec/models/identity_spec.rb' + - 'spec/models/session_activation_spec.rb' + - 'spec/models/setting_spec.rb' + - 'spec/services/activitypub/fetch_replies_service_spec.rb' + - 'spec/services/activitypub/process_collection_service_spec.rb' + - 'spec/spec_helper.rb' + - 'spec/validators/status_length_validator_spec.rb' + +# Offense count: 35 +RSpec/MissingExampleGroupArgument: + Exclude: + - 'spec/controllers/accounts_controller_spec.rb' + - 'spec/controllers/activitypub/collections_controller_spec.rb' + - 'spec/controllers/admin/statuses_controller_spec.rb' + - 'spec/controllers/admin/users/roles_controller.rb' + - 'spec/controllers/api/v1/accounts_controller_spec.rb' + - 'spec/controllers/api/v1/admin/account_actions_controller_spec.rb' + - 'spec/controllers/api/v1/admin/domain_allows_controller_spec.rb' + - 'spec/controllers/api/v1/statuses_controller_spec.rb' + - 'spec/controllers/application_controller_spec.rb' + - 'spec/controllers/auth/registrations_controller_spec.rb' + - 'spec/features/log_in_spec.rb' + - 'spec/lib/activitypub/activity/undo_spec.rb' + - 'spec/lib/status_reach_finder_spec.rb' + - 'spec/models/account_spec.rb' + - 'spec/models/email_domain_block_spec.rb' + - 'spec/models/trends/statuses_spec.rb' + - 'spec/models/trends/tags_spec.rb' + - 'spec/models/user_role_spec.rb' + - 'spec/models/user_spec.rb' + - 'spec/services/fetch_link_card_service_spec.rb' + - 'spec/services/notify_service_spec.rb' + - 'spec/services/process_mentions_service_spec.rb' + +# Offense count: 1 +RSpec/MultipleDescribes: + Exclude: + - 'spec/routing/well_known_routes_spec.rb' + +# Offense count: 599 +RSpec/MultipleExpectations: + Max: 19 + +# Offense count: 443 +# Configuration parameters: AllowSubject. +RSpec/MultipleMemoizedHelpers: + Max: 21 + +# Offense count: 7 +# This cop supports safe autocorrection (--autocorrect). +RSpec/MultipleSubjects: + Exclude: + - 'spec/controllers/activitypub/collections_controller_spec.rb' + - 'spec/controllers/activitypub/followers_synchronizations_controller_spec.rb' + - 'spec/controllers/activitypub/outboxes_controller_spec.rb' + - 'spec/controllers/api/web/embeds_controller_spec.rb' + - 'spec/controllers/emojis_controller_spec.rb' + - 'spec/controllers/follower_accounts_controller_spec.rb' + - 'spec/controllers/following_accounts_controller_spec.rb' + +# Offense count: 1252 +# Configuration parameters: EnforcedStyle, IgnoreSharedExamples. +# SupportedStyles: always, named_only +RSpec/NamedSubject: + Exclude: + - 'spec/controllers/admin/account_moderation_notes_controller_spec.rb' + - 'spec/controllers/admin/accounts_controller_spec.rb' + - 'spec/controllers/admin/confirmations_controller_spec.rb' + - 'spec/controllers/admin/custom_emojis_controller_spec.rb' + - 'spec/controllers/admin/domain_blocks_controller_spec.rb' + - 'spec/controllers/admin/invites_controller_spec.rb' + - 'spec/controllers/admin/report_notes_controller_spec.rb' + - 'spec/controllers/api/v1/accounts/notes_controller_spec.rb' + - 'spec/controllers/api/v1/accounts/pins_controller_spec.rb' + - 'spec/controllers/api/v1/admin/domain_blocks_controller_spec.rb' + - 'spec/controllers/auth/passwords_controller_spec.rb' + - 'spec/controllers/auth/registrations_controller_spec.rb' + - 'spec/controllers/invites_controller_spec.rb' + - 'spec/controllers/oauth/authorizations_controller_spec.rb' + - 'spec/controllers/oauth/authorized_applications_controller_spec.rb' + - 'spec/controllers/relationships_controller_spec.rb' + - 'spec/controllers/settings/featured_tags_controller_spec.rb' + - 'spec/controllers/settings/two_factor_authentication/confirmations_controller_spec.rb' + - 'spec/controllers/well_known/webfinger_controller_spec.rb' + - 'spec/lib/activitypub/activity/accept_spec.rb' + - 'spec/lib/activitypub/activity/add_spec.rb' + - 'spec/lib/activitypub/activity/announce_spec.rb' + - 'spec/lib/activitypub/activity/block_spec.rb' + - 'spec/lib/activitypub/activity/create_spec.rb' + - 'spec/lib/activitypub/activity/delete_spec.rb' + - 'spec/lib/activitypub/activity/flag_spec.rb' + - 'spec/lib/activitypub/activity/follow_spec.rb' + - 'spec/lib/activitypub/activity/like_spec.rb' + - 'spec/lib/activitypub/activity/move_spec.rb' + - 'spec/lib/activitypub/activity/reject_spec.rb' + - 'spec/lib/activitypub/activity/remove_spec.rb' + - 'spec/lib/activitypub/activity/undo_spec.rb' + - 'spec/lib/activitypub/activity/update_spec.rb' + - 'spec/lib/activitypub/adapter_spec.rb' + - 'spec/lib/activitypub/dereferencer_spec.rb' + - 'spec/lib/activitypub/linked_data_signature_spec.rb' + - 'spec/lib/activitypub/tag_manager_spec.rb' + - 'spec/lib/connection_pool/shared_connection_pool_spec.rb' + - 'spec/lib/connection_pool/shared_timed_stack_spec.rb' + - 'spec/lib/delivery_failure_tracker_spec.rb' + - 'spec/lib/emoji_formatter_spec.rb' + - 'spec/lib/fast_ip_map_spec.rb' + - 'spec/lib/feed_manager_spec.rb' + - 'spec/lib/hashtag_normalizer_spec.rb' + - 'spec/lib/link_details_extractor_spec.rb' + - 'spec/lib/request_pool_spec.rb' + - 'spec/lib/request_spec.rb' + - 'spec/lib/sanitize_config_spec.rb' + - 'spec/lib/status_finder_spec.rb' + - 'spec/lib/status_reach_finder_spec.rb' + - 'spec/lib/suspicious_sign_in_detector_spec.rb' + - 'spec/lib/vacuum/access_tokens_vacuum_spec.rb' + - 'spec/lib/vacuum/backups_vacuum_spec.rb' + - 'spec/lib/vacuum/feeds_vacuum_spec.rb' + - 'spec/lib/vacuum/media_attachments_vacuum_spec.rb' + - 'spec/lib/vacuum/preview_cards_vacuum_spec.rb' + - 'spec/lib/vacuum/statuses_vacuum_spec.rb' + - 'spec/lib/vacuum/system_keys_vacuum_spec.rb' + - 'spec/models/account/field_spec.rb' + - 'spec/models/account_migration_spec.rb' + - 'spec/models/account_spec.rb' + - 'spec/models/account_statuses_cleanup_policy_spec.rb' + - 'spec/models/account_statuses_filter_spec.rb' + - 'spec/models/admin/account_action_spec.rb' + - 'spec/models/canonical_email_block_spec.rb' + - 'spec/models/concerns/account_interactions_spec.rb' + - 'spec/models/custom_emoji_filter_spec.rb' + - 'spec/models/follow_spec.rb' + - 'spec/models/home_feed_spec.rb' + - 'spec/models/notification_spec.rb' + - 'spec/models/public_feed_spec.rb' + - 'spec/models/relationship_filter_spec.rb' + - 'spec/models/status_spec.rb' + - 'spec/models/tag_spec.rb' + - 'spec/models/trends/statuses_spec.rb' + - 'spec/models/trends/tags_spec.rb' + - 'spec/models/user_role_spec.rb' + - 'spec/models/user_spec.rb' + - 'spec/models/web/push_subscription_spec.rb' + - 'spec/policies/account_moderation_note_policy_spec.rb' + - 'spec/policies/account_policy_spec.rb' + - 'spec/policies/backup_policy_spec.rb' + - 'spec/policies/custom_emoji_policy_spec.rb' + - 'spec/policies/domain_block_policy_spec.rb' + - 'spec/policies/email_domain_block_policy_spec.rb' + - 'spec/policies/instance_policy_spec.rb' + - 'spec/policies/invite_policy_spec.rb' + - 'spec/policies/relay_policy_spec.rb' + - 'spec/policies/report_note_policy_spec.rb' + - 'spec/policies/report_policy_spec.rb' + - 'spec/policies/settings_policy_spec.rb' + - 'spec/policies/status_policy_spec.rb' + - 'spec/policies/tag_policy_spec.rb' + - 'spec/policies/user_policy_spec.rb' + - 'spec/presenters/familiar_followers_presenter_spec.rb' + - 'spec/serializers/activitypub/note_spec.rb' + - 'spec/serializers/activitypub/update_poll_spec.rb' + - 'spec/serializers/rest/account_serializer_spec.rb' + - 'spec/services/account_search_service_spec.rb' + - 'spec/services/account_statuses_cleanup_service_spec.rb' + - 'spec/services/activitypub/fetch_remote_account_service_spec.rb' + - 'spec/services/activitypub/fetch_remote_actor_service_spec.rb' + - 'spec/services/activitypub/fetch_remote_status_service_spec.rb' + - 'spec/services/activitypub/fetch_replies_service_spec.rb' + - 'spec/services/activitypub/process_account_service_spec.rb' + - 'spec/services/activitypub/process_collection_service_spec.rb' + - 'spec/services/activitypub/process_status_update_service_spec.rb' + - 'spec/services/after_block_domain_from_account_service_spec.rb' + - 'spec/services/after_block_service_spec.rb' + - 'spec/services/app_sign_up_service_spec.rb' + - 'spec/services/authorize_follow_service_spec.rb' + - 'spec/services/batched_remove_status_service_spec.rb' + - 'spec/services/block_domain_service_spec.rb' + - 'spec/services/block_service_spec.rb' + - 'spec/services/bootstrap_timeline_service_spec.rb' + - 'spec/services/clear_domain_media_service_spec.rb' + - 'spec/services/delete_account_service_spec.rb' + - 'spec/services/fan_out_on_write_service_spec.rb' + - 'spec/services/favourite_service_spec.rb' + - 'spec/services/fetch_link_card_service_spec.rb' + - 'spec/services/fetch_oembed_service_spec.rb' + - 'spec/services/fetch_remote_status_service_spec.rb' + - 'spec/services/fetch_resource_service_spec.rb' + - 'spec/services/follow_service_spec.rb' + - 'spec/services/import_service_spec.rb' + - 'spec/services/mute_service_spec.rb' + - 'spec/services/notify_service_spec.rb' + - 'spec/services/post_status_service_spec.rb' + - 'spec/services/precompute_feed_service_spec.rb' + - 'spec/services/process_mentions_service_spec.rb' + - 'spec/services/purge_domain_service_spec.rb' + - 'spec/services/reblog_service_spec.rb' + - 'spec/services/reject_follow_service_spec.rb' + - 'spec/services/remove_from_follwers_service_spec.rb' + - 'spec/services/remove_status_service_spec.rb' + - 'spec/services/report_service_spec.rb' + - 'spec/services/resolve_account_service_spec.rb' + - 'spec/services/resolve_url_service_spec.rb' + - 'spec/services/search_service_spec.rb' + - 'spec/services/suspend_account_service_spec.rb' + - 'spec/services/unallow_domain_service_spec.rb' + - 'spec/services/unblock_domain_service_spec.rb' + - 'spec/services/unblock_service_spec.rb' + - 'spec/services/unfollow_service_spec.rb' + - 'spec/services/unsuspend_account_service_spec.rb' + - 'spec/services/update_account_service_spec.rb' + - 'spec/services/update_status_service_spec.rb' + - 'spec/services/verify_link_service_spec.rb' + - 'spec/validators/blacklisted_email_validator_spec.rb' + - 'spec/validators/email_mx_validator_spec.rb' + - 'spec/validators/note_length_validator_spec.rb' + - 'spec/validators/reaction_validator_spec.rb' + - 'spec/validators/status_length_validator_spec.rb' + - 'spec/validators/status_pin_validator_spec.rb' + - 'spec/validators/unique_username_validator_spec.rb' + - 'spec/workers/activitypub/delivery_worker_spec.rb' + - 'spec/workers/activitypub/distribute_poll_update_worker_spec.rb' + - 'spec/workers/activitypub/distribution_worker_spec.rb' + - 'spec/workers/activitypub/fetch_replies_worker_spec.rb' + - 'spec/workers/activitypub/move_distribution_worker_spec.rb' + - 'spec/workers/activitypub/processing_worker_spec.rb' + - 'spec/workers/activitypub/status_update_distribution_worker_spec.rb' + - 'spec/workers/activitypub/update_distribution_worker_spec.rb' + - 'spec/workers/admin/domain_purge_worker_spec.rb' + - 'spec/workers/domain_block_worker_spec.rb' + - 'spec/workers/domain_clear_media_worker_spec.rb' + - 'spec/workers/feed_insert_worker_spec.rb' + - 'spec/workers/move_worker_spec.rb' + - 'spec/workers/publish_scheduled_announcement_worker_spec.rb' + - 'spec/workers/publish_scheduled_status_worker_spec.rb' + - 'spec/workers/refollow_worker_spec.rb' + - 'spec/workers/regeneration_worker_spec.rb' + - 'spec/workers/scheduler/accounts_statuses_cleanup_scheduler_spec.rb' + - 'spec/workers/scheduler/user_cleanup_scheduler_spec.rb' + - '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: + Exclude: + - 'spec/controllers/auth/registrations_controller_spec.rb' + - 'spec/services/precompute_feed_service_spec.rb' + +# Offense count: 370 +# This cop supports safe autocorrection (--autocorrect). +# Configuration parameters: EnforcedStyle. +# SupportedStyles: not_to, to_not +RSpec/NotToNot: + Exclude: + - 'spec/config/initializers/rack_attack_spec.rb' + - 'spec/controllers/accounts_controller_spec.rb' + - 'spec/controllers/admin/accounts_controller_spec.rb' + - 'spec/controllers/admin/email_domain_blocks_controller_spec.rb' + - 'spec/controllers/admin/roles_controller_spec.rb' + - 'spec/controllers/api/v1/accounts_controller_spec.rb' + - 'spec/controllers/api/v1/admin/account_actions_controller_spec.rb' + - 'spec/controllers/api/v1/admin/accounts_controller_spec.rb' + - 'spec/controllers/api/v1/admin/domain_allows_controller_spec.rb' + - 'spec/controllers/api/v1/admin/domain_blocks_controller_spec.rb' + - 'spec/controllers/api/v1/announcements/reactions_controller_spec.rb' + - 'spec/controllers/api/v1/announcements_controller_spec.rb' + - 'spec/controllers/api/v1/apps/credentials_controller_spec.rb' + - 'spec/controllers/api/v1/apps_controller_spec.rb' + - 'spec/controllers/api/v1/filters_controller_spec.rb' + - 'spec/controllers/api/v1/media_controller_spec.rb' + - 'spec/controllers/api/v1/notifications_controller_spec.rb' + - 'spec/controllers/api/v1/polls/votes_controller_spec.rb' + - 'spec/controllers/api/v1/reports_controller_spec.rb' + - 'spec/controllers/api/v1/statuses/mutes_controller_spec.rb' + - 'spec/controllers/api/v2/filters/keywords_controller_spec.rb' + - 'spec/controllers/api/v2/filters/statuses_controller_spec.rb' + - 'spec/controllers/api/v2/filters_controller_spec.rb' + - 'spec/controllers/auth/challenges_controller_spec.rb' + - 'spec/controllers/auth/confirmations_controller_spec.rb' + - 'spec/controllers/auth/passwords_controller_spec.rb' + - 'spec/controllers/auth/registrations_controller_spec.rb' + - 'spec/controllers/concerns/challengable_concern_spec.rb' + - 'spec/controllers/oauth/authorized_applications_controller_spec.rb' + - 'spec/controllers/oauth/tokens_controller_spec.rb' + - 'spec/controllers/settings/applications_controller_spec.rb' + - 'spec/controllers/settings/two_factor_authentication/webauthn_credentials_controller_spec.rb' + - 'spec/controllers/statuses_controller_spec.rb' + - 'spec/helpers/application_helper_spec.rb' + - 'spec/lib/activitypub/activity/announce_spec.rb' + - 'spec/lib/activitypub/activity/create_spec.rb' + - 'spec/lib/activitypub/activity/delete_spec.rb' + - 'spec/lib/activitypub/activity/flag_spec.rb' + - 'spec/lib/activitypub/dereferencer_spec.rb' + - 'spec/lib/activitypub/tag_manager_spec.rb' + - 'spec/lib/delivery_failure_tracker_spec.rb' + - 'spec/lib/feed_manager_spec.rb' + - 'spec/lib/html_aware_formatter_spec.rb' + - 'spec/lib/request_pool_spec.rb' + - 'spec/lib/status_reach_finder_spec.rb' + - 'spec/lib/vacuum/access_tokens_vacuum_spec.rb' + - 'spec/lib/vacuum/backups_vacuum_spec.rb' + - 'spec/lib/vacuum/media_attachments_vacuum_spec.rb' + - 'spec/lib/vacuum/preview_cards_vacuum_spec.rb' + - 'spec/lib/vacuum/statuses_vacuum_spec.rb' + - 'spec/lib/vacuum/system_keys_vacuum_spec.rb' + - 'spec/models/account/field_spec.rb' + - 'spec/models/account_conversation_spec.rb' + - 'spec/models/account_spec.rb' + - 'spec/models/account_statuses_cleanup_policy_spec.rb' + - 'spec/models/account_statuses_filter_spec.rb' + - 'spec/models/concerns/remotable_spec.rb' + - 'spec/models/concerns/status_threading_concern_spec.rb' + - 'spec/models/follow_spec.rb' + - 'spec/models/media_attachment_spec.rb' + - 'spec/models/status_spec.rb' + - 'spec/models/tag_feed_spec.rb' + - 'spec/models/trends/statuses_spec.rb' + - 'spec/models/trends/tags_spec.rb' + - 'spec/models/user_spec.rb' + - 'spec/models/webhook_spec.rb' + - 'spec/policies/account_moderation_note_policy_spec.rb' + - 'spec/policies/account_policy_spec.rb' + - 'spec/policies/backup_policy_spec.rb' + - 'spec/policies/custom_emoji_policy_spec.rb' + - 'spec/policies/domain_block_policy_spec.rb' + - 'spec/policies/email_domain_block_policy_spec.rb' + - 'spec/policies/instance_policy_spec.rb' + - 'spec/policies/invite_policy_spec.rb' + - 'spec/policies/relay_policy_spec.rb' + - 'spec/policies/report_note_policy_spec.rb' + - 'spec/policies/report_policy_spec.rb' + - 'spec/policies/settings_policy_spec.rb' + - 'spec/policies/status_policy_spec.rb' + - 'spec/policies/tag_policy_spec.rb' + - 'spec/policies/user_policy_spec.rb' + - 'spec/presenters/familiar_followers_presenter_spec.rb' + - 'spec/serializers/activitypub/note_spec.rb' + - 'spec/services/account_statuses_cleanup_service_spec.rb' + - 'spec/services/activitypub/fetch_remote_status_service_spec.rb' + - 'spec/services/activitypub/process_account_service_spec.rb' + - 'spec/services/activitypub/process_status_update_service_spec.rb' + - 'spec/services/app_sign_up_service_spec.rb' + - 'spec/services/batched_remove_status_service_spec.rb' + - 'spec/services/block_domain_service_spec.rb' + - 'spec/services/bootstrap_timeline_service_spec.rb' + - 'spec/services/fan_out_on_write_service_spec.rb' + - 'spec/services/favourite_service_spec.rb' + - 'spec/services/fetch_link_card_service_spec.rb' + - 'spec/services/fetch_oembed_service_spec.rb' + - 'spec/services/fetch_remote_status_service_spec.rb' + - 'spec/services/follow_service_spec.rb' + - 'spec/services/mute_service_spec.rb' + - 'spec/services/notify_service_spec.rb' + - 'spec/services/remove_status_service_spec.rb' + - 'spec/services/report_service_spec.rb' + - 'spec/services/resolve_account_service_spec.rb' + - 'spec/services/search_service_spec.rb' + - 'spec/services/suspend_account_service_spec.rb' + - 'spec/services/unallow_domain_service_spec.rb' + - 'spec/services/unsuspend_account_service_spec.rb' + - 'spec/services/update_status_service_spec.rb' + - 'spec/support/examples/models/concerns/account_avatar.rb' + - 'spec/support/examples/models/concerns/account_header.rb' + - 'spec/validators/email_mx_validator_spec.rb' + - 'spec/validators/note_length_validator_spec.rb' + - 'spec/validators/reaction_validator_spec.rb' + - 'spec/validators/status_length_validator_spec.rb' + - 'spec/validators/unique_username_validator_spec.rb' + - 'spec/workers/activitypub/fetch_replies_worker_spec.rb' + - 'spec/workers/scheduler/accounts_statuses_cleanup_scheduler_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 +RSpec/PredicateMatcher: + Exclude: + - 'spec/controllers/api/v1/accounts/notes_controller_spec.rb' + - 'spec/models/user_spec.rb' + - 'spec/services/post_status_service_spec.rb' + +# Offense count: 3 +# This cop supports unsafe autocorrection (--autocorrect-all). +RSpec/Rails/HaveHttpStatus: + Exclude: + - 'spec/controllers/settings/applications_controller_spec.rb' + - 'spec/requests/catch_all_route_request_spec.rb' + +# Offense count: 432 +# This cop supports safe autocorrection (--autocorrect). +# Configuration parameters: EnforcedStyle. +# SupportedStyles: numeric, symbolic +RSpec/Rails/HttpStatus: + Exclude: + - 'spec/controllers/about_controller_spec.rb' + - 'spec/controllers/accounts_controller_spec.rb' + - 'spec/controllers/activitypub/collections_controller_spec.rb' + - 'spec/controllers/activitypub/followers_synchronizations_controller_spec.rb' + - 'spec/controllers/activitypub/inboxes_controller_spec.rb' + - 'spec/controllers/activitypub/outboxes_controller_spec.rb' + - 'spec/controllers/activitypub/replies_controller_spec.rb' + - 'spec/controllers/admin/accounts_controller_spec.rb' + - 'spec/controllers/admin/action_logs_controller_spec.rb' + - 'spec/controllers/admin/change_email_controller_spec.rb' + - 'spec/controllers/admin/confirmations_controller_spec.rb' + - 'spec/controllers/admin/custom_emojis_controller_spec.rb' + - 'spec/controllers/admin/dashboard_controller_spec.rb' + - 'spec/controllers/admin/domain_allows_controller_spec.rb' + - 'spec/controllers/admin/domain_blocks_controller_spec.rb' + - 'spec/controllers/admin/email_domain_blocks_controller_spec.rb' + - 'spec/controllers/admin/export_domain_allows_controller_spec.rb' + - 'spec/controllers/admin/export_domain_blocks_controller_spec.rb' + - 'spec/controllers/admin/instances_controller_spec.rb' + - 'spec/controllers/admin/reports/actions_controller_spec.rb' + - 'spec/controllers/admin/reports_controller_spec.rb' + - 'spec/controllers/admin/settings/branding_controller_spec.rb' + - 'spec/controllers/admin/statuses_controller_spec.rb' + - 'spec/controllers/admin/tags_controller_spec.rb' + - 'spec/controllers/api/base_controller_spec.rb' + - 'spec/controllers/api/oembed_controller_spec.rb' + - 'spec/controllers/api/v1/accounts/credentials_controller_spec.rb' + - 'spec/controllers/api/v1/accounts/follower_accounts_controller_spec.rb' + - 'spec/controllers/api/v1/accounts/following_accounts_controller_spec.rb' + - 'spec/controllers/api/v1/accounts/lists_controller_spec.rb' + - 'spec/controllers/api/v1/accounts/notes_controller_spec.rb' + - 'spec/controllers/api/v1/accounts/pins_controller_spec.rb' + - 'spec/controllers/api/v1/accounts/relationships_controller_spec.rb' + - 'spec/controllers/api/v1/accounts/search_controller_spec.rb' + - 'spec/controllers/api/v1/accounts_controller_spec.rb' + - 'spec/controllers/api/v1/admin/account_actions_controller_spec.rb' + - 'spec/controllers/api/v1/admin/accounts_controller_spec.rb' + - 'spec/controllers/api/v1/admin/domain_allows_controller_spec.rb' + - 'spec/controllers/api/v1/admin/domain_blocks_controller_spec.rb' + - 'spec/controllers/api/v1/admin/reports_controller_spec.rb' + - 'spec/controllers/api/v1/announcements/reactions_controller_spec.rb' + - 'spec/controllers/api/v1/announcements_controller_spec.rb' + - 'spec/controllers/api/v1/apps/credentials_controller_spec.rb' + - 'spec/controllers/api/v1/apps_controller_spec.rb' + - 'spec/controllers/api/v1/blocks_controller_spec.rb' + - 'spec/controllers/api/v1/conversations_controller_spec.rb' + - 'spec/controllers/api/v1/custom_emojis_controller_spec.rb' + - 'spec/controllers/api/v1/domain_blocks_controller_spec.rb' + - 'spec/controllers/api/v1/endorsements_controller_spec.rb' + - 'spec/controllers/api/v1/filters_controller_spec.rb' + - 'spec/controllers/api/v1/follow_requests_controller_spec.rb' + - 'spec/controllers/api/v1/instances/activity_controller_spec.rb' + - 'spec/controllers/api/v1/instances/peers_controller_spec.rb' + - 'spec/controllers/api/v1/instances_controller_spec.rb' + - 'spec/controllers/api/v1/lists/accounts_controller_spec.rb' + - 'spec/controllers/api/v1/lists_controller_spec.rb' + - 'spec/controllers/api/v1/markers_controller_spec.rb' + - 'spec/controllers/api/v1/media_controller_spec.rb' + - 'spec/controllers/api/v1/mutes_controller_spec.rb' + - 'spec/controllers/api/v1/notifications_controller_spec.rb' + - 'spec/controllers/api/v1/polls/votes_controller_spec.rb' + - 'spec/controllers/api/v1/polls_controller_spec.rb' + - 'spec/controllers/api/v1/reports_controller_spec.rb' + - 'spec/controllers/api/v1/statuses/bookmarks_controller_spec.rb' + - 'spec/controllers/api/v1/statuses/favourited_by_accounts_controller_spec.rb' + - 'spec/controllers/api/v1/statuses/favourites_controller_spec.rb' + - 'spec/controllers/api/v1/statuses/histories_controller_spec.rb' + - 'spec/controllers/api/v1/statuses/mutes_controller_spec.rb' + - 'spec/controllers/api/v1/statuses/pins_controller_spec.rb' + - 'spec/controllers/api/v1/statuses/reblogged_by_accounts_controller_spec.rb' + - 'spec/controllers/api/v1/statuses/reblogs_controller_spec.rb' + - 'spec/controllers/api/v1/statuses/sources_controller_spec.rb' + - 'spec/controllers/api/v1/statuses_controller_spec.rb' + - 'spec/controllers/api/v1/streaming_controller_spec.rb' + - 'spec/controllers/api/v1/suggestions_controller_spec.rb' + - 'spec/controllers/api/v1/timelines/home_controller_spec.rb' + - 'spec/controllers/api/v1/timelines/list_controller_spec.rb' + - 'spec/controllers/api/v1/timelines/public_controller_spec.rb' + - 'spec/controllers/api/v1/timelines/tag_controller_spec.rb' + - 'spec/controllers/api/v1/trends/tags_controller_spec.rb' + - 'spec/controllers/api/v2/admin/accounts_controller_spec.rb' + - 'spec/controllers/api/v2/filters/keywords_controller_spec.rb' + - 'spec/controllers/api/v2/filters/statuses_controller_spec.rb' + - 'spec/controllers/api/v2/filters_controller_spec.rb' + - 'spec/controllers/api/v2/search_controller_spec.rb' + - 'spec/controllers/api/web/settings_controller_spec.rb' + - 'spec/controllers/application_controller_spec.rb' + - 'spec/controllers/auth/confirmations_controller_spec.rb' + - 'spec/controllers/auth/passwords_controller_spec.rb' + - 'spec/controllers/auth/registrations_controller_spec.rb' + - 'spec/controllers/auth/sessions_controller_spec.rb' + - 'spec/controllers/authorize_interactions_controller_spec.rb' + - 'spec/controllers/concerns/account_controller_concern_spec.rb' + - 'spec/controllers/concerns/export_controller_concern_spec.rb' + - 'spec/controllers/concerns/signature_verification_spec.rb' + - 'spec/controllers/emojis_controller_spec.rb' + - 'spec/controllers/follower_accounts_controller_spec.rb' + - 'spec/controllers/following_accounts_controller_spec.rb' + - 'spec/controllers/instance_actors_controller_spec.rb' + - 'spec/controllers/intents_controller_spec.rb' + - 'spec/controllers/invites_controller_spec.rb' + - 'spec/controllers/manifests_controller_spec.rb' + - 'spec/controllers/media_controller_spec.rb' + - 'spec/controllers/media_proxy_controller_spec.rb' + - 'spec/controllers/oauth/authorizations_controller_spec.rb' + - 'spec/controllers/oauth/authorized_applications_controller_spec.rb' + - 'spec/controllers/relationships_controller_spec.rb' + - 'spec/controllers/settings/applications_controller_spec.rb' + - 'spec/controllers/settings/deletes_controller_spec.rb' + - 'spec/controllers/settings/exports_controller_spec.rb' + - 'spec/controllers/settings/imports_controller_spec.rb' + - 'spec/controllers/settings/migrations_controller_spec.rb' + - 'spec/controllers/settings/preferences/notifications_controller_spec.rb' + - 'spec/controllers/settings/preferences/other_controller_spec.rb' + - 'spec/controllers/settings/profiles_controller_spec.rb' + - 'spec/controllers/settings/two_factor_authentication/confirmations_controller_spec.rb' + - 'spec/controllers/settings/two_factor_authentication/otp_authentication_controller_spec.rb' + - 'spec/controllers/settings/two_factor_authentication/recovery_codes_controller_spec.rb' + - 'spec/controllers/settings/two_factor_authentication/webauthn_credentials_controller_spec.rb' + - 'spec/controllers/settings/two_factor_authentication_methods_controller_spec.rb' + - 'spec/controllers/statuses_cleanup_controller_spec.rb' + - 'spec/controllers/statuses_controller_spec.rb' + - 'spec/controllers/tags_controller_spec.rb' + - 'spec/controllers/well_known/host_meta_controller_spec.rb' + - 'spec/controllers/well_known/nodeinfo_controller_spec.rb' + - 'spec/controllers/well_known/webfinger_controller_spec.rb' + - 'spec/requests/host_meta_request_spec.rb' + - 'spec/requests/webfinger_request_spec.rb' + +# Offense count: 180 +# This cop supports unsafe autocorrection (--autocorrect-all). +# Configuration parameters: Inferences. +RSpec/Rails/InferredSpecType: + Exclude: + - 'spec/controllers/about_controller_spec.rb' + - 'spec/controllers/accounts_controller_spec.rb' + - 'spec/controllers/activitypub/collections_controller_spec.rb' + - 'spec/controllers/activitypub/followers_synchronizations_controller_spec.rb' + - 'spec/controllers/activitypub/inboxes_controller_spec.rb' + - 'spec/controllers/activitypub/outboxes_controller_spec.rb' + - 'spec/controllers/activitypub/replies_controller_spec.rb' + - 'spec/controllers/admin/account_moderation_notes_controller_spec.rb' + - 'spec/controllers/admin/accounts_controller_spec.rb' + - 'spec/controllers/admin/action_logs_controller_spec.rb' + - 'spec/controllers/admin/base_controller_spec.rb' + - 'spec/controllers/admin/change_email_controller_spec.rb' + - 'spec/controllers/admin/confirmations_controller_spec.rb' + - 'spec/controllers/admin/dashboard_controller_spec.rb' + - 'spec/controllers/admin/disputes/appeals_controller_spec.rb' + - 'spec/controllers/admin/domain_allows_controller_spec.rb' + - 'spec/controllers/admin/domain_blocks_controller_spec.rb' + - 'spec/controllers/admin/email_domain_blocks_controller_spec.rb' + - 'spec/controllers/admin/export_domain_allows_controller_spec.rb' + - 'spec/controllers/admin/export_domain_blocks_controller_spec.rb' + - 'spec/controllers/admin/instances_controller_spec.rb' + - 'spec/controllers/admin/settings/branding_controller_spec.rb' + - 'spec/controllers/admin/tags_controller_spec.rb' + - 'spec/controllers/api/oembed_controller_spec.rb' + - 'spec/controllers/api/v1/accounts/pins_controller_spec.rb' + - 'spec/controllers/api/v1/accounts/search_controller_spec.rb' + - 'spec/controllers/api/v1/accounts_controller_spec.rb' + - 'spec/controllers/api/v1/admin/account_actions_controller_spec.rb' + - 'spec/controllers/api/v1/admin/accounts_controller_spec.rb' + - 'spec/controllers/api/v1/admin/domain_allows_controller_spec.rb' + - 'spec/controllers/api/v1/admin/domain_blocks_controller_spec.rb' + - 'spec/controllers/api/v1/admin/reports_controller_spec.rb' + - 'spec/controllers/api/v1/announcements/reactions_controller_spec.rb' + - 'spec/controllers/api/v1/announcements_controller_spec.rb' + - 'spec/controllers/api/v1/apps_controller_spec.rb' + - 'spec/controllers/api/v1/blocks_controller_spec.rb' + - 'spec/controllers/api/v1/bookmarks_controller_spec.rb' + - 'spec/controllers/api/v1/conversations_controller_spec.rb' + - 'spec/controllers/api/v1/custom_emojis_controller_spec.rb' + - 'spec/controllers/api/v1/domain_blocks_controller_spec.rb' + - 'spec/controllers/api/v1/emails/confirmations_controller_spec.rb' + - 'spec/controllers/api/v1/endorsements_controller_spec.rb' + - 'spec/controllers/api/v1/favourites_controller_spec.rb' + - 'spec/controllers/api/v1/filters_controller_spec.rb' + - 'spec/controllers/api/v1/follow_requests_controller_spec.rb' + - 'spec/controllers/api/v1/followed_tags_controller_spec.rb' + - 'spec/controllers/api/v1/instances/activity_controller_spec.rb' + - 'spec/controllers/api/v1/instances/peers_controller_spec.rb' + - 'spec/controllers/api/v1/instances_controller_spec.rb' + - 'spec/controllers/api/v1/lists_controller_spec.rb' + - 'spec/controllers/api/v1/markers_controller_spec.rb' + - 'spec/controllers/api/v1/media_controller_spec.rb' + - 'spec/controllers/api/v1/mutes_controller_spec.rb' + - 'spec/controllers/api/v1/notifications_controller_spec.rb' + - 'spec/controllers/api/v1/polls/votes_controller_spec.rb' + - 'spec/controllers/api/v1/polls_controller_spec.rb' + - 'spec/controllers/api/v1/reports_controller_spec.rb' + - 'spec/controllers/api/v1/statuses/favourited_by_accounts_controller_spec.rb' + - 'spec/controllers/api/v1/statuses/reblogged_by_accounts_controller_spec.rb' + - 'spec/controllers/api/v1/statuses_controller_spec.rb' + - 'spec/controllers/api/v1/suggestions_controller_spec.rb' + - 'spec/controllers/api/v1/tags_controller_spec.rb' + - 'spec/controllers/api/v1/trends/tags_controller_spec.rb' + - 'spec/controllers/api/v2/admin/accounts_controller_spec.rb' + - 'spec/controllers/api/v2/filters/keywords_controller_spec.rb' + - 'spec/controllers/api/v2/filters/statuses_controller_spec.rb' + - 'spec/controllers/api/v2/filters_controller_spec.rb' + - 'spec/controllers/api/v2/search_controller_spec.rb' + - 'spec/controllers/application_controller_spec.rb' + - 'spec/controllers/auth/challenges_controller_spec.rb' + - 'spec/controllers/auth/confirmations_controller_spec.rb' + - 'spec/controllers/auth/passwords_controller_spec.rb' + - 'spec/controllers/auth/registrations_controller_spec.rb' + - 'spec/controllers/auth/sessions_controller_spec.rb' + - 'spec/controllers/concerns/account_controller_concern_spec.rb' + - 'spec/controllers/concerns/cache_concern_spec.rb' + - 'spec/controllers/concerns/challengable_concern_spec.rb' + - 'spec/controllers/concerns/export_controller_concern_spec.rb' + - 'spec/controllers/concerns/localized_spec.rb' + - 'spec/controllers/concerns/signature_verification_spec.rb' + - 'spec/controllers/concerns/user_tracking_concern_spec.rb' + - 'spec/controllers/disputes/appeals_controller_spec.rb' + - 'spec/controllers/disputes/strikes_controller_spec.rb' + - 'spec/controllers/home_controller_spec.rb' + - 'spec/controllers/instance_actors_controller_spec.rb' + - 'spec/controllers/intents_controller_spec.rb' + - 'spec/controllers/oauth/authorizations_controller_spec.rb' + - 'spec/controllers/oauth/tokens_controller_spec.rb' + - 'spec/controllers/settings/imports_controller_spec.rb' + - 'spec/controllers/settings/profiles_controller_spec.rb' + - 'spec/controllers/statuses_cleanup_controller_spec.rb' + - 'spec/controllers/tags_controller_spec.rb' + - 'spec/controllers/well_known/host_meta_controller_spec.rb' + - 'spec/controllers/well_known/nodeinfo_controller_spec.rb' + - 'spec/controllers/well_known/webfinger_controller_spec.rb' + - 'spec/helpers/accounts_helper_spec.rb' + - 'spec/helpers/admin/account_moderation_notes_helper_spec.rb' + - 'spec/helpers/admin/action_log_helper_spec.rb' + - 'spec/helpers/flashes_helper_spec.rb' + - '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' + - 'spec/models/account/field_spec.rb' + - 'spec/models/account_alias_spec.rb' + - 'spec/models/account_conversation_spec.rb' + - 'spec/models/account_deletion_request_spec.rb' + - 'spec/models/account_domain_block_spec.rb' + - 'spec/models/account_migration_spec.rb' + - 'spec/models/account_moderation_note_spec.rb' + - 'spec/models/account_spec.rb' + - 'spec/models/account_statuses_cleanup_policy_spec.rb' + - 'spec/models/admin/account_action_spec.rb' + - 'spec/models/admin/action_log_spec.rb' + - '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' + - 'spec/models/favourite_spec.rb' + - 'spec/models/featured_tag_spec.rb' + - 'spec/models/follow_recommendation_suppression_spec.rb' + - 'spec/models/follow_request_spec.rb' + - 'spec/models/follow_spec.rb' + - 'spec/models/home_feed_spec.rb' + - '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' + - 'spec/models/status_trend_spec.rb' + - 'spec/models/system_key_spec.rb' + - 'spec/models/tag_follow_spec.rb' + - 'spec/models/unavailable_domain_spec.rb' + - 'spec/models/user_invite_request_spec.rb' + - 'spec/models/user_role_spec.rb' + - 'spec/models/user_spec.rb' + - 'spec/models/web/push_subscription_spec.rb' + - 'spec/models/web/setting_spec.rb' + - '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: 6 +# This cop supports safe autocorrection (--autocorrect). +# Configuration parameters: EnforcedStyle. +# SupportedStyles: and_return, block +RSpec/ReturnFromStub: + Exclude: + - 'spec/controllers/api/v1/accounts/credentials_controller_spec.rb' + - 'spec/controllers/api/v1/apps/credentials_controller_spec.rb' + - 'spec/controllers/api/v1/statuses/favourited_by_accounts_controller_spec.rb' + - 'spec/controllers/api/v1/statuses/reblogged_by_accounts_controller_spec.rb' + - 'spec/controllers/api/v1/statuses_controller_spec.rb' + - 'spec/validators/blacklisted_email_validator_spec.rb' + +# Offense count: 18 +# This cop supports safe autocorrection (--autocorrect). +RSpec/ScatteredLet: + Exclude: + - 'spec/controllers/admin/domain_blocks_controller_spec.rb' + - 'spec/controllers/api/v1/admin/domain_blocks_controller_spec.rb' + - 'spec/controllers/api/v1/push/subscriptions_controller_spec.rb' + - 'spec/lib/activitypub/activity/create_spec.rb' + - 'spec/lib/vacuum/media_attachments_vacuum_spec.rb' + - 'spec/services/activitypub/process_status_update_service_spec.rb' + - 'spec/services/fan_out_on_write_service_spec.rb' + - 'spec/services/import_service_spec.rb' + +# Offense count: 12 +RSpec/ScatteredSetup: + Exclude: + - 'spec/controllers/activitypub/followers_synchronizations_controller_spec.rb' + - 'spec/controllers/activitypub/outboxes_controller_spec.rb' + - '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' + - 'spec/controllers/api/v1/media_controller_spec.rb' + - 'spec/controllers/auth/registrations_controller_spec.rb' + - 'spec/helpers/application_helper_spec.rb' + - 'spec/lib/status_filter_spec.rb' + - 'spec/lib/status_finder_spec.rb' + - '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' + - 'spec/controllers/api/v1/admin/domain_blocks_controller_spec.rb' + - 'spec/models/account_migration_spec.rb' + - 'spec/models/account_spec.rb' + - 'spec/models/relationship_filter_spec.rb' + - 'spec/models/user_role_spec.rb' + - 'spec/policies/account_moderation_note_policy_spec.rb' + - 'spec/policies/account_policy_spec.rb' + - 'spec/policies/backup_policy_spec.rb' + - 'spec/policies/custom_emoji_policy_spec.rb' + - 'spec/policies/domain_block_policy_spec.rb' + - 'spec/policies/email_domain_block_policy_spec.rb' + - 'spec/policies/instance_policy_spec.rb' + - 'spec/policies/invite_policy_spec.rb' + - 'spec/policies/relay_policy_spec.rb' + - 'spec/policies/report_note_policy_spec.rb' + - 'spec/policies/report_policy_spec.rb' + - 'spec/policies/settings_policy_spec.rb' + - 'spec/policies/tag_policy_spec.rb' + - '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: + - 'spec/controllers/admin/change_email_controller_spec.rb' + - 'spec/controllers/admin/confirmations_controller_spec.rb' + - 'spec/controllers/admin/disputes/appeals_controller_spec.rb' + - 'spec/controllers/admin/domain_allows_controller_spec.rb' + - 'spec/controllers/admin/domain_blocks_controller_spec.rb' + - 'spec/controllers/api/v1/reports_controller_spec.rb' + - 'spec/controllers/api/web/embeds_controller_spec.rb' + - 'spec/controllers/auth/sessions_controller_spec.rb' + - 'spec/controllers/disputes/appeals_controller_spec.rb' + - 'spec/controllers/settings/imports_controller_spec.rb' + - 'spec/helpers/statuses_helper_spec.rb' + - 'spec/lib/suspicious_sign_in_detector_spec.rb' + - 'spec/models/account/field_spec.rb' + - 'spec/models/session_activation_spec.rb' + - 'spec/models/setting_spec.rb' + - 'spec/services/account_search_service_spec.rb' + - 'spec/services/post_status_service_spec.rb' + - 'spec/services/search_service_spec.rb' + - 'spec/validators/blacklisted_email_validator_spec.rb' + - 'spec/validators/disallowed_hashtags_validator_spec.rb' + - 'spec/validators/email_mx_validator_spec.rb' + - 'spec/validators/follow_limit_validator_spec.rb' + - 'spec/validators/note_length_validator_spec.rb' + - 'spec/validators/poll_validator_spec.rb' + - 'spec/validators/status_length_validator_spec.rb' + - 'spec/validators/status_pin_validator_spec.rb' + - 'spec/validators/unique_username_validator_spec.rb' + - 'spec/validators/unreserved_username_validator_spec.rb' + - 'spec/validators/url_validator_spec.rb' + - 'spec/views/statuses/show.html.haml_spec.rb' + - 'spec/workers/activitypub/processing_worker_spec.rb' + - 'spec/workers/admin/domain_purge_worker_spec.rb' + - 'spec/workers/domain_block_worker_spec.rb' + - 'spec/workers/domain_clear_media_worker_spec.rb' + - '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 +# Include: app/controllers/**/*.rb +Rails/ActionOrder: + Exclude: + - 'app/controllers/admin/announcements_controller.rb' + - 'app/controllers/admin/roles_controller.rb' + - 'app/controllers/admin/rules_controller.rb' + - 'app/controllers/admin/warning_presets_controller.rb' + - 'app/controllers/admin/webhooks_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/filters_controller.rb' + - 'app/controllers/api/v1/media_controller.rb' + - 'app/controllers/api/v1/push/subscriptions_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/auth/registrations_controller.rb' + - 'app/controllers/filters_controller.rb' + - '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 +Rails/ActiveRecordCallbacksOrder: + Exclude: + - 'app/models/account.rb' + - 'app/models/account_conversation.rb' + - 'app/models/announcement_reaction.rb' + - 'app/models/block.rb' + - 'app/models/media_attachment.rb' + - 'app/models/session_activation.rb' + - 'app/models/status.rb' + +# Offense count: 4 +# This cop supports unsafe autocorrection (--autocorrect-all). +Rails/ApplicationController: + Exclude: + - 'app/controllers/health_controller.rb' + - 'app/controllers/well_known/host_meta_controller.rb' + - 'app/controllers/well_known/nodeinfo_controller.rb' + - 'app/controllers/well_known/webfinger_controller.rb' + +# Offense count: 1 +# This cop supports unsafe autocorrection (--autocorrect-all). +# Configuration parameters: NilOrEmpty, NotPresent, UnlessPresent. +Rails/Blank: + Exclude: + - 'app/services/activitypub/fetch_remote_actor_service.rb' + +# Offense count: 35 +# Configuration parameters: Database, Include. +# SupportedDatabases: mysql, postgresql +# Include: db/migrate/*.rb +Rails/BulkChangeTable: + Exclude: + - 'db/migrate/20160222143943_add_profile_fields_to_accounts.rb' + - 'db/migrate/20160223162837_add_metadata_to_statuses.rb' + - 'db/migrate/20160305115639_add_devise_to_users.rb' + - 'db/migrate/20160314164231_add_owner_to_application.rb' + - 'db/migrate/20160926213048_remove_owner_from_application.rb' + - 'db/migrate/20161003142332_add_confirmable_to_users.rb' + - 'db/migrate/20170112154826_migrate_settings.rb' + - 'db/migrate/20170127165745_add_devise_two_factor_to_users.rb' + - 'db/migrate/20170322143850_change_primary_key_to_bigint_on_statuses.rb' + - 'db/migrate/20170330021336_add_counter_caches.rb' + - 'db/migrate/20170425202925_add_oembed_to_preview_cards.rb' + - 'db/migrate/20170427011934_re_add_owner_to_application.rb' + - 'db/migrate/20170520145338_change_language_filter_to_opt_out.rb' + - 'db/migrate/20170624134742_add_description_to_session_activations.rb' + - 'db/migrate/20170718211102_add_activitypub_to_accounts.rb' + - 'db/migrate/20171006142024_add_uri_to_custom_emojis.rb' + - 'db/migrate/20180812123222_change_relays_enabled.rb' + - 'db/migrate/20190511134027_add_silenced_at_suspended_at_to_accounts.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/20190901035623_add_max_score_to_tags.rb' + - 'db/migrate/20200417125749_add_storage_schema_version.rb' + - 'db/migrate/20200608113046_add_sign_in_token_to_users.rb' + - 'db/migrate/20211112011713_add_language_to_preview_cards.rb' + - 'db/migrate/20211231080958_add_category_to_reports.rb' + - 'db/migrate/20220202200743_add_trendable_to_accounts.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/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: + - 'app/helpers/application_helper.rb' + - 'app/helpers/statuses_helper.rb' + - 'app/models/concerns/attachmentable.rb' + - 'app/models/poll.rb' + - '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: + Exclude: + - 'db/migrate/20170508230434_create_conversation_mutes.rb' + - 'db/migrate/20170823162448_create_status_pins.rb' + - 'db/migrate/20171116161857_create_list_accounts.rb' + - 'db/migrate/20180929222014_create_account_conversations.rb' + - 'db/migrate/20181007025445_create_pghero_space_stats.rb' + - 'db/migrate/20190103124649_create_scheduled_statuses.rb' + - '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: 12 +# This cop supports safe autocorrection (--autocorrect). +# Configuration parameters: Include. +# Include: app/models/**/*.rb +Rails/EnumHash: + Exclude: + - 'app/models/account.rb' + - 'app/models/custom_filter.rb' + - 'app/models/domain_block.rb' + - 'app/models/import.rb' + - 'app/models/list.rb' + - 'app/models/media_attachment.rb' + - 'app/models/preview_card.rb' + - 'app/models/relay.rb' + - 'app/models/status.rb' + +# Offense count: 76 +# Configuration parameters: EnforcedStyle. +# SupportedStyles: slashes, arguments +Rails/FilePath: + Exclude: + - 'app/lib/themes.rb' + - 'app/models/setting.rb' + - 'app/validators/reaction_validator.rb' + - 'db/migrate/20170716191202_add_hide_notifications_to_mute.rb' + - 'db/migrate/20170918125918_ids_to_bigints.rb' + - 'db/migrate/20171005171936_add_disabled_to_custom_emojis.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/20171130000000_add_embed_url_to_preview_cards.rb' + - 'db/migrate/20180615122121_add_autofollow_to_invites.rb' + - 'db/migrate/20180707154237_add_whole_word_to_custom_filter.rb' + - 'db/migrate/20180814171349_add_confidential_to_doorkeeper_application.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/20181127130500_identity_id_to_bigint.rb' + - 'db/migrate/20181127165847_add_show_replies_to_lists.rb' + - 'db/migrate/20190201012802_add_overwrite_to_imports.rb' + - 'db/migrate/20190306145741_add_lock_version_to_polls.rb' + - 'db/migrate/20190307234537_add_approved_to_users.rb' + - 'db/migrate/20191001213028_add_lock_version_to_account_stats.rb' + - 'db/migrate/20191212003415_increase_backup_size.rb' + - 'db/migrate/20200312144258_add_title_to_account_warning_presets.rb' + - 'db/migrate/20200620164023_add_fixed_lowercase_index_to_accounts.rb' + - 'db/migrate/20200917192924_add_notify_to_follows.rb' + - 'db/migrate/20201218054746_add_obfuscate_to_domain_blocks.rb' + - 'db/migrate/20210421121431_add_case_insensitive_btree_index_to_tags.rb' + - 'db/migrate/20211231080958_add_category_to_reports.rb' + - 'db/migrate/20220613110834_add_action_to_custom_filters.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/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/seeds.rb' + - 'db/seeds/03_roles.rb' + - 'lib/tasks/branding.rake' + - 'lib/tasks/emojis.rake' + - 'lib/tasks/repo.rake' + - 'spec/controllers/admin/custom_emojis_controller_spec.rb' + - 'spec/fabricators/custom_emoji_fabricator.rb' + - 'spec/fabricators/site_upload_fabricator.rb' + - 'spec/rails_helper.rb' + - 'spec/spec_helper.rb' + +# Offense count: 2 +# This cop supports safe autocorrection (--autocorrect). +Rails/FindById: + Exclude: + - 'app/controllers/api/v1/notifications_controller.rb' + - 'app/controllers/media_controller.rb' + +# Offense count: 6 +# Configuration parameters: Include. +# Include: app/models/**/*.rb +Rails/HasAndBelongsToMany: + Exclude: + - 'app/models/concerns/account_associations.rb' + - 'app/models/preview_card.rb' + - 'app/models/status.rb' + - 'app/models/tag.rb' + +# Offense count: 15 +# Configuration parameters: Include. +# Include: app/models/**/*.rb +Rails/HasManyOrHasOneDependent: + Exclude: + - 'app/models/concerns/account_counters.rb' + - 'app/models/conversation.rb' + - 'app/models/custom_emoji.rb' + - 'app/models/custom_emoji_category.rb' + - 'app/models/domain_block.rb' + - 'app/models/invite.rb' + - 'app/models/status.rb' + - 'app/models/user.rb' + - 'app/models/web/push_subscription.rb' + +# Offense count: 4 +# Configuration parameters: Include. +# Include: app/helpers/**/*.rb +Rails/HelperInstanceVariable: + Exclude: + - 'app/helpers/application_helper.rb' + - '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/**/* +Rails/HttpPositionalArguments: + Exclude: + - 'spec/config/initializers/rack_attack_spec.rb' + +# Offense count: 49 +# This cop supports safe autocorrection (--autocorrect). +# Configuration parameters: EnforcedStyle. +# SupportedStyles: numeric, symbolic +Rails/HttpStatus: + Exclude: + - 'app/controllers/activitypub/inboxes_controller.rb' + - 'app/controllers/api/base_controller.rb' + - 'app/controllers/api/v1/admin/domain_blocks_controller.rb' + - 'app/controllers/api/v1/instances/activity_controller.rb' + - 'app/controllers/api/v1/instances/domain_blocks_controller.rb' + - 'app/controllers/api/v1/instances/peers_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/statuses_controller.rb' + - 'app/controllers/api/v1/streaming_controller.rb' + - 'app/controllers/api/v2/media_controller.rb' + - 'app/controllers/api/v2/search_controller.rb' + - 'app/controllers/api/web/base_controller.rb' + - 'app/controllers/settings/pictures_controller.rb' + - 'app/controllers/well_known/webfinger_controller.rb' + - 'spec/controllers/api/base_controller_spec.rb' + - 'spec/controllers/application_controller_spec.rb' + - 'spec/controllers/concerns/account_controller_concern_spec.rb' + - 'spec/controllers/concerns/localized_spec.rb' + - 'spec/controllers/concerns/rate_limit_headers_spec.rb' + - 'spec/controllers/concerns/signature_verification_spec.rb' + +# Offense count: 7 +# Configuration parameters: Include. +# Include: spec/**/*.rb, test/**/*.rb +Rails/I18nLocaleAssignment: + Exclude: + - 'spec/controllers/auth/registrations_controller_spec.rb' + - '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: + - 'app/models/account.rb' + - 'app/models/account_stat.rb' + - 'app/models/admin/action_log.rb' + - 'app/models/custom_filter.rb' + - 'app/models/email_domain_block.rb' + - 'app/models/report.rb' + - 'app/models/status_edit.rb' + - 'app/models/user.rb' + +# Offense count: 25 +# Configuration parameters: IgnoreScopes, Include. +# Include: app/models/**/*.rb +Rails/InverseOf: + Exclude: + - 'app/models/appeal.rb' + - 'app/models/concerns/account_interactions.rb' + - 'app/models/custom_emoji.rb' + - 'app/models/domain_block.rb' + - 'app/models/follow_recommendation.rb' + - '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: + Exclude: + - 'app/controllers/admin/domain_blocks_controller.rb' + - 'app/controllers/admin/email_domain_blocks_controller.rb' + - 'app/controllers/auth/passwords_controller.rb' + - '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: + - 'app/controllers/concerns/signature_verification.rb' + - 'app/helpers/jsonld_helper.rb' + - 'app/lib/activitypub/activity/create.rb' + - 'app/lib/activitypub/activity/move.rb' + - 'app/lib/feed_manager.rb' + - 'app/lib/link_details_extractor.rb' + - 'app/models/concerns/attachmentable.rb' + - 'app/models/concerns/remotable.rb' + - 'app/models/custom_filter.rb' + - 'app/models/webhook.rb' + - 'app/services/activitypub/process_status_update_service.rb' + - 'app/services/fetch_link_card_service.rb' + - 'app/services/search_service.rb' + - '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 +Rails/Output: + Exclude: + - 'lib/mastodon/ip_blocks_cli.rb' + +# Offense count: 14 +# This cop supports safe autocorrection (--autocorrect). +Rails/Pluck: + Exclude: + - 'app/lib/importer/base_importer.rb' + - 'app/lib/link_details_extractor.rb' + - 'app/workers/scheduler/accounts_statuses_cleanup_scheduler.rb' + - 'spec/controllers/api/v1/notifications_controller_spec.rb' + - 'spec/controllers/api/v1/suggestions_controller_spec.rb' + - 'spec/controllers/settings/two_factor_authentication/webauthn_credentials_controller_spec.rb' + +# Offense count: 9 +# This cop supports unsafe autocorrection (--autocorrect-all). +# Configuration parameters: Include. +# Include: **/Rakefile, **/*.rake +Rails/RakeEnvironment: + Exclude: + - 'lib/tasks/auto_annotate_models.rake' + - 'lib/tasks/db.rake' + - 'lib/tasks/emojis.rake' + - 'lib/tasks/mastodon.rake' + - 'lib/tasks/repo.rake' + - 'lib/tasks/statistics.rake' + +# Offense count: 8 +# This cop supports safe autocorrection (--autocorrect). +Rails/RedundantForeignKey: + Exclude: + - 'app/models/custom_filter.rb' + - 'app/models/follow_recommendation.rb' + - 'app/models/report.rb' + - 'app/models/status.rb' + - 'app/models/user_ip.rb' + - 'db/post_migrate/20221101190723_backfill_admin_action_logs.rb' + - 'db/post_migrate/20221206114142_backfill_admin_action_logs_again.rb' + +# Offense count: 29 +# Configuration parameters: Include. +# Include: db/**/*.rb +Rails/ReversibleMigration: + Exclude: + - 'db/migrate/20160223164502_make_uris_nullable_in_statuses.rb' + - 'db/migrate/20161122163057_remove_unneeded_indexes.rb' + - 'db/migrate/20170205175257_remove_devices.rb' + - 'db/migrate/20170322143850_change_primary_key_to_bigint_on_statuses.rb' + - 'db/migrate/20170520145338_change_language_filter_to_opt_out.rb' + - 'db/migrate/20170609145826_remove_default_language_from_statuses.rb' + - 'db/migrate/20170711225116_fix_null_booleans.rb' + - 'db/migrate/20171129172043_add_index_on_stream_entries.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/20180617162849_remove_unused_indexes.rb' + - 'db/migrate/20220827195229_change_canonical_email_blocks_nullable.rb' + +# Offense count: 10 +# This cop supports unsafe autocorrection (--autocorrect-all). +Rails/RootPathnameMethods: + Exclude: + - 'lib/mastodon/premailer_webpack_strategy.rb' + - 'lib/tasks/emojis.rake' + - 'lib/tasks/mastodon.rake' + - 'lib/tasks/repo.rake' + - 'spec/fabricators/custom_emoji_fabricator.rb' + - 'spec/fabricators/site_upload_fabricator.rb' + - 'spec/rails_helper.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: + Exclude: + - 'app/controllers/admin/invites_controller.rb' + - 'app/controllers/concerns/session_tracking_concern.rb' + - 'app/models/concerns/account_merging.rb' + - 'app/models/concerns/expireable.rb' + - 'app/models/status.rb' + - 'app/models/trends/links.rb' + - 'app/models/trends/preview_card_batch.rb' + - 'app/models/trends/preview_card_provider_batch.rb' + - 'app/models/trends/status_batch.rb' + - 'app/models/trends/statuses.rb' + - 'app/models/trends/tag_batch.rb' + - 'app/models/trends/tags.rb' + - 'app/models/user.rb' + - 'app/services/activitypub/process_status_update_service.rb' + - 'app/services/approve_appeal_service.rb' + - 'app/services/block_domain_service.rb' + - 'app/services/delete_account_service.rb' + - 'app/services/process_mentions_service.rb' + - 'app/services/unallow_domain_service.rb' + - 'app/services/unblock_domain_service.rb' + - 'app/services/update_status_service.rb' + - 'app/workers/activitypub/post_upgrade_worker.rb' + - 'app/workers/move_worker.rb' + - 'app/workers/scheduler/ip_cleanup_scheduler.rb' + - 'app/workers/scheduler/scheduled_statuses_scheduler.rb' + - 'db/migrate/20161203164520_add_from_account_id_to_notifications.rb' + - 'db/migrate/20170105224407_add_shortcode_to_media_attachments.rb' + - 'db/migrate/20170209184350_add_reply_to_statuses.rb' + - 'db/migrate/20170304202101_add_type_to_media_attachments.rb' + - 'db/migrate/20180528141303_fix_accounts_unique_index.rb' + - 'db/migrate/20180609104432_migrate_web_push_subscriptions2.rb' + - 'db/migrate/20181207011115_downcase_custom_emoji_domains.rb' + - 'db/migrate/20190511134027_add_silenced_at_suspended_at_to_accounts.rb' + - 'db/migrate/20191007013357_update_pt_locales.rb' + - 'db/migrate/20220316233212_update_kurdish_locales.rb' + - 'db/post_migrate/20190511152737_remove_suspended_silenced_account_fields.rb' + - 'db/post_migrate/20200917193528_migrate_notifications_type.rb' + - 'db/post_migrate/20201017234926_fill_account_suspension_origin.rb' + - 'db/post_migrate/20220617202502_migrate_roles.rb' + - 'db/post_migrate/20221101190723_backfill_admin_action_logs.rb' + - 'db/post_migrate/20221206114142_backfill_admin_action_logs_again.rb' + - 'lib/cli.rb' + - 'lib/mastodon/accounts_cli.rb' + - 'lib/mastodon/maintenance_cli.rb' + - 'spec/controllers/api/v1/admin/accounts_controller_spec.rb' + - 'spec/lib/activitypub/activity/follow_spec.rb' + - '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: + - 'db/migrate/20170920024819_status_ids_to_timestamp_ids.rb' + - 'db/migrate/20180608213548_reject_following_blocked_users.rb' + - 'db/post_migrate/20190519130537_remove_boosts_widening_audience.rb' + - 'lib/mastodon/snowflake.rb' + - 'lib/tasks/tests.rake' + +# Offense count: 7 +Rails/TransactionExitStatement: + Exclude: + - 'app/lib/activitypub/activity/announce.rb' + - 'app/lib/activitypub/activity/create.rb' + - '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: + Exclude: + - 'app/models/account_alias.rb' + - 'app/models/custom_filter_status.rb' + - 'app/models/identity.rb' + - 'app/models/webauthn_credential.rb' + +# Offense count: 19 +# Configuration parameters: Include. +# Include: app/models/**/*.rb +Rails/UnusedIgnoredColumns: + Exclude: + - 'app/models/account.rb' + - 'app/models/account_stat.rb' + - 'app/models/admin/action_log.rb' + - 'app/models/custom_filter.rb' + - 'app/models/email_domain_block.rb' + - 'app/models/report.rb' + - 'app/models/status_edit.rb' + - 'app/models/user.rb' + +# Offense count: 2 +# This cop supports unsafe autocorrection (--autocorrect-all). +Rails/WhereEquals: + Exclude: + - 'app/models/announcement.rb' + - 'app/models/status.rb' + +# Offense count: 61 +# This cop supports unsafe autocorrection (--autocorrect-all). +# Configuration parameters: EnforcedStyle. +# SupportedStyles: exists, where +Rails/WhereExists: + Exclude: + - 'app/controllers/activitypub/inboxes_controller.rb' + - 'app/controllers/admin/email_domain_blocks_controller.rb' + - 'app/controllers/auth/registrations_controller.rb' + - 'app/lib/activitypub/activity/create.rb' + - 'app/lib/delivery_failure_tracker.rb' + - 'app/lib/feed_manager.rb' + - 'app/lib/status_cache_hydrator.rb' + - 'app/lib/suspicious_sign_in_detector.rb' + - 'app/models/concerns/account_interactions.rb' + - 'app/models/featured_tag.rb' + - 'app/models/poll.rb' + - 'app/models/session_activation.rb' + - 'app/models/status.rb' + - 'app/models/user.rb' + - 'app/policies/status_policy.rb' + - 'app/serializers/rest/announcement_serializer.rb' + - 'app/serializers/rest/tag_serializer.rb' + - 'app/services/activitypub/fetch_remote_status_service.rb' + - 'app/services/app_sign_up_service.rb' + - 'app/services/vote_service.rb' + - 'app/validators/reaction_validator.rb' + - 'app/validators/vote_validator.rb' + - 'app/workers/move_worker.rb' + - 'db/migrate/20190529143559_preserve_old_layout_for_existing_users.rb' + - 'lib/mastodon/email_domain_blocks_cli.rb' + - 'lib/tasks/tests.rake' + - 'spec/controllers/api/v1/accounts/notes_controller_spec.rb' + - 'spec/controllers/api/v1/tags_controller_spec.rb' + - 'spec/models/account_spec.rb' + - 'spec/services/activitypub/process_collection_service_spec.rb' + - 'spec/services/post_status_service_spec.rb' + - 'spec/services/purge_domain_service_spec.rb' + - 'spec/services/unallow_domain_service_spec.rb' + +# Offense count: 3 +# This cop supports unsafe autocorrection (--autocorrect-all). +Security/IoMethods: + Exclude: + - 'spec/controllers/admin/export_domain_allows_controller_spec.rb' + - 'spec/controllers/admin/export_domain_blocks_controller_spec.rb' + +# Offense count: 9 +# This cop supports safe autocorrection (--autocorrect). +# Configuration parameters: EnforcedStyle, ProceduralMethods, FunctionalMethods, AllowedMethods, AllowedPatterns, AllowBracesOnProceduralOneLiners, BracesRequiredMethods. +# SupportedStyles: line_count_based, semantic, braces_for_chaining, always_braces +# ProceduralMethods: benchmark, bm, bmbm, create, each_with_object, measure, new, realtime, tap, with_object +# FunctionalMethods: let, let!, subject, watch +# AllowedMethods: lambda, proc, it +Style/BlockDelimiters: + Exclude: + - 'db/migrate/20171020084748_add_visible_in_picker_to_custom_emoji.rb' + - 'spec/controllers/settings/applications_controller_spec.rb' + - 'spec/lib/webfinger_resource_spec.rb' + +# Offense count: 5 +# This cop supports unsafe autocorrection (--autocorrect-all). +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 + +# Offense count: 2 +# This cop supports safe autocorrection (--autocorrect). +# Configuration parameters: AllowedMethods, AllowedPatterns. +# AllowedMethods: ==, equal?, eql? +Style/ClassEqualityComparison: + Exclude: + - '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 + +# Offense count: 3 +# This cop supports safe autocorrection (--autocorrect). +Style/EmptyLambdaParameter: + Exclude: + - 'spec/config/initializers/rack_attack_spec.rb' + +# Offense count: 3 +# This cop supports safe autocorrection (--autocorrect). +# Configuration parameters: EnforcedStyle. +# SupportedStyles: compact, expanded +Style/EmptyMethod: + Exclude: + - 'db/migrate/20181024224956_migrate_account_conversations.rb' + - 'db/migrate/20190529143559_preserve_old_layout_for_existing_users.rb' + - 'db/migrate/20200510110808_reset_web_app_secret.rb' + +# Offense count: 1 +# This cop supports safe autocorrection (--autocorrect). +Style/ExplicitBlockArgument: + Exclude: + - 'app/mailers/application_mailer.rb' + +# Offense count: 10 +# This cop supports safe autocorrection (--autocorrect). +# Configuration parameters: AllowedVars. +Style/FetchEnvVar: + Exclude: + - 'app/helpers/application_helper.rb' + - 'app/lib/redis_configuration.rb' + - 'app/lib/translation_service.rb' + - 'lib/mastodon/premailer_webpack_strategy.rb' + - 'lib/mastodon/redis_config.rb' + - 'lib/tasks/repo.rake' + - 'spec/features/profile_spec.rb' + +# Offense count: 3 +# This cop supports safe autocorrection (--autocorrect). +# Configuration parameters: EnforcedStyle. +# SupportedStyles: format, sprintf, percent +Style/FormatString: + Exclude: + - 'app/serializers/rest/privacy_policy_serializer.rb' + - 'lib/mastodon/maintenance_cli.rb' + - 'lib/paperclip/color_extractor.rb' + +# Offense count: 15 +# This cop supports safe autocorrection (--autocorrect). +# Configuration parameters: EnforcedStyle, MaxUnannotatedPlaceholdersAllowed, AllowedMethods, AllowedPatterns. +# SupportedStyles: annotated, template, unannotated +Style/FormatStringToken: + Exclude: + - 'app/models/privacy_policy.rb' + - '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 + +# Offense count: 69 +# This cop supports safe autocorrection (--autocorrect). +# Configuration parameters: MinBodyLength, AllowConsecutiveConditionals. +Style/GuardClause: + Exclude: + - 'app/controllers/admin/confirmations_controller.rb' + - 'app/controllers/admin/domain_blocks_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/statuses_controller.rb' + - 'app/controllers/api/v1/blocks_controller.rb' + - 'app/controllers/api/v1/conversations_controller.rb' + - 'app/controllers/api/v1/domain_blocks_controller.rb' + - 'app/controllers/api/v1/endorsements_controller.rb' + - 'app/controllers/api/v1/favourites_controller.rb' + - 'app/controllers/api/v1/follow_requests_controller.rb' + - 'app/controllers/api/v1/lists/accounts_controller.rb' + - 'app/controllers/api/v1/mutes_controller.rb' + - 'app/controllers/api/v1/notifications_controller.rb' + - 'app/controllers/api/v1/scheduled_statuses_controller.rb' + - 'app/controllers/api/v1/statuses/favourited_by_accounts_controller.rb' + - 'app/controllers/api/v1/statuses/reblogged_by_accounts_controller.rb' + - 'app/controllers/auth/confirmations_controller.rb' + - 'app/controllers/auth/passwords_controller.rb' + - 'app/controllers/filters/statuses_controller.rb' + - 'app/controllers/settings/two_factor_authentication/webauthn_credentials_controller.rb' + - 'app/lib/activitypub/activity/block.rb' + - 'app/lib/activitypub/linked_data_signature.rb' + - 'app/lib/connection_pool/shared_connection_pool.rb' + - 'app/lib/request.rb' + - 'app/lib/request_pool.rb' + - 'app/lib/status_finder.rb' + - 'app/lib/webfinger.rb' + - 'app/lib/webfinger_resource.rb' + - 'app/models/account_statuses_cleanup_policy.rb' + - 'app/models/concerns/account_counters.rb' + - 'app/models/concerns/ldap_authenticable.rb' + - 'app/models/tag.rb' + - 'app/models/user.rb' + - 'app/serializers/rest/instance_serializer.rb' + - 'app/services/fan_out_on_write_service.rb' + - 'app/services/post_status_service.rb' + - 'app/services/process_hashtags_service.rb' + - 'app/workers/move_worker.rb' + - 'app/workers/redownload_avatar_worker.rb' + - 'app/workers/redownload_header_worker.rb' + - 'app/workers/redownload_media_worker.rb' + - 'app/workers/remote_account_refresh_worker.rb' + - 'db/migrate/20170901141119_truncate_preview_cards.rb' + - 'db/post_migrate/20220704024901_migrate_settings_to_user_roles.rb' + - 'lib/devise/two_factor_ldap_authenticatable.rb' + - 'lib/devise/two_factor_pam_authenticatable.rb' + - 'lib/mastodon/accounts_cli.rb' + - 'lib/mastodon/maintenance_cli.rb' + - 'lib/mastodon/media_cli.rb' + - '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 +Style/HashAsLastArrayItem: + Exclude: + - 'app/controllers/admin/statuses_controller.rb' + - 'app/controllers/api/v1/statuses_controller.rb' + - 'app/models/account.rb' + - 'app/models/concerns/account_counters.rb' + - 'app/models/concerns/status_threading_concern.rb' + - 'app/models/status.rb' + - 'app/services/batched_remove_status_service.rb' + - 'app/services/notify_service.rb' + - 'db/migrate/20181024224956_migrate_account_conversations.rb' + +# Offense count: 1 +# This cop supports safe autocorrection (--autocorrect). +# Configuration parameters: AllowSplatArgument. +Style/HashConversion: + Exclude: + - 'app/services/import_service.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 +# SupportedShorthandSyntax: always, never, either, consistent +Style/HashSyntax: + Exclude: + - 'app/helpers/application_helper.rb' + - 'app/models/media_attachment.rb' + - 'lib/terrapin/multi_pipe_extensions.rb' + - 'spec/controllers/admin/reports/actions_controller_spec.rb' + - '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: 176 +# This cop supports safe autocorrection (--autocorrect). +Style/IfUnlessModifier: + Exclude: + - 'app/controllers/admin/domain_blocks_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/statuses_controller.rb' + - 'app/controllers/api/v1/admin/accounts_controller.rb' + - 'app/controllers/api/v1/admin/domain_blocks_controller.rb' + - 'app/controllers/api/v1/blocks_controller.rb' + - 'app/controllers/api/v1/conversations_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/filters_controller.rb' + - 'app/controllers/api/v1/follow_requests_controller.rb' + - 'app/controllers/api/v1/lists/accounts_controller.rb' + - 'app/controllers/api/v1/mutes_controller.rb' + - 'app/controllers/api/v1/notifications_controller.rb' + - 'app/controllers/api/v1/scheduled_statuses_controller.rb' + - 'app/controllers/api/v1/statuses/favourited_by_accounts_controller.rb' + - 'app/controllers/api/v1/statuses/reblogged_by_accounts_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/search_controller.rb' + - 'app/controllers/auth/registrations_controller.rb' + - 'app/controllers/auth/sessions_controller.rb' + - 'app/controllers/concerns/localized.rb' + - 'app/controllers/concerns/rate_limit_headers.rb' + - 'app/controllers/concerns/signature_verification.rb' + - 'app/controllers/filters/statuses_controller.rb' + - 'app/helpers/application_helper.rb' + - 'app/helpers/jsonld_helper.rb' + - 'app/lib/activitypub/activity/announce.rb' + - 'app/lib/activitypub/activity/create.rb' + - 'app/lib/activitypub/activity/like.rb' + - 'app/lib/activitypub/linked_data_signature.rb' + - 'app/lib/activitypub/parser/media_attachment_parser.rb' + - 'app/lib/feed_manager.rb' + - 'app/lib/status_cache_hydrator.rb' + - 'app/lib/status_finder.rb' + - 'app/models/account.rb' + - 'app/models/account_migration.rb' + - 'app/models/account_statuses_cleanup_policy.rb' + - 'app/models/admin/import.rb' + - 'app/models/admin/status_batch_action.rb' + - 'app/models/concerns/account_avatar.rb' + - 'app/models/concerns/account_counters.rb' + - 'app/models/concerns/account_header.rb' + - 'app/models/concerns/account_interactions.rb' + - 'app/models/concerns/attachmentable.rb' + - 'app/models/concerns/ldap_authenticable.rb' + - 'app/models/concerns/omniauthable.rb' + - 'app/models/form/redirect.rb' + - 'app/models/media_attachment.rb' + - 'app/models/scheduled_status.rb' + - 'app/models/status.rb' + - 'app/models/trends.rb' + - 'app/models/trends/links.rb' + - 'app/models/trends/statuses.rb' + - 'app/models/user_role.rb' + - 'app/presenters/status_relationships_presenter.rb' + - 'app/serializers/initial_state_serializer.rb' + - 'app/serializers/rest/instance_serializer.rb' + - 'app/services/activitypub/fetch_remote_actor_service.rb' + - 'app/services/activitypub/fetch_remote_status_service.rb' + - 'app/services/activitypub/prepare_followers_synchronization_service.rb' + - 'app/services/activitypub/process_status_update_service.rb' + - 'app/services/block_domain_service.rb' + - 'app/services/fetch_link_card_service.rb' + - 'app/services/fetch_resource_service.rb' + - 'app/services/notify_service.rb' + - 'app/services/post_status_service.rb' + - 'app/services/remove_from_followers_service.rb' + - 'app/services/report_service.rb' + - 'app/services/resolve_account_service.rb' + - 'app/services/search_service.rb' + - 'app/services/unblock_domain_service.rb' + - 'app/services/update_status_service.rb' + - 'app/validators/disallowed_hashtags_validator.rb' + - 'app/validators/existing_username_validator.rb' + - 'app/validators/follow_limit_validator.rb' + - 'app/validators/import_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/workers/activitypub/delivery_worker.rb' + - 'app/workers/move_worker.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/20200510181721_remove_duplicated_indexes_pghero.rb' + - 'db/migrate/20200620164023_add_fixed_lowercase_index_to_accounts.rb' + - 'lib/cli.rb' + - 'lib/mastodon/accounts_cli.rb' + - 'lib/mastodon/domains_cli.rb' + - 'lib/mastodon/maintenance_cli.rb' + - 'lib/mastodon/media_cli.rb' + - 'lib/mastodon/redis_config.rb' + - 'lib/mastodon/statuses_cli.rb' + - 'spec/support/matchers/model/model_have_error_on_field.rb' + +# Offense count: 3 +# This cop supports unsafe autocorrection (--autocorrect-all). +# Configuration parameters: InverseMethods, InverseBlocks. +Style/InverseMethods: + Exclude: + - 'app/models/custom_filter.rb' + - 'app/services/update_account_service.rb' + - 'spec/controllers/activitypub/replies_controller_spec.rb' + +# Offense count: 7 +# This cop supports safe autocorrection (--autocorrect). +# Configuration parameters: EnforcedStyle. +# SupportedStyles: line_count_dependent, lambda, literal +Style/Lambda: + Exclude: + - 'app/models/concerns/paginable.rb' + - 'app/models/status.rb' + - 'app/models/tag.rb' + - 'lib/cli.rb' + - 'lib/mastodon/domains_cli.rb' + +# Offense count: 1 +# This cop supports unsafe autocorrection (--autocorrect-all). +Style/MapToHash: + Exclude: + - 'app/models/status.rb' + +# Offense count: 6 +# This cop supports safe autocorrection (--autocorrect). +# Configuration parameters: AllowedMethods, AllowedPatterns. +Style/MethodCallWithoutArgsParentheses: + Exclude: + - 'spec/services/activitypub/process_collection_service_spec.rb' + - 'spec/services/fetch_resource_service_spec.rb' + +# Offense count: 17 +# This cop supports unsafe autocorrection (--autocorrect-all). +# Configuration parameters: EnforcedStyle. +# SupportedStyles: literals, strict +Style/MutableConstant: + Exclude: + - 'app/lib/link_details_extractor.rb' + - 'app/models/account.rb' + - 'app/models/custom_emoji.rb' + - 'app/models/tag.rb' + - 'app/services/account_search_service.rb' + - 'app/services/delete_account_service.rb' + - 'app/services/fetch_link_card_service.rb' + - 'app/services/resolve_url_service.rb' + - 'app/validators/html_validator.rb' + - 'lib/mastodon/snowflake.rb' + - 'spec/controllers/api/base_controller_spec.rb' + +# Offense count: 1 +# This cop supports safe autocorrection (--autocorrect). +# Configuration parameters: AllowedMethods. +# AllowedMethods: be, be_a, be_an, be_between, be_falsey, be_kind_of, be_instance_of, be_truthy, be_within, eq, eql, end_with, include, match, raise_error, respond_to, start_with +Style/NestedParenthesizedCalls: + Exclude: + - 'spec/services/post_status_service_spec.rb' + +# Offense count: 7 +# This cop supports safe autocorrection (--autocorrect). +# Configuration parameters: MinDigits, Strict, AllowedNumbers, AllowedPatterns. +Style/NumericLiterals: + Exclude: + - 'db/migrate/20180812173710_copy_status_stats.rb' + - 'db/migrate/20181116173541_copy_account_stats.rb' + - 'lib/mastodon/maintenance_cli.rb' + - 'spec/controllers/api/v1/markers_controller_spec.rb' + +# Offense count: 10 +# Configuration parameters: AllowedMethods. +# AllowedMethods: respond_to_missing? +Style/OptionalBooleanParameter: + Exclude: + - 'app/helpers/admin/account_moderation_notes_helper.rb' + - 'app/helpers/jsonld_helper.rb' + - 'app/lib/request.rb' + - 'app/lib/webfinger.rb' + - 'app/services/block_domain_service.rb' + - 'app/services/fetch_resource_service.rb' + - 'app/workers/domain_block_worker.rb' + - 'app/workers/unfollow_follow_worker.rb' + - 'lib/mastodon/redis_config.rb' + +# Offense count: 1 +# This cop supports safe autocorrection (--autocorrect). +# Configuration parameters: PreferredDelimiters. +Style/PercentLiteralDelimiters: + Exclude: + - 'spec/lib/text_formatter_spec.rb' + +# Offense count: 2 +# This cop supports safe autocorrection (--autocorrect). +Style/PerlBackrefs: + Exclude: + - 'app/lib/extractor.rb' + +# Offense count: 1 +# This cop supports unsafe autocorrection (--autocorrect-all). +# Configuration parameters: EnforcedStyle. +# SupportedStyles: short, verbose +Style/PreferredHashMethods: + Exclude: + - 'spec/support/matchers/model/model_have_error_on_field.rb' + +# Offense count: 2 +# This cop supports safe autocorrection (--autocorrect). +# Configuration parameters: EnforcedStyle, AllowedCompactTypes. +# SupportedStyles: compact, exploded +Style/RaiseArgs: + Exclude: + - 'db/migrate/20200620164023_add_fixed_lowercase_index_to_accounts.rb' + - 'db/migrate/20210421121431_add_case_insensitive_btree_index_to_tags.rb' + +# Offense count: 5 +# This cop supports unsafe autocorrection (--autocorrect-all). +# Configuration parameters: Methods. +Style/RedundantArgument: + Exclude: + - 'app/controllers/concerns/signature_verification.rb' + - 'app/helpers/application_helper.rb' + - 'lib/tasks/emojis.rake' + +# Offense count: 83 +# This cop supports safe autocorrection (--autocorrect). +Style/RedundantBegin: + Exclude: + - 'app/controllers/admin/dashboard_controller.rb' + - 'app/controllers/api/v1/announcements_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/concerns/rate_limit_headers.rb' + - 'app/controllers/concerns/two_factor_authentication_concern.rb' + - 'app/helpers/admin/dashboard_helper.rb' + - 'app/helpers/admin/trends/statuses_helper.rb' + - 'app/helpers/branding_helper.rb' + - 'app/helpers/domain_control_helper.rb' + - 'app/helpers/formatting_helper.rb' + - 'app/helpers/instance_helper.rb' + - 'app/helpers/jsonld_helper.rb' + - 'app/lib/activity_tracker.rb' + - 'app/lib/activitypub/activity/create.rb' + - 'app/lib/activitypub/forwarder.rb' + - 'app/lib/admin/metrics/dimension/software_versions_dimension.rb' + - 'app/lib/admin/metrics/dimension/space_usage_dimension.rb' + - 'app/lib/extractor.rb' + - 'app/lib/importer/statuses_index_importer.rb' + - 'app/lib/link_details_extractor.rb' + - 'app/lib/request.rb' + - 'app/models/account.rb' + - 'app/models/account/field.rb' + - 'app/models/admin/account_action.rb' + - 'app/models/announcement.rb' + - 'app/models/concerns/account_merging.rb' + - 'app/models/concerns/pam_authenticable.rb' + - 'app/models/email_domain_block.rb' + - 'app/models/form/admin_settings.rb' + - 'app/models/form/custom_emoji_batch.rb' + - 'app/models/notification.rb' + - 'app/models/remote_follow.rb' + - 'app/models/status.rb' + - 'app/models/status_edit.rb' + - 'app/models/trends/links.rb' + - 'app/models/trends/statuses.rb' + - 'app/models/trends/tag_filter.rb' + - 'app/models/trends/tags.rb' + - 'app/models/web/push_subscription.rb' + - 'app/presenters/tag_relationships_presenter.rb' + - 'app/services/account_search_service.rb' + - 'app/services/activitypub/fetch_featured_tags_collection_service.rb' + - 'app/services/activitypub/fetch_remote_status_service.rb' + - 'app/services/fetch_link_card_service.rb' + - 'app/services/process_mentions_service.rb' + - 'app/services/reblog_service.rb' + - 'app/services/resolve_account_service.rb' + - 'app/validators/domain_validator.rb' + - 'app/validators/existing_username_validator.rb' + - 'app/validators/import_validator.rb' + - 'app/workers/backup_worker.rb' + - 'app/workers/post_process_media_worker.rb' + - 'app/workers/scheduler/follow_recommendations_scheduler.rb' + - 'db/migrate/20180528141303_fix_accounts_unique_index.rb' + - 'db/migrate/20180812173710_copy_status_stats.rb' + - 'db/migrate/20181116173541_copy_account_stats.rb' + - 'lib/mastodon/accounts_cli.rb' + - 'lib/mastodon/cli_helper.rb' + - 'lib/mastodon/ip_blocks_cli.rb' + - 'lib/mastodon/maintenance_cli.rb' + - 'lib/mastodon/media_cli.rb' + - 'lib/mastodon/search_cli.rb' + - 'lib/mastodon/upgrade_cli.rb' + - 'lib/paperclip/color_extractor.rb' + - 'lib/sanitize_ext/sanitize_config.rb' + - 'lib/tasks/db.rake' + +# Offense count: 3 +# This cop supports safe autocorrection (--autocorrect). +Style/RedundantConstantBase: + Exclude: + - 'config.ru' + - 'lib/tasks/statistics.rake' + - 'spec/rails_helper.rb' + +# Offense count: 2 +# This cop supports safe autocorrection (--autocorrect). +Style/RedundantPercentQ: + Exclude: + - 'spec/lib/text_formatter_spec.rb' + +# Offense count: 16 +# This cop supports safe autocorrection (--autocorrect). +Style/RedundantRegexpCharacterClass: + Exclude: + - 'app/lib/link_details_extractor.rb' + - 'app/lib/tag_manager.rb' + - 'app/models/domain_allow.rb' + - 'app/models/domain_block.rb' + - 'app/services/fetch_oembed_service.rb' + - 'lib/tasks/emojis.rake' + - 'lib/tasks/mastodon.rake' + +# Offense count: 10 +# This cop supports safe autocorrection (--autocorrect). +Style/RedundantRegexpEscape: + Exclude: + - 'app/lib/webfinger_resource.rb' + - 'app/models/account.rb' + - 'app/models/tag.rb' + - 'app/services/fetch_link_card_service.rb' + - '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 +Style/RegexpLiteral: + Exclude: + - 'app/lib/link_details_extractor.rb' + - 'app/lib/permalink_redirector.rb' + - 'app/lib/plain_text_formatter.rb' + - 'app/lib/tag_manager.rb' + - 'app/lib/text_formatter.rb' + - 'app/models/account.rb' + - 'app/models/domain_allow.rb' + - 'app/models/domain_block.rb' + - 'app/models/site_upload.rb' + - 'app/models/tag.rb' + - 'app/services/backup_service.rb' + - 'app/services/fetch_oembed_service.rb' + - 'app/services/search_service.rb' + - 'lib/mastodon/premailer_webpack_strategy.rb' + - 'lib/tasks/mastodon.rake' + +# Offense count: 21 +# This cop supports safe autocorrection (--autocorrect). +# Configuration parameters: EnforcedStyle. +# SupportedStyles: implicit, explicit +Style/RescueStandardError: + Exclude: + - 'app/lib/activitypub/activity/move.rb' + - 'app/lib/request.rb' + - 'app/models/account.rb' + - 'app/workers/move_worker.rb' + - 'app/workers/scheduler/vacuum_scheduler.rb' + - 'lib/mastodon/accounts_cli.rb' + - 'lib/mastodon/cli_helper.rb' + - 'lib/mastodon/media_cli.rb' + - 'lib/mastodon/sidekiq_middleware.rb' + - 'lib/mastodon/statuses_cli.rb' + - 'lib/mastodon/upgrade_cli.rb' + +# Offense count: 2 +# This cop supports unsafe autocorrection (--autocorrect-all). +# Configuration parameters: ConvertCodeThatCanStartToReturnNil, AllowedMethods, MaxChainLength. +# AllowedMethods: present?, blank?, presence, try, try! +Style/SafeNavigation: + Exclude: + - '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: + Exclude: + - 'spec/services/activitypub/process_status_update_service_spec.rb' + - '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 +Style/SignalException: + Exclude: + - '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' + - 'app/models/preview_card_provider.rb' + - 'app/validators/status_length_validator.rb' + - 'db/migrate/20190726175042_add_case_insensitive_index_to_tags.rb' + - 'lib/active_record/batches.rb' + - 'lib/mastodon/premailer_webpack_strategy.rb' + - 'lib/tasks/repo.rake' + +# Offense count: 25 +# This cop supports unsafe autocorrection (--autocorrect-all). +# Configuration parameters: Mode. +Style/StringConcatenation: + Exclude: + - 'app/lib/activitypub/case_transform.rb' + - 'app/lib/validation_error_formatter.rb' + - 'app/services/backup_service.rb' + - 'app/services/fetch_link_card_service.rb' + - 'lib/mastodon/emoji_cli.rb' + - 'lib/mastodon/redis_config.rb' + - 'lib/mastodon/snowflake.rb' + - 'lib/paperclip/gif_transcoder.rb' + - 'lib/paperclip/type_corrector.rb' + - 'spec/controllers/api/v1/apps_controller_spec.rb' + - 'spec/controllers/api/v1/streaming_controller_spec.rb' + - 'spec/validators/disallowed_hashtags_validator_spec.rb' + - 'spec/workers/web/push_notification_worker_spec.rb' + +# Offense count: 297 +# This cop supports safe autocorrection (--autocorrect). +# Configuration parameters: EnforcedStyle, ConsistentQuotesInMultiline. +# SupportedStyles: single_quotes, double_quotes +Style/StringLiterals: + Exclude: + - 'app/lib/webfinger.rb' + - 'db/migrate/20160305115639_add_devise_to_users.rb' + - 'db/migrate/20161122163057_remove_unneeded_indexes.rb' + - 'db/migrate/20170125145934_add_spoiler_text_to_statuses.rb' + - 'db/migrate/20171212195226_remove_duplicate_indexes_in_lists.rb' + - 'db/migrate/20180514140000_revert_index_change_on_statuses_for_api_v1_accounts_account_id_statuses.rb' + - 'db/migrate/20180617162849_remove_unused_indexes.rb' + - 'db/migrate/20200521180606_encrypted_message_ids_to_timestamp_ids.rb' + - 'db/migrate/20200622213645_media_attachment_ids_to_timestamp_ids.rb' + - 'db/migrate/20210306164523_account_ids_to_timestamp_ids.rb' + - 'lib/mastodon/emoji_cli.rb' + - 'lib/rails/engine_extensions.rb' + - 'lib/tasks/mastodon.rake' + - 'spec/controllers/admin/change_email_controller_spec.rb' + - 'spec/controllers/api/v1/streaming_controller_spec.rb' + - 'spec/controllers/application_controller_spec.rb' + - 'spec/controllers/auth/registrations_controller_spec.rb' + - 'spec/controllers/auth/sessions_controller_spec.rb' + - 'spec/controllers/oauth/authorized_applications_controller_spec.rb' + - 'spec/controllers/settings/imports_controller_spec.rb' + - 'spec/controllers/settings/profiles_controller_spec.rb' + - 'spec/controllers/settings/two_factor_authentication/webauthn_credentials_controller_spec.rb' + - 'spec/controllers/statuses_cleanup_controller_spec.rb' + - 'spec/controllers/well_known/nodeinfo_controller_spec.rb' + - 'spec/fabricators/account_moderation_note_fabricator.rb' + - 'spec/fabricators/account_note_fabricator.rb' + - 'spec/fabricators/account_stat_fabricator.rb' + - 'spec/fabricators/account_tag_stat_fabricator.rb' + - 'spec/fabricators/account_warning_preset_fabricator.rb' + - 'spec/fabricators/admin_action_log_fabricator.rb' + - 'spec/fabricators/canonical_email_block_fabricator.rb' + - 'spec/fabricators/conversation_account_fabricator.rb' + - 'spec/fabricators/custom_emoji_category_fabricator.rb' + - 'spec/fabricators/domain_allow_fabricator.rb' + - 'spec/fabricators/encrypted_message_fabricator.rb' + - 'spec/fabricators/identity_fabricator.rb' + - 'spec/fabricators/ip_block_fabricator.rb' + - 'spec/fabricators/list_fabricator.rb' + - 'spec/fabricators/relay_fabricator.rb' + - 'spec/fabricators/report_fabricator.rb' + - 'spec/fabricators/report_note_fabricator.rb' + - 'spec/fabricators/session_activation_fabricator.rb' + - 'spec/fabricators/status_edit_fabricator.rb' + - 'spec/fabricators/status_fabricator.rb' + - 'spec/fabricators/status_stat_fabricator.rb' + - 'spec/fabricators/user_fabricator.rb' + - 'spec/fabricators/user_role_fabricator.rb' + - 'spec/features/log_in_spec.rb' + - 'spec/helpers/accounts_helper_spec.rb' + - 'spec/helpers/application_helper_spec.rb' + - 'spec/lib/feed_manager_spec.rb' + - 'spec/mailers/notification_mailer_spec.rb' + - 'spec/mailers/user_mailer_spec.rb' + - 'spec/models/account_spec.rb' + - 'spec/models/media_attachment_spec.rb' + - 'spec/models/web/push_subscription_spec.rb' + - 'spec/models/webauthn_credentials_spec.rb' + - 'spec/presenters/instance_presenter_spec.rb' + - 'spec/rails_helper.rb' + - 'spec/requests/catch_all_route_request_spec.rb' + - 'spec/requests/host_meta_request_spec.rb' + - 'spec/requests/localization_spec.rb' + - 'spec/services/account_search_service_spec.rb' + - 'spec/services/activitypub/fetch_remote_status_service_spec.rb' + - 'spec/services/delete_account_service_spec.rb' + - 'spec/services/favourite_service_spec.rb' + - 'spec/services/fetch_link_card_service_spec.rb' + - 'spec/services/fetch_oembed_service_spec.rb' + - 'spec/services/fetch_remote_status_service_spec.rb' + - 'spec/services/follow_service_spec.rb' + - 'spec/services/import_service_spec.rb' + - 'spec/services/post_status_service_spec.rb' + - 'spec/services/process_mentions_service_spec.rb' + - 'spec/services/resolve_account_service_spec.rb' + - 'spec/spec_helper.rb' + +# Offense count: 272 +# This cop supports safe autocorrection (--autocorrect). +# Configuration parameters: EnforcedStyle, MinSize. +# SupportedStyles: percent, brackets +Style/SymbolArray: + Exclude: + - 'app/controllers/accounts_controller.rb' + - 'app/controllers/activitypub/replies_controller.rb' + - 'app/controllers/admin/accounts_controller.rb' + - 'app/controllers/admin/announcements_controller.rb' + - 'app/controllers/admin/domain_blocks_controller.rb' + - 'app/controllers/admin/email_domain_blocks_controller.rb' + - 'app/controllers/admin/relationships_controller.rb' + - 'app/controllers/admin/relays_controller.rb' + - 'app/controllers/admin/roles_controller.rb' + - 'app/controllers/admin/rules_controller.rb' + - 'app/controllers/admin/statuses_controller.rb' + - 'app/controllers/admin/trends/statuses_controller.rb' + - 'app/controllers/admin/warning_presets_controller.rb' + - 'app/controllers/admin/webhooks_controller.rb' + - 'app/controllers/api/v1/accounts/credentials_controller.rb' + - 'app/controllers/api/v1/accounts_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/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/reports_controller.rb' + - 'app/controllers/api/v1/crypto/deliveries_controller.rb' + - 'app/controllers/api/v1/crypto/keys/claims_controller.rb' + - 'app/controllers/api/v1/crypto/keys/uploads_controller.rb' + - 'app/controllers/api/v1/featured_tags_controller.rb' + - 'app/controllers/api/v1/filters_controller.rb' + - 'app/controllers/api/v1/lists_controller.rb' + - 'app/controllers/api/v1/notifications_controller.rb' + - 'app/controllers/api/v1/push/subscriptions_controller.rb' + - 'app/controllers/api/v1/scheduled_statuses_controller.rb' + - 'app/controllers/api/v1/statuses/reblogged_by_accounts_controller.rb' + - 'app/controllers/api/v1/statuses_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/web/push_subscriptions_controller.rb' + - 'app/controllers/application_controller.rb' + - 'app/controllers/auth/registrations_controller.rb' + - 'app/controllers/filters_controller.rb' + - 'app/controllers/settings/applications_controller.rb' + - 'app/controllers/settings/featured_tags_controller.rb' + - 'app/controllers/settings/profiles_controller.rb' + - 'app/controllers/settings/two_factor_authentication/webauthn_credentials_controller.rb' + - 'app/controllers/statuses_controller.rb' + - 'app/lib/feed_manager.rb' + - 'app/models/account.rb' + - 'app/models/account_filter.rb' + - 'app/models/admin/status_filter.rb' + - 'app/models/announcement.rb' + - 'app/models/concerns/ldap_authenticable.rb' + - 'app/models/concerns/status_threading_concern.rb' + - 'app/models/custom_filter.rb' + - 'app/models/domain_block.rb' + - 'app/models/import.rb' + - 'app/models/list.rb' + - 'app/models/media_attachment.rb' + - 'app/models/preview_card.rb' + - 'app/models/relay.rb' + - 'app/models/report.rb' + - 'app/models/site_upload.rb' + - 'app/models/status.rb' + - 'app/serializers/initial_state_serializer.rb' + - 'app/serializers/rest/notification_serializer.rb' + - 'db/migrate/20160220174730_create_accounts.rb' + - 'db/migrate/20160221003621_create_follows.rb' + - 'db/migrate/20160223171800_create_favourites.rb' + - 'db/migrate/20160224223247_create_mentions.rb' + - 'db/migrate/20160314164231_add_owner_to_application.rb' + - 'db/migrate/20160316103650_add_missing_indices.rb' + - 'db/migrate/20160926213048_remove_owner_from_application.rb' + - 'db/migrate/20161003145426_create_blocks.rb' + - 'db/migrate/20161006213403_rails_settings_migration.rb' + - 'db/migrate/20161105130633_create_statuses_tags_join_table.rb' + - 'db/migrate/20161119211120_create_notifications.rb' + - 'db/migrate/20161128103007_create_subscriptions.rb' + - 'db/migrate/20161222204147_create_follow_requests.rb' + - 'db/migrate/20170112154826_migrate_settings.rb' + - 'db/migrate/20170301222600_create_mutes.rb' + - 'db/migrate/20170406215816_add_notifications_and_favourites_indices.rb' + - 'db/migrate/20170424003227_create_account_domain_blocks.rb' + - 'db/migrate/20170427011934_re_add_owner_to_application.rb' + - 'db/migrate/20170507141759_optimize_index_subscriptions.rb' + - 'db/migrate/20170508230434_create_conversation_mutes.rb' + - 'db/migrate/20170720000000_add_index_favourites_on_account_id_and_id.rb' + - 'db/migrate/20170823162448_create_status_pins.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/20170917153509_create_custom_emojis.rb' + - 'db/migrate/20170918125918_ids_to_bigints.rb' + - 'db/migrate/20171116161857_create_list_accounts.rb' + - 'db/migrate/20171122120436_add_index_account_and_reblog_of_id_to_statuses.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/20171226094803_more_faster_index_on_notifications.rb' + - 'db/migrate/20180106000232_add_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/20180808175627_create_account_pins.rb' + - 'db/migrate/20180831171112_create_bookmarks.rb' + - 'db/migrate/20180929222014_create_account_conversations.rb' + - 'db/migrate/20181007025445_create_pghero_space_stats.rb' + - 'db/migrate/20181203003808_create_accounts_tags_join_table.rb' + - 'db/migrate/20190316190352_create_account_identity_proofs.rb' + - 'db/migrate/20190511134027_add_silenced_at_suspended_at_to_accounts.rb' + - 'db/migrate/20190820003045_update_statuses_index.rb' + - 'db/migrate/20190823221802_add_local_index_to_statuses.rb' + - 'db/migrate/20190904222339_create_markers.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/20200628133322_create_account_notes.rb' + - 'db/migrate/20200917222316_add_index_notifications_on_type.rb' + - 'db/migrate/20210425135952_add_index_on_media_attachments_account_id_status_id.rb' + - 'db/migrate/20220714171049_create_tag_follows.rb' + - 'db/migrate/20221021055441_add_index_featured_tags_on_account_id_and_tag_id.rb' + - 'db/post_migrate/20190511152737_remove_suspended_silenced_account_fields.rb' + - 'db/post_migrate/20200917222734_remove_index_notifications_on_account_activity.rb' + - 'spec/controllers/api/v1/streaming_controller_spec.rb' + - 'spec/controllers/api/v2/admin/accounts_controller_spec.rb' + - 'spec/controllers/concerns/signature_verification_spec.rb' + - 'spec/fabricators/notification_fabricator.rb' + - 'spec/models/public_feed_spec.rb' + +# Offense count: 4 +# This cop supports unsafe autocorrection (--autocorrect-all). +# Configuration parameters: AllowMethodsWithArguments, AllowedMethods, AllowedPatterns, AllowComments. +# AllowedMethods: define_method, mail, respond_to +Style/SymbolProc: + Exclude: + - 'spec/lib/request_spec.rb' + +# Offense count: 8 +# This cop supports safe autocorrection (--autocorrect). +# Configuration parameters: EnforcedStyleForMultiline. +# SupportedStylesForMultiline: comma, consistent_comma, no_comma +Style/TrailingCommaInArguments: + Exclude: + - 'app/controllers/tags_controller.rb' + - 'spec/services/fetch_oembed_service_spec.rb' + - 'spec/services/post_status_service_spec.rb' + +# Offense count: 10 +# This cop supports safe autocorrection (--autocorrect). +# Configuration parameters: EnforcedStyleForMultiline. +# SupportedStylesForMultiline: comma, consistent_comma, no_comma +Style/TrailingCommaInArrayLiteral: + Exclude: + - 'spec/helpers/jsonld_helper_spec.rb' + - 'spec/lib/extractor_spec.rb' + - 'spec/services/activitypub/process_account_service_spec.rb' + - 'spec/services/activitypub/process_collection_service_spec.rb' + - 'spec/workers/activitypub/move_distribution_worker_spec.rb' + +# Offense count: 61 +# This cop supports safe autocorrection (--autocorrect). +# Configuration parameters: EnforcedStyleForMultiline. +# SupportedStylesForMultiline: comma, consistent_comma, no_comma +Style/TrailingCommaInHashLiteral: + Exclude: + - 'spec/controllers/admin/accounts_controller_spec.rb' + - 'spec/controllers/admin/domain_blocks_controller_spec.rb' + - 'spec/controllers/api/v1/accounts/credentials_controller_spec.rb' + - 'spec/controllers/api/v1/push/subscriptions_controller_spec.rb' + - 'spec/controllers/api/web/push_subscriptions_controller_spec.rb' + - 'spec/controllers/settings/applications_controller_spec.rb' + - 'spec/controllers/settings/imports_controller_spec.rb' + - 'spec/controllers/settings/preferences/notifications_controller_spec.rb' + - 'spec/controllers/settings/preferences/other_controller_spec.rb' + - 'spec/lib/activitypub/activity/announce_spec.rb' + - 'spec/lib/activitypub/activity/create_spec.rb' + - 'spec/services/activitypub/fetch_featured_collection_service_spec.rb' + - 'spec/services/activitypub/fetch_featured_tags_collection_service_spec.rb' + - 'spec/services/activitypub/fetch_remote_status_service_spec.rb' + - 'spec/services/activitypub/fetch_replies_service_spec.rb' + - 'spec/services/activitypub/process_account_service_spec.rb' + - 'spec/services/activitypub/process_collection_service_spec.rb' + - 'spec/services/activitypub/process_status_update_service_spec.rb' + - 'spec/services/activitypub/synchronize_followers_service_spec.rb' + - 'spec/services/fetch_resource_service_spec.rb' + - 'spec/spec_helper.rb' + +# Offense count: 4 +# This cop supports safe autocorrection (--autocorrect). +Style/UnpackFirst: + Exclude: + - 'app/models/concerns/account_interactions.rb' + - 'lib/paperclip/gif_transcoder.rb' + +# Offense count: 25 +# This cop supports safe autocorrection (--autocorrect). +# Configuration parameters: EnforcedStyle, MinSize, WordRegex. +# SupportedStyles: percent, brackets +Style/WordArray: + Exclude: + - 'db/migrate/20170610000000_add_statuses_index_on_account_id_id.rb' + - 'db/migrate/20180514140000_revert_index_change_on_statuses_for_api_v1_accounts_account_id_statuses.rb' + - 'lib/mastodon/maintenance_cli.rb' + - 'lib/tasks/statistics.rake' + - 'spec/controllers/api/v1/blocks_controller_spec.rb' + - 'spec/controllers/api/v1/bookmarks_controller_spec.rb' + - 'spec/controllers/api/v1/favourites_controller_spec.rb' + - 'spec/controllers/api/v1/mutes_controller_spec.rb' + - 'spec/controllers/settings/applications_controller_spec.rb' + - 'spec/controllers/settings/preferences/other_controller_spec.rb' + - 'spec/models/account_spec.rb' + - 'spec/models/account_statuses_cleanup_policy_spec.rb' + - 'spec/services/activitypub/fetch_featured_tags_collection_service_spec.rb' + - 'spec/services/activitypub/process_account_service_spec.rb' + - 'spec/services/delete_account_service_spec.rb' + - 'spec/workers/scheduler/accounts_statuses_cleanup_scheduler_spec.rb' + +# don't clean out the manual directives overridden by generated file +Lint/RedundantCopDisableDirective: + Enabled: false -- cgit From e4f37fad98778b95738a771f720ca0b0eeb6cee8 Mon Sep 17 00:00:00 2001 From: Nick Schonning Date: Fri, 17 Feb 2023 22:25:31 -0500 Subject: Only run latest for PR Rebase job (#23688) --- .github/workflows/rebase-needed.yml | 5 +++++ 1 file changed, 5 insertions(+) (limited to '.github/workflows') diff --git a/.github/workflows/rebase-needed.yml b/.github/workflows/rebase-needed.yml index 6f903ee61..553f6c329 100644 --- a/.github/workflows/rebase-needed.yml +++ b/.github/workflows/rebase-needed.yml @@ -8,6 +8,11 @@ on: jobs: label-rebase-needed: runs-on: ubuntu-latest + + concurrency: + group: ${{ github.ref }} + cancel-in-progress: true + steps: - name: Check for merge conflicts uses: eps1lon/actions-label-merge-conflict@releases/2.x -- cgit From 9ab2a775c9a832fe6320f95e5b405feb93f9eaf3 Mon Sep 17 00:00:00 2001 From: Nick Schonning Date: Sat, 18 Feb 2023 00:56:16 -0500 Subject: Set CI concurrency at the job level (#23689) --- .github/workflows/build-image.yml | 2 +- .github/workflows/rebase-needed.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) (limited to '.github/workflows') diff --git a/.github/workflows/build-image.yml b/.github/workflows/build-image.yml index 9962bbde6..c567cd9c3 100644 --- a/.github/workflows/build-image.yml +++ b/.github/workflows/build-image.yml @@ -18,7 +18,7 @@ jobs: runs-on: ubuntu-latest concurrency: - group: ${{ github.ref }} + group: ${{ github.workflow }}-${{ github.ref }} cancel-in-progress: true steps: diff --git a/.github/workflows/rebase-needed.yml b/.github/workflows/rebase-needed.yml index 553f6c329..a5899e0f0 100644 --- a/.github/workflows/rebase-needed.yml +++ b/.github/workflows/rebase-needed.yml @@ -10,7 +10,7 @@ jobs: runs-on: ubuntu-latest concurrency: - group: ${{ github.ref }} + group: ${{ github.workflow }}-${{ github.ref }} cancel-in-progress: true steps: -- cgit From 7e215b3bda546d1a85fea0fec7fcb55f4c8f6e3e Mon Sep 17 00:00:00 2001 From: Nick Schonning Date: Sat, 18 Feb 2023 06:46:44 -0500 Subject: Check for missing i18n strings in CI (#23368) Co-authored-by: Claire --- .github/workflows/check-i18n.yml | 11 +++++++++++ config/locales/en.yml | 11 +++++++++++ 2 files changed, 22 insertions(+) (limited to '.github/workflows') diff --git a/.github/workflows/check-i18n.yml b/.github/workflows/check-i18n.yml index aa2ec0394..aa8f1f584 100644 --- a/.github/workflows/check-i18n.yml +++ b/.github/workflows/check-i18n.yml @@ -18,20 +18,31 @@ jobs: steps: - uses: actions/checkout@v3 + - name: Install system dependencies run: | sudo apt-get update sudo apt-get install -y libicu-dev libidn11-dev + - name: Set up Ruby uses: ruby/setup-ruby@v1 with: ruby-version: .ruby-version bundler-cache: true + - name: Check locale file normalization run: bundle exec i18n-tasks check-normalized + - name: Check for unused strings run: bundle exec i18n-tasks unused + + - name: Check for missing strings in English + run: | + bundle exec i18n-tasks add-missing -l en + git diff --exit-code + - name: Check for wrong string interpolations run: bundle exec i18n-tasks check-consistent-interpolations + - name: Check that all required locale files exist run: bundle exec rake repo:check_locales_files diff --git a/config/locales/en.yml b/config/locales/en.yml index 39ff4236a..0a9c325c2 100644 --- a/config/locales/en.yml +++ b/config/locales/en.yml @@ -91,6 +91,7 @@ en: moderation: active: Active all: All + disabled: Disabled pending: Pending silenced: Limited suspended: Suspended @@ -133,6 +134,7 @@ en: search: Search search_same_email_domain: Other users with the same e-mail domain search_same_ip: Other users with the same IP + security: Security security_measures: only_password: Only password password_and_2fa: Password and 2FA @@ -427,6 +429,7 @@ en: resolve: Resolve domain title: Block new e-mail domain no_email_domain_block_selected: No e-mail domain blocks were changed as none were selected + not_permitted: Not permitted resolved_dns_records_hint_html: The domain name resolves to the following MX domains, which are ultimately responsible for accepting e-mail. Blocking an MX domain will block sign-ups from any e-mail address which uses the same MX domain, even if the visible domain name is different. Be careful not to block major e-mail providers. resolved_through_html: Resolved through %{domain} title: Blocked e-mail domains @@ -473,6 +476,7 @@ en: content_policies: comment: Internal note description_html: You can define content policies that will be applied to all accounts from this domain and any of its subdomains. + limited_federation_mode_description_html: You can chose whether to allow federation with this domain. policies: reject_media: Reject media reject_reports: Reject reports @@ -585,11 +589,13 @@ en: assign_to_self: Assign to me assigned: Assigned moderator by_target_domain: Domain of reported account + cancel: Cancel category: Category category_description_html: The reason this account and/or content was reported will be cited in communication with the reported account comment: none: None comment_description_html: 'To provide more information, %{name} wrote:' + confirm: Confirm confirm_action: Confirm moderation action against @%{acct} created_at: Reported delete_and_resolve: Delete posts @@ -792,6 +798,7 @@ en: suspend: "%{name} suspended %{target}'s account" appeal_approved: Appealed appeal_pending: Appeal pending + appeal_rejected: Appeal rejected system_checks: database_schema_check: message_html: There are pending database migrations. Please run them to ensure the application behaves as expected @@ -827,6 +834,7 @@ en: other: Shared by %{count} people over the last week title: Trending links usage_comparison: Shared %{today} times today, compared to %{yesterday} yesterday + not_allowed_to_trend: Not allowed to trend only_allowed: Only allowed pending_review: Pending review preview_card_providers: @@ -958,6 +966,7 @@ en: applications: created: Application successfully created destroyed: Application successfully deleted + logout: Logout regenerate_token: Regenerate access token token_regenerated: Access token successfully regenerated warning: Be very careful with this data. Never share it with anyone! @@ -994,6 +1003,8 @@ en: resend_confirmation: Resend confirmation instructions reset_password: Reset password rules: + accept: Accept + back: Back preamble: These are set and enforced by the %{domain} moderators. title: Some ground rules. security: Security -- cgit From de4b8224c09a5d868c02a550022485e14245cb0a Mon Sep 17 00:00:00 2001 From: Nick Schonning Date: Sat, 18 Feb 2023 06:49:09 -0500 Subject: Run bundler-audit on PRs (#23514) --- .bundler-audit.yml | 3 +++ .codeclimate.yml | 2 +- .github/workflows/lint-ruby.yml | 5 +++++ 3 files changed, 9 insertions(+), 1 deletion(-) create mode 100644 .bundler-audit.yml (limited to '.github/workflows') diff --git a/.bundler-audit.yml b/.bundler-audit.yml new file mode 100644 index 000000000..f84ec8087 --- /dev/null +++ b/.bundler-audit.yml @@ -0,0 +1,3 @@ +--- +ignore: + - CVE-2015-9284 # Mitigation following https://github.com/omniauth/omniauth/wiki/Resolving-CVE-2015-9284#mitigating-in-rails-applications diff --git a/.codeclimate.yml b/.codeclimate.yml index 59051aae7..00469df00 100644 --- a/.codeclimate.yml +++ b/.codeclimate.yml @@ -24,7 +24,7 @@ plugins: brakeman: enabled: true bundler-audit: - enabled: true + enabled: false eslint: enabled: false rubocop: diff --git a/.github/workflows/lint-ruby.yml b/.github/workflows/lint-ruby.yml index 54f45796c..de54fe9ae 100644 --- a/.github/workflows/lint-ruby.yml +++ b/.github/workflows/lint-ruby.yml @@ -7,6 +7,7 @@ on: - 'Gemfile*' - '.rubocop*.yml' - '.ruby-version' + - '.bundler-audit.yml' - '**/*.rb' - '**/*.rake' - '.github/workflows/lint-ruby.yml' @@ -16,6 +17,7 @@ on: - 'Gemfile*' - '.rubocop*.yml' - '.ruby-version' + - '.bundler-audit.yml' - '**/*.rb' - '**/*.rake' - '.github/workflows/lint-ruby.yml' @@ -42,3 +44,6 @@ jobs: - name: Run rubocop run: bundle exec rubocop + + - name: Run bundler-audit + run: bundle exec bundler-audit -- cgit From 1d9ed916437609e7c5343ed3f96261e907dc5659 Mon Sep 17 00:00:00 2001 From: Nick Schonning Date: Sun, 19 Feb 2023 01:06:34 -0500 Subject: Move db migration CI to GitHub Actions (#23624) --- .circleci/config.yml | 91 --------------------- .github/workflows/test-migrations-one-step.yml | 100 +++++++++++++++++++++++ .github/workflows/test-migrations-two-step.yml | 108 +++++++++++++++++++++++++ 3 files changed, 208 insertions(+), 91 deletions(-) create mode 100644 .github/workflows/test-migrations-one-step.yml create mode 100644 .github/workflows/test-migrations-two-step.yml (limited to '.github/workflows') diff --git a/.circleci/config.yml b/.circleci/config.yml index 183ad9048..3913a6b0f 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -110,91 +110,6 @@ jobs: name: Load database schema - ruby/rspec-test - test-migrations: - executor: - name: default - ruby-version: '3.2' - steps: - - checkout - - install-system-dependencies - - install-ruby-dependencies: - ruby-version: '3.2' - - wait-db - - run: - command: ./bin/rails db:create - name: Create database - - run: - command: ./bin/rails db:migrate VERSION=20171010025614 - name: Run migrations up to v2.0.0 - - run: - command: ./bin/rails tests:migrations:populate_v2 - name: Populate database with test data - - run: - command: ./bin/rails db:migrate VERSION=20180514140000 - name: Run migrations up to v2.4.0 - - run: - command: ./bin/rails tests:migrations:populate_v2_4 - name: Populate database with test data - - run: - command: ./bin/rails db:migrate VERSION=20180707154237 - name: Run migrations up to v2.4.3 - - run: - command: ./bin/rails tests:migrations:populate_v2_4_3 - name: Populate database with test data - - run: - command: ./bin/rails db:migrate - name: Run all remaining migrations - - run: - command: ./bin/rails tests:migrations:check_database - name: Check migration result - - test-two-step-migrations: - executor: - name: default - ruby-version: '3.2' - steps: - - checkout - - install-system-dependencies - - install-ruby-dependencies: - ruby-version: '3.2' - - wait-db - - run: - command: ./bin/rails db:create - name: Create database - - run: - command: ./bin/rails db:migrate VERSION=20171010025614 - name: Run migrations up to v2.0.0 - - run: - command: ./bin/rails tests:migrations:populate_v2 - name: Populate database with test data - - run: - command: ./bin/rails db:migrate VERSION=20180514140000 - name: Run pre-deployment migrations up to v2.4.0 - environment: - SKIP_POST_DEPLOYMENT_MIGRATIONS: true - - run: - command: ./bin/rails tests:migrations:populate_v2_4 - name: Populate database with test data - - run: - command: ./bin/rails db:migrate VERSION=20180707154237 - name: Run migrations up to v2.4.3 - environment: - SKIP_POST_DEPLOYMENT_MIGRATIONS: true - - run: - command: ./bin/rails tests:migrations:populate_v2_4_3 - name: Populate database with test data - - run: - command: ./bin/rails db:migrate - name: Run all remaining pre-deployment migrations - environment: - SKIP_POST_DEPLOYMENT_MIGRATIONS: true - - run: - command: ./bin/rails db:migrate - name: Run all post-deployment migrations - - run: - command: ./bin/rails tests:migrations:check_database - name: Check migration result - workflows: version: 2 build-and-test: @@ -211,9 +126,3 @@ workflows: name: test-ruby<< matrix.ruby-version >> requires: - build - - test-migrations: - requires: - - build - - test-two-step-migrations: - requires: - - build diff --git a/.github/workflows/test-migrations-one-step.yml b/.github/workflows/test-migrations-one-step.yml new file mode 100644 index 000000000..8f070697c --- /dev/null +++ b/.github/workflows/test-migrations-one-step.yml @@ -0,0 +1,100 @@ +name: Test one step migrations +on: + push: + branches-ignore: + - 'dependabot/**' + pull_request: + +jobs: + pre_job: + runs-on: ubuntu-latest + + outputs: + should_skip: ${{ steps.skip_check.outputs.should_skip }} + + steps: + - id: skip_check + uses: fkirc/skip-duplicate-actions@v5 + with: + paths: '["Gemfile*", ".ruby-version", "**/*.rb", ".github/workflows/test-migrations-one-step.yml"]' + + test: + runs-on: ubuntu-latest + needs: pre_job + if: needs.pre_job.outputs.should_skip != 'true' + + services: + postgres: + image: postgres:14.5 + env: + POSTGRES_PASSWORD: postgres + POSTGRES_USER: postgres + options: >- + --health-cmd pg_isready + --health-interval 10s + --health-timeout 5s + --health-retries 5 + ports: + - 5432:5432 + + redis: + image: redis:7.0 + options: >- + --health-cmd "redis-cli ping" + --health-interval 10s + --health-timeout 5s + --health-retries 5 + ports: + - 6379:6379 + + env: + CONTINUOUS_INTEGRATION: true + DB_HOST: localhost + DB_USER: postgres + DB_PASS: postgres + DISABLE_SIMPLECOV: true + RAILS_ENV: test + BUNDLE_CLEAN: true + BUNDLE_FROZEN: true + BUNDLE_WITHOUT: 'development production' + BUNDLE_JOBS: 3 + BUNDLE_RETRY: 3 + + steps: + - uses: actions/checkout@v3 + + - name: Install native Ruby dependencies + run: sudo apt-get install -y libicu-dev libidn11-dev + + - name: Set up bundler cache + uses: ruby/setup-ruby@v1 + with: + ruby-version: .ruby-version + bundler-cache: true + + - name: Create database + run: './bin/rails db:create' + + - name: Run migrations up to v2.0.0 + run: './bin/rails db:migrate VERSION=20171010025614' + + - name: Populate database with test data + run: './bin/rails tests:migrations:populate_v2' + + - name: Run migrations up to v2.4.0 + run: './bin/rails db:migrate VERSION=20180514140000' + + - name: Populate database with test data + run: './bin/rails tests:migrations:populate_v2_4' + + - name: Run migrations up to v2.4.3 + run: './bin/rails db:migrate VERSION=20180707154237' + + - name: Populate database with test data + run: './bin/rails tests:migrations:populate_v2_4_3' + + - name: Run all remaining migrations + run: './bin/rails db:migrate' + + - name: Check migration result + run: './bin/rails tests:migrations:check_database' diff --git a/.github/workflows/test-migrations-two-step.yml b/.github/workflows/test-migrations-two-step.yml new file mode 100644 index 000000000..2fdce8025 --- /dev/null +++ b/.github/workflows/test-migrations-two-step.yml @@ -0,0 +1,108 @@ +name: Test two step migrations +on: + push: + branches-ignore: + - 'dependabot/**' + pull_request: + +jobs: + pre_job: + runs-on: ubuntu-latest + + outputs: + should_skip: ${{ steps.skip_check.outputs.should_skip }} + + steps: + - id: skip_check + uses: fkirc/skip-duplicate-actions@v5 + with: + paths: '["Gemfile*", ".ruby-version", "**/*.rb", ".github/workflows/test-migrations-two-step.yml"]' + + test: + runs-on: ubuntu-latest + needs: pre_job + if: needs.pre_job.outputs.should_skip != 'true' + + services: + postgres: + image: postgres:14.5 + env: + POSTGRES_PASSWORD: postgres + POSTGRES_USER: postgres + options: >- + --health-cmd pg_isready + --health-interval 10s + --health-timeout 5s + --health-retries 5 + ports: + - 5432:5432 + redis: + image: redis:7.0 + options: >- + --health-cmd "redis-cli ping" + --health-interval 10s + --health-timeout 5s + --health-retries 5 + ports: + - 6379:6379 + + env: + CONTINUOUS_INTEGRATION: true + DB_HOST: localhost + DB_USER: postgres + DB_PASS: postgres + DISABLE_SIMPLECOV: true + RAILS_ENV: test + BUNDLE_CLEAN: true + BUNDLE_FROZEN: true + BUNDLE_WITHOUT: 'development production' + BUNDLE_JOBS: 3 + BUNDLE_RETRY: 3 + + steps: + - uses: actions/checkout@v3 + + - name: Install native Ruby dependencies + run: sudo apt-get install -y libicu-dev libidn11-dev + + - name: Set up bundler cache + uses: ruby/setup-ruby@v1 + with: + ruby-version: .ruby-version + bundler-cache: true + + - name: Create database + run: './bin/rails db:create' + + - name: Run migrations up to v2.0.0 + run: './bin/rails db:migrate VERSION=20171010025614' + + - name: Populate database with test data + run: './bin/rails tests:migrations:populate_v2' + + - name: Run pre-deployment migrations up to v2.4.0 + run: './bin/rails db:migrate VERSION=20180514140000' + env: + SKIP_POST_DEPLOYMENT_MIGRATIONS: true + + - name: Populate database with test data + run: './bin/rails tests:migrations:populate_v2_4' + + - name: Run migrations up to v2.4.3 + run: './bin/rails db:migrate VERSION=20180707154237' + env: + SKIP_POST_DEPLOYMENT_MIGRATIONS: true + + - name: Populate database with test data + run: './bin/rails tests:migrations:populate_v2_4_3' + + - name: Run all remaining pre-deployment migrations + run: './bin/rails db:migrate' + env: + SKIP_POST_DEPLOYMENT_MIGRATIONS: true + + - name: Run all post-deployment migrations + run: './bin/rails db:migrate' + + - name: Check migration result + run: './bin/rails tests:migrations:check_database' -- cgit