aboutsummaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorlambda <pleromagit@rogerbraun.net>2017-11-20 07:27:10 +0000
committerlambda <pleromagit@rogerbraun.net>2017-11-20 07:27:10 +0000
commit690085158184e6ab216ac11b316191a7cb5ebafc (patch)
tree665e38138220ba7ec345a82c1d27123cc64ec3a7 /lib
parent52aa65fe6ebfd6730fa611e25dd0e9c0f7503654 (diff)
parentbd921ca5d7830efc9dde68b763412fdc03725adc (diff)
downloadpleroma-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.ex11
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