Affects Version/s: 3.7.5
Fix Version/s: None
There were reports of having long delays when sending messages from one user to another.
- User1 types a message and clicks send.
- User1's UI is showing the spinning wheel icon (for 13+seconds)
- User2 received the message immediately in less than 2 to 3 seconds. Note that in User1's UI, spinning wheel icon is still present.
- User1 is able to press the send button multiple times even when the spinning wheel is present. This can result to multiple same message received by User2.
- When mobile is enabled for user message preference and that user has many devices it takes a long time to process it (results show 3 seconds per device approximately).
- When all other devices are disabled int he UI (Processor setting / Mobile), it still takes 3 seconds to process the sending of message. The user is still able to click the send button while the spinning wheel icon is present, resulting to sending multiple messages which are all the same.
Upon further investigation, both User1 and User2 have their "mobile" message preference on. (airnotifier). When this is off, the message is instantly sent and received.
Further investigation lead to findings in which both User1 and User2 have many user devices mdl_user_devices and are all enabled. When we disabled all devices except 1 for both users, the processing/sending of message goes down to average of 3seconds. So the spinning wheel is still present (for 3seconds).
Based on the testing results, it looks like if a user has multiple devices enabled, then airnotifier is attempting to send the push message to all of them (while the spinning wheel is present in the UI) and waiting for it to all complete.
Testing results show that it takes at least 3seconds per devices to get the total time the AJAX call (core_message_send_messages_to_conversation) to complete.
In the case above, users are not aware that they have too many devices registered already, which is causing the slow response when sending a message.