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 []
+ }
},
)