fix(backend): Accept arrays in ActivityPub icon and image properties (#14825)
				
					
				
			This is allowed according to the Activity vocabulary: https://www.w3.org/TR/activitystreams-vocabulary/#dfn-icon The issue is noticeable in combination with Bridgy Fed: https://github.com/snarfed/bridgy-fed/issues/1408
This commit is contained in:
		@@ -232,6 +232,12 @@ export class ApPersonService implements OnModuleInit {
 | 
			
		||||
		if (user == null) throw new Error('failed to create user: user is null');
 | 
			
		||||
 | 
			
		||||
		const [avatar, banner] = await Promise.all([icon, image].map(img => {
 | 
			
		||||
			// icon and image may be arrays
 | 
			
		||||
			// see https://www.w3.org/TR/activitystreams-vocabulary/#dfn-icon
 | 
			
		||||
			if (Array.isArray(img)) {
 | 
			
		||||
				img = img.find(item => item && item.url) ?? null;
 | 
			
		||||
			}
 | 
			
		||||
			
 | 
			
		||||
			// if we have an explicitly missing image, return an
 | 
			
		||||
			// explicitly-null set of values
 | 
			
		||||
			if ((img == null) || (typeof img === 'object' && img.url == null)) {
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user