diff --git a/src/Protocol/ActivityPub/Receiver.php b/src/Protocol/ActivityPub/Receiver.php index 9ffd9c3bc4..d3b38f9ee3 100644 --- a/src/Protocol/ActivityPub/Receiver.php +++ b/src/Protocol/ActivityPub/Receiver.php @@ -208,6 +208,7 @@ class Receiver if (!$trust_source) { logger('No trust for activity type "' . $activity['type'] . '", so we quit now.', LOGGER_DEBUG); + return; } switch ($activity['type']) { diff --git a/src/Protocol/ActivityPub/Transmitter.php b/src/Protocol/ActivityPub/Transmitter.php index 7d9d6626ce..081ba0b739 100644 --- a/src/Protocol/ActivityPub/Transmitter.php +++ b/src/Protocol/ActivityPub/Transmitter.php @@ -773,7 +773,7 @@ class Transmitter $data['context'] = self::fetchContextURLForItem($item); if (!empty($item['title'])) { - $data['name'] = BBCode::convert($item['title'], false, 7); + $data['name'] = BBCode::toPlaintext($item['title'], false); } $body = $item['body']; diff --git a/src/Worker/Notifier.php b/src/Worker/Notifier.php index d40d9068fa..b57c81db77 100644 --- a/src/Worker/Notifier.php +++ b/src/Worker/Notifier.php @@ -20,6 +20,7 @@ use Friendica\Protocol\ActivityPub; use Friendica\Protocol\Diaspora; use Friendica\Protocol\OStatus; use Friendica\Protocol\Salmon; +use Friendica\Model\Conversation; require_once 'include/dba.php'; require_once 'include/items.php'; @@ -514,6 +515,12 @@ class Notifier if ($target_item['origin']) { $inboxes = ActivityPub\Transmitter::fetchTargetInboxes($target_item, $uid); + logger('Origin item ' . $item_id . ' with URL ' . $target_item['uri'] . ' will be distributed.', LOGGER_DEBUG); + } elseif (!DBA::exists('conversation', ['item-uri' => $target_item['uri'], 'protocol' => Conversation::PARCEL_ACTIVITYPUB])) { + logger('Remote item ' . $item_id . ' with URL ' . $target_item['uri'] . ' is no AP post. It will not be distributed.', LOGGER_DEBUG); + return; + } else { + logger('Remote item ' . $item_id . ' with URL ' . $target_item['uri'] . ' will be distributed.', LOGGER_DEBUG); } if ($parent['origin']) { @@ -521,6 +528,11 @@ class Notifier $inboxes = array_merge($inboxes, $parent_inboxes); } + if (empty($inboxes)) { + logger('No inboxes found for item ' . $item_id . ' with URL ' . $target_item['uri'] . '. It will not be distributed.', LOGGER_DEBUG); + return; + } + // Fill the item cache ActivityPub\Transmitter::createCachedActivityFromItem($item_id);