1
0
Fork 0
mirror of https://we.phorge.it/source/phorge.git synced 2024-11-28 17:52:43 +01:00
phorge-phorge/src/applications/differential/constants
epriestley d9cdbdb9fa When we fail to process mail, tell the user about it
Summary:
Ref T4371. Ref T4699. Fixes T3994.

Currently, we're very conservative about sending errors back to users. A concern I had about this was that mistakes could lead to email loops, massive amounts of email spam, etc. Because of this, I was pretty hesitant about replying to email with more email when I wrote this stuff.

However, this was a long time ago. We now have Message-ID deduplication, "X-Phabricator-Sent-This-Mail", generally better mail infrastructure, and rate limiting. Together, these mechanisms should reasonably prevent anything crazy (primarily, infinite email loops) from happening.

Thus:

  - When we hit any processing error after receiving a mail, try to send the author a reply with details about what went wrong. These are limited to 6 per hour per address.
  - Rewrite most of the errors to be more detailed and informative.
  - Rewrite most of the errors in a user-facing voice ("You sent this mail..." instead of "This mail was sent..").
  - Remove the redundant, less sophisticated code which does something similar in Differential.

Test Plan:
  - Using `scripts/mail/mail_receiver.php`, artificially received a pile of mail.
  - Hit a bunch of different errors.
  - Saw reasonable error mail get sent to me.
  - Saw other reasonable error mail get rate limited.

Reviewers: btrahan

Reviewed By: btrahan

Subscribers: epriestley

Maniphest Tasks: T3994, T4371, T4699

Differential Revision: https://secure.phabricator.com/D8692
2014-04-03 18:43:18 -07:00
..
DifferentialAction.php Add missing needReviewerAuthority() for differential.createcomment 2014-03-12 15:24:54 -07:00
DifferentialChangeType.php PHT's for Differential. 2013-01-24 10:46:47 -08:00
DifferentialLintStatus.php Delete license headers from files 2012-11-05 11:16:51 -08:00
DifferentialReviewerStatus.php Make updates of rejected revisions behave correctly again 2014-03-05 10:47:29 -08:00
DifferentialRevisionControlSystem.php Delete license headers from files 2012-11-05 11:16:51 -08:00
DifferentialRevisionStatus.php Add an explcit "Changes Planned" state for Differential 2014-03-05 10:47:47 -08:00
DifferentialUnitStatus.php Delete license headers from files 2012-11-05 11:16:51 -08:00
DifferentialUnitTestResult.php Delete license headers from files 2012-11-05 11:16:51 -08:00