Add tombstones for remote statuses (#9830)
* Add Tombstone model to remember object deletion * Do not recreate a status if it has been deleted * Record Tombstone for remote deleted items Also, only record deleted items from same-host actors * Clear an user's tombstones when their key change
This commit is contained in:
parent
31f396b57d
commit
75b1488cf4
6 changed files with 57 additions and 3 deletions
|
@ -33,6 +33,8 @@ class ActivityPub::ProcessAccountService < BaseService
|
|||
|
||||
after_protocol_change! if protocol_changed?
|
||||
after_key_change! if key_changed? && !@options[:signed_with_known_key]
|
||||
clear_tombstones! if key_changed?
|
||||
|
||||
unless @options[:only_key]
|
||||
check_featured_collection! if @account.featured_collection_url.present?
|
||||
check_links! unless @account.fields.empty?
|
||||
|
@ -209,6 +211,10 @@ class ActivityPub::ProcessAccountService < BaseService
|
|||
!@old_public_key.nil? && @old_public_key != @account.public_key
|
||||
end
|
||||
|
||||
def clear_tombstones!
|
||||
Tombstone.delete_all(account_id: @account.id)
|
||||
end
|
||||
|
||||
def protocol_changed?
|
||||
!@old_protocol.nil? && @old_protocol != @account.protocol
|
||||
end
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue