Page MenuHomePhabricator

Phantom unread Phabricator notification
Open, LowPublicBUG REPORT

Description

Upstream: https://we.phorge.it/T16016; https://we.phorge.it/T16159

Noticed by @matmarex after T370266: Update to Phorge upstream 2024.35 release.

I have a "phantom" unread notification after the upgrade. The count is stuck at "(1)" even if I click on it, and displays nothing.

This used to be a common problem where I'd be subscribed to something I wasn't allowed to view, and I'd receive notifications which I wasn't allowed to view either, but a few years ago someone did something and those problems stopped.

https://phabricator.wikimedia.org/notification/query/unread/ :

phantom-notif.png (666×368 px, 20 KB)

Nothing happens when clicking "mark all read" under the notifications dropdown.

Event Timeline

I assume there is no output in the console of the web browser when you reload and click that notification?

Nothing. But I just clicked "Mark All Read" again to check, and the phantom went away… I swear it didn't work before.

Hmm. Looks like you're not the only one, per https://we.phorge.it/T16016 and https://we.phorge.it/T16159

Note to myself: Checking the user cache in the DB would be
SELECT uc.cacheKey, uc.cacheType, uc.cacheData FROM phabricator_user.user_cache uc INNER JOIN phabricator_user.user u ON uc.userPHID = u.phid WHERE u.userName = "SomeUserName" AND (uc.cacheType = "message.count" OR uc.cacheType = "notification.count");

Aklapper moved this task from Backlog to Upstreamed on the Phabricator (Upstream) board.
Aklapper moved this task from Backlog to Reported Upstream on the Upstream board.

I have a new phantom unread notification today, it appeared some time within the last few hours (it wasn't there in the morning). I clicked "Mark All Read" and it had no effect.

Yes you have. :D I'm still clueless how to debug this, though. :-/

mysql:phstats@m3-slave.eqiad.wmnet [phabricator_maniphest]> SELECT uc.cacheKey, uc.cacheType, uc.cacheData FROM phabricator_user.user_cache uc INNER JOIN phabricator_user.user u ON uc.userPHID = u.phid WHERE u.userName = "Matmarex" AND (uc.cacheType = "message.count" OR uc.cacheType = "notification.count");
+----------------------------+--------------------+-----------+
| cacheKey                   | cacheType          | cacheData |
+----------------------------+--------------------+-----------+
| user.message.count.v1      | message.count      | 0         |
| user.notification.count.v1 | notification.count | 1         |
+----------------------------+--------------------+-----------+

"Mark as read" worked for me yesterday for some reason after it didn't work on Friday, but when I just opened phabricator again, I noticed I have a new unread notification I can't mark as read:

image.png (509×214 px, 12 KB)

This is really weird.

I too have now joined the club of people with a phantom unread Phabricator notification :)

edit: …and, after not working initially, the 'mark all as read' link worked when I tried clicking on it again ~18 hours later. 🤷‍♀️

I have now some unread notifications.

It seems this is related to some of the phabricator bots, which may not trigger notifications.
Often before the unread notification count is out of sync, a task has receive a (merged) patch.
I am not sure if the ReleaseTaggerBot or MaintenanceBot removing Patch-For-Review could cause this (gerritbot or StashBot seems not cause this).
But that would mean there is some special code for a bot to suppress notification and this happens only partial.
Or this depends on email preferences and what notification are set to email or notify and how that is handled for bots.

I have a phantom unread notification again as well.