Browse Source

make follows take precedence over domain blocks

remote-follow-auth-fix
Sadposter 4 years ago
parent
commit
fa97eddf8a
2 changed files with 11 additions and 1 deletions
  1. +1
    -1
      lib/pleroma/user.ex
  2. +10
    -0
      test/user_test.exs

+ 1
- 1
lib/pleroma/user.ex View File

@@ -1020,7 +1020,7 @@ defmodule Pleroma.User do
do: Enum.member?(user.muted_notifications, ap_id) do: Enum.member?(user.muted_notifications, ap_id)


def blocks?(%User{} = user, %User{} = target) do def blocks?(%User{} = user, %User{} = target) do
blocks_ap_id?(user, target) || blocks_domain?(user, target)
blocks_ap_id?(user, target) || (!User.following?(user, target) && blocks_domain?(user, target))
end end


def blocks?(nil, _), do: false def blocks?(nil, _), do: false


+ 10
- 0
test/user_test.exs View File

@@ -879,6 +879,16 @@ defmodule Pleroma.UserTest do


refute User.blocks?(user, collateral_user) refute User.blocks?(user, collateral_user)
end end

test "follows take precedence over domain blocks" do
user = insert(:user)
good_eggo = insert(:user, %{ap_id: "https://meanies.social/user/cuteposter"})
{:ok, user} = User.block_domain(user, "meanies.social")
{:ok, user} = User.follow(user, good_eggo)

refute User.blocks?(user, good_eggo)
end
end end


describe "blocks_import" do describe "blocks_import" do


Loading…
Cancel
Save