From 03f1d26be7ef8a3d396fd8319f2a7b5777b30260 Mon Sep 17 00:00:00 2001 From: naskya Date: Sat, 22 Jul 2023 13:29:49 +0000 Subject: [PATCH] feat: show home posts by following users in antennas (close #23) --- README.md | 2 ++ packages/backend/src/misc/check-hit-antenna.ts | 3 +-- packages/backend/src/server/api/endpoints/antennas/notes.ts | 3 +-- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index a8b6493ac..139622ca2 100644 --- a/README.md +++ b/README.md @@ -17,6 +17,8 @@ ## 細かい変更点 +- アンテナにフォロー中のユーザーのホーム投稿も表示する + - フォロー中のユーザーの投稿は見たいから - 猫のアカウントはアイコンを常に丸く表示する - そのほうがかわいいため - 閲覧注意の投稿への返信で注釈の先頭に "re:" をつける設定を追加 diff --git a/packages/backend/src/misc/check-hit-antenna.ts b/packages/backend/src/misc/check-hit-antenna.ts index 7b9c2a154..e7abba23d 100644 --- a/packages/backend/src/misc/check-hit-antenna.ts +++ b/packages/backend/src/misc/check-hit-antenna.ts @@ -26,7 +26,6 @@ export async function checkHitAntenna( antennaUserFollowing?: User["id"][], ): Promise { if (note.visibility === "specified") return false; - if (note.visibility === "home") return false; // アンテナ作成者がノート作成者にブロックされていたらスキップ const blockings = await blockingCache.fetch(noteUser.id, () => @@ -36,7 +35,7 @@ export async function checkHitAntenna( ); if (blockings.some((blocking) => blocking === antenna.userId)) return false; - if (note.visibility === "followers") { + if (note.visibility === "followers" || note.visibility === "home") { if (noteUserFollowers && !noteUserFollowers.includes(antenna.userId)) return false; if (antennaUserFollowing && !antennaUserFollowing.includes(note.userId)) diff --git a/packages/backend/src/server/api/endpoints/antennas/notes.ts b/packages/backend/src/server/api/endpoints/antennas/notes.ts index 6ca71c08e..b663d4aac 100644 --- a/packages/backend/src/server/api/endpoints/antennas/notes.ts +++ b/packages/backend/src/server/api/endpoints/antennas/notes.ts @@ -98,8 +98,7 @@ export default define(meta, paramDef, async (ps, user) => { .leftJoinAndSelect("replyUser.banner", "replyUserBanner") .leftJoinAndSelect("renote.user", "renoteUser") .leftJoinAndSelect("renoteUser.avatar", "renoteUserAvatar") - .leftJoinAndSelect("renoteUser.banner", "renoteUserBanner") - .andWhere("note.visibility != 'home'"); + .leftJoinAndSelect("renoteUser.banner", "renoteUserBanner"); generateVisibilityQuery(query, user); generateMutedUserQuery(query, user);