Page MenuHomePhabricator

D21574.id51360.diff
No OneTemporary

D21574.id51360.diff

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();
}

File Metadata

Mime Type
text/plain
Expires
Mar 16 2025, 10:03 AM (6 w, 12 h ago)
Storage Engine
blob
Storage Format
Encrypted (AES-256-CBC)
Storage Handle
7706515
Default Alt Text
D21574.id51360.diff (2 KB)

Event Timeline