Correctly set the activity audience in outbox
authorChocobozzz <me@florianbigard.com>
Sun, 4 Feb 2018 22:17:01 +0000 (23:17 +0100)
committerChocobozzz <me@florianbigard.com>
Wed, 7 Feb 2018 09:03:11 +0000 (10:03 +0100)
server/controllers/activitypub/outbox.ts

index 86cdcf4cd56ae6817ec97a3b602cf86bc3249623..c0c0c9d1c46b20a69761a6b1eaba2c6e9ab4d084 100644 (file)
@@ -1,5 +1,6 @@
 import * as express from 'express'
 import { Activity } from '../../../shared/models/activitypub/activity'
+import { VideoPrivacy } from '../../../shared/models/videos'
 import { activityPubCollectionPagination } from '../../helpers/activitypub'
 import { pageToStartAndCount } from '../../helpers/core-utils'
 import { ACTIVITY_PUB } from '../../initializers/constants'
@@ -43,12 +44,12 @@ async function outboxController (req: express.Request, res: express.Response, ne
 
   for (const video of data.data) {
     const byActor = video.VideoChannel.Account.Actor
-    const createActivityAudience = buildAudience(followersMatrix[byActor.id])
+    const createActivityAudience = buildAudience(followersMatrix[byActor.id], video.privacy === VideoPrivacy.PUBLIC)
 
     // This is a shared video
     if (video.VideoShares !== undefined && video.VideoShares.length !== 0) {
       const videoShare = video.VideoShares[0]
-      const announceAudience = buildAudience(followersMatrix[actor.id])
+      const announceAudience = buildAudience(followersMatrix[actor.id], video.privacy === VideoPrivacy.PUBLIC)
       const announceActivity = await announceActivityData(videoShare.url, actor, video.url, undefined, announceAudience)
 
       activities.push(announceActivity)