let comment: MCommentOwnerVideo
try {
const resolveThreadResult = await resolveThread({ url: commentObject.id, isVideo: false })
+
video = resolveThreadResult.video
created = resolveThreadResult.commentCreated
comment = resolveThreadResult.comment
}
// Try to not forward unwanted commments on our videos
- if (video.isOwned() && await isBlockedByServerOrAccount(comment.Account, video.VideoChannel.Account)) {
- logger.info('Skip comment forward from blocked account or server %s.', comment.Account.Actor.url)
- return
- }
+ if (video.isOwned()) {
+ if (await isBlockedByServerOrAccount(comment.Account, video.VideoChannel.Account)) {
+ logger.info('Skip comment forward from blocked account or server %s.', comment.Account.Actor.url)
+ return
+ }
- if (video.isOwned() && created === true) {
- // Don't resend the activity to the sender
- const exceptions = [ byActor ]
+ if (created === true) {
+ // Don't resend the activity to the sender
+ const exceptions = [ byActor ]
- await forwardVideoRelatedActivity(activity, undefined, exceptions, video)
+ await forwardVideoRelatedActivity(activity, undefined, exceptions, video)
+ }
}
if (created && notify) Notifier.Instance.notifyOnNewComment(comment)
if (params.comments === undefined) params.comments = []
// Already have this comment?
- if (isVideo !== true) {
+ if (isVideo === false) {
const result = await resolveCommentFromDB(params)
if (result) return result
}
try {
- if (isVideo !== false) return await tryResolveThreadFromVideo(params)
-
- return resolveParentComment(params)
+ if (isVideo === true) return tryResolveThreadFromVideo(params)
} catch (err) {
logger.debug('Cannot get or create account and video and channel for reply %s, fetch comment', url, { err })
-
- return resolveParentComment(params)
}
+
+ return resolveParentComment(params)
}
export {
const syncParam = { likes: true, dislikes: true, shares: true, comments: false, thumbnail: true, refreshVideo: false }
const { video } = await getOrCreateVideoAndAccountAndChannel({ videoObject: url, syncParam })
+ if (video.isOwned() && !video.hasPrivacyForFederation()) {
+ throw new Error('Cannot resolve thread of video with privacy that is not compatible with federation')
+ }
+
let resultComment: MCommentOwnerVideo
if (comments.length !== 0) {
const firstReply = comments[comments.length - 1] as MCommentOwnerVideo