From 04e1e48f1746533609372311becdd6800b005f50 Mon Sep 17 00:00:00 2001 From: MeiMei <30769358+mei23@users.noreply.github.com> Date: Tue, 8 Jan 2019 21:02:00 +0900 Subject: Hide invisible notes from timeline (#3852) --- src/server/api/endpoints/notes/timeline.ts | 21 +++++++++++++++++++-- 1 file changed, 19 insertions(+), 2 deletions(-) (limited to 'src/server/api/endpoints/notes/timeline.ts') diff --git a/src/server/api/endpoints/notes/timeline.ts b/src/server/api/endpoints/notes/timeline.ts index 3c970c03a1..5604cf291b 100644 --- a/src/server/api/endpoints/notes/timeline.ts +++ b/src/server/api/endpoints/notes/timeline.ts @@ -139,12 +139,29 @@ export default define(meta, (ps, user) => new Promise(async (res, rej) => { }] }); + const visibleQuery = user == null ? [{ + visibility: { $in: [ 'public', 'home' ] } + }] : [{ + visibility: { $in: [ 'public', 'home' ] } + }, { + // myself (for specified/private) + userId: user._id + }, { + // to me (for specified) + visibleUserIds: { $in: [ user._id ] } + }]; + const query = { $and: [{ deletedAt: null, - // フォローしている人の投稿 - $or: followQuery, + $and: [{ + // フォローしている人の投稿 + $or: followQuery + }, { + // visible for me + $or: visibleQuery + }], // mute userId: { -- cgit v1.2.3-freya