1
0
Fork 0
mirror of https://we.phorge.it/source/phorge.git synced 2024-12-28 16:30:59 +01:00
phorge-phorge/src/applications/differential
epriestley bfea830d09 Add email preferences to receive fewer less-important notifications
Summary:
A few similar requests have come in across several tools and use cases that I
think this does a reasonable job of resolving.

We currently send one email for each update an object receives, but these aren't
always appreciated:

  - Asana does post-commit review via Differential, so the "committed" mails are
useless.
  - Quora wants to make project category edits to bugs without spamming people
attached to them.
  - Some users in general are very sensitive to email volumes, and this gives us
a good way to reduce the volumes without incurring the complexity of
delayed-send-batching.

The technical mechanism is basically:

  - Mail may optionally have "mail tags", which indicate content in the mail
(e.g., "maniphest-priority, maniphest-cc, maniphest-comment" for a mail which
contains a priority change, a CC change, and a comment).
  - If a mail has tags, remove any recipients who have opted out of all the
tags.
  - Some tags can't be opted out of via the UI, so this ensures that important
email is still delivered (e.g., cc + assign + comment is always delivered
because you can't opt out of "assign" or "comment").

Test Plan:
  - Disabled all mail tags in the web UI.
  - Used test console to send myself mail with an opt-outable tag, it was
immediately dropped.
  - Used test console to send myself mail with an opt-outable tag and a custom
tag, it was delivered.
  - Made Differential updates affecting CCs with and without comments, got
appropriate delivery.
  - Made Maniphest updates affecting project, priority and CCs with and without
comments, got appropriate delivery.
  - Verified mail headers in all cases.

Reviewers: btrahan

Reviewed By: btrahan

CC: aran, epriestley, moskov

Maniphest Tasks: T616, T855

Differential Revision: https://secure.phabricator.com/D1635
2012-02-17 22:57:07 -08:00
..
constants Deploy new ArcanistManyWordsAboutDifferentialConstants class from D1328 into 2012-01-10 11:49:20 -08:00
controller When viewing raw file content in Differential, cache it into the File tool 2012-02-14 17:00:20 -08:00
data/revisionlist Deploy new ArcanistManyWordsAboutDifferentialConstants class from D1328 into 2012-01-10 11:49:20 -08:00
editor Ability to add reviewers while requesting review 2012-02-14 15:14:12 -08:00
exception Improve behavior when user submits a no-op action in Differential 2012-01-15 03:44:09 -08:00
field Always display Branch in revision 2012-02-13 11:02:46 -08:00
mail Add email preferences to receive fewer less-important notifications 2012-02-17 22:57:07 -08:00
parser/changeset Display compatible inline comments (usually synthetic) on the same row 2012-02-04 10:20:37 -08:00
query/revision Replace home directory list with a dashboard 2012-02-07 16:04:48 -08:00
replyhandler Don't add author and reviewers to CCs 2012-01-14 11:10:40 -08:00
storage Reduce visibility of "Host" and "Path" Differential fields by default 2012-02-06 12:14:07 -08:00
tasks Enable updating task->revision assoc 2011-04-26 19:14:47 -07:00
view Ability to add reviewers while requesting review 2012-02-14 15:14:12 -08:00