From 7471513269ff5c696ae0fd926f3d65d5fc41f718 Mon Sep 17 00:00:00 2001 From: Michael Date: Sat, 2 Mar 2024 20:58:40 +0000 Subject: [PATCH] Issue 13940: handle posts that can't be found in contexts --- src/Module/Api/Mastodon/Statuses/Context.php | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/src/Module/Api/Mastodon/Statuses/Context.php b/src/Module/Api/Mastodon/Statuses/Context.php index 58a3f085b1..3a9ad27088 100644 --- a/src/Module/Api/Mastodon/Statuses/Context.php +++ b/src/Module/Api/Mastodon/Statuses/Context.php @@ -129,7 +129,11 @@ class Context extends BaseApi $display_quotes = self::appSupportsQuotes(); foreach (array_slice($ancestors, 0, $request['limit']) as $ancestor) { - $statuses['ancestors'][] = DI::mstdnStatus()->createFromUriId($ancestor, $uid, $display_quotes); + try { + $statuses['ancestors'][] = DI::mstdnStatus()->createFromUriId($ancestor, $uid, $display_quotes); + } catch (\Throwable $th) { + $this->logger->info('Post not fetchable', ['uri-id' => $ancestor, 'uid' => $uid, 'error' => $th]); + } } $descendants = array_diff(self::getChildren($id, $children), $deleted); @@ -137,7 +141,11 @@ class Context extends BaseApi asort($descendants); foreach (array_slice($descendants, 0, $request['limit']) as $descendant) { - $statuses['descendants'][] = DI::mstdnStatus()->createFromUriId($descendant, $uid, $display_quotes); + try { + $statuses['descendants'][] = DI::mstdnStatus()->createFromUriId($descendant, $uid, $display_quotes); + } catch (\Throwable $th) { + $this->logger->info('Post not fetchable', ['uri-id' => $descendant, 'uid' => $uid, 'error' => $th]); + } } $this->jsonExit($statuses);