From ec3e327d94a3941ceef245d733df294b0a3830fc Mon Sep 17 00:00:00 2001 From: fullsizemalt <106900403+fullsizemalt@users.noreply.github.com> Date: Sun, 21 Dec 2025 00:58:36 -0800 Subject: [PATCH] fix(frontend): Handle non-JSON API responses safely in ActivityFeed --- frontend/components/feed/activity-feed.tsx | 24 +++++++++++++++++----- 1 file changed, 19 insertions(+), 5 deletions(-) diff --git a/frontend/components/feed/activity-feed.tsx b/frontend/components/feed/activity-feed.tsx index 126d026..10e8bc4 100644 --- a/frontend/components/feed/activity-feed.tsx +++ b/frontend/components/feed/activity-feed.tsx @@ -23,11 +23,25 @@ export function ActivityFeed() { const [loading, setLoading] = useState(true) useEffect(() => { - fetch(`${getApiUrl()}/feed/`) - .then(res => res.json()) - .then(setFeed) - .catch(console.error) - .finally(() => setLoading(false)) + const fetchFeed = async () => { + try { + const res = await fetch(`${getApiUrl()}/feed/`) + if (!res.ok) { + const text = await res.text() + console.error('Feed API error:', res.status, text) + setFeed([]) // Fallback to empty + return + } + const data = await res.json() + setFeed(data) + } catch (error) { + console.error('Failed to fetch feed:', error) + setFeed([]) + } finally { + setLoading(false) + } + } + fetchFeed() }, []) if (loading) return