diff --git a/src/Protocol/ActivityPub/Processor.php b/src/Protocol/ActivityPub/Processor.php index a29414e94..5f413f57b 100644 --- a/src/Protocol/ActivityPub/Processor.php +++ b/src/Protocol/ActivityPub/Processor.php @@ -600,6 +600,12 @@ class Processor $fields['type'] = Term::IMPLICIT_MENTION; $fields['name'] = substr($fields['name'], 1); } + if (!empty($tag['href'])) { + $apcontact = APContact::getByURL($tag['href']); + if (!empty($apcontact['name'])) { + $fields['name'] = $apcontact['name']; + } + } } elseif ($tag['type'] == 'Hashtag') { $fields['type'] = Term::HASHTAG; if (substr($fields['name'], 0, 1) == Term::TAG_CHARACTER[Term::HASHTAG]) { diff --git a/src/Protocol/Diaspora.php b/src/Protocol/Diaspora.php index f7a63da79..292312554 100644 --- a/src/Protocol/Diaspora.php +++ b/src/Protocol/Diaspora.php @@ -1834,7 +1834,7 @@ class Diaspora continue; } - $fields = ['uri-id' => $uriid, 'name' => substr($person['addr'], 0, 64), 'url' => $person['url']]; + $fields = ['uri-id' => $uriid, 'name' => substr($person['name'] ?: $person['nick'], 0, 64), 'url' => $person['url']]; if ($match[1] == Term::TAG_CHARACTER[Term::MENTION]) { $fields['type'] = Term::MENTION;