diff --git a/src/Model/Contact.php b/src/Model/Contact.php index a7dfa08dcf..faa3e85cf0 100644 --- a/src/Model/Contact.php +++ b/src/Model/Contact.php @@ -3357,6 +3357,16 @@ class Contact 'writable' => 1, ]); + if (!$contact_id) { + DI::logger()->warning('Contact had not been added', ['url' => $url, 'uid' => $importer['uid']]); + $contact_record = DBA::selectFirst('contact', ['id'], ['nurl' => Strings::normaliseLink($url), 'uid' => $importer['uid']]); + if (empty($contact_record['id'])) { + DI::logger()->error('Contact had not been found', ['url' => $url, 'uid' => $importer['uid']]); + return null; + } + $contact_id = $contact_record['id']; + } + // Ensure to always have the correct network type, independent from the connection request method self::updateFromProbe($contact_id); diff --git a/src/Model/GServer.php b/src/Model/GServer.php index d78d9ecbcb..efbe706844 100644 --- a/src/Model/GServer.php +++ b/src/Model/GServer.php @@ -1874,6 +1874,11 @@ class GServer return $serverdata; } + if (!is_countable($data)) { + DI::logger()->notice('Unexpected return type', ['url' => $url, 'data' => $data, 'serverdata' => $serverdata]); + return $serverdata; + } + if (count($data) == 1) { $serverdata['directory-type'] = self::DT_MASTODON; } diff --git a/src/Model/Post/Media.php b/src/Model/Post/Media.php index 7384f71ca5..3cf0ce0e7d 100644 --- a/src/Model/Post/Media.php +++ b/src/Model/Post/Media.php @@ -280,8 +280,8 @@ class Media // When the original picture is potentially animated but the preview isn't, we override the preview if (in_array($media['mimetype'] ?? '', ['image/gif', 'image/png']) && !in_array($imagedata['mime'], ['image/gif', 'image/png'])) { $media['preview'] = $media['url']; - $media['preview-width'] = $media['width']; - $media['preview-height'] = $media['height']; + $media['preview-width'] = $media['width'] ?? $imagedata[0]; + $media['preview-height'] = $media['height'] ?? $imagedata[1]; return $media; } diff --git a/src/Protocol/ActivityPub/Processor.php b/src/Protocol/ActivityPub/Processor.php index cc5fa584aa..f09b5a2e07 100644 --- a/src/Protocol/ActivityPub/Processor.php +++ b/src/Protocol/ActivityPub/Processor.php @@ -215,7 +215,7 @@ class Processor */ public static function updateItem(array $activity) { - $item = Post::selectFirst(['uri', 'uri-id', 'thr-parent', 'gravity', 'post-type', 'private'], ['uri' => $activity['id']]); + $item = Post::selectFirst(['uri', 'uri-id', 'guid', 'thr-parent', 'gravity', 'post-type', 'private'], ['uri' => $activity['id']]); if (!DBA::isResult($item)) { DI::logger()->notice('No existing item, item will be created', ['uri' => $activity['id']]); $item = self::createItem($activity, false); diff --git a/view/lang/C/messages.po b/view/lang/C/messages.po index 086ee806db..05c0e9b7f4 100644 --- a/view/lang/C/messages.po +++ b/view/lang/C/messages.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: 2025.02-dev\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-01-23 14:27+0000\n" +"POT-Creation-Date: 2025-01-23 21:29+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n"