diff --git a/src/Core/Worker/Cron.php b/src/Core/Worker/Cron.php index 4aef72e5f..f73edb816 100644 --- a/src/Core/Worker/Cron.php +++ b/src/Core/Worker/Cron.php @@ -165,7 +165,7 @@ class Cron Logger::info('Removing failed deliveries', ['inbox' => $delivery['inbox'], 'failed' => $delivery['failed']]); Post\Delivery::removeFailed($delivery['inbox']); } - + if ($delivery['failed'] == 0) { $result = ActivityPub\Delivery::deliver($delivery['inbox']); Logger::info('Directly deliver inbox', ['inbox' => $delivery['inbox'], 'result' => $result['success']]); diff --git a/src/Factory/Api/Mastodon/Status.php b/src/Factory/Api/Mastodon/Status.php index 94b42ce79..18701bb66 100644 --- a/src/Factory/Api/Mastodon/Status.php +++ b/src/Factory/Api/Mastodon/Status.php @@ -199,8 +199,11 @@ class Status extends BaseFactory } } - $item['body'] = $this->contentItem->addSharedPost($item); - $item['raw-body'] = $this->contentItem->addSharedPost($item, $item['raw-body']); + $item['body'] = $this->contentItem->addSharedPost($item); + + if (!is_null($item['raw-body'])) { + $item['raw-body'] = $this->contentItem->addSharedPost($item, $item['raw-body']); + } if ($is_reshare) { $reshare = $this->createFromUriId($uriId, $uid, false)->toArray(); diff --git a/src/Model/Item.php b/src/Model/Item.php index 68fb01dd1..f24771375 100644 --- a/src/Model/Item.php +++ b/src/Model/Item.php @@ -2282,7 +2282,12 @@ class Item return; } - if (!DBA::exists('contact', ['id' => $item['contact-id'], 'remote_self' => Contact::MIRROR_NATIVE_RESHARE])) { + $cdata = Contact::getPublicAndUserContactID($item['author-id'], $item['uid']); + if (empty($cdata['user']) || ($cdata['user'] != $item['contact-id'])) { + return; + } + + if (!DBA::exists('contact', ['id' => $cdata['user'], 'remote_self' => Contact::MIRROR_NATIVE_RESHARE])) { return; } diff --git a/src/Util/Images.php b/src/Util/Images.php index 533feec84..a6a9f4f7d 100644 --- a/src/Util/Images.php +++ b/src/Util/Images.php @@ -247,8 +247,11 @@ class Images if ($data) { $image = new Image($img_str); - $data['blurhash'] = $image->getBlurHash(); - $data['size'] = $filesize; + if ($image->isValid()) { + $data['blurhash'] = $image->getBlurHash(); + } + + $data['size'] = $filesize; } return is_array($data) ? $data : [];