Keyword/phrase filtering (#7905)
* Add keyword filtering
    GET|POST       /api/v1/filters
    GET|PUT|DELETE /api/v1/filters/:id
- Irreversible filters can drop toots from home or notifications
- Other filters can hide toots through the client app
- Filters use a phrase valid in particular contexts, expiration
* Make sure expired filters don't get applied client-side
* Add missing API methods
* Remove "regex filter" from column settings
* Add tests
* Add test for FeedManager
* Add CustomFilter test
* Add UI for managing filters
* Add streaming API event to allow syncing filters
* Fix tests
			
			
This commit is contained in:
		@@ -6,6 +6,7 @@ import {
 | 
			
		||||
  disconnectTimeline,
 | 
			
		||||
} from './timelines';
 | 
			
		||||
import { updateNotifications, expandNotifications } from './notifications';
 | 
			
		||||
import { fetchFilters } from './filters';
 | 
			
		||||
import { getLocale } from '../locales';
 | 
			
		||||
 | 
			
		||||
const { messages } = getLocale();
 | 
			
		||||
@@ -30,6 +31,9 @@ export function connectTimelineStream (timelineId, path, pollingRefresh = null)
 | 
			
		||||
        case 'notification':
 | 
			
		||||
          dispatch(updateNotifications(JSON.parse(data.payload), messages, locale));
 | 
			
		||||
          break;
 | 
			
		||||
        case 'filters_changed':
 | 
			
		||||
          dispatch(fetchFilters());
 | 
			
		||||
          break;
 | 
			
		||||
        }
 | 
			
		||||
      },
 | 
			
		||||
    };
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user