Basic Scenario
Bob is offline, Alice sends him a message using Conversations 1.23.8 as a client. The server is running ejabberd 18.01 on debian.
Bob is considered offline, when
ejabberdctl connected_users
does not list his name.
The message is then stored in the offline message storage by ejabberd. This is checked by:
ejabberdctl get_offline_count bob example.com
In /etc/ejabberd/ejabberd.yml
mod_offline is configured:
access:
max_user_offline_messages:
admin: 5000
all: 100
...
modules:
mod_offline:
access_max_user_messages: max_user_offline_messages
...
Case A:
Bob connects to the server using gajim 1.0.0. He receives the offline messages and
ejabberdctl get_offline_count bob example.com
returns 0 (it was >0 before he connected) and the log (/var/log/ejabberd/ejabberd.log
) says:
2018-03-24 17:32:10.132 [debug] <0.4422.0>@xmpp_socket:send:218 (tls|<0.4422.0>) Send XML on stream = <<"<message xml:lang='en' to='[email protected]/gajim.8FNGJDH5' from='[email protected]/phone' type='chat' id='643ah4c3-8920-4c52-82b1-89s6f759vff7'><request xmlns='urn:xmpp:receipts'/><markable xmlns='urn:xmpp:chat-markers:0'/><origin-id xmlns='urn:xmpp:sid:0' id='643ah4c3-8920-4c52-82b1-89s6f759vff7'/><active xmlns='http://jabber.org/protocol/chatstates'/><delay from='example.com' stamp='2018-03-24T16:31:54.745016Z' xmlns='urn:xmpp:delay'>Offline storage</delay><body>This is my message.</body></message>">>
so far, so good.
Case B:
Bob connects to the server using Conversations 1.23.8. He does not receive the offline messages, but
ejabberdctl get_offline_count bob example.com
returns 0 anyway (it was >0 before he connected) and the log (/var/log/ejabberd/ejabberd.log
) does not have an entry like in Case A.
Question:
I am working on this for a few days now. I looked into the server's configuration as well as the client's. Based on my experience I'd say it's an issue with the Conversations client, but I don't know where to look now. What log message should I look for in the ejabberd.log?