I found that the PacketListener doesn’'t catch offline messages that are spooled in jabberd. The offline message does show up in the debug window but is apparently not caught.
I ran my program through a debugger (Eclipse). I put a breakpoint at PacketReader.parsePackets(). The message was delivered.
I suspect something to do with the delays in threading?
Which debug window does it show up in? The middle and bottom or just the middle? Knowing that will tell us if the packet is getting interpreted by Smack or not. Also, can you paste in the packet so that I can see what it looks like?
If you see the packet in the middle and bottom window, Smack is definitely getting it. Have you registered a PacketListener or PacketCollector to get every Message packet delievered to it? That should be a suitable way to get that packet. Or, you could refine that by only listening for messages that have a <jabber: x: delay> packet extension.