about summary refs log tree commit diff
diff options
context:
space:
mode:
authorEugen Rochko <eugen@zeonfederated.com>2016-12-28 13:21:12 +0100
committerEugen Rochko <eugen@zeonfederated.com>2016-12-28 13:21:12 +0100
commit8b94d283fb45f054ee5193b0cec8586461d636b1 (patch)
treed98d77988c1993d7435add530fef9cb208e00a95
parente2c2fefc36cfa906034152289fe4c916e9a8d46b (diff)
Fix wrong person being notified after nested reblog call, fix favourites leaking private toots in Atom feeds
-rw-r--r--app/models/favourite.rb4
-rw-r--r--app/services/reblog_service.rb4
2 files changed, 6 insertions, 2 deletions
diff --git a/app/models/favourite.rb b/app/models/favourite.rb
index 2fc3d18cd..147105e48 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 23b35ffd2..0cb51eecd 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