@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

Fix a mail stamp issue with blocking reviewers

Summary: Revisions with blocking reviewers had this stamp built incorrectly, which cascaded into trying to use `array()` as a PHID. Recover so these tasks succeed.

Test Plan: Will deploy production.

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

+10 -1
+1 -1
src/applications/differential/engineextension/DifferentialMailEngineExtension.php
··· 53 53 } else { 54 54 $reviewers[] = $reviewer_phid; 55 55 if ($reviewer->isBlocking()) { 56 - $reviewers[] = $blocking; 56 + $blocking[] = $reviewer_phid; 57 57 } 58 58 } 59 59 }
+9
src/applications/metamta/stamp/PhabricatorPHIDMailStamp.php
··· 15 15 return null; 16 16 } 17 17 18 + // TODO: This recovers from a bug where blocking reviewers were serialized 19 + // incorrectly into the flat mail stamp list in the worker queue as arrays. 20 + // It can be removed some time after February 2018. 21 + foreach ($value as $key => $v) { 22 + if (is_array($v)) { 23 + unset($value[$key]); 24 + } 25 + } 26 + 18 27 $viewer = $this->getViewer(); 19 28 $handles = $viewer->loadHandles($value); 20 29