From adf33cfac9d68bab588e3605d7104e4b34bad691 Mon Sep 17 00:00:00 2001 From: Julian Lam Date: Wed, 9 Oct 2024 13:18:13 -0400 Subject: [PATCH] fix: error on replying to remote mids #12834 --- src/messaging/create.js | 2 +- src/messaging/index.js | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/messaging/create.js b/src/messaging/create.js index e6b7713be1..36642adf82 100644 --- a/src/messaging/create.js +++ b/src/messaging/create.js @@ -43,7 +43,7 @@ module.exports = function (Messaging) { throw new Error('[[error:no-room]]'); } if (data.toMid) { - if (!utils.isNumber(data.toMid)) { + if (!await Messaging.messageExists(data.toMid)) { throw new Error('[[error:invalid-mid]]'); } if (!await Messaging.canViewMessage(data.toMid, roomId, uid)) { diff --git a/src/messaging/index.js b/src/messaging/index.js index 1eaf5255d1..da6991495a 100644 --- a/src/messaging/index.js +++ b/src/messaging/index.js @@ -453,7 +453,7 @@ Messaging.hasPrivateChat = async (uid, withUid) => { Messaging.canViewMessage = async (mids, roomId, uid) => { let single = false; - if (!Array.isArray(mids) && isFinite(mids)) { + if (!Array.isArray(mids) && (utils.isNumber(mids) || activitypub.helpers.isUri(mids))) { mids = [mids]; single = true; }