[Glitch] Completely hide toots matched by “irreversible” filters even if they got to the client

main
ThibG 2019-06-18 18:23:08 +02:00 committed by Thibaut Girka
parent 032a669622
commit 3771a993b7
2 changed files with 11 additions and 0 deletions

View File

@ -62,9 +62,14 @@ export function updateNotifications(notification, intlMessages, intlLocale) {
let filtered = false; let filtered = false;
if (notification.type === 'mention') { if (notification.type === 'mention') {
const dropRegex = regexFromFilters(filters.filter(filter => filter.get('irreversible')));
const regex = regexFromFilters(filters); const regex = regexFromFilters(filters);
const searchIndex = notification.status.spoiler_text + '\n' + unescapeHTML(notification.status.content); const searchIndex = notification.status.spoiler_text + '\n' + unescapeHTML(notification.status.content);
if (dropRegex && dropRegex.test(searchIndex)) {
return;
}
filtered = regex && regex.test(searchIndex); filtered = regex && regex.test(searchIndex);
} }

View File

@ -78,6 +78,12 @@ export const makeGetStatus = () => {
return null; return null;
} }
const dropRegex = (accountReblog || accountBase).get('id') !== me && regexFromFilters(filters.filter(filter => filter.get('irreversible')));
if (dropRegex && dropRegex.test(statusBase.get('reblog') ? statusReblog.get('search_index') : statusBase.get('search_index'))) {
return null;
}
const regex = (accountReblog || accountBase).get('id') !== me && regexFromFilters(filters); const regex = (accountReblog || accountBase).get('id') !== me && regexFromFilters(filters);
let filtered = false; let filtered = false;