Closed Bug 1717515 Opened 5 years ago Closed 4 years ago

Phabricator Emails: Integrate with "notifications" menu

Categories

(Conduit :: Phabricator, enhancement, P3)

enhancement

Tracking

(Not tracked)

RESOLVED FIXED

People

(Reporter: mhentges, Assigned: mhentges)

References

Details

(Keywords: conduit-triaged)

Attachments

(1 file)

When using the Mozilla Phabricator Emails, the "notifications" feature (the bell on the top-left of the page) shows more "unread" events.

It's unclear if the builtin Phabricator Emails automatically marked them as read, or just more intelligently handled their state, or perhaps people were more likely to click on email events, thereby marking them as read? Unsure.

Some investigation is needed, and ergonomics can probably be improved.
Thanks Jan de Mooij for pointing this out 👍

Digging into this to see where the problem is to determine how costly it'll be to fix.

Assignee: nobody → mhentges
Status: NEW → ASSIGNED
Keywords: conduit-triaged
Priority: -- → P3

Hmm, the reason that this behaves differently is because Phabricator will auto-mark a notification as read if it knows that an email is being sent for it. However, Phabricator isn't necessarily aware that our Mozilla Phab Email implementation is sending emails - it just thinks that users using Moz Phab Emails have their email disabled entirely.

I'm currently working to find a solution here that won't require too much upstream patching 🤔.

This patch is a little bit risky, but:

  • Phabricator is seeing less upstream changes, which lowers risk, and
  • I opted this patch to have as little impact as possible.

It works by adding a new "deliverable" state to mail actors: in addition
to being either "deliverable" (by built-in emails) or "undeliverable"
(not receiving any emails), there's now a third state:
"externally-deliverable". This allows existing Phabricator logic around
sending emails to continue seeing Moz-Email users as "undeliverable",
while also allowing one use-case - the notification panel - to see such
users as "not _un_deliverable".

I deliberately renamed filterDeliverableActors() so that, if changes
upstream cause it to gain a new caller, the patch will fail to apply.
If/when that happens, we'll need to consider how the new caller should
behave around Moz-Emails, and adjust the patch accordingly.

Status: ASSIGNED → RESOLVED
Closed: 4 years ago
Resolution: --- → FIXED

A new Phabricator version has been released with a fix for this problem, and no more "unread" notifications should pop up.
However, you'll still need to manually mark the existing notifications as read. You can do this by:

  1. Opening Phabricator.
  2. In the top-left, click on the bell icon.
  3. Click the "Mark All Read" text.
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: