From dc85b2799063ab5f04a64a0b10a1a91842550d32 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?nicole=20miko=C5=82ajczyk?= Date: Mon, 24 Nov 2025 22:17:05 +0100 Subject: [PATCH] Minor cleanup and comment fixes MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: nicole mikołajczyk --- changelog.d/notification-cleanup.skip | 0 lib/pleroma/notification.ex | 4 +-- lib/pleroma/user.ex | 4 +-- lib/pleroma/web/common_api/utils.ex | 43 +++++++++++++-------------- 4 files changed, 24 insertions(+), 27 deletions(-) create mode 100644 changelog.d/notification-cleanup.skip diff --git a/changelog.d/notification-cleanup.skip b/changelog.d/notification-cleanup.skip new file mode 100644 index 000000000..e69de29bb diff --git a/lib/pleroma/notification.ex b/lib/pleroma/notification.ex index 80844ed71..000bc0dc7 100644 --- a/lib/pleroma/notification.ex +++ b/lib/pleroma/notification.ex @@ -526,9 +526,7 @@ defmodule Pleroma.Notification do %Activity{data: %{"type" => "Create"}} = activity, local_only ) do - notification_enabled_ap_ids = - [] - |> Utils.maybe_notify_subscribers(activity) + notification_enabled_ap_ids = Utils.get_notified_subscribers(activity) potential_receivers = User.get_users_from_set(notification_enabled_ap_ids, local_only: local_only) diff --git a/lib/pleroma/user.ex b/lib/pleroma/user.ex index 540d0af6a..f8e32af8a 100644 --- a/lib/pleroma/user.ex +++ b/lib/pleroma/user.ex @@ -233,8 +233,8 @@ defmodule Pleroma.User do for {_relationship_type, [{_outgoing_relation, outgoing_relation_target}, _]} <- @user_relationships_config do # `def blocked_users_relation/2`, `def muted_users_relation/2`, - # `def reblog_muted_users_relation/2`, `def notification_muted_users/2`, - # `def subscriber_users/2`, `def endorsed_users_relation/2` + # `def reblog_muted_users_relation/2`, `def notification_muted_users_relation/2`, + # `def subscriber_users_relation/2`, `def endorsed_users_relation/2` def unquote(:"#{outgoing_relation_target}_relation")(user, restrict_deactivated? \\ false) do target_users_query = assoc(user, unquote(outgoing_relation_target)) diff --git a/lib/pleroma/web/common_api/utils.ex b/lib/pleroma/web/common_api/utils.ex index 52c08f00f..91bf9c502 100644 --- a/lib/pleroma/web/common_api/utils.ex +++ b/lib/pleroma/web/common_api/utils.ex @@ -402,28 +402,6 @@ defmodule Pleroma.Web.CommonAPI.Utils do def maybe_notify_mentioned_recipients(recipients, _), do: recipients - def maybe_notify_subscribers( - recipients, - %Activity{data: %{"actor" => actor, "type" => "Create"}} = activity - ) do - # Do not notify subscribers if author is making a reply - with %Object{data: object} <- Object.normalize(activity, fetch: false), - nil <- object["inReplyTo"], - %User{} = user <- User.get_cached_by_ap_id(actor) do - subscriber_ids = - user - |> User.subscriber_users() - |> Enum.filter(&Visibility.visible_for_user?(activity, &1)) - |> Enum.map(& &1.ap_id) - - recipients ++ subscriber_ids - else - _e -> recipients - end - end - - def maybe_notify_subscribers(recipients, _), do: recipients - def maybe_notify_followers(recipients, %Activity{data: %{"type" => "Move"}} = activity) do with %User{} = user <- User.get_cached_by_ap_id(activity.actor) do user @@ -437,6 +415,27 @@ defmodule Pleroma.Web.CommonAPI.Utils do def maybe_notify_followers(recipients, _), do: recipients + def get_notified_subscribers( + %Activity{data: %{"actor" => actor, "type" => "Create"}} = activity + ) do + # Do not notify subscribers if author is making a reply + with %Object{data: object} <- Object.normalize(activity, fetch: false), + nil <- object["inReplyTo"], + %User{} = user <- User.get_cached_by_ap_id(actor) do + subscriber_ids = + user + |> User.subscriber_users() + |> Enum.filter(&Visibility.visible_for_user?(activity, &1)) + |> Enum.map(& &1.ap_id) + + subscriber_ids + else + _e -> [] + end + end + + def get_notified_subscribers(_), do: [] + def maybe_extract_mentions(%{"tag" => tag}) do tag |> Enum.filter(fn x -> is_map(x) && x["type"] == "Mention" end)