From 425deeb52391462521ea20f1715498afad724fa6 Mon Sep 17 00:00:00 2001 From: epriestley Date: Mon, 9 Jan 2017 08:00:07 -0800 Subject: [PATCH] Fix an issue which could prevent blocking reviewers from being removed from revisions Summary: Ref T11114. After evaluating typeahead tokens, we could process blocking reviewer removals incorrectly: we may get structures back. Test Plan: Removed blocking reviewers from the web UI. Reviewers: chad Reviewed By: chad Maniphest Tasks: T11114 Differential Revision: https://secure.phabricator.com/D17163 --- .../xaction/DifferentialRevisionReviewersTransaction.php | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/applications/differential/xaction/DifferentialRevisionReviewersTransaction.php b/src/applications/differential/xaction/DifferentialRevisionReviewersTransaction.php index 6ecf738162..1e1b35c1c3 100644 --- a/src/applications/differential/xaction/DifferentialRevisionReviewersTransaction.php +++ b/src/applications/differential/xaction/DifferentialRevisionReviewersTransaction.php @@ -24,7 +24,13 @@ final class DifferentialRevisionReviewersTransaction // First, remove any reviewers we're getting rid of. $rem = idx($value, '-', array()); $rem = $datasource->evaluateTokens($rem); - foreach ($rem as $phid) { + foreach ($rem as $spec) { + if (!is_array($spec)) { + $phid = $spec; + } else { + $phid = $spec['phid']; + } + unset($reviewers[$phid]); }