Page MenuHomePhabricator

Enable notification server (real-time pop-up notifications) in Phabricator
Closed, ResolvedPublic

Assigned To
Authored By
Qgil
Oct 21 2014, 3:57 PM
Tokens
"Mountain of Wealth" token, awarded by Aklapper."Mountain of Wealth" token, awarded by Qgil."Mountain of Wealth" token, awarded by Niharika."Love" token, awarded by Sjoerddebruin."Love" token, awarded by TerraCodes."Pterodactyl" token, awarded by Dzahn."Like" token, awarded by Unicornisaurous."Love" token, awarded by Luke081515."Like" token, awarded by Quiddity."Like" token, awarded by Jdforrester-WMF.

Description

Phabricator has pop-up notifications that appear when the page you are looking at is updated. It will be useful after the Bugzilla migration, when the number of concurrent users increases.

Technical documentation: https://secure.phabricator.com/book/phabricator/article/notifications
Related task upstream: Change notification system implementation not to require Flash

Related Objects

Event Timeline

There are a very large number of changes, so older changes are hidden. Show Older Changes
In T765#22302, @Qgil wrote:

Thanks Quim, that will get me started. I'd like to review Aphlict in general before we enable it. I'm assuming deploying node on that server and allowing the inbound ports won't be an issue for ops?

@csteipp: the aphlict server handles serving the flash policy file by listening for http requests on port 843. So it's not a separate server process but it is an additional port that needs to be open and must be forwarded from the front-end proxy. (It's mentioned in the docs that @Qgil linked above)

Filed the Flash issue upstream at https://secure.phabricator.com/T6559 ("Change notification system implementation not to require Flash").

Qgil renamed this task from Enable pop-up notifications in Phabricator to Enable notification server (real-time pop-up notifications) in Phabricator.Nov 27 2014, 7:10 AM
Qgil changed the task status from Open to Stalled.Dec 8 2014, 9:53 AM
Qgil moved this task from Need discussion to To Triage on the Phabricator board.

This task is waiting for T1286: Aphlict security review.

Assuming T1286 do we want to do this since it requires flash?

I personally get the meh-ness but also having had the real time popups before they really do help useability, especially as we start to discover differential.

Seems worth having to me, user who have flash disabled I assume will just not get real time notification?

The fact that we are waiting on T1286 assumes that yes, we want to have this feature regardless of the Flash dependency.

fwiw I have asked in T1286: Aphlict security review

We might want to wait a bit before deploying this new version in our instance? Like some weeks after deployment upstream, or something.

https://secure.phabricator.com/T6559 is now resolved – does this change anything?

Quim's link mentions some technical info (though it's mainly for people upgrading from the old Aphlict server, which doesn't apply to us) about the WebSocket version.

They did float the idea of dropping node.js and using PHP for WebSocket, but there's no movement on that task so far, so it's unclear either way. They've already done release notes for the node.js WebSocket version, so it doesn't seem like an imminent thing.

Mattflaschen-WMF changed the task status from Stalled to Open.Jan 9 2015, 5:41 AM

I've already tagged a release that should be getting deployed next week, however, I might be able to sneak this in.

@Qgil: I don't think security is as much of an issue as it now uses websockets, however, getting websockets to work with out proxy setup is a different story.

What's the status?

It's blocked by T112765

Looks like this fell off the priority list some time ago. Is it possible to reconsider that? Notifications for tasks is nice to have; notifications for Conpherence chatrooms is must have. A chat session where you have to refresh the browser is utter ridiculousness. A chat system where someone pings you and you don't get any notification whatsoever is completely broken. (The email notification is not granular enough to user without being very disruptive.)

Right now we don't have any system for communicating with newcomers. IRC is dysfunctional without a bouncer and setting up bouncers is hard; Conpherence is broken. At this point, if there is no commitment to fixing it soonish, I think using Slack or some other third-party irclike is the only realistic solution :(

@Tgr: this is ready to go from the phabricator side, however, I still need help from network ops to get the websocket tunneled through our proxy & cache layer. That work is T112765: Phabricator needs to expose notification daemon (websocket)

Change 379005 had a related patch set uploaded (by 20after4; owner: 20after4):
[operations/puppet@production] Phabricator: configure notification server

https://gerrit.wikimedia.org/r/379005

Change 379005 merged by Dzahn:
[operations/puppet@production] Phabricator: configure notification server

https://gerrit.wikimedia.org/r/379005

Change 379422 had a related patch set uploaded (by Dzahn; owner: Dzahn):
[operations/puppet@production] phab/aphlict: use groups instead of gid, remove require

https://gerrit.wikimedia.org/r/379422

Change 379422 merged by Dzahn:
[operations/puppet@production] phab/aphlict: remove require for group by user

https://gerrit.wikimedia.org/r/379422

Change 379439 had a related patch set uploaded (by Dzahn; owner: Dzahn):
[operations/puppet@production] phab/aphlict: ensure aphlict group always exists

https://gerrit.wikimedia.org/r/379439

Change 379439 merged by Dzahn:
[operations/puppet@production] phab/aphlict: ensure aphlict group always exists

https://gerrit.wikimedia.org/r/379439

on phab1001 (prod active) server:

Notice: /Stage[main]/Phabricator::Aphlict/Base::Service_unit[aphlict]/Service[aphlict]/ensure: ensure changed 'stopped' to 'running'
Info: /Stage[main]/Phabricator::Aphlict/Base::Service_unit[aphlict]/Service[aphlict]: Unscheduling refresh on Service[aphlict]

service starts now :)

mmodell claimed this task.

Today I saw the first pop-up. Cool! Thank you very much for chasing this one till the end.

Ye, thanks for getting this to work (now to wait for upstream to do https://secure.phabricator.com/T8924)

In T765#3751924, @Qgil wrote:

Today I saw the first pop-up. Cool! Thank you very much for chasing this one till the end.

Please, can you help with the necessary steps to add this improvement in my local phabricator. So far, right now I only have sound notifications, however I'm so interested in pop-up notifications. Thanks

Hi @AlDiabolik, please refer to https://discourse.phabricator-community.org/ for any general Phabricator support questions. Thanks.

Realtime notifications in Phabricator via Aphlict were broken for a while but the issue has been fixed today and they are back as normal (if a user decides to enable them, either OS-level or browser-level pop-ups).

The reason for that was Varnish 5 -> Varnish 6 upgrade and the fix was https://gerrit.wikimedia.org/r/635298 (thanks to Ema!).