From 5800f354ccd4845d0b4bc212a0c53a0ff40edf82 Mon Sep 17 00:00:00 2001 From: Chocobozzz Date: Wed, 23 Nov 2022 16:23:22 +0100 Subject: Filter out invalid images from peertube --- .../actors/shared/object-to-model-attributes.ts | 40 ++++++++++++---------- 1 file changed, 21 insertions(+), 19 deletions(-) (limited to 'server') diff --git a/server/lib/activitypub/actors/shared/object-to-model-attributes.ts b/server/lib/activitypub/actors/shared/object-to-model-attributes.ts index f6a78c457..d854bf2b5 100644 --- a/server/lib/activitypub/actors/shared/object-to-model-attributes.ts +++ b/server/lib/activitypub/actors/shared/object-to-model-attributes.ts @@ -35,31 +35,33 @@ function getImagesInfoFromObject (actorObject: ActivityPubActor, type: ActorImag ? actorObject.icons || actorObject.icon : actorObject.image - return normalizeIconOrImage(iconsOrImages).map(iconOrImage => { - const mimetypes = MIMETYPES.IMAGE + return normalizeIconOrImage(iconsOrImages) + .map(iconOrImage => { + const mimetypes = MIMETYPES.IMAGE - if (iconOrImage.type !== 'Image' || !isActivityPubUrlValid(iconOrImage.url)) return undefined + if (iconOrImage.type !== 'Image' || !isActivityPubUrlValid(iconOrImage.url)) return undefined - let extension: string + let extension: string - if (iconOrImage.mediaType) { - extension = mimetypes.MIMETYPE_EXT[iconOrImage.mediaType] - } else { - const tmp = getLowercaseExtension(iconOrImage.url) + if (iconOrImage.mediaType) { + extension = mimetypes.MIMETYPE_EXT[iconOrImage.mediaType] + } else { + const tmp = getLowercaseExtension(iconOrImage.url) - if (mimetypes.EXT_MIMETYPE[tmp] !== undefined) extension = tmp - } + if (mimetypes.EXT_MIMETYPE[tmp] !== undefined) extension = tmp + } - if (!extension) return undefined + if (!extension) return undefined - return { - name: buildUUID() + extension, - fileUrl: iconOrImage.url, - height: iconOrImage.height, - width: iconOrImage.width, - type - } - }) + return { + name: buildUUID() + extension, + fileUrl: iconOrImage.url, + height: iconOrImage.height, + width: iconOrImage.width, + type + } + }) + .filter(i => !!i) } function getActorDisplayNameFromObject (actorObject: ActivityPubActor) { -- cgit v1.2.3