diff --git a/src/services/libraryService.ts b/src/services/libraryService.ts index 7215d2e3..0c8b3729 100644 --- a/src/services/libraryService.ts +++ b/src/services/libraryService.ts @@ -187,8 +187,16 @@ export async function fetchReadArticlesWithData( merge(local$, remote$).pipe(toArray()) ) + // Deduplicate article events by ID + const uniqueArticleEvents = new Map() + articleEvents.forEach(event => { + if (!uniqueArticleEvents.has(event.id)) { + uniqueArticleEvents.set(event.id, event) + } + }) + // Convert to BlogPostPreview format - const blogPosts: BlogPostPreview[] = articleEvents.map(event => ({ + const blogPosts: BlogPostPreview[] = Array.from(uniqueArticleEvents.values()).map(event => ({ event, title: getArticleTitle(event) || 'Untitled Article', summary: getArticleSummary(event),