From a2fad7ce6126638f251691c79bb90da6b557dba8 Mon Sep 17 00:00:00 2001 From: Francis Dinh Date: Sun, 11 Sep 2022 15:28:35 -0400 Subject: [PATCH] backend: fix mentionedUsers and userInfo queries Turns out `getMany` doesn't work with the specific query used, so use `getRawMany` instead. Also fixup the predicate used in userInfo to use the correct field names. --- packages/backend/src/mfm/to-html.ts | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/packages/backend/src/mfm/to-html.ts b/packages/backend/src/mfm/to-html.ts index d59c60687..830bfac52 100644 --- a/packages/backend/src/mfm/to-html.ts +++ b/packages/backend/src/mfm/to-html.ts @@ -108,13 +108,13 @@ export async function toHtml(mfmText: string, mentions?: string[]): Promise 0) { const mentionedUsers = await UserProfiles.createQueryBuilder('user_profile') .leftJoin('user_profile.user', 'user') - .select('user.username') - .addSelect('user.host') + .select('user.username', 'username') + .addSelect('user.host', 'host') // links should preferably use user friendly urls, only fall back to AP ids .addSelect('COALESCE(user_profile.url, user.uri)', 'url') .where('"userId" IN (:...ids)', { ids }) - .getMany(); - const userInfo = mentionedUsers.find(user => user.user?.username === username && user.userHost === host); + .getRawMany(); + const userInfo = mentionedUsers.find(user => user.username === username && user.host === host); if (userInfo != null) { // Mastodon microformat: span.h-card > a.u-url.mention const a = doc.createElement('a');