aboutsummaryrefslogtreecommitdiff
path: root/src/ejabberd_sm.erl
diff options
context:
space:
mode:
authorHolger Weiss <holger@zedat.fu-berlin.de>2017-08-18 16:44:32 +0200
committerHolger Weiss <holger@zedat.fu-berlin.de>2017-08-18 16:44:32 +0200
commit13ad754eccbcc0305aae903b188c87dbbc77d31e (patch)
treeb01d4dc7bf57992bf5990ba23bc686593a4aa026 /src/ejabberd_sm.erl
parentFix mod_multicast start and reading of configured limits (#1949) (diff)
Suppress push notifications for online clients
When a client enabled push notifications during the current session, notifications should be suppressed as long as the client is online. Suppressing the notification didn't work for the case where the notification was triggered by MAM, but this is now fixed.
Diffstat (limited to 'src/ejabberd_sm.erl')
-rw-r--r--src/ejabberd_sm.erl3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/ejabberd_sm.erl b/src/ejabberd_sm.erl
index 5771a5bbf..d93e66473 100644
--- a/src/ejabberd_sm.erl
+++ b/src/ejabberd_sm.erl
@@ -317,7 +317,8 @@ get_session_sids(User, Server) ->
LUser = jid:nodeprep(User),
LServer = jid:nameprep(Server),
Mod = get_sm_backend(LServer),
- online(get_sessions(Mod, LUser, LServer)).
+ OnlineSs = online(get_sessions(Mod, LUser, LServer)),
+ [SID || #session{sid = SID} <- OnlineSs].
-spec set_offline_info(sid(), binary(), binary(), binary(), info()) -> ok.