1
0
Fork 0
mirror of https://we.phorge.it/source/phorge.git synced 2024-12-20 12:30:56 +01:00

Try using a less-rich but less-risky thread title in Conpherence handles

Summary: Ref T8478. This is easier than I thought, let's see if it's conspicious?

Test Plan:
  - Embedded `{Z2}` and saw "Private Correspondence".
  - Still saw normal stuff with useful participant lists/titles in all main UIs.

Reviewers: btrahan

Reviewed By: btrahan

Subscribers: epriestley

Maniphest Tasks: T8478

Differential Revision: https://secure.phabricator.com/D13220
This commit is contained in:
epriestley 2015-06-09 05:50:49 -07:00
parent 7015520b93
commit 5397779ee2
2 changed files with 18 additions and 3 deletions

View file

@ -19,9 +19,7 @@ final class PhabricatorConpherenceThreadPHIDType extends PhabricatorPHIDType {
protected function buildQueryForObjects( protected function buildQueryForObjects(
PhabricatorObjectQuery $query, PhabricatorObjectQuery $query,
array $phids) { array $phids) {
return id(new ConpherenceThreadQuery()) return id(new ConpherenceThreadQuery())
->needParticipantCache(true)
->withPHIDs($phids); ->withPHIDs($phids);
} }
@ -33,7 +31,7 @@ final class PhabricatorConpherenceThreadPHIDType extends PhabricatorPHIDType {
foreach ($handles as $phid => $handle) { foreach ($handles as $phid => $handle) {
$thread = $objects[$phid]; $thread = $objects[$phid];
$title = $thread->getDisplayTitle($query->getViewer()); $title = $thread->getStaticTitle();
$monogram = $thread->getMonogram(); $monogram = $thread->getMonogram();
$handle->setName($title); $handle->setName($title);

View file

@ -199,6 +199,23 @@ final class ConpherenceThread extends ConpherenceDAO
return PhabricatorUser::getDefaultProfileImageURI(); return PhabricatorUser::getDefaultProfileImageURI();
} }
/**
* Get a thread title which doesn't require handles to be attached.
*
* This is a less rich title than @{method:getDisplayTitle}, but does not
* require handles to be attached. We use it to build thread handles without
* risking cycles or recursion while querying.
*
* @return string Lower quality human-readable title.
*/
public function getStaticTitle() {
$title = $this->getTitle();
if (strlen($title)) {
return $title;
}
return pht('Private Correspondence');
}
/** /**
* Get the thread's display title for a user. * Get the thread's display title for a user.