projects
/
akkoma
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
activitypub: short-circuit is_public?() with directMessage flag check
[akkoma]
/
lib
/
pleroma
/
user.ex
diff --git
a/lib/pleroma/user.ex
b/lib/pleroma/user.ex
index a52e536d3397f1e96e43ae46fb4b31128894e981..1db1c53cb5604d8b3422894c0dddef1cb2999bc9 100644
(file)
--- a/
lib/pleroma/user.ex
+++ b/
lib/pleroma/user.ex
@@
-447,8
+447,7
@@
defmodule Pleroma.User do
def get_by_nickname(nickname) do
Repo.get_by(User, nickname: nickname) ||
if Regex.match?(~r(@#{Pleroma.Web.Endpoint.host()})i, nickname) do
def get_by_nickname(nickname) do
Repo.get_by(User, nickname: nickname) ||
if Regex.match?(~r(@#{Pleroma.Web.Endpoint.host()})i, nickname) do
- [local_nickname, _] = String.split(nickname, "@")
- Repo.get_by(User, nickname: local_nickname)
+ Repo.get_by(User, nickname: local_nickname(nickname))
end
end
end
end
@@
-796,7
+795,7
@@
defmodule Pleroma.User do
update_and_set_cache(cng)
end
update_and_set_cache(cng)
end
- def local_user_query
()
do
+ def local_user_query do
from(
u in User,
where: u.local == true,
from(
u in User,
where: u.local == true,
@@
-804,7
+803,14
@@
defmodule Pleroma.User do
)
end
)
end
- def moderator_user_query() do
+ def active_local_user_query do
+ from(
+ u in local_user_query(),
+ where: fragment("?->'deactivated' @> 'false'", u.info)
+ )
+ end
+
+ def moderator_user_query do
from(
u in User,
where: u.local == true,
from(
u in User,
where: u.local == true,
@@
-990,7
+996,7
@@
defmodule Pleroma.User do
end)
bio
end)
bio
- |> CommonUtils.format_input(mentions, tags, "text/plain")
+ |> CommonUtils.format_input(mentions, tags, "text/plain"
, user_links: [format: :full]
)
|> Formatter.emojify(emoji)
end
|> Formatter.emojify(emoji)
end
@@
-1041,6
+1047,16
@@
defmodule Pleroma.User do
end
end
end
end
+ def local_nickname(nickname_or_mention) do
+ nickname_or_mention
+ |> full_nickname()
+ |> String.split("@")
+ |> hd()
+ end
+
+ def full_nickname(nickname_or_mention),
+ do: String.trim_leading(nickname_or_mention, "@")
+
def error_user(ap_id) do
%User{
name: ap_id,
def error_user(ap_id) do
%User{
name: ap_id,