info('Inbox is archived', ['cmd' => $cmd, 'inbox' => $inbox, 'id' => $item_id, 'uri-id' => $uri_id, 'uid' => $uid]); if (empty($uri_id) && !empty($item_id)) { $item = Post::selectFirst(['uri-id'], ['id' => $item_id]); $uri_id = $item['uri-id'] ?? 0; } if (empty($uri_id)) { $posts = Post\Delivery::selectForInbox($inbox); $uri_ids = array_column($posts, 'uri-id'); } else { $uri_ids = [$uri_id]; } foreach ($uri_ids as $uri_id) { Post\Delivery::remove($uri_id, $inbox); Post\DeliveryData::incrementQueueFailed($uri_id); } return; } DI::logger()->debug('Invoked', ['cmd' => $cmd, 'inbox' => $inbox, 'id' => $item_id, 'uri-id' => $uri_id, 'uid' => $uid]); if (empty($uri_id)) { $result = ActivityPub\Delivery::deliver($inbox); $success = $result['success']; $drop = false; $uri_ids = $result['uri_ids']; } else { $owner = User::getOwnerDataById($uid); if (!$owner) { Post\Delivery::remove($uri_id, $inbox); Post\Delivery::incrementFailed($uri_id, $inbox); return; } $result = ActivityPub\Delivery::deliverToInbox($cmd, $item_id, $inbox, $owner, $receivers, $uri_id); $success = $result['success']; $drop = $result['drop']; $uri_ids = [$uri_id]; } if (!$drop && !$success && !Worker::defer() && !empty($uri_ids)) { foreach ($uri_ids as $uri_id) { Post\Delivery::remove($uri_id, $inbox); Post\DeliveryData::incrementQueueFailed($uri_id); } } } }