Per-user reblog hiding implementation/fixes/tests

Note that this will only hide/show *future* reblogs by a user, and does
nothing to remove/add reblogs that are already in the timeline. I don't
think that's a particularly confusing behavior, and it's a lot easier
to implement (similar to mutes, I believe).
This commit is contained in:
aschmitz
2017-11-10 20:11:10 -06:00
parent 4944515020
commit b95c48748c
11 changed files with 170 additions and 14 deletions

View File

@ -81,7 +81,7 @@ module AccountInteractions
rel.show_reblogs = reblogs
rel.save!
end
rel
end
@ -156,6 +156,10 @@ module AccountInteractions
mute_relationships.where(target_account: other_account, hide_notifications: true).exists?
end
def muting_reblogs?(other_account)
active_relationships.where(target_account: other_account, show_reblogs: false).exists?
end
def requested?(other_account)
follow_requests.where(target_account: other_account).exists?
end

View File

@ -22,7 +22,7 @@ class FollowRequest < ApplicationRecord
validates :account_id, uniqueness: { scope: :target_account_id }
def authorize!
account.follow!(target_account, reblogs: reblogs)
account.follow!(target_account, reblogs: show_reblogs)
MergeWorker.perform_async(target_account.id, account.id)
destroy!