Fix error when encountering invalid tag in updated object (#37635)

This commit is contained in:
Claire 2026-01-27 17:01:22 +01:00
parent 81716f7e27
commit 569ff6c8ad
2 changed files with 6 additions and 1 deletions

View file

@ -204,7 +204,11 @@ class ActivityPub::ProcessStatusUpdateService < BaseService
def update_tags!
previous_tags = @status.tags.to_a
current_tags = @status.tags = Tag.find_or_create_by_names(@raw_tags)
current_tags = @status.tags = @raw_tags.flat_map do |tag|
Tag.find_or_create_by_names([tag]).filter(&:valid?)
rescue ActiveRecord::RecordInvalid
[]
end
return unless @status.distributable?

View file

@ -258,6 +258,7 @@ RSpec.describe ActivityPub::ProcessStatusUpdateService do
tag: [
{ type: 'Hashtag', name: 'foo' },
{ type: 'Hashtag', name: 'bar' },
{ type: 'Hashtag', name: '#2024' },
],
}
end