aboutsummaryrefslogtreecommitdiffhomepage
path: root/server/lib/activitypub
diff options
context:
space:
mode:
authorChocobozzz <me@florianbigard.com>2020-12-17 09:23:57 +0100
committerChocobozzz <me@florianbigard.com>2020-12-17 09:23:57 +0100
commit9cfeb3cf989fffccdfe3e575903dc00baab255b2 (patch)
tree8a40ade507ebb1ba874a2e934420c523d6853638 /server/lib/activitypub
parent9e454eba570ca459a2dc2bb99ed6a700622e4f32 (diff)
downloadPeerTube-9cfeb3cf989fffccdfe3e575903dc00baab255b2.tar.gz
PeerTube-9cfeb3cf989fffccdfe3e575903dc00baab255b2.tar.zst
PeerTube-9cfeb3cf989fffccdfe3e575903dc00baab255b2.zip
Fix redundancy federation in some cases
Diffstat (limited to 'server/lib/activitypub')
-rw-r--r--server/lib/activitypub/send/send-undo.ts9
-rw-r--r--server/lib/activitypub/send/send-update.ts8
2 files changed, 14 insertions, 3 deletions
diff --git a/server/lib/activitypub/send/send-undo.ts b/server/lib/activitypub/send/send-undo.ts
index 352c158fd..d2b738bef 100644
--- a/server/lib/activitypub/send/send-undo.ts
+++ b/server/lib/activitypub/send/send-undo.ts
@@ -79,8 +79,13 @@ async function sendUndoDislike (byActor: MActor, video: MVideoAccountLight, t: T
79async function sendUndoCacheFile (byActor: MActor, redundancyModel: MVideoRedundancyVideo, t: Transaction) { 79async function sendUndoCacheFile (byActor: MActor, redundancyModel: MVideoRedundancyVideo, t: Transaction) {
80 logger.info('Creating job to undo cache file %s.', redundancyModel.url) 80 logger.info('Creating job to undo cache file %s.', redundancyModel.url)
81 81
82 const videoId = redundancyModel.getVideo().id 82 const associatedVideo = redundancyModel.getVideo()
83 const video = await VideoModel.loadAndPopulateAccountAndServerAndTags(videoId) 83 if (!associatedVideo) {
84 logger.warn('Cannot send undo activity for redundancy %s: no video files associated.', redundancyModel.url)
85 return
86 }
87
88 const video = await VideoModel.loadAndPopulateAccountAndServerAndTags(associatedVideo.id)
84 const createActivity = buildCreateActivity(redundancyModel.url, byActor, redundancyModel.toActivityPubObject()) 89 const createActivity = buildCreateActivity(redundancyModel.url, byActor, redundancyModel.toActivityPubObject())
85 90
86 return sendUndoVideoRelatedActivity({ byActor, video, url: redundancyModel.url, activity: createActivity, transaction: t }) 91 return sendUndoVideoRelatedActivity({ byActor, video, url: redundancyModel.url, activity: createActivity, transaction: t })
diff --git a/server/lib/activitypub/send/send-update.ts b/server/lib/activitypub/send/send-update.ts
index 305edf429..bcf6e1569 100644
--- a/server/lib/activitypub/send/send-update.ts
+++ b/server/lib/activitypub/send/send-update.ts
@@ -75,7 +75,13 @@ async function sendUpdateActor (accountOrChannel: MChannelDefault | MAccountDefa
75async function sendUpdateCacheFile (byActor: MActorLight, redundancyModel: MVideoRedundancyVideo) { 75async function sendUpdateCacheFile (byActor: MActorLight, redundancyModel: MVideoRedundancyVideo) {
76 logger.info('Creating job to update cache file %s.', redundancyModel.url) 76 logger.info('Creating job to update cache file %s.', redundancyModel.url)
77 77
78 const video = await VideoModel.loadAndPopulateAccountAndServerAndTags(redundancyModel.getVideo().id) 78 const associatedVideo = redundancyModel.getVideo()
79 if (!associatedVideo) {
80 logger.warn('Cannot send update activity for redundancy %s: no video files associated.', redundancyModel.url)
81 return
82 }
83
84 const video = await VideoModel.loadAndPopulateAccountAndServerAndTags(associatedVideo.id)
79 85
80 const activityBuilder = (audience: ActivityAudience) => { 86 const activityBuilder = (audience: ActivityAudience) => {
81 const redundancyObject = redundancyModel.toActivityPubObject() 87 const redundancyObject = redundancyModel.toActivityPubObject()