From 56c0babc0bacf6f8e87c126e98966f0afa6ab467 Mon Sep 17 00:00:00 2001
From: Matt Jankowski <matt@jankowski.online>
Date: Thu, 28 Sep 2023 09:48:47 -0400
Subject: [PATCH 1/8] Fix rubocop `Layout/ArgumentAlignment` cop (#26060)

---
 .rubocop_todo.yml                    |  9 --------
 config/initializers/cors.rb          | 32 ++++++++++------------------
 config/initializers/session_store.rb | 11 ++++++----
 3 files changed, 18 insertions(+), 34 deletions(-)

diff --git a/.rubocop_todo.yml b/.rubocop_todo.yml
index adfd476892..efe369d776 100644
--- a/.rubocop_todo.yml
+++ b/.rubocop_todo.yml
@@ -13,14 +13,6 @@ Bundler/OrderedGems:
   Exclude:
     - 'Gemfile'
 
-# This cop supports safe autocorrection (--autocorrect).
-# Configuration parameters: EnforcedStyle, IndentationWidth.
-# SupportedStyles: with_first_argument, with_fixed_indentation
-Layout/ArgumentAlignment:
-  Exclude:
-    - 'config/initializers/cors.rb'
-    - 'config/initializers/session_store.rb'
-
 # This cop supports safe autocorrection (--autocorrect).
 # Configuration parameters: AllowMultipleStyles, EnforcedHashRocketStyle, EnforcedColonStyle, EnforcedLastArgumentHashStyle.
 # SupportedHashRocketStyles: key, separator, table
@@ -841,6 +833,5 @@ Style/TrailingCommaInHashLiteral:
 Style/WordArray:
   Exclude:
     - 'app/helpers/languages_helper.rb'
-    - 'config/initializers/cors.rb'
     - 'spec/controllers/settings/imports_controller_spec.rb'
     - 'spec/models/form/import_spec.rb'
diff --git a/config/initializers/cors.rb b/config/initializers/cors.rb
index 1fde35f9d0..3d94e38e8e 100644
--- a/config/initializers/cors.rb
+++ b/config/initializers/cors.rb
@@ -11,26 +11,16 @@ Rails.application.config.middleware.insert_before 0, Rack::Cors do
   allow do
     origins '*'
 
-    resource '/.well-known/*',
-      headers: :any,
-      methods: [:get],
-      credentials: false
-    resource '/@:username',
-      headers: :any,
-      methods: [:get],
-      credentials: false
-    resource '/users/:username',
-      headers: :any,
-      methods: [:get],
-      credentials: false
-    resource '/api/*',
-      headers: :any,
-      methods: [:post, :put, :delete, :get, :patch, :options],
-      credentials: false,
-      expose: ['Link', 'X-RateLimit-Reset', 'X-RateLimit-Limit', 'X-RateLimit-Remaining', 'X-Request-Id']
-    resource '/oauth/token',
-      headers: :any,
-      methods: [:post],
-      credentials: false
+    with_options headers: :any, credentials: false do
+      with_options methods: [:get] do
+        resource '/.well-known/*'
+        resource '/@:username'
+        resource '/users/:username'
+      end
+      resource '/api/*',
+               expose: %w(Link X-RateLimit-Reset X-RateLimit-Limit X-RateLimit-Remaining X-Request-Id),
+               methods: %i(post put delete get patch options)
+      resource '/oauth/token', methods: [:post]
+    end
   end
 end
diff --git a/config/initializers/session_store.rb b/config/initializers/session_store.rb
index b29e0a8159..eac23a79b9 100644
--- a/config/initializers/session_store.rb
+++ b/config/initializers/session_store.rb
@@ -2,7 +2,10 @@
 
 # Be sure to restart your server when you modify this file.
 
-Rails.application.config.session_store :cookie_store,
-  key: '_mastodon_session',
-  secure: false, # All cookies have their secure flag set by the force_ssl option in production
-  same_site: :lax
+Rails
+  .application
+  .config
+  .session_store :cookie_store,
+                 key: '_mastodon_session',
+                 secure: false, # All cookies have their secure flag set by the force_ssl option in production
+                 same_site: :lax

From 937dc42f101be905e3af41b879901a4445b0223a Mon Sep 17 00:00:00 2001
From: Matt Jankowski <matt@jankowski.online>
Date: Thu, 28 Sep 2023 10:04:05 -0400
Subject: [PATCH 2/8] Extract methods for file movement in `CLI::Upgrade`
 (#25120)

---
 .rubocop.yml                |  6 ------
 lib/mastodon/cli/upgrade.rb | 42 ++++++++++++++++++++++---------------
 2 files changed, 25 insertions(+), 23 deletions(-)

diff --git a/.rubocop.yml b/.rubocop.yml
index c8a433c729..4684ef06db 100644
--- a/.rubocop.yml
+++ b/.rubocop.yml
@@ -75,12 +75,6 @@ Metrics/AbcSize:
     - 'lib/mastodon/cli/*.rb'
     - db/*migrate/**/*
 
-# Reason:
-# https://docs.rubocop.org/rubocop/cops_metrics.html#metricsblocknesting
-Metrics/BlockNesting:
-  Exclude:
-    - 'lib/mastodon/cli/*.rb'
-
 # Reason: Currently disabled in .rubocop_todo.yml
 # https://docs.rubocop.org/rubocop/cops_metrics.html#metricscyclomaticcomplexity
 Metrics/CyclomaticComplexity:
diff --git a/lib/mastodon/cli/upgrade.rb b/lib/mastodon/cli/upgrade.rb
index 52b5540c40..cf83986844 100644
--- a/lib/mastodon/cli/upgrade.rb
+++ b/lib/mastodon/cli/upgrade.rb
@@ -125,27 +125,12 @@ module Mastodon::CLI
         progress.log("Moving #{previous_path} to #{upgraded_path}") if options[:verbose]
 
         begin
-          unless dry_run?
-            FileUtils.mkdir_p(File.dirname(upgraded_path))
-            FileUtils.mv(previous_path, upgraded_path)
-
-            begin
-              FileUtils.rmdir(File.dirname(previous_path), parents: true)
-            rescue Errno::ENOTEMPTY
-              # OK
-            end
-          end
+          move_previous_to_upgraded
         rescue => e
           progress.log(pastel.red("Error processing #{previous_path}: #{e}"))
           success = false
 
-          unless dry_run?
-            begin
-              FileUtils.rmdir(File.dirname(upgraded_path), parents: true)
-            rescue Errno::ENOTEMPTY
-              # OK
-            end
-          end
+          remove_directory
         end
       end
 
@@ -155,5 +140,28 @@ module Mastodon::CLI
       attachment.instance_write(:storage_schema_version, previous_storage_schema_version)
       success
     end
+
+    def move_previous_to_upgraded(previous_path, upgraded_path)
+      return if dry_run?
+
+      FileUtils.mkdir_p(File.dirname(upgraded_path))
+      FileUtils.mv(previous_path, upgraded_path)
+
+      begin
+        FileUtils.rmdir(File.dirname(previous_path), parents: true)
+      rescue Errno::ENOTEMPTY
+        # OK
+      end
+    end
+
+    def remove_directory(path)
+      return if dry_run?
+
+      begin
+        FileUtils.rmdir(File.dirname(path), parents: true)
+      rescue Errno::ENOTEMPTY
+        # OK
+      end
+    end
   end
 end

From 3060bfa4bd62c46c04e1ed0071ec3d6506111f89 Mon Sep 17 00:00:00 2001
From: Matt Jankowski <matt@jankowski.online>
Date: Thu, 28 Sep 2023 10:22:05 -0400
Subject: [PATCH 3/8] Extract filename and csv helper methods from
 `Form::Import` (#26129)

---
 app/models/form/import.rb | 24 ++++++++++++++++--------
 1 file changed, 16 insertions(+), 8 deletions(-)

diff --git a/app/models/form/import.rb b/app/models/form/import.rb
index 2fc74715b5..29a2975c7b 100644
--- a/app/models/form/import.rb
+++ b/app/models/form/import.rb
@@ -43,14 +43,14 @@ class Form::Import
   validate :validate_data
 
   def guessed_type
-    return :muting if csv_data.headers.include?('Hide notifications')
-    return :following if csv_data.headers.include?('Show boosts') || csv_data.headers.include?('Notify on new posts') || csv_data.headers.include?('Languages')
-    return :following if data.original_filename&.start_with?('follows') || data.original_filename&.start_with?('following_accounts')
-    return :blocking if data.original_filename&.start_with?('blocks') || data.original_filename&.start_with?('blocked_accounts')
-    return :muting if data.original_filename&.start_with?('mutes') || data.original_filename&.start_with?('muted_accounts')
-    return :domain_blocking if data.original_filename&.start_with?('domain_blocks') || data.original_filename&.start_with?('blocked_domains')
-    return :bookmarks if data.original_filename&.start_with?('bookmarks')
-    return :lists if data.original_filename&.start_with?('lists')
+    return :muting if csv_headers_match?('Hide notifications')
+    return :following if csv_headers_match?('Show boosts') || csv_headers_match?('Notify on new posts') || csv_headers_match?('Languages')
+    return :following if file_name_matches?('follows') || file_name_matches?('following_accounts')
+    return :blocking if file_name_matches?('blocks') || file_name_matches?('blocked_accounts')
+    return :muting if file_name_matches?('mutes') || file_name_matches?('muted_accounts')
+    return :domain_blocking if file_name_matches?('domain_blocks') || file_name_matches?('blocked_domains')
+    return :bookmarks if file_name_matches?('bookmarks')
+    return :lists if file_name_matches?('lists')
   end
 
   # Whether the uploaded CSV file seems to correspond to a different import type than the one selected
@@ -79,6 +79,14 @@ class Form::Import
 
   private
 
+  def file_name_matches?(string)
+    data.original_filename&.start_with?(string)
+  end
+
+  def csv_headers_match?(string)
+    csv_data.headers.include?(string)
+  end
+
   def default_csv_headers
     case type.to_sym
     when :following, :blocking, :muting

From 9d56c1949b1c2f9fefde88021ec82745b9aae495 Mon Sep 17 00:00:00 2001
From: Matt Jankowski <matt@jankowski.online>
Date: Thu, 28 Sep 2023 10:23:35 -0400
Subject: [PATCH 4/8] Fix haml-lint `InstanceVariables` rule for
 admin/webhooks/_form (#26062)

---
 .haml-lint_todo.yml                      |  9 ++++-----
 app/views/admin/webhooks/_form.html.haml | 18 +++++++-----------
 app/views/admin/webhooks/edit.html.haml  |  5 ++++-
 app/views/admin/webhooks/new.html.haml   |  5 ++++-
 4 files changed, 19 insertions(+), 18 deletions(-)

diff --git a/.haml-lint_todo.yml b/.haml-lint_todo.yml
index e8791e05ca..39e7b29903 100644
--- a/.haml-lint_todo.yml
+++ b/.haml-lint_todo.yml
@@ -1,13 +1,13 @@
 # This configuration was generated by
 # `haml-lint --auto-gen-config`
-# on 2023-08-28 13:08:37 -0400 using Haml-Lint version 0.50.0.
+# on 2023-09-28 10:03:39 -0400 using Haml-Lint version 0.50.0.
 # The point is for the user to remove these configuration records
 # one by one as the lints are removed from the code base.
 # Note that changes in the inspected code, or installation of new
 # versions of Haml-Lint, may require this file to be generated again.
 
 linters:
-  # Offense count: 945
+  # Offense count: 946
   LineLength:
     enabled: false
 
@@ -15,7 +15,7 @@ linters:
   UnnecessaryStringOutput:
     enabled: false
 
-  # Offense count: 57
+  # Offense count: 59
   RuboCop:
     enabled: false
 
@@ -26,12 +26,11 @@ linters:
       - 'app/views/admin/reports/show.html.haml'
       - 'app/views/disputes/strikes/show.html.haml'
 
-  # Offense count: 28
+  # Offense count: 25
   InstanceVariables:
     exclude:
       - 'app/views/admin/reports/_actions.html.haml'
       - 'app/views/admin/roles/_form.html.haml'
-      - 'app/views/admin/webhooks/_form.html.haml'
       - 'app/views/auth/registrations/_status.html.haml'
       - 'app/views/auth/sessions/two_factor/_otp_authentication_form.html.haml'
       - 'app/views/relationships/_account.html.haml'
diff --git a/app/views/admin/webhooks/_form.html.haml b/app/views/admin/webhooks/_form.html.haml
index c870e943f4..6c4574fd3b 100644
--- a/app/views/admin/webhooks/_form.html.haml
+++ b/app/views/admin/webhooks/_form.html.haml
@@ -1,14 +1,10 @@
-= simple_form_for @webhook, url: @webhook.new_record? ? admin_webhooks_path : admin_webhook_path(@webhook) do |f|
-  = render 'shared/error_messages', object: @webhook
+= render 'shared/error_messages', object: form.object
 
-  .fields-group
-    = f.input :url, wrapper: :with_block_label, input_html: { placeholder: 'https://' }
+.fields-group
+  = form.input :url, wrapper: :with_block_label, input_html: { placeholder: 'https://' }
 
-  .fields-group
-    = f.input :events, collection: Webhook::EVENTS, wrapper: :with_block_label, include_blank: false, as: :check_boxes, collection_wrapper_tag: 'ul', item_wrapper_tag: 'li', disabled: Webhook::EVENTS.filter { |event| !current_user.role.can?(Webhook.permission_for_event(event)) }
+.fields-group
+  = form.input :events, collection: Webhook::EVENTS, wrapper: :with_block_label, include_blank: false, as: :check_boxes, collection_wrapper_tag: 'ul', item_wrapper_tag: 'li', disabled: Webhook::EVENTS.filter { |event| !current_user.role.can?(Webhook.permission_for_event(event)) }
 
-  .fields-group
-    = f.input :template, wrapper: :with_block_label, input_html: { placeholder: '{ "content": "Hello {{object.username}}" }' }
-
-  .actions
-    = f.button :button, @webhook.new_record? ? t('admin.webhooks.add_new') : t('generic.save_changes'), type: :submit
+.fields-group
+  = form.input :template, wrapper: :with_block_label, input_html: { placeholder: '{ "content": "Hello {{object.username}}" }' }
diff --git a/app/views/admin/webhooks/edit.html.haml b/app/views/admin/webhooks/edit.html.haml
index 3dc0ace9bf..2c2a7aa034 100644
--- a/app/views/admin/webhooks/edit.html.haml
+++ b/app/views/admin/webhooks/edit.html.haml
@@ -1,4 +1,7 @@
 - content_for :page_title do
   = t('admin.webhooks.edit')
 
-= render partial: 'form'
+= simple_form_for @webhook, url: admin_webhook_path(@webhook) do |form|
+  = render partial: 'form', object: form
+  .actions
+    = form.button :button, t('generic.save_changes'), type: :submit
diff --git a/app/views/admin/webhooks/new.html.haml b/app/views/admin/webhooks/new.html.haml
index 1258df74ab..f51b039ce8 100644
--- a/app/views/admin/webhooks/new.html.haml
+++ b/app/views/admin/webhooks/new.html.haml
@@ -1,4 +1,7 @@
 - content_for :page_title do
   = t('admin.webhooks.new')
 
-= render partial: 'form'
+= simple_form_for @webhook, url: admin_webhooks_path do |form|
+  = render partial: 'form', object: form
+  .actions
+    = form.button :button, t('admin.webhooks.add_new'), type: :submit

From f9eefb27855d0b6d73aec430f8cf6ece7f99bf88 Mon Sep 17 00:00:00 2001
From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com>
Date: Thu, 28 Sep 2023 16:25:14 +0200
Subject: [PATCH 5/8] Update dependency rubocop to v1.56.4 (#27188)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
---
 Gemfile.lock | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/Gemfile.lock b/Gemfile.lock
index 7842fb69d2..0535d4ee45 100644
--- a/Gemfile.lock
+++ b/Gemfile.lock
@@ -640,7 +640,7 @@ GEM
       sidekiq (>= 5, < 8)
     rspec-support (3.12.1)
     rspec_chunked (0.6)
-    rubocop (1.56.3)
+    rubocop (1.56.4)
       base64 (~> 0.1.1)
       json (~> 2.3)
       language_server-protocol (>= 3.17.0)

From 89a17878ef7c6e1b5fae847ee293a7dcfc43c305 Mon Sep 17 00:00:00 2001
From: Matt Jankowski <matt@jankowski.online>
Date: Thu, 28 Sep 2023 10:36:24 -0400
Subject: [PATCH 6/8] Fix haml-lint `InstanceVariables` rule for
 admin/roles/_form (#26063)

---
 .haml-lint_todo.yml                   |  7 ++--
 app/views/admin/roles/_form.html.haml | 54 +++++++++++++--------------
 app/views/admin/roles/edit.html.haml  |  5 ++-
 app/views/admin/roles/new.html.haml   |  5 ++-
 4 files changed, 36 insertions(+), 35 deletions(-)

diff --git a/.haml-lint_todo.yml b/.haml-lint_todo.yml
index 39e7b29903..886855ce0f 100644
--- a/.haml-lint_todo.yml
+++ b/.haml-lint_todo.yml
@@ -1,13 +1,13 @@
 # This configuration was generated by
 # `haml-lint --auto-gen-config`
-# on 2023-09-28 10:03:39 -0400 using Haml-Lint version 0.50.0.
+# on 2023-09-28 10:26:23 -0400 using Haml-Lint version 0.50.0.
 # The point is for the user to remove these configuration records
 # one by one as the lints are removed from the code base.
 # Note that changes in the inspected code, or installation of new
 # versions of Haml-Lint, may require this file to be generated again.
 
 linters:
-  # Offense count: 946
+  # Offense count: 944
   LineLength:
     enabled: false
 
@@ -26,11 +26,10 @@ linters:
       - 'app/views/admin/reports/show.html.haml'
       - 'app/views/disputes/strikes/show.html.haml'
 
-  # Offense count: 25
+  # Offense count: 18
   InstanceVariables:
     exclude:
       - 'app/views/admin/reports/_actions.html.haml'
-      - 'app/views/admin/roles/_form.html.haml'
       - 'app/views/auth/registrations/_status.html.haml'
       - 'app/views/auth/sessions/two_factor/_otp_authentication_form.html.haml'
       - 'app/views/relationships/_account.html.haml'
diff --git a/app/views/admin/roles/_form.html.haml b/app/views/admin/roles/_form.html.haml
index 3cbec0d0b5..2400332145 100644
--- a/app/views/admin/roles/_form.html.haml
+++ b/app/views/admin/roles/_form.html.haml
@@ -1,40 +1,36 @@
-= simple_form_for @role, url: @role.new_record? ? admin_roles_path : admin_role_path(@role) do |f|
-  = render 'shared/error_messages', object: @role
+= render 'shared/error_messages', object: form.object
 
-  - if @role.everyone?
-    .flash-message.info
-      = t('admin.roles.everyone_full_description_html')
-  - else
+- if form.object.everyone?
+  .flash-message.info
+    = t('admin.roles.everyone_full_description_html')
+- else
+  .fields-group
+    = form.input :name, wrapper: :with_label
+
+  - unless current_user.role == form.object
     .fields-group
-      = f.input :name, wrapper: :with_label
+      = form.input :position, wrapper: :with_label, input_html: { max: current_user.role.position - 1 }
 
-    - unless current_user.role.id == @role.id
-      .fields-group
-        = f.input :position, wrapper: :with_label, input_html: { max: current_user.role.position - 1 }
+  .fields-group
+    = form.input :color, wrapper: :with_label, input_html: { placeholder: '#000000', type: 'color' }
 
-    .fields-group
-      = f.input :color, wrapper: :with_label, input_html: { placeholder: '#000000', type: 'color' }
+  %hr.spacer/
 
-    %hr.spacer/
+  .fields-group
+    = form.input :highlighted, wrapper: :with_label
 
-    .fields-group
-      = f.input :highlighted, wrapper: :with_label
+  %hr.spacer/
 
-    %hr.spacer/
+- unless current_user.role == form.object
 
-  - unless current_user.role.id == @role.id
+  .field-group
+    .input.with_block_label
+      %label= t('simple_form.labels.user_role.permissions_as_keys')
+      %span.hint= t('simple_form.hints.user_role.permissions_as_keys')
 
-    .field-group
-      .input.with_block_label
-        %label= t('simple_form.labels.user_role.permissions_as_keys')
-        %span.hint= t('simple_form.hints.user_role.permissions_as_keys')
+    - (form.object.everyone? ? UserRole::Flags::CATEGORIES.slice(:invites) : UserRole::Flags::CATEGORIES).each do |category, permissions|
+      %h4= t(category, scope: 'admin.roles.categories')
 
-      - (@role.everyone? ? UserRole::Flags::CATEGORIES.slice(:invites) : UserRole::Flags::CATEGORIES).each do |category, permissions|
-        %h4= t(category, scope: 'admin.roles.categories')
+      = form.input :permissions_as_keys, collection: permissions, wrapper: :with_block_label, include_blank: false, label_method: ->(privilege) { safe_join([t("admin.roles.privileges.#{privilege}"), content_tag(:span, t("admin.roles.privileges.#{privilege}_description"), class: 'hint')]) }, required: false, as: :check_boxes, collection_wrapper_tag: 'ul', item_wrapper_tag: 'li', label: false, hint: false, disabled: permissions.filter { |privilege| UserRole::FLAGS[privilege] & current_user.role.computed_permissions == 0 }
 
-        = f.input :permissions_as_keys, collection: permissions, wrapper: :with_block_label, include_blank: false, label_method: ->(privilege) { safe_join([t("admin.roles.privileges.#{privilege}"), content_tag(:span, t("admin.roles.privileges.#{privilege}_description"), class: 'hint')]) }, required: false, as: :check_boxes, collection_wrapper_tag: 'ul', item_wrapper_tag: 'li', label: false, hint: false, disabled: permissions.filter { |privilege| UserRole::FLAGS[privilege] & current_user.role.computed_permissions == 0 }
-
-    %hr.spacer/
-
-  .actions
-    = f.button :button, @role.new_record? ? t('admin.roles.add_new') : t('generic.save_changes'), type: :submit
+  %hr.spacer/
diff --git a/app/views/admin/roles/edit.html.haml b/app/views/admin/roles/edit.html.haml
index 5688b69b1f..ec3f5b6fbe 100644
--- a/app/views/admin/roles/edit.html.haml
+++ b/app/views/admin/roles/edit.html.haml
@@ -4,4 +4,7 @@
 - content_for :heading_actions do
   = link_to t('admin.roles.delete'), admin_role_path(@role), method: :delete, data: { confirm: t('admin.accounts.are_you_sure') }, class: 'button button--destructive' if can?(:destroy, @role)
 
-= render partial: 'form'
+= simple_form_for @role, url: admin_role_path(@role) do |form|
+  = render partial: 'form', object: form
+  .actions
+    = form.button :button, t('generic.save_changes'), type: :submit
diff --git a/app/views/admin/roles/new.html.haml b/app/views/admin/roles/new.html.haml
index 8210792718..6ca0c2137b 100644
--- a/app/views/admin/roles/new.html.haml
+++ b/app/views/admin/roles/new.html.haml
@@ -1,4 +1,7 @@
 - content_for :page_title do
   = t('admin.roles.add_new')
 
-= render partial: 'form'
+= simple_form_for @role, url: admin_roles_path do |form|
+  = render partial: 'form', object: form
+  .actions
+    = form.button :button, t('admin.roles.add_new'), type: :submit

From 99e289f03f6a8e2f1ba82ecadaac2d0a6e9fe876 Mon Sep 17 00:00:00 2001
From: Matt Jankowski <matt@jankowski.online>
Date: Thu, 28 Sep 2023 10:52:11 -0400
Subject: [PATCH 7/8] Fix include `Rails.application.routes.url_helpers` (Rails
 7.1 prep) (#27189)

---
 app/helpers/routing_helper.rb | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/app/helpers/routing_helper.rb b/app/helpers/routing_helper.rb
index 0d5a8505a2..2fb9ce72cb 100644
--- a/app/helpers/routing_helper.rb
+++ b/app/helpers/routing_helper.rb
@@ -3,11 +3,12 @@
 module RoutingHelper
   extend ActiveSupport::Concern
 
-  include Rails.application.routes.url_helpers
   include ActionView::Helpers::AssetTagHelper
   include Webpacker::Helper
 
   included do
+    include Rails.application.routes.url_helpers
+
     def default_url_options
       ActionMailer::Base.default_url_options
     end

From 2016c5d912f400ae98ee03ce269112de2f9ec62d Mon Sep 17 00:00:00 2001
From: Matt Jankowski <matt@jankowski.online>
Date: Thu, 28 Sep 2023 10:52:23 -0400
Subject: [PATCH 8/8] Fix deprecation warning about `rewhere: true` being
 default behavior (Rails 7.1 prep) (#27190)

---
 app/models/report_filter.rb | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/app/models/report_filter.rb b/app/models/report_filter.rb
index c9b3bce2d1..fd0e23cb81 100644
--- a/app/models/report_filter.rb
+++ b/app/models/report_filter.rb
@@ -19,7 +19,7 @@ class ReportFilter
     scope = Report.unresolved
 
     params.each do |key, value|
-      scope = scope.merge scope_for(key, value), rewhere: true
+      scope = scope.merge scope_for(key, value)
     end
 
     scope