diff options
| author | dakkar <dakkar@thenautilus.net> | 2024-03-07 15:45:28 +0000 |
|---|---|---|
| committer | dakkar <dakkar@thenautilus.net> | 2024-03-07 15:45:28 +0000 |
| commit | 5ba9a3f2005e6ffcb78eecfc257057ef82a2e874 (patch) | |
| tree | 75529101477b7daecda002e807242964f445a980 /packages/backend/src/core/NoteCreateService.ts | |
| parent | merge: update list of project members (!452) (diff) | |
| parent | update notes to make sure we remember to check import/create problems (diff) | |
| download | sharkey-5ba9a3f2005e6ffcb78eecfc257057ef82a2e874.tar.gz sharkey-5ba9a3f2005e6ffcb78eecfc257057ef82a2e874.tar.bz2 sharkey-5ba9a3f2005e6ffcb78eecfc257057ef82a2e874.zip | |
merge: check prohibited words when creating notes (!461)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/461
Approved-by: Amelia Yukii <amelia.yukii@shourai.de>
Approved-by: Luna <her@mint.lgbt>
Diffstat (limited to 'packages/backend/src/core/NoteCreateService.ts')
| -rw-r--r-- | packages/backend/src/core/NoteCreateService.ts | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/packages/backend/src/core/NoteCreateService.ts b/packages/backend/src/core/NoteCreateService.ts index b985846f1c..631d7074bd 100644 --- a/packages/backend/src/core/NoteCreateService.ts +++ b/packages/backend/src/core/NoteCreateService.ts @@ -266,6 +266,16 @@ export class NoteCreateService implements OnApplicationShutdown { } } + const hasProhibitedWords = await this.checkProhibitedWordsContain({ + cw: data.cw, + text: data.text, + pollChoices: data.poll?.choices, + }, meta.prohibitedWords); + + if (hasProhibitedWords) { + throw new IdentifiableError('689ee33f-f97c-479a-ac49-1b9f8140af99', 'Note contains prohibited words'); + } + const inSilencedInstance = this.utilityService.isSilencedHost(meta.silencedHosts, user.host); if (data.visibility === 'public' && inSilencedInstance && user.host !== null) { @@ -299,7 +309,7 @@ export class NoteCreateService implements OnApplicationShutdown { } // Check blocking - if (data.renote && data.text == null && data.poll == null && (data.files == null || data.files.length === 0)) { + if (data.renote && !this.isQuote(data)) { if (data.renote.userHost === null) { if (data.renote.userId !== user.id) { const blocked = await this.userBlockingService.checkBlocked(data.renote.userId, user.id); @@ -1018,7 +1028,7 @@ export class NoteCreateService implements OnApplicationShutdown { removeOnComplete: true, }); } - + // Pack the note const noteObj = await this.noteEntityService.pack(note, null, { skipHide: true, withReactionAndUserPairCache: true }); |