diff --git a/src/applications/differential/engineextension/DifferentialMailEngineExtension.php b/src/applications/differential/engineextension/DifferentialMailEngineExtension.php index 24aa9fb329..29019b9e73 100644 --- a/src/applications/differential/engineextension/DifferentialMailEngineExtension.php +++ b/src/applications/differential/engineextension/DifferentialMailEngineExtension.php @@ -53,7 +53,7 @@ final class DifferentialMailEngineExtension } else { $reviewers[] = $reviewer_phid; if ($reviewer->isBlocking()) { - $reviewers[] = $blocking; + $blocking[] = $reviewer_phid; } } } diff --git a/src/applications/metamta/stamp/PhabricatorPHIDMailStamp.php b/src/applications/metamta/stamp/PhabricatorPHIDMailStamp.php index 575ad16f6a..ea7233fe5b 100644 --- a/src/applications/metamta/stamp/PhabricatorPHIDMailStamp.php +++ b/src/applications/metamta/stamp/PhabricatorPHIDMailStamp.php @@ -15,6 +15,15 @@ final class PhabricatorPHIDMailStamp return null; } + // TODO: This recovers from a bug where blocking reviewers were serialized + // incorrectly into the flat mail stamp list in the worker queue as arrays. + // It can be removed some time after February 2018. + foreach ($value as $key => $v) { + if (is_array($v)) { + unset($value[$key]); + } + } + $viewer = $this->getViewer(); $handles = $viewer->loadHandles($value);