Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
Pleroma
pleroma
Commits
4f7a4686
Commit
4f7a4686
authored
Oct 05, 2018
by
kaniini
Browse files
user: only pre-create follow relationships on OStatus
closes
#306
parent
614e47aa
Changes
1
Hide whitespace changes
Inline
Side-by-side
lib/pleroma/user.ex
View file @
4f7a4686
...
...
@@ -185,32 +185,7 @@ def needs_update?(%User{local: false} = user) do
def
needs_update?
(
_
),
do
:
true
def
maybe_direct_follow
(%
User
{}
=
follower
,
%
User
{
info:
info
}
=
followed
)
do
user_config
=
Application
.
get_env
(
:pleroma
,
:user
)
deny_follow_blocked
=
Keyword
.
get
(
user_config
,
:deny_follow_blocked
)
user_info
=
user_info
(
followed
)
should_direct_follow
=
cond
do
# if the account is locked, don't pre-create the relationship
user_info
[
:locked
]
==
true
->
false
# if the users are blocking each other, we shouldn't even be here, but check for it anyway
deny_follow_blocked
and
(
User
.
blocks?
(
follower
,
followed
)
or
User
.
blocks?
(
followed
,
follower
))
->
false
# if OStatus, then there is no three-way handshake to follow
User
.
ap_enabled?
(
followed
)
!=
true
->
true
# if there are no other reasons not to, just pre-create the relationship
true
->
true
end
if
should_direct_follow
do
if
!User
.
ap_enabled?
(
followed
)
do
follow
(
follower
,
followed
)
else
{
:ok
,
follower
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment