diff options
author | multiple creatures <dev@multiple-creature.party> | 2019-05-06 08:36:44 -0500 |
---|---|---|
committer | multiple creatures <dev@multiple-creature.party> | 2019-05-21 03:16:22 -0500 |
commit | 59fd9c25dcd98d81ed15cb5bc7dc0ac40ba0c630 (patch) | |
tree | c23674d9f3a40d3e6bf9c82a8f2c25fb2616f079 /app/services | |
parent | feea4f6dc0a093f59385492611bf385c8bc543fd (diff) |
Replies should not exceed the visibility being replied to.
Diffstat (limited to 'app/services')
-rw-r--r-- | app/services/post_status_service.rb | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/app/services/post_status_service.rb b/app/services/post_status_service.rb index 9ac38ca4a..5b2b630d1 100644 --- a/app/services/post_status_service.rb +++ b/app/services/post_status_service.rb @@ -52,8 +52,15 @@ class PostStatusService < BaseService @text = '.' @text = @media.find(&:video?) ? '📹' : '🖼' if @media.size > 0 end + @visibility = @options[:visibility] || @account.user&.setting_default_privacy @visibility = :unlisted if @visibility == :public && @account.silenced? + + if @in_reply_to.present? + v = %w(public unlisted private direct limited) + @visibility = @in_reply_to.visibility if v.index(@visibility) < v.index(@in_reply_to.visibility) + end + @scheduled_at = @options[:scheduled_at]&.to_datetime @scheduled_at = nil if scheduled_in_the_past? rescue ArgumentError |