diff options
Diffstat (limited to 'app/services')
-rw-r--r-- | app/services/activitypub/process_account_service.rb | 7 | ||||
-rw-r--r-- | app/services/follow_service.rb | 2 | ||||
-rw-r--r-- | app/services/notify_service.rb | 2 |
3 files changed, 7 insertions, 4 deletions
diff --git a/app/services/activitypub/process_account_service.rb b/app/services/activitypub/process_account_service.rb index 7f95678b0..670a0e4d6 100644 --- a/app/services/activitypub/process_account_service.rb +++ b/app/services/activitypub/process_account_service.rb @@ -5,9 +5,10 @@ class ActivityPub::ProcessAccountService < BaseService # Should be called with confirmed valid JSON # and WebFinger-resolved username and domain - def call(username, domain, json) + def call(username, domain, json, options = {}) return if json['inbox'].blank? || unsupported_uri_scheme?(json['id']) + @options = options @json = json @uri = @json['id'] @username = username @@ -31,7 +32,7 @@ class ActivityPub::ProcessAccountService < BaseService return if @account.nil? after_protocol_change! if protocol_changed? - after_key_change! if key_changed? + after_key_change! if key_changed? && !@options[:signed_with_known_key] check_featured_collection! if @account.featured_collection_url.present? @account @@ -226,7 +227,7 @@ class ActivityPub::ProcessAccountService < BaseService updated = tag['updated'] emoji = CustomEmoji.find_by(shortcode: shortcode, domain: @account.domain) - return unless emoji.nil? || emoji.updated_at >= updated + return unless emoji.nil? || image_url != emoji.image_remote_url || (updated && emoji.updated_at >= updated) emoji ||= CustomEmoji.new(domain: @account.domain, shortcode: shortcode, uri: uri) emoji.image_remote_url = image_url diff --git a/app/services/follow_service.rb b/app/services/follow_service.rb index 60a389afd..f6888a68d 100644 --- a/app/services/follow_service.rb +++ b/app/services/follow_service.rb @@ -27,6 +27,8 @@ class FollowService < BaseService return end + ActivityTracker.increment('activity:interactions') + if target_account.locked? || target_account.activitypub? request_follow(source_account, target_account, reblogs: reblogs) else diff --git a/app/services/notify_service.rb b/app/services/notify_service.rb index 6490d2735..7d0dcc7ad 100644 --- a/app/services/notify_service.rb +++ b/app/services/notify_service.rb @@ -123,7 +123,7 @@ class NotifyService < BaseService def send_email return if @notification.activity.nil? - NotificationMailer.public_send(@notification.type, @recipient, @notification).deliver_later + NotificationMailer.public_send(@notification.type, @recipient, @notification).deliver_later(wait: 2.minutes) end def email_enabled? |