![]() ![]() This finding moved our attention from mod_offline to mod_mam with question: why were the messages not saved? 2. It turned out the hook was properly called for all offline messages. Hence we create a module hooked to user_receive_packet to see whether the hook was properly called. We learnt that message archive is saved when the recipient receives the packet. mod_offline Investigationįrom all occurrences, we learnt that the lost messages only happened when offline messages were flushed to the recipient when the recipient was connected and had the session opened. Looking directly into the database, we found out that lost messages were present in the sender's archive but not in the recipient's archive, i.e: there is only 1 message instead of a pair of messages. We create our own module, hooked to offline_message_hook for sending push notification via GCM and APNS so that Android and iOS users get notified when there is a message for them when the app is disconnected.Īround 2 months ago there was a noticeable report from users that they receive private chat push notification to their mobile device, but the messages were absent from their MAM archive.Android and iOS clients are disconnected from Ejabberd when the app goes background to save up battery and network traffic.However web client still requests to MAM. To help improving performance we have local cache for Android and iOS clients. We use mod_mam as primary message history source.The user is assigned a unique resource for each device. We allow 1 user to logs in from multiple devices at the same time.The following is our use case and technical implementation at a glance: We are using Ejabberd 16.02 to host a chat application with mobile (Android and iOS) and web clients. Was the unexpected behavior? What was the expected result? Background What did not work as expected? Are there error messages in the log? What How did you install ejabberd (source, package, distribution)? What operating system (version) are you using?
0 Comments
Leave a Reply. |