From aadf54e0df39aa2c1bce2c9df076c91ca7fd8167 Mon Sep 17 00:00:00 2001 From: eal Date: Mon, 20 Nov 2017 00:31:39 +0200 Subject: Don't show the user in their own following count. --- lib/pleroma/user.ex | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'lib') diff --git a/lib/pleroma/user.ex b/lib/pleroma/user.ex index fbeeef003..dde51bd30 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 } -- cgit v1.2.3 From 4db5954786b60df84b833feb360fd8c81be956d9 Mon Sep 17 00:00:00 2001 From: eal Date: Mon, 20 Nov 2017 01:21:53 +0200 Subject: Don't let the user unfollow their own account. --- lib/pleroma/user.ex | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'lib') diff --git a/lib/pleroma/user.ex b/lib/pleroma/user.ex index dde51bd30..59d4fb839 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) -- cgit v1.2.3 From bd921ca5d7830efc9dde68b763412fdc03725adc Mon Sep 17 00:00:00 2001 From: eal Date: Mon, 20 Nov 2017 07:58:43 +0200 Subject: Fix posts being streamed to non-local websocket channels. --- lib/pleroma/user.ex | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'lib') diff --git a/lib/pleroma/user.ex b/lib/pleroma/user.ex index 59d4fb839..f80c0ae33 100644 --- a/lib/pleroma/user.ex +++ b/lib/pleroma/user.ex @@ -286,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 -- cgit v1.2.3