diff --git a/lib/pleroma/notification.ex b/lib/pleroma/notification.ex index 43a0e8f49..4a6e5d3f9 100644 --- a/lib/pleroma/notification.ex +++ b/lib/pleroma/notification.ex @@ -631,11 +631,17 @@ def skip?( :block_from_strangers, %Activity{} = activity, %User{notification_settings: %{block_from_strangers: true}} = user, - _opts + opts ) do actor = activity.data["actor"] follower = User.get_cached_by_ap_id(actor) - !User.following?(follower, user) + + cond do + opts[:type] == "poll" -> false + user.ap_id == actor -> false + !User.following?(follower, user) -> true + true -> false + end end # To do: consider defining recency in hours and checking FollowingRelationship with a single SQL