From: Tom Hughes Date: Tue, 11 May 2021 14:49:48 +0000 (+0100) Subject: Fix calculation of friendship rate limit X-Git-Tag: live~1630 X-Git-Url: https://git.openstreetmap.org/rails.git/commitdiff_plain/9603d718c201f603942fc4c04bbc84d52983a6e3 Fix calculation of friendship rate limit --- diff --git a/app/models/user.rb b/app/models/user.rb index a2c0619de..3dbaa688c 100644 --- a/app/models/user.rb +++ b/app/models/user.rb @@ -308,10 +308,10 @@ class User < ApplicationRecord def max_friends_per_hour account_age_in_seconds = Time.now.utc - creation_time account_age_in_hours = account_age_in_seconds / 3600 - recent_friends = friendships.where("created_at >= ?", Time.now.utc - 3600).count + recent_friends = Friendship.where(:befriendee => self).where("created_at >= ?", Time.now.utc - 3600).count active_reports = issues.with_status(:open).sum(:reports_count) - max_messages = account_age_in_hours.ceil + recent_friends - active_reports * 10 - max_messages.clamp(0, Settings.max_friends_per_hour) + max_friends = account_age_in_hours.ceil + recent_friends - active_reports * 10 + max_friends.clamp(0, Settings.max_friends_per_hour) end private