X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=server%2Flib%2Factivitypub%2Fvideo-comments.ts;h=d5c078a29815c6e3647bf1d9c4b5435a3322e533;hb=0374b6b5cd685316f924874b2a3068bb345eb0dd;hp=3e8306fa4c6ecf117adbc477e410b6f3bbc68d4c;hpb=001ed2d40c8d2c8f494f5dc7f91ed62d56df10fd;p=github%2FChocobozzz%2FPeerTube.git diff --git a/server/lib/activitypub/video-comments.ts b/server/lib/activitypub/video-comments.ts index 3e8306fa4..d5c078a29 100644 --- a/server/lib/activitypub/video-comments.ts +++ b/server/lib/activitypub/video-comments.ts @@ -131,9 +131,9 @@ async function resolveParentComment (params: ResolveThreadParams) { } const actorUrl = body.attributedTo - if (!actorUrl) throw new Error('Miss attributed to in comment') + if (!actorUrl && body.type !== 'Tombstone') throw new Error('Miss attributed to in comment') - if (checkUrlsSameHost(url, actorUrl) !== true) { + if (actorUrl && checkUrlsSameHost(url, actorUrl) !== true) { throw new Error(`Actor url ${actorUrl} has not the same host than the comment url ${url}`) } @@ -141,18 +141,22 @@ async function resolveParentComment (params: ResolveThreadParams) { throw new Error(`Comment url ${url} host is different from the AP object id ${body.id}`) } - const actor = await getOrCreateActorAndServerAndModel(actorUrl, 'all') + const actor = actorUrl + ? await getOrCreateActorAndServerAndModel(actorUrl, 'all') + : null + const comment = new VideoCommentModel({ url: body.id, - text: body.content, + text: body.content ? body.content : '', videoId: null, - accountId: actor.Account.id, + accountId: actor ? actor.Account.id : null, inReplyToCommentId: null, originCommentId: null, createdAt: new Date(body.published), - updatedAt: new Date(body.updated) + updatedAt: new Date(body.updated), + deletedAt: body.deleted ? new Date(body.deleted) : null }) as MCommentOwner - comment.Account = actor.Account + comment.Account = actor ? actor.Account : null return resolveThread({ url: body.inReplyTo,