We're currently running Jabberd-1.4.3 and are testing out ejabberd. One thing I discovered is this:
Under Jabberd-1.4.3:
1. user A sends a message to user B, who's currently offline
2. user B logs in as invisible, and receives the offline message
Under ejabberd:
1. user A sends a message to user B, who's currently offline
2. user B logs in as invisible, and does not receive the offline message
3. user B only gets his offline message(s) if he becomes "online"
Is this a bug in ejabberd? It seems like "invisible" should be considered the same as "online" for online messages. Is there a workaround/fix?
Check how your client makes 'invisible'.
There are several methods in Jabber/XMPP to be 'invisible'.
Note whatXEP-0160: Best Practices for Handling Offline Messages says:
If you look at your Jabber client, and you find that ejabberd doesn't seem to work as defined in some protocol, please report here so we investigate further.