diff --git a/src/search.js b/src/search.js index a61f9286ea..7aa43ca1ef 100644 --- a/src/search.js +++ b/src/search.js @@ -75,7 +75,12 @@ async function searchInContent(data) { } else { let result; if (data.uid && activitypub.helpers.isUri(data.query)) { - result = await fetchRemoteObject(data.uid, data.query); + const local = await activitypub.helpers.resolveLocalId(data.query); + if (local.type === 'post') { + result = [[local.id], []]; + } else { + result = await fetchRemoteObject(data.uid, data.query); + } } if (result) { diff --git a/src/user/search.js b/src/user/search.js index 9f9ab2cb02..252273b941 100644 --- a/src/user/search.js +++ b/src/user/search.js @@ -44,11 +44,16 @@ module.exports = function (User) { if (!data.findUids && data.uid) { const handle = activitypub.helpers.isWebfinger(data.query); if (handle || activitypub.helpers.isUri(data.query)) { - const assertion = await activitypub.actors.assert([handle || data.query]); - if (assertion === true) { - uids = [handle ? await User.getUidByUserslug(handle) : query]; - } else if (Array.isArray(assertion) && assertion.length) { - uids = assertion.map(u => u.id); + const local = await activitypub.helpers.resolveLocalId(data.query); + if (local.type === 'user') { + uids = [local.id]; + } else { + const assertion = await activitypub.actors.assert([handle || data.query]); + if (assertion === true) { + uids = [handle ? await User.getUidByUserslug(handle) : query]; + } else if (Array.isArray(assertion) && assertion.length) { + uids = assertion.map(u => u.id); + } } } }