From 06a0f30ae7e17125fde3c5af5ef6cd3dfd6111a5 Mon Sep 17 00:00:00 2001 From: Tagaishi Date: Sun, 27 Aug 2023 03:07:23 +0200 Subject: [PATCH] =?UTF-8?q?=F0=9F=90=9B=20RSS=20empty=20feed=20stuck=20on?= =?UTF-8?q?=20loading?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/server/api/routers/rss.ts | 6 +++++- src/widgets/rss/RssWidgetTile.tsx | 4 ++-- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/src/server/api/routers/rss.ts b/src/server/api/routers/rss.ts index 45e136137..64e97e458 100644 --- a/src/server/api/routers/rss.ts +++ b/src/server/api/routers/rss.ts @@ -62,13 +62,17 @@ export const rssRouter = createTRPCRouter({ | IRssWidget | undefined; - if (!rssWidget || input.feedUrls.length === 0) { + if (!rssWidget) { throw new TRPCError({ code: 'NOT_FOUND', message: 'required widget does not exist', }); } + if (input.feedUrls.length === 0) { + return [{ feed: undefined, success: false }] + } + const result = await Promise.all( input.feedUrls.map(async (feedUrl) => getFeedUrl(feedUrl, rssWidget.properties.dangerousAllowSanitizedItemContent) diff --git a/src/widgets/rss/RssWidgetTile.tsx b/src/widgets/rss/RssWidgetTile.tsx index 233b04dbd..2be4250ff 100644 --- a/src/widgets/rss/RssWidgetTile.tsx +++ b/src/widgets/rss/RssWidgetTile.tsx @@ -100,7 +100,7 @@ function RssTile({ widget }: RssTileProps) { ); } - if (data.length < 1 || !data[0].feed || isError) { + if (data.length === 1 && !data[0].feed || isError) { return (
@@ -200,7 +200,7 @@ export const useGetRssFeeds = ( // Cache the results for 24 hours cacheTime: 1000 * 60 * 60 * 24, staleTime: 1000 * 60 * refreshInterval, - enabled: !!configName, + enabled: !!configName || !!feedUrls, } );