about summary refs log tree commit diff
path: root/app/models/follow.rb
diff options
context:
space:
mode:
authorThibG <thib@sitedethib.com>2020-12-26 23:52:46 +0100
committerGitHub <noreply@github.com>2020-12-26 23:52:46 +0100
commitf1f96ebf02e96d21d84c52825cbac623b66488f8 (patch)
treeb0185cd71c95891a5aa04f859db0e213d66f32f3 /app/models/follow.rb
parent4580129c987371b656a8ab19feba09fb98f9fac1 (diff)
Fix being able to import more than allowed number of follows (#15384)
* Fix being able to import more than allowed number of follows

Without this commit, if someone tries importing a second list of accounts to
follow before the first one has been processed, this will queue imports for
the two whole lists, even if they exceed the account's allowed number of
outgoing follows.

This commit changes it so the individual queued imports aren't exempt from
the follow limit check (they remain exempt from the rate-limiting check
though).

* Catch validation errors to not re-queue failed follows

Co-authored-by: Claire <claire.github-309c@sitedethib.com>
Diffstat (limited to 'app/models/follow.rb')
-rw-r--r--app/models/follow.rb2
1 files changed, 1 insertions, 1 deletions
diff --git a/app/models/follow.rb b/app/models/follow.rb
index 69a1722b3..a5e3fe809 100644
--- a/app/models/follow.rb
+++ b/app/models/follow.rb
@@ -17,6 +17,7 @@ class Follow < ApplicationRecord
   include Paginable
   include RelationshipCacheable
   include RateLimitable
+  include FollowLimitable
 
   rate_limit by: :account, family: :follows
 
@@ -26,7 +27,6 @@ class Follow < ApplicationRecord
   has_one :notification, as: :activity, dependent: :destroy
 
   validates :account_id, uniqueness: { scope: :target_account_id }
-  validates_with FollowLimitValidator, on: :create, if: :rate_limit?
 
   scope :recent, -> { reorder(id: :desc) }