Browse Source

Fix processing of incoming Block activities (#15546)

Unlike locally-issued blocks, they weren't clearing follow
relationships in both directions, follow requests or notifications.

Co-authored-by: Claire <claire.github-309c@sitedethib.com>
kosmos-production
ThibG 2 years ago committed by GitHub
parent
commit
7bed25f3ea
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 7
      app/lib/activitypub/activity/block.rb

7
app/lib/activitypub/activity/block.rb

@ -11,8 +11,13 @@ class ActivityPub::Activity::Block < ActivityPub::Activity
return
end
UnfollowService.new.call(@account, target_account) if @account.following?(target_account)
UnfollowService.new.call(target_account, @account) if target_account.following?(@account)
RejectFollowService.new.call(target_account, @account) if target_account.requested?(@account)
@account.block!(target_account, uri: @json['id']) unless delete_arrived_first?(@json['id'])
unless delete_arrived_first?(@json['id'])
BlockWorker.perform_async(@account.id, target_account.id)
@account.block!(target_account, uri: @json['id'])
end
end
end

Loading…
Cancel
Save