aboutsummaryrefslogtreecommitdiff
path: root/src/mod_caps.erl
diff options
context:
space:
mode:
Diffstat (limited to 'src/mod_caps.erl')
-rw-r--r--src/mod_caps.erl4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/mod_caps.erl b/src/mod_caps.erl
index 5609030d3..87fdebbc8 100644
--- a/src/mod_caps.erl
+++ b/src/mod_caps.erl
@@ -203,7 +203,9 @@ disco_info(Acc, _, _, _Node, _Lang) ->
-spec c2s_presence_in(ejabberd_c2s:state(), presence()) -> ejabberd_c2s:state().
c2s_presence_in(C2SState,
#presence{from = From, to = To, type = Type} = Presence) ->
- Subscription = ejabberd_c2s:get_subscription(From, C2SState),
+ {Subscription, _} = ejabberd_hooks:run_fold(
+ roster_get_jid_info, To#jid.lserver,
+ {none, []}, [To#jid.luser, To#jid.lserver, From]),
Insert = (Type == available)
and ((Subscription == both) or (Subscription == to)),
Delete = (Type == unavailable) or (Type == error),