if (params.commentCreated === undefined) params.commentCreated = false
if (params.comments === undefined) params.comments = []
- // Already have this comment?
- if (isVideo === false) {
+ // If it is not a video, or if we don't know if it's a video
+ if (isVideo === false || isVideo === undefined) {
const result = await resolveCommentFromDB(params)
if (result) return result
}
try {
- if (isVideo === true) return tryResolveThreadFromVideo(params)
+ // If it is a video, or if we don't know if it's a video
+ if (isVideo === true || isVideo === undefined) {
+ // Keep await so we catch the exception
+ return await tryResolveThreadFromVideo(params)
+ }
} catch (err) {
- logger.debug('Cannot get or create account and video and channel for reply %s, fetch comment', url, { err })
+ logger.debug('Cannot resolve thread from video %s, maybe because it was not a video', url, { err })
}
- return resolveParentComment(params)
+ return resolveRemoteParentComment(params)
}
export {
return { video, comment: resultComment, commentCreated }
}
-async function resolveParentComment (params: ResolveThreadParams) {
+async function resolveRemoteParentComment (params: ResolveThreadParams) {
const { url, comments } = params
if (comments.length > ACTIVITY_PUB.MAX_RECURSION_COMMENTS) {
})
if (sanitizeAndCheckVideoCommentObject(body) === false) {
- throw new Error('Remote video comment JSON is not valid:' + JSON.stringify(body))
+ throw new Error(`Remote video comment JSON ${url} is not valid:` + JSON.stringify(body))
}
const actorUrl = body.attributedTo