From fd6584844b070cfc283902aba26f2853473e83d1 Mon Sep 17 00:00:00 2001 From: Chocobozzz Date: Wed, 16 Jun 2021 10:01:31 +0200 Subject: Resolve object id from actors too --- server/lib/activitypub/actors/get.ts | 3 +++ server/lib/activitypub/videos/get.ts | 1 + 2 files changed, 4 insertions(+) (limited to 'server') diff --git a/server/lib/activitypub/actors/get.ts b/server/lib/activitypub/actors/get.ts index 501ff74e3..d7cf2b678 100644 --- a/server/lib/activitypub/actors/get.ts +++ b/server/lib/activitypub/actors/get.ts @@ -40,6 +40,9 @@ async function getOrCreateAPActor ( const { actorObject } = await fetchRemoteActor(actorUrl) if (actorObject === undefined) throw new Error('Cannot fetch remote actor ' + actorUrl) + // actorUrl is just an alias/rediraction, so process object id instead + if (actorObject.id !== actorUrl) return getOrCreateAPActor(actorObject, 'all', recurseIfNeeded, updateCollections) + // Create the attributed to actor // In PeerTube a video channel is owned by an account let ownerActor: MActorFullActor diff --git a/server/lib/activitypub/videos/get.ts b/server/lib/activitypub/videos/get.ts index f0982bd98..7bb14adc4 100644 --- a/server/lib/activitypub/videos/get.ts +++ b/server/lib/activitypub/videos/get.ts @@ -61,6 +61,7 @@ async function getOrCreateAPVideo ( const { videoObject } = await fetchRemoteVideo(videoUrl) if (!videoObject) throw new Error('Cannot fetch remote video with url: ' + videoUrl) + // videoUrl is just an alias/rediraction, so process object id instead if (videoObject.id !== videoUrl) return getOrCreateAPVideo({ ...options, fetchType: 'all', videoObject }) try { -- cgit v1.2.3