diff options
-rw-r--r-- | app/helpers/filter_helper.rb | 1 | ||||
-rw-r--r-- | app/services/post_status_service.rb | 6 |
2 files changed, 7 insertions, 0 deletions
diff --git a/app/helpers/filter_helper.rb b/app/helpers/filter_helper.rb index 861f37551..3120f5033 100644 --- a/app/helpers/filter_helper.rb +++ b/app/helpers/filter_helper.rb @@ -42,6 +42,7 @@ module FilterHelper end def filter_thread(account_id, conversation_id) + return if Status.where(account_id: account_id, conversation_id: conversation_id).exists? Redis.cache.sadd("filtered_threads:#{account_id}", conversation_id) end diff --git a/app/services/post_status_service.rb b/app/services/post_status_service.rb index cc42289d8..7106110a8 100644 --- a/app/services/post_status_service.rb +++ b/app/services/post_status_service.rb @@ -107,6 +107,11 @@ class PostStatusService < BaseService VISIBILITY_RANK[@visibility] < VISIBILITY_RANK[@in_reply_to.visibility] end + def unfilter_thread_on_reply + return if @in_reply_to.nil? + Redis.cache.srem("filtered_threads:#{@account.id}", @in_reply_to.conversation_id) + end + def set_local_only @local_only = true if @account.user_always_local_only? || @in_reply_to&.local_only end @@ -136,6 +141,7 @@ class PostStatusService < BaseService set_initial_visibility limit_visibility_if_silenced limit_visibility_to_reply + unfilter_thread_on_reply @sensitive = (@account.user_defaults_to_sensitive? || @options[:spoiler_text].present?) if @sensitive.nil? |