]> cat aescling's git repositories - mastodon.git/commitdiff
[Glitch] Completely hide toots matched by “irreversible” filters even if they got...
authorThibG <thib@sitedethib.com>
Tue, 18 Jun 2019 16:23:08 +0000 (18:23 +0200)
committerThibaut Girka <thib@sitedethib.com>
Wed, 19 Jun 2019 17:16:13 +0000 (19:16 +0200)
app/javascript/flavours/glitch/actions/notifications.js
app/javascript/flavours/glitch/selectors/index.js

index 57fecf63d4dc4240a376cde518d85230dff6a3ba..2107503db4f53cc453aae7aa4dffd929c540fe19 100644 (file)
@@ -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);
     }
 
index d1a88a2fc983e1f0a4646e7838a0985d444e6f7a..2d4f3f7b4ecb6a5f0c86232e169699f9360e2e72 100644 (file)
@@ -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;