Create
cancel
Showing results for 
Search instead for 
Did you mean: 
Sign up Log in

Improvement to Notifications (Mobile Push)

Jason Bishop June 6, 2018

Hi,

I'm currently using the latest version of HipChat Data Center (version 3.1.4).  Myself and fellow colleges have been using it about a month now. 

Will there be any updated notification improvements for iOS & Android clients in the next release?  Most of the users are mobile and use the mobile clients primarily. We have been forced to use aliases and DM's to get peoples attention via email notifications, since there are literally no push notification support.  This is what is needed, and what I am asking - push notifications.

Also, when will the next release be available?

 

Thanks,

Jason

1 answer

1 accepted

1 vote
Answer accepted
AhmadDanial
Atlassian Team
Atlassian Team members are employees working across the company in a wide variety of roles.
June 7, 2018

Hi, Jason.

Push notifications on HipChat Data Center should work by default as long as the following conditions are met:

  • The barb service is running, which is responsible for sending push notifications from the node to barb.hipch.at (hosted on the Internet)
  • Connectivity to barb.hipch.at is open through outgoing port 443 as mentioned in the Open and outgoing ports  documentation:
    Native mobile notificationsOptional443 TCP to barb.hipch.at

    You can whitelist all of barb.hipch.at or barb.hipch.at/android and barb.hipch.at/iosindividually to enable mobile push for iOS and Android mobile devices

  • There is no issues with barb.hipch.at relaying to APNS or GCM to deliver the push notifications to the respective devices
  • The user has logged in to the mobile client and configured the notification settings in their https://<fqdn>/account/notifications page. For example:Screen Shot 2018-06-08 at 10.34.09.png

Since you are not getting push notifications at all, I would recommend you to go through the following steps to troubleshoot the issue:

  • Run the following command in the node terminal / SSH console and verify that the node has connectivity to barb.hipch.at. The expected output will look something like:
  • echo | telnet barb.hipch.at 443
  • admin@hipchat:~$ echo | telnet barb.hipch.at 443
    Trying 52.205.82.50...
    Connected to compatibilitybarbloadbalancer-980855795.us-east-1.elb.amazonaws.com.
    Escape character is '^]'.
    Connection closed by foreign host.
  • Verify that the barb process is running in your instance by running the ps -ef | grep barb command. You are expected to see something that looks like this:
  • admin@hipchat:~$ ps -ef | grep barb
    hipchat 2396 1 0 Jun05 ? 00:04:57 /hipchat-scm/fishtank/vendor/virtualenv/bin/python /hipchat/barb/current/vendor/virtualenv/bin/twistd -r epoll --umask=022 --pidfile=/var/run/hipchat/barb-0.pid --syslog --prefix=barb-0 --facility=152 barb --api-port=12000
    admin 28271 28168 0 02:40 pts/0 00:00:00 grep --color=auto barb
  • Verify that you have logged in to the mobile device and set the notification according to the screen shot shared above

Let me know how it goes on your end.

Jason Bishop June 8, 2018

Hi @AhmadDanial

Thank you for your reply.

I have followed through what you posted above.  Access externally to barb.hipch.at over 443 connects with no errors.

Notification settings are set correctly within the mobile client, and account settings.

The barb process/service is running on the server, and appears the same as what the output is above in your response.

I've tested again by logging in with an account, and doing a direct @ message to myself.  I get the email a few seconds later, but no mobile push notification(s).  

What else can be checked/verified? Are there any log files that the barb processes uses/writes to?

AhmadDanial
Atlassian Team
Atlassian Team members are employees working across the company in a wide variety of roles.
June 10, 2018

Hi. Jason.

Since there is still no push notifications (email notification works fine), let us tail the following logs when you reproduce the problem so we can see what is happening in the back end:

tail -f tetra.log -f gearman.log -f web.log -f coral.log

Please scrub off any sensitive information from the logs before sharing it here. Thanks.

Jason Bishop June 12, 2018

Hi again @AhmadDanial

Thanks for the reply.  Below I've added the output of the log files you requested.  I should note though that I do have an Android based phone now I'm doing some testing with.  Even when the app is closed, push notifications seem to work with Android (it seems, I will do some more testing and get back to you), but still no push notifications at all with iOS - just emails because I am Away/offline.

It seems like, from the logs, that when the iOS app is not active/on screen it times out(logs shows this)even just hitting the home button will cause this timeout from the client to the server.  The Android app however stays connected, even with the app not open - this causes gearman, or some other process to start to send a push notification through barb - the logs show this.  The issue seems to be the iOS app.  I hope you can see something else that will help find out why iOS push notifications are not working.

 

I cannot seem to post all of the log files you requested into a textblock. I am given an error upon click post.  Can I email them to you?  I can also post them online for you, and put the link here?

AhmadDanial
Atlassian Team
Atlassian Team members are employees working across the company in a wide variety of roles.
June 12, 2018

Hi, Bishop.

Thanks for sharing the log. From the entries on the tetra.log section, we can see that the iOS session for user id 1 was disconnected due to 150 seconds of inactivity:

2018-06-12T22:12:45.817552+00:00 hipchat tetra-proxy-3: [] Disconnecting 127.0.0.1:50358 
(uid-1:iphone||proxy|192.168.100.4|5262) for inactivity
2018-06-12T22:12:45.817707+00:00 hipchat tetra-proxy-3: [] Disconnecting uid-
1:iphone||proxy|192.168.100.4|5262 with condition=service-unavailable, text=Timed out after
150s of inactivity
2018-06-12T22:12:45.818215+00:00 hipchat tetra-proxy-3: [] Service removing uid-1:
session=1:iphone||proxy|192.168.100.4|5262, remote=127.0.0.1:50358
2018-06-12T22:12:45.820665+00:00 hipchat tetra-app-2: [] =====> New request: 5664e72c-
b08b-4cdf-bba0-81b3dbb59ccd, func=tetra.services.cluster.remove_client, in-progress=0,
from=uid-1:iphone||proxy|192.168.100.4|5262, proxy=None
2018-06-12T22:12:45.823533+00:00 hipchat tetra-app-2: [] uid-
1:iphone||proxy|192.168.100.4|5262 is disconnecting with condition=u'service-unavailable'

This eventually leads to the removal of session of the user:

2018-06-12T22:12:45.824836+00:00 hipchat tetra-app-2: [] uid-
1:iphone||proxy|192.168.100.4|5262 already broadcast unavailable presence
2018-06-12T22:12:45.824958+00:00 hipchat tetra-app-2: [] Removing user
1_1@chat.btf.hipchat.com/iphone||proxy|192.168.100.4|5262 from group jid key
group_jids_set:1

This happens when you leave the iOS client running in the background for 150 seconds without reopening it again to keep the connection between the client and server alive.

You may have the question as to why you do not face this problem on the Android client. While the Android client has the Stay Connected feature that retains the connection even when the client is running in the background, it also has the Room Messages option to allow users to be notified for every message that comes in to the room / 1-1 conversations that the user is participating in. iOS does not have these features available on the client, hence the behavior that we are seeing here.

We are keeping track of this in the following Suggestion created in our public issue tracker:

I encourage you to visit the suggestion page linked above and click the Vote and Watch links near the top right to show support for the feature. By doing this, it will ensure you are proactively informed of progress and updates going forward.

Feel free to share your feedbacks as well. You can do this by leaving a comment on the ticket as this helps us prioritize & understand the use case of the feature request.

I hope that helped to provide clarity to the issue that we are discussing here. If you have any other questions, feel free to share them here.

Jason Bishop June 13, 2018

Hi again @AhmadDanial,

Thank you for looking through the logs, and confirming.  I do hope this issue is resolved with the iOS client soon, as it is quite frustrating! Most of my users use iPhones/iPads. 

I can see from other, and yet older posts that this issue has been around for quite some time.  I hope it gets prompt attention, and resolved in upcoming releases/updates of the iOS clients.

I am also watching, and have voted on HCPUB-2176.

 

Thanks,

Jason

AhmadDanial
Atlassian Team
Atlassian Team members are employees working across the company in a wide variety of roles.
June 17, 2018

Good day, Jason.

 

You are most welcome. Completely understandable. The way iOS is built is different from Android, which explains the absence of this feature. We hope that the dev team will be able to work their way around this and have this implemented soon.

Meanwhile, please let me know if my answer helped and if yes, do accept it as a solution. Thanks!

Suggest an answer

Log in or Sign up to answer
TAGS
AUG Leaders

Atlassian Community Events