HomePhabricator

Fix the most significant "phantom notification" badness

Description

Fix the most significant "phantom notification" badness

Summary:
Ref T13124. Ref T13131. Fixes T8953. See PHI512.

When you receieve a notification about an object and then someone hides that object from you (or deletes it), you get a phantom notification which is very difficult to clear.

For now, test that notifications are visible when you open the menu and clear any that are not.

This could be a little more elegant than it is, but the current behavior is very clearly broken. This unbreaks it, at least.

Test Plan:

  • As Alice, configured task stuff to notify me (instead of sending email).
  • As Bailey, added Alice as a subscriber to a task, then commented on it.
  • As Alice, loaded home and saw a notification count. Didn't click it yet.
  • As Bailey, set the task to private.
  • As Alice, clicked the notification bell menu icon.
    • Before change: no unread notifications, bell menu is semi-stuck in a phantom state which you can't clear.
    • After change: bad notifications automatically cleared.

Reviewers: amckinley

Reviewed By: amckinley

Maniphest Tasks: T13131, T13124, T8953

Differential Revision: https://secure.phabricator.com/D19384