diff --git a/src/applications/repository/query/PhabricatorRepositoryIdentityQuery.php b/src/applications/repository/query/PhabricatorRepositoryIdentityQuery.php --- a/src/applications/repository/query/PhabricatorRepositoryIdentityQuery.php +++ b/src/applications/repository/query/PhabricatorRepositoryIdentityQuery.php @@ -124,6 +124,27 @@ return $where; } + protected function didFilterPage(array $identities) { + $user_ids = array_filter( + mpull($identities, 'getCurrentEffectiveUserPHID', 'getID')); + if (!$user_ids) { + return $identities; + } + + $users = id(new PhabricatorUser())->loadAllWhere( + 'phid IN (%Ls)', $user_ids); + $users = mpull($users, null, 'getPHID'); + + foreach ($identities as $identity) { + if ($identity->hasEffectiveUser()) { + $user = idx($users, $identity->getCurrentEffectiveUserPHID()); + $identity->attachEffectiveUser($user); + } + } + + return $identities; + } + public function getQueryApplicationClass() { return 'PhabricatorDiffusionApplication'; }