Skip to content

Commit 64875b5

Browse files
ClearlyClairehiyuki2578
authored andcommitted
Completely hide toots matched by “irreversible” filters even if they got to the client (mastodon#11113)
Fixes mastodon#11090
1 parent 5e18611 commit 64875b5

2 files changed

Lines changed: 12 additions & 2 deletions

File tree

app/javascript/mastodon/actions/notifications.js

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,9 +48,14 @@ export function updateNotifications(notification, intlMessages, intlLocale) {
4848
let filtered = false;
4949

5050
if (notification.type === 'mention') {
51+
const dropRegex = regexFromFilters(filters.filter(filter => filter.get('irreversible')));
5152
const regex = regexFromFilters(filters);
5253
const searchIndex = notification.status.spoiler_text + '\n' + unescapeHTML(notification.status.content);
5354

55+
if (dropRegex && dropRegex.test(searchIndex)) {
56+
return;
57+
}
58+
5459
filtered = regex && regex.test(searchIndex);
5560
}
5661

app/javascript/mastodon/selectors/index.js

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -84,8 +84,13 @@ export const makeGetStatus = () => {
8484
statusReblog = null;
8585
}
8686

87-
const regex = (accountReblog || accountBase).get('id') !== me && regexFromFilters(filters);
88-
const filtered = regex && regex.test(statusBase.get('reblog') ? statusReblog.get('search_index') : statusBase.get('search_index'));
87+
const dropRegex = (accountReblog || accountBase).get('id') !== me && regexFromFilters(filters.filter(filter => filter.get('irreversible')));
88+
if (dropRegex && dropRegex.test(statusBase.get('reblog') ? statusReblog.get('search_index') : statusBase.get('search_index'))) {
89+
return null;
90+
}
91+
92+
const regex = (accountReblog || accountBase).get('id') !== me && regexFromFilters(filters);
93+
const filtered = regex && regex.test(statusBase.get('reblog') ? statusReblog.get('search_index') : statusBase.get('search_index'));
8994

9095
return statusBase.withMutations(map => {
9196
map.set('reblog', statusReblog);

0 commit comments

Comments
 (0)