logo

pleroma

My custom branche(s) on git.pleroma.social/pleroma/pleroma
commit: 7d55bb0896dc8b4a424206b5be19cc6705fbdf2b
parent: d17a4b18919d05411602454f624381db2a2ac8c7
Author: lambda <pleromagit@rogerbraun.net>
Date:   Tue, 22 Jan 2019 14:18:36 +0000

Merge branch '502_stats_fix_for_nil_info_deactivated' into 'develop'

[#502] Stats fix (users with nil or missing `info.deactivated` should be treated active)

Closes #502

See merge request pleroma/pleroma!696

Diffstat:

Mlib/pleroma/user.ex2+-
Mtest/web/mastodon_api/mastodon_api_controller_test.exs11+++++++++++
2 files changed, 12 insertions(+), 1 deletion(-)

diff --git a/lib/pleroma/user.ex b/lib/pleroma/user.ex @@ -901,7 +901,7 @@ defmodule Pleroma.User do def active_local_user_query do from( u in local_user_query(), - where: fragment("?->'deactivated' @> 'false'", u.info) + where: fragment("not (?->'deactivated' @> 'true')", u.info) ) end diff --git a/test/web/mastodon_api/mastodon_api_controller_test.exs b/test/web/mastodon_api/mastodon_api_controller_test.exs @@ -10,6 +10,7 @@ defmodule Pleroma.Web.MastodonAPI.MastodonAPIControllerTest do alias Pleroma.Web.{OStatus, CommonAPI} alias Pleroma.Web.ActivityPub.ActivityPub alias Pleroma.Web.MastodonAPI.FilterView + alias Ecto.Changeset import Pleroma.Factory import ExUnit.CaptureLog import Tesla.Mock @@ -1483,6 +1484,16 @@ defmodule Pleroma.Web.MastodonAPI.MastodonAPIControllerTest do {:ok, _} = TwitterAPI.create_status(user, %{"status" => "cofe"}) + # Stats should count users with missing or nil `info.deactivated` value + user = Repo.get(User, user.id) + info_change = Changeset.change(user.info, %{deactivated: nil}) + + {:ok, _user} = + user + |> Changeset.change() + |> Changeset.put_embed(:info, info_change) + |> User.update_and_set_cache() + Pleroma.Stats.update_stats() conn = get(conn, "/api/v1/instance")