From 34febf75beb57db5eb2cae40cec0b4f5634e21fb Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Wed, 28 Dec 2016 13:21:12 +0100 Subject: [PATCH] Fix wrong person being notified after nested reblog call, fix favourites leaking private toots in Atom feeds --- app/models/favourite.rb | 4 ++++ app/services/reblog_service.rb | 4 ++-- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/app/models/favourite.rb b/app/models/favourite.rb index 2fc3d18cde..147105e48a 100644 --- a/app/models/favourite.rb +++ b/app/models/favourite.rb @@ -29,6 +29,10 @@ class Favourite < ApplicationRecord thread end + def hidden? + status.private_visibility? + end + before_validation do self.status = status.reblog if status.reblog? end diff --git a/app/services/reblog_service.rb b/app/services/reblog_service.rb index 23b35ffd22..0cb51eecd8 100644 --- a/app/services/reblog_service.rb +++ b/app/services/reblog_service.rb @@ -14,9 +14,9 @@ class ReblogService < BaseService Pubsubhubbub::DistributionWorker.perform_async(reblog.stream_entry.id) if reblogged_status.local? - NotifyService.new.call(reblogged_status.account, reblog) + NotifyService.new.call(reblog.reblog.account, reblog) else - NotificationWorker.perform_async(reblog.stream_entry.id, reblogged_status.account_id) + NotificationWorker.perform_async(reblog.stream_entry.id, reblog.reblog.account_id) end reblog