@recaptime-dev's working patches + fork for Phorge, a community fork of Phabricator. (Upstream dev and stable branches are at upstream/main and upstream/stable respectively.) hq.recaptime.dev/wiki/Phorge
phorge phabricator
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

Remove all application-specific reply handler class overrides

Summary:
Ref T7199. In the vein of D12231, these options were a bad idea.

- They once served a very narrow, Facebook-specific need (see T1992), except even Facebook only used the Differential setting AFAIK.
- Outside of that special case, they are unused and essentially unusable (generally speaking, they do not meaningfully implement anything modular or replaceable).
- I have no knowledge of any install ever changing these settings, and can imagine no reason why they would.

Moving forward:

- If they really need to, they can fork locally and chagne one line.
- I expect "!actions" to make mail at least somewhat more modular soon, anyway.
- Any derived handlers would break after T7199 and need to be rewritten anyway, so this is just taking advantage of a BC break to do cleanup.

Test Plan:
- Grepped for removed configuration.
- Sent some mail from applications, verified the reply handlers set proper reply addresses.

Reviewers: btrahan

Reviewed By: btrahan

Subscribers: epriestley

Maniphest Tasks: T7199

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

+14 -43
+1 -2
src/applications/audit/editor/PhabricatorAuditCommentEditor.php
··· 39 39 } 40 40 41 41 public static function newReplyHandlerForCommit($commit) { 42 - $reply_handler = PhabricatorEnv::newObjectFromConfig( 43 - 'metamta.diffusion.reply-handler'); 42 + $reply_handler = new PhabricatorAuditReplyHandler(); 44 43 $reply_handler->setMailReceiver($commit); 45 44 return $reply_handler; 46 45 }
+1 -3
src/applications/audit/editor/PhabricatorAuditEditor.php
··· 588 588 return $result; 589 589 } 590 590 591 - 592 591 protected function buildReplyHandler(PhabricatorLiskDAO $object) { 593 - $reply_handler = PhabricatorEnv::newObjectFromConfig( 594 - 'metamta.diffusion.reply-handler'); 592 + $reply_handler = new PhabricatorAuditReplyHandler(); 595 593 $reply_handler->setMailReceiver($object); 596 594 return $reply_handler; 597 595 }
+8
src/applications/config/check/PhabricatorExtraConfigSetupCheck.php
··· 164 164 'Configure a reply domain with "%s".', 165 165 'metamta.reply-handler-domain'); 166 166 167 + $reply_handler_reason = pht( 168 + 'Reply handlers can no longer be overridden with configuration.'); 169 + 167 170 $ancient_config += array( 168 171 'phid.external-loaders' => 169 172 pht( ··· 233 236 'metamta.macro.reply-handler-domain' => $reply_domain_reason, 234 237 'metamta.maniphest.reply-handler-domain' => $reply_domain_reason, 235 238 'metamta.pholio.reply-handler-domain' => $reply_domain_reason, 239 + 240 + 'metamta.diffusion.reply-handler' => $reply_handler_reason, 241 + 'metamta.differential.reply-handler' => $reply_handler_reason, 242 + 'metamta.maniphest.reply-handler' => $reply_handler_reason, 243 + 'metamta.package.reply-handler' => $reply_handler_reason, 236 244 ); 237 245 238 246 return $ancient_config;
-7
src/applications/differential/config/PhabricatorDifferentialConfigOptions.php
··· 245 245 "Similar to `differential.days-fresh` but marks stale revisions. ". 246 246 "If the revision is even older than it is when marked as 'old'.")), 247 247 $this->newOption( 248 - 'metamta.differential.reply-handler', 249 - 'class', 250 - 'DifferentialReplyHandler') 251 - ->setLocked(true) 252 - ->setBaseClass('PhabricatorMailReplyHandler') 253 - ->setDescription(pht('Alternate reply handler class.')), 254 - $this->newOption( 255 248 'metamta.differential.subject-prefix', 256 249 'string', 257 250 '[Differential]')
+1 -4
src/applications/differential/mail/DifferentialMail.php
··· 4 4 5 5 public static function newReplyHandlerForRevision( 6 6 DifferentialRevision $revision) { 7 - 8 - $reply_handler = PhabricatorEnv::newObjectFromConfig( 9 - 'metamta.differential.reply-handler'); 7 + $reply_handler = new DifferentialReplyHandler(); 10 8 $reply_handler->setMailReceiver($revision); 11 - 12 9 return $reply_handler; 13 10 } 14 11
-7
src/applications/diffusion/config/PhabricatorDiffusionConfigOptions.php
··· 27 27 '[Diffusion]') 28 28 ->setDescription(pht('Subject prefix for Diffusion mail.')), 29 29 $this->newOption( 30 - 'metamta.diffusion.reply-handler', 31 - 'class', 32 - 'PhabricatorAuditReplyHandler') 33 - ->setLocked(true) 34 - ->setBaseClass('PhabricatorMailReplyHandler') 35 - ->setDescription(pht('Override mail reply handler class.')), 36 - $this->newOption( 37 30 'metamta.diffusion.attach-patches', 38 31 'bool', 39 32 false)
-7
src/applications/maniphest/config/PhabricatorManiphestConfigOptions.php
··· 273 273 '{{maniphest.priorities}} configuration option. The default value '. 274 274 '(`90`) corresponds to the default "Needs Triage" priority.')), 275 275 $this->newOption( 276 - 'metamta.maniphest.reply-handler', 277 - 'class', 278 - 'ManiphestReplyHandler') 279 - ->setLocked(true) 280 - ->setBaseClass('PhabricatorMailReplyHandler') 281 - ->setDescription(pht('Override reply handler class.')), 282 - $this->newOption( 283 276 'metamta.maniphest.subject-prefix', 284 277 'string', 285 278 '[Maniphest]')
+1 -2
src/applications/maniphest/mail/ManiphestCreateMailReceiver.php
··· 19 19 $task = ManiphestTask::initializeNewTask($sender); 20 20 $task->setOriginalEmailSource($mail->getHeader('From')); 21 21 22 - $handler = PhabricatorEnv::newObjectFromConfig( 23 - 'metamta.maniphest.reply-handler'); 22 + $handler = new ManiphestReplyHandler(); 24 23 $handler->setMailReceiver($task); 25 24 26 25 $handler->setActor($sender);
+1 -2
src/applications/maniphest/mail/ManiphestTaskMailReceiver.php
··· 29 29 PhabricatorLiskDAO $object, 30 30 PhabricatorUser $sender) { 31 31 32 - $handler = PhabricatorEnv::newObjectFromConfig( 33 - 'metamta.maniphest.reply-handler'); 32 + $handler = new ManiphestReplyHandler(); 34 33 $handler->setMailReceiver($object); 35 34 36 35 $handler->setActor($sender);
-7
src/applications/owners/config/PhabricatorOwnersConfigOptions.php
··· 21 21 22 22 public function getOptions() { 23 23 return array( 24 - $this->newOption( 25 - 'metamta.package.reply-handler', 26 - 'class', 27 - 'OwnersPackageReplyHandler') 28 - ->setLocked(true) 29 - ->setBaseClass('PhabricatorMailReplyHandler') 30 - ->setDescription(pht('Reply handler for owners mail.')), 31 24 $this->newOption('metamta.package.subject-prefix', 'string', '[Package]') 32 25 ->setDescription(pht('Subject prefix for Owners email.')), 33 26 );
+1 -2
src/applications/owners/mail/PackageMail.php
··· 201 201 } 202 202 203 203 private function newReplyHandler() { 204 - $reply_handler = PhabricatorEnv::newObjectFromConfig( 205 - 'metamta.package.reply-handler'); 204 + $reply_handler = new OwnersPackageReplyHandler(); 206 205 $reply_handler->setMailReceiver($this->getPackage()); 207 206 return $reply_handler; 208 207 }