diff options
author | Christophe Romain <christophe.romain@process-one.net> | 2017-08-01 17:00:52 +0200 |
---|---|---|
committer | Christophe Romain <christophe.romain@process-one.net> | 2017-08-01 17:00:52 +0200 |
commit | 5e26190b98cd6b328bb7bf124cc5e5be205eb1ad (patch) | |
tree | cb009f336cf988b10805fb0c0b049eec4093cbe8 /src/mod_pubsub.erl | |
parent | Fix PEP node removal (#1839) (diff) |
Fix PubSub send last published items (#1572)
Diffstat (limited to 'src/mod_pubsub.erl')
-rw-r--r-- | src/mod_pubsub.erl | 10 |
1 files changed, 4 insertions, 6 deletions
diff --git a/src/mod_pubsub.erl b/src/mod_pubsub.erl index 4b34e21f..32ce2897 100644 --- a/src/mod_pubsub.erl +++ b/src/mod_pubsub.erl @@ -671,16 +671,14 @@ caps_update(#jid{luser = U, lserver = S, lresource = R}, #jid{lserver = Host} = presence(Host, {presence, U, S, [R], JID}). -spec presence_probe(jid(), jid(), pid()) -> ok. -presence_probe(#jid{luser = U, lserver = S, lresource = R} = JID, JID, Pid) -> - presence(S, {presence, JID, Pid}), - presence(S, {presence, U, S, [R], JID}); presence_probe(#jid{luser = U, lserver = S}, #jid{luser = U, lserver = S}, _Pid) -> %% ignore presence_probe from my other ressources %% to not get duplicated last items ok; -presence_probe(#jid{luser = U, lserver = S, lresource = R}, #jid{lserver = S} = JID, _Pid) -> - presence(S, {presence, U, S, [R], JID}); -presence_probe(_Host, _JID, _Pid) -> +presence_probe(#jid{lserver = S} = From, #jid{lserver = S} = To, Pid) -> + presence(S, {presence, From, Pid}), + presence(S, {presence, From#jid.luser, S, [From#jid.lresource], To}); +presence_probe(_From, _To, _Pid) -> %% ignore presence_probe from remote contacts, %% those are handled via caps_add ok. |