Details
-
Suggestion
-
Resolution: Won't Fix
-
None
-
None
Description
Current behaviour
On Atlassian documentation there isn't a clear explanation on why an user still receives push notifications on their mobile clients even when they don't have direct access to the HipChat Server at that moment.
Expected behaviour
Update our docs to include the information on why we still receive push notifications even when the client is unable to access the server.
Explanation
The reason why your users still receive push notifications in their mobile devices (this happens in both Android and iOS) is because the messages are not directly sent to mobile clients, but to the services below:
- APN (Apple Push Notifications) for iOS devices
- GCM (Google Cloud Messaging) for Android devices
So when someone sends a message to your account and you currently offline (but available on your mobile device), the notification will be handled by Barb (internal service to handle notification distribution in the server) and then sent to its respective push notification service (APN or GCM) and this notification will then reach the mobile device. Please notice that none of these services store any message or information from your server, as they are just the notification handlers for the message. Considering this, please see the notification flow as shown below:
[YOUR PRIVATE SERVER] ------> [BARB] -------> [APN/GCM] -------> [YOUR MOBILE DEVICE]Considering the flow above you will see that your mobile device doesn't need to have direct connection to your server for the notifications. As long as your server can connect to Barb (which happens over 443 TCP to barb.hipch.at for native mobile notifications) and the client has internet connection (since both APN and GCM are on the Cloud), the notification will be received without your client having connection to your private server.
Please notice this applies only to receive push notifications. To actually see the message after opening the mobile client you will need to have access to your private server as the message is only stored internally.