X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=src%2FWorker%2FAPDelivery.php;h=37b47dd46dfd2c202815b24592fa918ca635e69b;hb=34030a736d5e0aa2195c0f472cf69f863c161d83;hp=299eeba359f1d77de7b70b2465882824f1316ad8;hpb=40aa67f8beca2735f2f1d70a503a1b58500b3e3f;p=friendica.git diff --git a/src/Worker/APDelivery.php b/src/Worker/APDelivery.php index 299eeba359..37b47dd46d 100644 --- a/src/Worker/APDelivery.php +++ b/src/Worker/APDelivery.php @@ -68,7 +68,7 @@ class APDelivery } if (!$success && !Worker::defer() && in_array($cmd, [Delivery::POST])) { - if ($uri_id) { + if (!empty($uri_id)) { Post\Delivery::remove($uri_id, $inbox); Post\DeliveryData::incrementQueueFailed($uri_id); } elseif (!empty($uri_ids)) { @@ -78,7 +78,7 @@ class APDelivery } } } elseif ($success && in_array($cmd, [Delivery::POST])) { - if ($uri_id) { + if (!empty($uri_id)) { Post\DeliveryData::incrementQueueDone($uri_id, Post\DeliveryData::ACTIVITYPUB); } elseif (!empty($uri_ids)) { foreach ($uri_ids as $uri_id) { @@ -107,14 +107,19 @@ class APDelivery private static function deliverToInbox(string $cmd, int $item_id, string $inbox, int $uid, array $receivers, int $uri_id) { if (empty($item_id) && !empty($uri_id) && !empty($uid)) { - $item = Post::selectFirst(['id', 'parent'], ['uri-id' => $uri_id, 'uid' => $uid]); + $item = Post::selectFirst(['id', 'parent', 'origin'], ['uri-id' => $uri_id, 'uid' => $uid]); $item_id = $item['id'] ?? 0; if (empty($receivers) && !empty($item)) { $parent = Post::selectFirst(Item::DELIVER_FIELDLIST, ['id' => $item['parent']]); - $inboxes = ActivityPub\Transmitter::fetchTargetInboxes($parent, $uid, true, $item['id']); - + $inboxes = ActivityPub\Transmitter::fetchTargetInboxes($parent, $uid); $receivers = $inboxes[$inbox] ?? []; + + // When we haven't fetched the receiver list, it can be a personal inbox + if (empty($receivers)) { + $inboxes = ActivityPub\Transmitter::fetchTargetInboxes($parent, $uid, true); + $receivers = $inboxes[$inbox] ?? []; + } } }