diff options
author | Thibaut Girka <thib@sitedethib.com> | 2018-07-07 21:40:49 +0200 |
---|---|---|
committer | Thibaut Girka <thib@sitedethib.com> | 2018-07-09 19:19:23 +0200 |
commit | 402da8065c2b378cca6361f2c7252bd766f25dde (patch) | |
tree | eda07c40c934ab9a55d7847afe4af3e54bce86b8 /app/lib | |
parent | ee41947e9defce24ecd9f46329bb953d46b335bd (diff) |
Migrate glitch-soc keyword mutes to Mastodon's
Completely remove glitch-soc's Keyword Mutes, migrate existing database records to CustomFilters. Handling of client-side filters is still not implemented in the glitch-soc front-end.
Diffstat (limited to 'app/lib')
-rw-r--r-- | app/lib/feed_manager.rb | 22 |
1 files changed, 0 insertions, 22 deletions
diff --git a/app/lib/feed_manager.rb b/app/lib/feed_manager.rb index dff3cbb22..c247ab21d 100644 --- a/app/lib/feed_manager.rb +++ b/app/lib/feed_manager.rb @@ -153,7 +153,6 @@ class FeedManager def filter_from_home?(status, receiver_id) return false if receiver_id == status.account_id return true if status.reply? && (status.in_reply_to_id.nil? || status.in_reply_to_account_id.nil?) - return true if keyword_filter_from_home?(status, receiver_id) return true if phrase_filtered?(status, receiver_id, :home) check_for_blocks = status.mentions.pluck(:account_id) @@ -181,26 +180,6 @@ class FeedManager false end - def keyword_filter_from_home?(status, receiver_id) - # If this status mentions the receiver, use the mentions scope: it's - # possible that the status will show up in the receiver's mentions, which - # means it ought to show up in the home feed as well. - # - # If it doesn't mention the receiver but is still headed for the home feed, - # use the home feed scope. - scope = if status.mentions.pluck(:account_id).include?(receiver_id) - Glitch::KeywordMute::Scopes::Mentions - else - Glitch::KeywordMute::Scopes::HomeFeed - end - - return true if keyword_filter?(status, receiver_id, scope) - end - - def keyword_filter?(status, receiver_id, scope) - Glitch::KeywordMuteHelper.new(receiver_id).matches?(status, scope) - end - def filter_from_mentions?(status, receiver_id) return true if receiver_id == status.account_id return true if phrase_filtered?(status, receiver_id, :notifications) @@ -213,7 +192,6 @@ class FeedManager should_filter = blocks_or_mutes?(receiver_id, check_for_blocks, :mentions) # Filter if it's from someone I blocked, in reply to someone I blocked, or mentioning someone I blocked (or muted) should_filter ||= (status.account.silenced? && !Follow.where(account_id: receiver_id, target_account_id: status.account_id).exists?) # of if the account is silenced and I'm not following them - should_filter ||= keyword_filter?(status, receiver_id, Glitch::KeywordMute::Scopes::Mentions) # or if the mention contains a muted keyword should_filter end |