2
0

Explicitly record Tombstone quotes as deleted

This adds a `deleted` state to the internal representation, but this does
not change the API, which already included such a state.
This commit is contained in:
Claire
2025-10-09 15:55:49 +02:00
parent a186bad399
commit d7d6407d41
6 changed files with 12 additions and 6 deletions

View File

@@ -305,10 +305,12 @@ class ActivityPub::ProcessStatusUpdateService < BaseService
approval_uri = nil if unsupported_uri_scheme?(approval_uri)
if @status.quote.present?
state = @status_parser.deleted_quote? ? :deleted : :pending
# If the quoted post has changed, discard the old object and create a new one
if @status.quote.quoted_status.present? && ActivityPub::TagManager.instance.uri_for(@status.quote.quoted_status) != quote_uri
@status.quote.destroy
quote = Quote.create(status: @status, approval_uri: approval_uri, legacy: @status_parser.legacy_quote?)
quote = Quote.create(status: @status, approval_uri: approval_uri, legacy: @status_parser.legacy_quote?, state: state)
@quote_changed = true
else
quote = @status.quote