From 0324850f7540063906e12c1a6c399af6e767dd87 Mon Sep 17 00:00:00 2001 From: JMCP Bot Date: Wed, 25 Mar 2026 13:37:47 +0100 Subject: [PATCH] jmcp: Extend home page dedup to full visible feed slice --- apps/web/app/feed/page.tsx | 7 +++++-- apps/web/app/page.tsx | 7 +++++-- packages/auth/src/index.ts | 4 ++-- 3 files changed, 12 insertions(+), 6 deletions(-) diff --git a/apps/web/app/feed/page.tsx b/apps/web/app/feed/page.tsx index a6e5fce..4a07bdb 100644 --- a/apps/web/app/feed/page.tsx +++ b/apps/web/app/feed/page.tsx @@ -15,20 +15,23 @@ export default async function FeedPage({ }) { const params = await searchParams const viewerHandle = await getViewerHandleFromCookies() - const [feed, trending, conferences, opportunities, groups] = await Promise.all([ + const [feed, allTrending, conferences, opportunities, groups] = await Promise.all([ repository.getFeed({ viewerHandle, query: params.q, }), repository.listTrendingPapers({ viewerHandle, - limit: 3, + limit: 6, }), repository.listConferences(), repository.getOpportunities(viewerHandle), repository.listGroups(viewerHandle), ]) + const feedPaperIds = new Set(feed.map((entry) => entry.paper.id)) + const trending = allTrending.filter((entry) => !feedPaperIds.has(entry.paper.id)).slice(0, 3) + return (
diff --git a/apps/web/app/page.tsx b/apps/web/app/page.tsx index d1f4e9e..7cc6e96 100644 --- a/apps/web/app/page.tsx +++ b/apps/web/app/page.tsx @@ -12,20 +12,23 @@ const repository = createRepository() export default async function HomePage() { const session = await getSessionContext() - const [roadmap, feed, trending, conferences, digest, opportunities] = await Promise.all([ + const [roadmap, feed, allTrending, conferences, digest, opportunities] = await Promise.all([ repository.getRoadmap(), repository.getFeed({ viewerHandle: session.viewer?.handle, }), repository.listTrendingPapers({ viewerHandle: session.viewer?.handle, - limit: 3, + limit: 6, }), repository.listConferences(), repository.getDailyDigest(session.viewer?.handle), repository.getOpportunities(session.viewer?.handle), ]) + const feedPaperIds = new Set(feed.map((entry) => entry.paper.id)) + const trending = allTrending.filter((entry) => !feedPaperIds.has(entry.paper.id)).slice(0, 3) + return (
diff --git a/packages/auth/src/index.ts b/packages/auth/src/index.ts index 7b941bb..498658e 100644 --- a/packages/auth/src/index.ts +++ b/packages/auth/src/index.ts @@ -52,9 +52,9 @@ function getManagedAuth() { after: async (account) => { if (account.providerId === "orcid" && account.accountId) { await db - .update(profiles) + .update(profiles as never) .set({ orcid: account.accountId }) - .where(eq(profiles.userId, account.userId)) + .where(eq(profiles.userId as never, account.userId)) } }, },