diff --git a/src/applications/diffusion/engineextension/DiffusionHovercardEngineExtension.php b/src/applications/diffusion/engineextension/DiffusionHovercardEngineExtension.php --- a/src/applications/diffusion/engineextension/DiffusionHovercardEngineExtension.php +++ b/src/applications/diffusion/engineextension/DiffusionHovercardEngineExtension.php @@ -48,7 +48,20 @@ $handles = $viewer->loadHandles($phids); $hovercard->setTitle($handle->getName()); - $hovercard->setDetail($commit->getSummary()); + + // See T13620. Use a longer slice of the message than the "summary" here, + // since we have at least a few lines of room in the UI. + $commit_message = $commit->getCommitMessageForDisplay(); + + $message_limit = 512; + + $short_message = id(new PhutilUTF8StringTruncator()) + ->setMaximumBytes($message_limit * 4) + ->setMaximumGlyphs($message_limit) + ->truncateString($commit_message); + $short_message = phutil_escape_html_newlines($short_message); + + $hovercard->setDetail($short_message); $repository = $handles[$repository_phid]->renderLink(); $hovercard->addField(pht('Repository'), $repository); @@ -64,7 +77,7 @@ } $date = phabricator_date($commit->getEpoch(), $viewer); - $hovercard->addField(pht('Date'), $date); + $hovercard->addField(pht('Commit Date'), $date); if (!$commit->isAuditStatusNoAudit()) { $status = $commit->getAuditStatusObject(); diff --git a/src/applications/repository/storage/PhabricatorRepositoryCommit.php b/src/applications/repository/storage/PhabricatorRepositoryCommit.php --- a/src/applications/repository/storage/PhabricatorRepositoryCommit.php +++ b/src/applications/repository/storage/PhabricatorRepositoryCommit.php @@ -528,6 +528,12 @@ return $data->getCommitterString(); } + public function getCommitMessageForDisplay() { + $data = $this->getCommitData(); + $message = $data->getCommitMessage(); + return $message; + } + public function newCommitRef(PhabricatorUser $viewer) { $repository = $this->getRepository(); diff --git a/src/applications/transactions/storage/PhabricatorApplicationTransaction.php b/src/applications/transactions/storage/PhabricatorApplicationTransaction.php --- a/src/applications/transactions/storage/PhabricatorApplicationTransaction.php +++ b/src/applications/transactions/storage/PhabricatorApplicationTransaction.php @@ -408,7 +408,7 @@ public function renderHandleLink($phid) { if ($this->renderingTarget == self::TARGET_HTML) { - return $this->getHandle($phid)->renderLink(); + return $this->getHandle($phid)->renderHovercardLink(); } else { return $this->getHandle($phid)->getLinkName(); }