X-Git-Url: http://git.squeep.com/?a=blobdiff_plain;f=lib%2Fpleroma%2Fuser.ex;h=68ffe184b7b36fa031ecdbca12259fd88ec5609e;hb=4524721fba0582774b7c38fdc1f270c43fd8d53b;hp=dde51bd3050deb440c40defbfec1c8ba41d43885;hpb=aadf54e0df39aa2c1bce2c9df076c91ca7fd8167;p=akkoma diff --git a/lib/pleroma/user.ex b/lib/pleroma/user.ex index dde51bd30..68ffe184b 100644 --- a/lib/pleroma/user.ex +++ b/lib/pleroma/user.ex @@ -167,7 +167,7 @@ defmodule Pleroma.User do def unfollow(%User{} = follower, %User{} = followed) do ap_followers = followed.follower_address - if following?(follower, followed) do + if following?(follower, followed) and follower.ap_id != followed.ap_id do following = follower.following |> List.delete(ap_followers) @@ -265,6 +265,7 @@ defmodule Pleroma.User do def update_follower_count(%User{} = user) do follower_count_query = from u in User, where: fragment("? @> ?", u.following, ^user.follower_address), + where: u.id != ^user.id, select: count(u.id) follower_count = Repo.one(follower_count_query) @@ -286,12 +287,12 @@ defmodule Pleroma.User do def get_recipients_from_activity(%Activity{data: %{"to" => to}}) do query = from u in User, - where: u.local == true - - query = from u in query, where: u.ap_id in ^to, or_where: fragment("? \\\?| ?", u.following, ^to) + query = from u in query, + where: u.local == true + Repo.all(query) end