1
0
Fork 0
mirror of https://we.phorge.it/source/phorge.git synced 2024-11-24 07:42:40 +01:00
phorge-phorge/src/applications
epriestley 341079c3cf Move some received mail responsibility to applications
Summary:
Ref T1205. Continuation of D5915.

Currently, `PhabricatorMetaMTAReceivedMail` has //all// the logic for routing mail. In particular:

  - New mail receivers in applications must edit it.
  - Mail receivers don't drop out when applications are uninstalled.

Applications have some logic in subclasses of `PhabricatorMailReplyHandler`, but this class is a bit of a mess. It is also heavily based on the assumption that mail receivers are objects (like revisions), but this is not true in at least two cases today (creating new tasks with `bugs@`, creating a new Conpherence thread) and likely other cases in the future (e.g., revision-by-mail).

Move this logic into a new `PhabricatorMailReceiver` classtree. This is similar to `PhabricatorMailReplyHandler` but a bit cleaner and more general. I plan to heavily reduce the responsibilities of `PhabricatorMailReplyHandler` or possibly eliminate it entirely.

For now, the new classtree doesn't do much of interest. The only behavioral change this diff causes is that Phabricator will now reject mail to an application when that application is uninstalled.

I also moved all the `ReplyHandler` classes into `mail/` directories in their respective applications.

Test Plan: Unit tests, used receive test to route mail to various objects.

Reviewers: btrahan

Reviewed By: btrahan

CC: Afaque_Hussain, edward, aran

Maniphest Tasks: T1205

Differential Revision: https://secure.phabricator.com/D5922
2013-05-14 10:57:41 -07:00
..
arcanist/conduit Move Conduit methods inside applications 2012-12-21 12:21:59 -08:00
audit Move some received mail responsibility to applications 2013-05-14 10:57:41 -07:00
auth Add a User-Agent header to OAuth requests 2013-04-26 07:52:58 -07:00
base Move some received mail responsibility to applications 2013-05-14 10:57:41 -07:00
cache Add wait for setup issue fallback disk cache 2013-04-13 07:09:32 -07:00
calendar Highlighting the current day in calendar. 2013-04-29 12:15:38 -07:00
chatlog Touch up Chatlog Design / Mobile 2013-04-13 07:50:34 -07:00
conduit Uninstall Conduit calls when uninstalling applications 2013-03-13 07:09:05 -07:00
config Updated the CLI for smoother use 2013-04-29 12:14:54 -07:00
conpherence Move some received mail responsibility to applications 2013-05-14 10:57:41 -07:00
countdown Countdown revamp 2013-05-03 15:53:36 -07:00
daemon reduce noise on daemon console 2013-03-08 13:08:11 -08:00
differential Move some received mail responsibility to applications 2013-05-14 10:57:41 -07:00
diffusion Allow 'readme.md' to be read as readme file in diffusion 2013-05-13 08:25:20 -07:00
directory/controller Update form styles, implement in many places 2013-05-07 14:07:06 -07:00
diviner Implement text mode for Phabricator Remarkup rules 2013-03-22 17:33:36 -07:00
draft/storage Add draft support to ApplicationTransactions 2012-12-21 05:57:14 -08:00
drydock Add actions to mobile crumbs 2013-04-10 13:08:36 -07:00
fact Convert AphrontTableView to safe HTML 2013-02-09 15:11:38 -08:00
feed Add a space so that the feed doesn't say "the documentDocumentName" 2013-05-12 18:38:51 -07:00
files When deleting a file, delete all transformations of the file 2013-05-09 16:08:35 -07:00
flag Flags on mobile, fix some filter-css 2013-04-03 11:29:58 -07:00
harbormaster Add HarbormasterRunnerWorker, for running CI tests 2012-12-17 13:43:26 -08:00
help/controller Allow speical keys to be bound to keystrokes 2013-03-08 21:19:24 -08:00
herald Update form styles, implement in many places 2013-05-07 14:07:06 -07:00
lipsum Files Generating 2013-05-06 10:30:38 -07:00
macro Move some received mail responsibility to applications 2013-05-14 10:57:41 -07:00
mailinglists Update form styles, implement in many places 2013-05-07 14:07:06 -07:00
maniphest Move some received mail responsibility to applications 2013-05-14 10:57:41 -07:00
meta Add action icons to object list views 2013-05-10 12:57:01 -07:00
metamta Move some received mail responsibility to applications 2013-05-14 10:57:41 -07:00
notification Introduce PhabricatorEmptyQueryException 2013-03-06 19:22:00 -08:00
oauthserver Fix an OAuthServer issue where an attacker could make a link function over HTTP when it should be HTTPS-only 2013-02-19 16:09:36 -08:00
owners Move some received mail responsibility to applications 2013-05-14 10:57:41 -07:00
paste Add ability to name saved queries. 2013-05-10 16:45:45 -07:00
people Update Forms on People. 2013-05-08 10:42:20 -07:00
phame Token support for Phriction Documents, Ponder Questions, and Phame Blogs 2013-05-09 14:52:22 -07:00
phid Provide "builtin" files and use them to fix Pholio when files are deleted 2013-05-08 18:12:52 -07:00
phlux Mobile Crumbs. 2013-03-26 13:15:15 -07:00
pholio Move some received mail responsibility to applications 2013-05-14 10:57:41 -07:00
phortune Show prices in "$... USD" in Phortune 2013-05-06 18:04:45 -07:00
phpast Uninstall Conduit calls when uninstalling applications 2013-03-13 07:09:05 -07:00
phrequent Updates to phrequent's landing page 2013-04-29 12:01:02 -07:00
phriction Token support for Phriction Documents, Ponder Questions, and Phame Blogs 2013-05-09 14:52:22 -07:00
policy Introduce PhabricatorEmptyQueryException 2013-03-06 19:22:00 -08:00
ponder Move some received mail responsibility to applications 2013-05-14 10:57:41 -07:00
project Update form styles, implement in many places 2013-05-07 14:07:06 -07:00
releeph Move some received mail responsibility to applications 2013-05-14 10:57:41 -07:00
remarkup/conduit Convert Remarkup to safe HTML 2013-02-13 12:34:49 -08:00
repository Make repository discovery partially testable 2013-05-12 19:08:37 -07:00
search Add ability to name saved queries. 2013-05-10 16:45:45 -07:00
settings Moderize forms on Settings. 2013-05-07 18:08:12 -07:00
slowvote Embed slowvotes have basic interaction 2013-05-03 15:49:00 -07:00
subscriptions Token support for Phriction Documents, Ponder Questions, and Phame Blogs 2013-05-09 14:52:22 -07:00
system Add a user-accessible hook for dumping debug code into an install 2013-03-04 13:45:51 -08:00
tokens PHUIIconView 2013-04-19 17:44:20 -07:00
transactions Conpherence - paginate thread list 2013-04-26 10:30:41 -07:00
typeahead Use a policy-aware query for Project typeahead 2013-03-05 14:12:11 -08:00
uiexample Add action icons to object list views 2013-05-10 12:57:01 -07:00
xhprof Fix XHProf index page 2013-04-02 09:52:52 -07:00