diff --git a/src/applications/metamta/storage/PhabricatorMetaMTAMail.php b/src/applications/metamta/storage/PhabricatorMetaMTAMail.php --- a/src/applications/metamta/storage/PhabricatorMetaMTAMail.php +++ b/src/applications/metamta/storage/PhabricatorMetaMTAMail.php @@ -178,6 +178,7 @@ } public function addPHIDHeaders($name, array $phids) { + $phids = array_unique($phids); foreach ($phids as $phid) { $this->addHeader($name, '<'.$phid.'>'); } diff --git a/src/applications/transactions/editor/PhabricatorApplicationTransactionEditor.php b/src/applications/transactions/editor/PhabricatorApplicationTransactionEditor.php --- a/src/applications/transactions/editor/PhabricatorApplicationTransactionEditor.php +++ b/src/applications/transactions/editor/PhabricatorApplicationTransactionEditor.php @@ -1018,11 +1018,7 @@ PhabricatorLiskDAO $object, array $xactions) { - // Before sending mail or publishing feed stories, reload the object - // subscribers to pick up changes caused by Herald (or by other side effects - // in various transaction phases). - $this->loadSubscribers($object); - // Hook for other edges that may need (re-)loading + // Hook for edges or other properties that may need (re-)loading $object = $this->willPublish($object, $xactions); $mailed = array(); @@ -2424,7 +2420,8 @@ $has_support = false; if ($object instanceof PhabricatorSubscribableInterface) { - $phids[] = $this->subscribers; + $phid = $object->getPHID(); + $phids[] = PhabricatorSubscribersQuery::loadSubscribersForPHID($phid); $has_support = true; }