Fix crash when encountering invalid account fields (#16598)

* Add test

* Fix crash when encountering invalid account fields
pull/17389/head
Claire 2021-08-11 16:40:55 +02:00
parent 168272fe61
commit 80ca4fdb3c
2 changed files with 6 additions and 1 deletions

View File

@ -302,7 +302,11 @@ class Account < ApplicationRecord
end
def fields
(self[:fields] || []).map { |f| Field.new(self, f) }
(self[:fields] || []).map do |f|
Field.new(self, f)
rescue
nil
end.compact
end
def fields_attributes=(attributes)

View File

@ -12,6 +12,7 @@ RSpec.describe ActivityPub::ProcessAccountService, type: :service do
attachment: [
{ type: 'PropertyValue', name: 'Pronouns', value: 'They/them' },
{ type: 'PropertyValue', name: 'Occupation', value: 'Unit test' },
{ type: 'PropertyValue', name: 'non-string', value: ['foo', 'bar'] },
],
}.with_indifferent_access
end