From 5a29fad4b630d50ef824f50dce1dcbbf51d16220 Mon Sep 17 00:00:00 2001 From: "sentry[bot]" <39604003+sentry[bot]@users.noreply.github.com> Date: Thu, 27 Aug 2026 23:02:45 +0000 Subject: [PATCH] fix: RecentPostsWidget TypeError with non-array posts --- src/components/RecentPostsWidget.tsx | 2 +- src/utils/blog.functions.ts | 32 ++++++++++++++++------------ 2 files changed, 19 insertions(+), 15 deletions(-) diff --git a/src/components/RecentPostsWidget.tsx b/src/components/RecentPostsWidget.tsx index 9380fb323..aaabe9343 100644 --- a/src/components/RecentPostsWidget.tsx +++ b/src/components/RecentPostsWidget.tsx @@ -101,7 +101,7 @@ export function RecentPostsWidget({ const visiblePosts = posts ?? recentPostsQuery.data - if (!visiblePosts) { + if (!Array.isArray(visiblePosts)) { return } diff --git a/src/utils/blog.functions.ts b/src/utils/blog.functions.ts index f31b869f6..11bf7253d 100644 --- a/src/utils/blog.functions.ts +++ b/src/utils/blog.functions.ts @@ -170,20 +170,24 @@ export const fetchBlogPostsForLibrary = createServerFn({ method: 'GET' }) export const fetchRecentPosts = createServerFn({ method: 'GET' }).handler( async (): Promise> => { - setExistingBlogListResponseHeaders() - - return getInternalBlogCardPosts() - .slice(0, 3) - .map((post) => ({ - slug: post.slug, - title: post.title, - published: post.published, - excerpt: post.excerpt, - headerImage: post.headerImage, - authors: post.authors, - externalUrl: post.externalUrl, - source: post.source, - })) + try { + setExistingBlogListResponseHeaders() + + return getInternalBlogCardPosts() + .slice(0, 3) + .map((post) => ({ + slug: post.slug, + title: post.title, + published: post.published, + excerpt: post.excerpt, + headerImage: post.headerImage, + authors: post.authors, + externalUrl: post.externalUrl, + source: post.source, + })) + } catch { + return [] + } }, )