diff options
author | lambda <pleromagit@rogerbraun.net> | 2017-11-20 07:27:10 +0000 |
---|---|---|
committer | lambda <pleromagit@rogerbraun.net> | 2017-11-20 07:27:10 +0000 |
commit | 690085158184e6ab216ac11b316191a7cb5ebafc (patch) | |
tree | 665e38138220ba7ec345a82c1d27123cc64ec3a7 /lib | |
parent | 52aa65fe6ebfd6730fa611e25dd0e9c0f7503654 (diff) | |
parent | bd921ca5d7830efc9dde68b763412fdc03725adc (diff) | |
download | pleroma-690085158184e6ab216ac11b316191a7cb5ebafc.tar.gz |
Merge branch 'fix/self-follow' into 'develop'
Fix self follows to be more intuitive, fix minor websocket channel issue
See merge request pleroma/pleroma!26
Diffstat (limited to 'lib')
-rw-r--r-- | lib/pleroma/user.ex | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/lib/pleroma/user.ex b/lib/pleroma/user.ex index fbeeef003..f80c0ae33 100644 --- a/lib/pleroma/user.ex +++ b/lib/pleroma/user.ex @@ -61,8 +61,9 @@ defmodule Pleroma.User do end def user_info(%User{} = user) do + oneself = if user.local, do: 1, else: 0 %{ - following_count: length(user.following), + following_count: length(user.following) - oneself, note_count: user.info["note_count"] || 0, follower_count: user.info["follower_count"] || 0 } @@ -166,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) @@ -285,12 +286,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 |