From 48012ae13d2efa50367d58e2f0cecb40f3bfce67 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bar=C4=B1=C5=9F=20Soner=20U=C5=9Fakl=C4=B1?= Date: Wed, 2 Apr 2025 09:22:30 -0400 Subject: [PATCH] fix: closes #13289, id can be null --- src/middleware/activitypub.js | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/middleware/activitypub.js b/src/middleware/activitypub.js index 6909347636..490715dbcb 100644 --- a/src/middleware/activitypub.js +++ b/src/middleware/activitypub.js @@ -105,8 +105,11 @@ middleware.assertPayload = async function (req, res, next) { // Cross-check key ownership against received actor await activitypub.actors.assert(actor); - let compare = await db.getObjectsFields([`userRemote:${actor}:keys`, `categoryRemote:${actor}:keys`], ['id']); - compare = compare.reduce((keyId, { id }) => keyId || id, '').replace(/#[\w-]+$/, ''); + let compare = await db.getObjectsFields([ + `userRemote:${actor}:keys`, `categoryRemote:${actor}:keys`, + ], ['id']); + compare = compare.reduce((keyId, { id }) => keyId || id || '', '').replace(/#[\w-]+$/, ''); + const { signature } = req.headers; let keyId = new Map(signature.split(',').filter(Boolean).map((v) => { const index = v.indexOf('=');