From 25b1e7229cc5289b550e59b0fd9c50d16383e449 Mon Sep 17 00:00:00 2001 From: "P. Reis" Date: Sun, 7 Apr 2024 20:26:47 -0300 Subject: [PATCH] fix: stop home timeline hanging/loading when no posts are available --- src/controllers/api/timelines.ts | 9 +++++++-- src/views/mastodon/statuses.ts | 1 + 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/src/controllers/api/timelines.ts b/src/controllers/api/timelines.ts index a2c4367..677bc60 100644 --- a/src/controllers/api/timelines.ts +++ b/src/controllers/api/timelines.ts @@ -56,12 +56,17 @@ async function renderStatuses(c: AppContext, filters: NostrFilter[]) { return c.json([]); } - const statuses = await Promise.all(events.map((event) => { + const statuses = (await Promise.all(events.map((event) => { if (event.kind === 6) { return renderReblog(event); } return renderStatus(event, c.get('pubkey')); - })); + }))).filter((boolean) => boolean); + + if (!statuses.length) { + return c.json([]); + } + return paginated(c, events, statuses); } diff --git a/src/views/mastodon/statuses.ts b/src/views/mastodon/statuses.ts index e01e955..cac79ef 100644 --- a/src/views/mastodon/statuses.ts +++ b/src/views/mastodon/statuses.ts @@ -111,6 +111,7 @@ async function renderReblog(event: DittoEvent) { if (!event.repost) return; const reblog = await renderStatus(event.repost); + reblog.reblogged = true; return { id: event.id, account: await renderAccount(event.author),