From b60c86ae6e70ead00618eb178d7b7fa28344b99a Mon Sep 17 00:00:00 2001 From: Leah Date: Wed, 5 Feb 2025 13:25:22 +0100 Subject: [PATCH 1/4] 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; } -- 2.45.2 From 80d1cc174c690b38f037d945cec2f69ae7ea365b Mon Sep 17 00:00:00 2001 From: Leah Date: Wed, 5 Feb 2025 17:25:46 +0100 Subject: [PATCH 2/4] fix double space --- packages/backend/src/misc/is-user-related.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/backend/src/misc/is-user-related.ts b/packages/backend/src/misc/is-user-related.ts index 350064a83..4fcc18658 100644 --- a/packages/backend/src/misc/is-user-related.ts +++ b/packages/backend/src/misc/is-user-related.ts @@ -7,7 +7,7 @@ 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.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; -- 2.45.2 From b597eb4c04040371ebdf15c09ed3bde513430d3b Mon Sep 17 00:00:00 2001 From: Leah Date: Sat, 8 Feb 2025 13:01:15 +0100 Subject: [PATCH 3/4] re-add ignoreAuthor --- packages/backend/src/misc/is-user-related.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/backend/src/misc/is-user-related.ts b/packages/backend/src/misc/is-user-related.ts index 4fcc18658..0c3db94da 100644 --- a/packages/backend/src/misc/is-user-related.ts +++ b/packages/backend/src/misc/is-user-related.ts @@ -4,8 +4,8 @@ */ //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 +export function isUserRelated(note: any, ids: Set, ignoreAuthor = false): boolean { + if (ids.has(note.userId) && !ignoreAuthor) return true; // note author is muted (unless ignoreAuthor is false) 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 -- 2.45.2 From fbb7be529c17f2b5081d08fa47a8f746969d58a3 Mon Sep 17 00:00:00 2001 From: Leah Date: Sat, 8 Feb 2025 14:15:34 +0100 Subject: [PATCH 4/4] fix? --- packages/backend/src/misc/is-user-related.ts | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/packages/backend/src/misc/is-user-related.ts b/packages/backend/src/misc/is-user-related.ts index 0c3db94da..347de1bb1 100644 --- a/packages/backend/src/misc/is-user-related.ts +++ b/packages/backend/src/misc/is-user-related.ts @@ -5,7 +5,9 @@ //Cherrypicked mute fix from foundkey: https://akkoma.dev/FoundKeyGang/FoundKey/pulls/32 export function isUserRelated(note: any, ids: Set, ignoreAuthor = false): boolean { - if (ids.has(note.userId) && !ignoreAuthor) return true; // note author is muted (unless ignoreAuthor is false) + if (ignoreAuthor) return false; + + 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 -- 2.45.2