From b60c86ae6e70ead00618eb178d7b7fa28344b99a Mon Sep 17 00:00:00 2001 From: Leah Date: Wed, 5 Feb 2025 13:25:22 +0100 Subject: [PATCH] cherrypick improve mutes and blocks from foundkey --- packages/backend/src/misc/is-user-related.ts | 18 ++++++------------ 1 file changed, 6 insertions(+), 12 deletions(-) diff --git a/packages/backend/src/misc/is-user-related.ts b/packages/backend/src/misc/is-user-related.ts index 93c9b2b81..350064a83 100644 --- a/packages/backend/src/misc/is-user-related.ts +++ b/packages/backend/src/misc/is-user-related.ts @@ -3,18 +3,12 @@ * SPDX-License-Identifier: AGPL-3.0-only */ -export function isUserRelated(note: any, userIds: Set, ignoreAuthor = false): boolean { - if (userIds.has(note.userId) && !ignoreAuthor) { - return true; - } - - if (note.reply != null && note.reply.userId !== note.userId && userIds.has(note.reply.userId)) { - return true; - } - - if (note.renote != null && note.renote.userId !== note.userId && userIds.has(note.renote.userId)) { - return true; - } +//Cherrypicked mute fix from foundkey: https://akkoma.dev/FoundKeyGang/FoundKey/pulls/32 +export function isUserRelated(note: any, ids: Set): boolean { + if (ids.has(note.userId)) return true; // note author is muted + if (note.mentions && note.mentions.some((user: string) => ids.has(user))) return true; // any of mentioned users are muted + if (note.reply && isUserRelated(note.reply, ids)) return true; // also check reply target + if (note.renote && isUserRelated(note.renote, ids)) return true; // also check renote target return false; }