diff options
author | ThibG <thib@sitedethib.com> | 2019-06-18 18:23:08 +0200 |
---|---|---|
committer | Thibaut Girka <thib@sitedethib.com> | 2019-06-19 19:16:13 +0200 |
commit | 3771a993b7e19bc0e756e7f727f10ddd14c10c93 (patch) | |
tree | e512bfc11eae35fa601522672f47261a0972c484 /app/javascript/flavours | |
parent | 032a6696227edc8f55d07d0243c10e11d6ac18da (diff) |
[Glitch] Completely hide toots matched by “irreversible” filters even if they got to the client
Diffstat (limited to 'app/javascript/flavours')
-rw-r--r-- | app/javascript/flavours/glitch/actions/notifications.js | 5 | ||||
-rw-r--r-- | app/javascript/flavours/glitch/selectors/index.js | 6 |
2 files changed, 11 insertions, 0 deletions
diff --git a/app/javascript/flavours/glitch/actions/notifications.js b/app/javascript/flavours/glitch/actions/notifications.js index 57fecf63d..2107503db 100644 --- a/app/javascript/flavours/glitch/actions/notifications.js +++ b/app/javascript/flavours/glitch/actions/notifications.js @@ -62,9 +62,14 @@ export function updateNotifications(notification, intlMessages, intlLocale) { let filtered = false; if (notification.type === 'mention') { + const dropRegex = regexFromFilters(filters.filter(filter => filter.get('irreversible'))); const regex = regexFromFilters(filters); const searchIndex = notification.status.spoiler_text + '\n' + unescapeHTML(notification.status.content); + if (dropRegex && dropRegex.test(searchIndex)) { + return; + } + filtered = regex && regex.test(searchIndex); } diff --git a/app/javascript/flavours/glitch/selectors/index.js b/app/javascript/flavours/glitch/selectors/index.js index d1a88a2fc..2d4f3f7b4 100644 --- a/app/javascript/flavours/glitch/selectors/index.js +++ b/app/javascript/flavours/glitch/selectors/index.js @@ -78,6 +78,12 @@ export const makeGetStatus = () => { 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); let filtered = false; |