1
0
Fork 0
mirror of https://we.phorge.it/source/phorge.git synced 2024-12-26 15:30:58 +01:00
phorge-phorge/src/applications/transactions/engineextension
epriestley f214abb63f When a change removes recipients from an object, send them one last email
Summary:
Depends on D19018. Fixes T4776. Ref T13053. When you remove someone from an object's recipient list (for example, by removing them a reviewer, auditor, subscriber, owner or author) we currently do not send them mail about it because they're no longer connected to the object.

In many of these cases (Commandeer, Reassign) the actual action in the UI adds them back to the object somehow (as a reviewer or subscriber, respectively) so this doesn't actually matter. However, there's no recovery mechanism for reviewer or subscriber removal.

This is slightly bad from a policy/threat viewpoint since it means an attacker can remove all the recipients of an object "somewhat" silently. This isn't really silent, but it's less un-silent than it should be.

It's also just not very good from a human interaction perspective: if Alice removes Bob as a reviewer, possibly "against his will", he should be notified about that. In the good case, Alice wrote a nice goodbye note that he should get to read. In the bad case, he should get a chance to correct the mistake.

Also add a `removed(@user)` mail stamp so you can route these locally if you want.

Test Plan:
  - Created and edited some different objects without catching anything broken.
  - Removed subscribers from tasks, saw the final email include the removed recipients with a `removed()` stamp.

I'm not totally sure this doesn't have any surprising behavior or break any weird objects, but I think anything that crops up should be easy to fix.

Reviewers: amckinley

Subscribers: sophiebits

Maniphest Tasks: T13053, T4776

Differential Revision: https://secure.phabricator.com/D19019
2018-02-08 06:28:11 -08:00
..
PhabricatorApplicationObjectMailEngineExtension.php Add basic support for mail "stamps" to improve client mail routing 2018-02-06 04:04:13 -08:00
PhabricatorCommentEditEngineExtension.php Organize bulk edit actions into nice groups 2018-01-19 13:22:25 -08:00
PhabricatorEditEngineExtension.php Organize bulk edit actions into nice groups 2018-01-19 13:22:25 -08:00
PhabricatorEditEngineExtensionModule.php Redesign Config Application 2016-08-29 15:49:49 -07:00
PhabricatorEditorMailEngineExtension.php When a change removes recipients from an object, send them one last email 2018-02-08 06:28:11 -08:00
PhabricatorSubtypeEditEngineExtension.php Make bulk edit <select /> fields a little more natrual and set options for subtype transactions 2018-01-19 13:17:28 -08:00
PhabricatorTransactionsDestructionEngineExtension.php Fully modularize DestructionEngine 2015-12-21 17:03:44 -08:00
PhabricatorTransactionsFulltextEngineExtension.php Allow the fulltext index to select only transactions with comments 2017-09-28 12:55:23 -07:00