diff --git a/packages/backend/src/server/api/endpoints/notes/user-list-timeline.ts b/packages/backend/src/server/api/endpoints/notes/user-list-timeline.ts index 3a87ed647c..7eab4eb843 100644 --- a/packages/backend/src/server/api/endpoints/notes/user-list-timeline.ts +++ b/packages/backend/src/server/api/endpoints/notes/user-list-timeline.ts @@ -5,6 +5,7 @@ import define from "@/server/api/define.js"; import { ApiError } from "@/server/api/error.js"; import { makePaginationQuery } from "@/server/api/common/make-pagination-query.js"; import { generateVisibilityQuery } from "@/server/api/common/generate-visibility-query.js"; +import { generateMutedNoteQuery } from "@/server/api/common/generate-muted-note-query.js"; export const meta = { tags: ["notes", "lists"], @@ -95,6 +96,7 @@ export default define(meta, paramDef, async (ps, user) => { }); generateVisibilityQuery(query, user); + generateMutedNoteQuery(query, user); if (ps.includeMyRenotes === false) { query.andWhere( diff --git a/packages/backend/src/server/api/stream/channels/user-list.ts b/packages/backend/src/server/api/stream/channels/user-list.ts index f699ffcf50..e0a3ec6480 100644 --- a/packages/backend/src/server/api/stream/channels/user-list.ts +++ b/packages/backend/src/server/api/stream/channels/user-list.ts @@ -3,6 +3,7 @@ import { UserListJoinings, UserLists } from "@/models/index.js"; import type { User } from "@/models/entities/user.js"; import { isUserRelated } from "@/misc/is-user-related.js"; import type { Packed } from "@/misc/schema.js"; +import { checkWordMute } from "backend-rs"; export default class extends Channel { public readonly chName = "userList"; @@ -58,6 +59,17 @@ export default class extends Channel { if (note.renote && !note.text && this.renoteMuting.has(note.userId)) return; if (note.replyId != null && this.replyMuting.has(note.userId)) return; + if ( + this.userProfile && + this.user?.id !== note.userId && + (await checkWordMute( + note, + this.userProfile.mutedWords, + this.userProfile.mutedPatterns, + )) + ) + return; + this.send("note", note); }