[jdev] Offline messages XEPs interoperability (XEPs 0013 and XEP-0160)

Sergey Dobrov binary at jrudevels.org
Fri Feb 21 16:08:55 UTC 2014

hey folks,

for now we have two different XEPs that allowing xmpp-servers to store 
messages that being sent while client was not available. XEP 0013 says 
that it's not very nice to flood all the messages on the client when 
it's becoming available, rather it advices to provide a way to discover 
such messages and query the necessary ones (and it's becoming something 
like inbox. the implementation is not the best to me, but it still 
nice), the XEP-0160 vice-versa says that we need to send all the 
messages when client has became available. And there is a good reason 
for that again: that way clients don't need any extra support of the 
offline storage.

Ok, we've seen that both XEPs cover some good usecase. But how to 
combine them? Can the xmpp server support both of them? I don't see a 
way for it to do that: if it supports 160 it needs to send all the 
messages immediately on client's presence but according to 13 it can't 
do that and I don't see any possibility for server to know which 
behaviour is the best for the client.

If server will support only 13, a big number of clients won't be able to 
obtain offline messages, but the 13 is still pretty nice to me (I just 
would want to add some more queries compatibility or even maybe combine 
it with MAM?). So, according to all these words above, what's the best 
way to me to implement such an inbox offline storage of messages?


More information about the JDev mailing list