Fix interaction policy changes in implicit updates not being saved (#35751)

This commit is contained in:
Claire 2025-08-12 14:19:29 +02:00 committed by GitHub
parent 69ee043f9d
commit 258e5c4938
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 18 additions and 1 deletions

View File

@ -74,7 +74,7 @@ class ActivityPub::ProcessStatusUpdateService < BaseService
end
def update_interaction_policies!
@status.quote_approval_policy = @status_parser.quote_policy
@status.update(quote_approval_policy: @status_parser.quote_policy)
end
def update_media_attachments!

View File

@ -316,6 +316,23 @@ RSpec.describe ActivityPub::FetchRemoteStatusService do
expect(existing_status.edits).to_not be_empty
end
end
context 'with an implicit update to quoting policy' do
let(:object) do
note.merge({
'content' => existing_status.text,
'interactionPolicy' => {
'canQuote' => {
'automaticApproval' => ['https://www.w3.org/ns/activitystreams#Public'],
},
},
})
end
it 'updates status' do
expect(existing_status.reload.quote_approval_policy).to eq(Status::QUOTE_APPROVAL_POLICY_FLAGS[:public] << 16)
end
end
end
end