diff --git a/packages/backend/src/misc/check-word-mute.ts b/packages/backend/src/misc/check-word-mute.ts index 61047de19..8c7d95086 100644 --- a/packages/backend/src/misc/check-word-mute.ts +++ b/packages/backend/src/misc/check-word-mute.ts @@ -5,7 +5,7 @@ import type { User } from "@/models/entities/user.js"; type NoteLike = { userId: Note["userId"]; text: Note["text"]; - files: Note["files"]; + files?: Note["files"]; cw?: Note["cw"]; }; @@ -19,9 +19,11 @@ function checkWordMute( ): boolean { if (note == null) return false; - const text = `${note.cw ?? ""} ${note.text ?? ""} ${note.files - .map((f) => f.comment ?? "") - .join(" ")}`.trim(); + let text = `${note.cw ?? ""} ${note.text ?? ""}`; + if (note.files != null) + text += ` ${note.files.map((f) => f.comment ?? "").join(" ")}`; + text = text.trim(); + if (text === "") return false; for (const mutePattern of mutedWords) { diff --git a/packages/client/src/scripts/check-word-mute.ts b/packages/client/src/scripts/check-word-mute.ts index c2943d6ae..f789d0cd1 100644 --- a/packages/client/src/scripts/check-word-mute.ts +++ b/packages/client/src/scripts/check-word-mute.ts @@ -10,9 +10,11 @@ function checkWordMute( note: NoteLike, mutedWords: Array, ): Muted { - const text = `${note.cw ?? ""} ${note.text ?? ""} ${note.files - .map((f) => f.comment ?? "") - .join(" ")}`.trim(); + let text = `${note.cw ?? ""} ${note.text ?? ""}`; + if (note.files != null) + text += ` ${note.files.map((f) => f.comment ?? "").join(" ")}`; + text = text.trim(); + if (text === "") return NotMuted; let result = { muted: false, matched: [] };