HomePhabricator

When a task card is edited, emit update events for old boards and parent boards

Description

When a task card is edited, emit update events for old boards and parent boards

Summary:
Ref T4900. When a card is edited, we currently emit an update notification for all the projects the task is tagged with. This isn't quite the right set:

  • We want to emit notifications for projects the task was previously tagged with, so it can be removed from boards it should no longer be part of.
  • We want to emit notifications for ancestors of projects the task is or was tagged with, so parent project boards can be updated.
  • However, we don't need to emit notifications for projects that don't actually have workboards.

Adjust the notification set to align better to these rules.

Test Plan:

  • Removal of Parent Project: Edited a task on board "A > B", removing the "B" project tag. Saw board A update in another window.
  • Normal Update: Edited a task title on board X, saw board X update in another window.
  • Used bin/aphlict debug to inspect the notification set, saw generally sensible-seeming data going over the wire.

Reviewers: amckinley

Maniphest Tasks: T4900

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