Fix crash when encountering invalid account fields (#16598)
* Add test * Fix crash when encountering invalid account fields
This commit is contained in:
		
							parent
							
								
									229f5d1681
								
							
						
					
					
						commit
						13b08610a0
					
				
					 2 changed files with 6 additions and 1 deletions
				
			
		|  | @ -295,7 +295,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) | ||||
|  |  | |||
|  | @ -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 | ||||
|  |  | |||
		Reference in a new issue