enhance: 禁止ワードはリモートノートも対象に (#13280)

Resolve #13279
This commit is contained in:
tamaina 2024-02-13 04:54:01 +09:00 committed by GitHub
parent e12369ac13
commit 32c5c43b6d
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
3 changed files with 5 additions and 6 deletions

View file

@ -263,11 +263,9 @@ export class NoteCreateService implements OnApplicationShutdown {
}
}
if (!user.host) {
if (this.utilityService.isKeyWordIncluded(data.cw ?? data.text ?? '', meta.prohibitedWords)) {
throw new NoteCreateService.ContainsProhibitedWordsError();
}
}
const inSilencedInstance = this.utilityService.isSilencedHost(meta.silencedHosts, user.host);

View file

@ -663,7 +663,7 @@ describe('Note', () => {
assert.strictEqual(note2.body.error.code, 'CONTAINS_PROHIBITED_WORDS');
});
test('禁止ワードを含んでいてもリモートノートはエラーにならない', async () => {
test('禁止ワードを含んでるリモートノートもエラーになる', async () => {
const prohibited = await api('admin/update-meta', {
prohibitedWords: [
'test',
@ -678,7 +678,7 @@ describe('Note', () => {
text: 'hogetesthuge',
}, tom);
assert.strictEqual(note1.status, 200);
assert.strictEqual(note1.status, 400);
});
});

View file

@ -100,6 +100,7 @@ describe('ActivityPub', () => {
perRemoteUserUserTimelineCacheMax: 100,
blockedHosts: [] as string[],
sensitiveWords: [] as string[],
prohibitedWords: [] as string[],
} as MiMeta;
let meta = metaInitial;