Fix crash when encountering invalid account fields (#16598)

* Add test

* Fix crash when encountering invalid account fields
master
Claire 3 years ago committed by GitHub
parent 229f5d1681
commit 13b08610a0
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 6
      app/models/account.rb
  2. 1
      spec/services/activitypub/process_account_service_spec.rb

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

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

Loading…
Cancel
Save