aboutsummaryrefslogtreecommitdiffhomepage
path: root/server/controllers/api/search/search-video-channels.ts
diff options
context:
space:
mode:
authorChocobozzz <me@florianbigard.com>2021-11-05 14:11:19 +0100
committerChocobozzz <me@florianbigard.com>2021-11-05 14:11:19 +0100
commitdedcd583b2461895f816c3dd67d56f05d3274f6b (patch)
tree058880eda468f4282cefce275451aa76567a15b8 /server/controllers/api/search/search-video-channels.ts
parent3233acdadf34045b51da91d42bcd6b3cbf3036f4 (diff)
downloadPeerTube-dedcd583b2461895f816c3dd67d56f05d3274f6b.tar.gz
PeerTube-dedcd583b2461895f816c3dd67d56f05d3274f6b.tar.zst
PeerTube-dedcd583b2461895f816c3dd67d56f05d3274f6b.zip
Fix remote interaction
When we fetch a ressource that is a redirection of another ressource
Diffstat (limited to 'server/controllers/api/search/search-video-channels.ts')
-rw-r--r--server/controllers/api/search/search-video-channels.ts6
1 files changed, 4 insertions, 2 deletions
diff --git a/server/controllers/api/search/search-video-channels.ts b/server/controllers/api/search/search-video-channels.ts
index c9e81bffa..aa5afb46e 100644
--- a/server/controllers/api/search/search-video-channels.ts
+++ b/server/controllers/api/search/search-video-channels.ts
@@ -1,7 +1,7 @@
1import express from 'express' 1import express from 'express'
2import { sanitizeUrl } from '@server/helpers/core-utils' 2import { sanitizeUrl } from '@server/helpers/core-utils'
3import { pickSearchChannelQuery } from '@server/helpers/query' 3import { pickSearchChannelQuery } from '@server/helpers/query'
4import { doJSONRequest } from '@server/helpers/requests' 4import { doJSONRequest, findLatestRedirection } from '@server/helpers/requests'
5import { CONFIG } from '@server/initializers/config' 5import { CONFIG } from '@server/initializers/config'
6import { WEBSERVER } from '@server/initializers/constants' 6import { WEBSERVER } from '@server/initializers/constants'
7import { Hooks } from '@server/lib/plugins/hooks' 7import { Hooks } from '@server/lib/plugins/hooks'
@@ -126,7 +126,9 @@ async function searchVideoChannelURI (search: string, isWebfingerSearch: boolean
126 126
127 if (isUserAbleToSearchRemoteURI(res)) { 127 if (isUserAbleToSearchRemoteURI(res)) {
128 try { 128 try {
129 const actor = await getOrCreateAPActor(uri, 'all', true, true) 129 const latestUri = await findLatestRedirection(uri, { activityPub: true })
130
131 const actor = await getOrCreateAPActor(latestUri, 'all', true, true)
130 videoChannel = actor.VideoChannel 132 videoChannel = actor.VideoChannel
131 } catch (err) { 133 } catch (err) {
132 logger.info('Cannot search remote video channel %s.', uri, { err }) 134 logger.info('Cannot search remote video channel %s.', uri, { err })