]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/commitdiff
Unlisted videos are not displayed on Mastodon now
authorChocobozzz <me@florianbigard.com>
Wed, 21 Feb 2018 09:07:02 +0000 (10:07 +0100)
committerChocobozzz <me@florianbigard.com>
Wed, 21 Feb 2018 09:07:02 +0000 (10:07 +0100)
server/helpers/logger.ts
server/lib/activitypub/process/process-update.ts
server/lib/activitypub/send/misc.ts
server/lib/activitypub/videos.ts

index bcd4885af961a9a1a087ab98806fc46bb158da36..7d1d72f29d8b1d1fae4b858304777ecf1b11a152 100644 (file)
@@ -21,7 +21,7 @@ function keysExcluder (key, value) {
   return excludedKeys[key] === true ? undefined : value
 }
 
-const loggerFormat = winston.format.printf(info => {
+const consoleLoggerFormat = winston.format.printf(info => {
   let additionalInfos = JSON.stringify(info, keysExcluder, 2)
   if (additionalInfos === '{}') additionalInfos = ''
   else additionalInfos = ' ' + additionalInfos
@@ -30,6 +30,12 @@ const loggerFormat = winston.format.printf(info => {
   return `[${info.label}] ${info.timestamp} ${info.level}: ${info.message}${additionalInfos}`
 })
 
+const jsonLoggerFormat = winston.format.printf(info => {
+  if (info.message && info.message.stack !== undefined) info.message = info.message.stack
+
+  return JSON.stringify(info)
+})
+
 const timestampFormatter = winston.format.timestamp({
   format: 'YYYY-MM-dd HH:mm:ss.SSS'
 })
@@ -49,18 +55,18 @@ const logger = new winston.createLogger({
         timestampFormatter,
         labelFormatter,
         winston.format.splat(),
-        winston.format.json()
+        jsonLoggerFormat
       )
     }),
     new winston.transports.Console({
-      handleExceptions: true,
+      handleExcegiptions: true,
       humanReadableUnhandledException: true,
       format: winston.format.combine(
         timestampFormatter,
         winston.format.splat(),
         labelFormatter,
         winston.format.colorize(),
-        loggerFormat
+        consoleLoggerFormat
       )
     })
   ],
@@ -72,6 +78,6 @@ const logger = new winston.createLogger({
 export {
   timestampFormatter,
   labelFormatter,
-  loggerFormat,
+  consoleLoggerFormat,
   logger
 }
index 566e5938b3b918707fe058dfb9435dfa62e61e19..24e5589d4a63de8280a5b7c867550438ef978b94 100644 (file)
@@ -71,7 +71,7 @@ async function updateRemoteVideo (actor: ActorModel, activity: ActivityUpdate) {
         throw new Error('Account ' + actor.url + ' does not own video channel ' + videoChannel.Actor.url)
       }
 
-      const videoData = await videoActivityObjectToDBAttributes(videoChannel, videoAttributesToUpdate, activity.to, activity.cc)
+      const videoData = await videoActivityObjectToDBAttributes(videoChannel, videoAttributesToUpdate, activity.to)
       videoInstance.set('name', videoData.name)
       videoInstance.set('uuid', videoData.uuid)
       videoInstance.set('url', videoData.url)
index 7a21f0c94e794d0582b176138d8493647893befc..607822d1623ec8a7f4642a68b4400ef46eb5c778 100644 (file)
@@ -153,8 +153,8 @@ function buildAudience (followerInboxUrls: string[], isPublic = true) {
     to = [ ACTIVITY_PUB.PUBLIC ]
     cc = followerInboxUrls
   } else { // Unlisted
-    to = followerInboxUrls
-    cc = [ ACTIVITY_PUB.PUBLIC ]
+    to = [ ]
+    cc = [ ]
   }
 
   return { to, cc }
index e65362190cb481814a936070b853af34c3aab7f1..e7b516129aa4a87b4d14db81acb155fe5aa1ad6f 100644 (file)
@@ -56,11 +56,8 @@ function generateThumbnailFromUrl (video: VideoModel, icon: ActivityIconObject)
 
 async function videoActivityObjectToDBAttributes (videoChannel: VideoChannelModel,
                                                   videoObject: VideoTorrentObject,
-                                                  to: string[] = [],
-                                                  cc: string[] = []) {
-  let privacy = VideoPrivacy.PRIVATE
-  if (to.indexOf(ACTIVITY_PUB.PUBLIC) !== -1) privacy = VideoPrivacy.PUBLIC
-  else if (cc.indexOf(ACTIVITY_PUB.PUBLIC) !== -1) privacy = VideoPrivacy.UNLISTED
+                                                  to: string[] = []) {
+  const privacy = to.indexOf(ACTIVITY_PUB.PUBLIC) !== -1 ? VideoPrivacy.PUBLIC : VideoPrivacy.UNLISTED
 
   const duration = videoObject.duration.replace(/[^\d]+/, '')
   let language = null
@@ -78,15 +75,8 @@ async function videoActivityObjectToDBAttributes (videoChannel: VideoChannelMode
     licence = parseInt(videoObject.licence.identifier, 10)
   }
 
-  let description = null
-  if (videoObject.content) {
-    description = videoObject.content
-  }
-
-  let support = null
-  if (videoObject.support) {
-    support = videoObject.support
-  }
+  const description = videoObject.content || null
+  const support = videoObject.support || null
 
   return {
     name: videoObject.name,
@@ -157,7 +147,7 @@ async function getOrCreateVideo (videoObject: VideoTorrentObject, channelActor:
     const videoFromDatabase = await VideoModel.loadByUUIDOrURLAndPopulateAccount(videoObject.uuid, videoObject.id, t)
     if (videoFromDatabase) return videoFromDatabase
 
-    const videoData = await videoActivityObjectToDBAttributes(channelActor.VideoChannel, videoObject, videoObject.to, videoObject.cc)
+    const videoData = await videoActivityObjectToDBAttributes(channelActor.VideoChannel, videoObject, videoObject.to)
     const video = VideoModel.build(videoData)
 
     // Don't block on request