From 18241136e3ab4f22310b6ba5d40a1aadfa606623 Mon Sep 17 00:00:00 2001 From: "Lucas L." <18116857+HtFilia@users.noreply.github> Date: Sat, 22 Mar 2025 19:59:00 +0100 Subject: [PATCH] Add filter on already seen links for RSS feeds --- internal/glance/widget-rss.go | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/internal/glance/widget-rss.go b/internal/glance/widget-rss.go index e7d2e8b..1598371 100644 --- a/internal/glance/widget-rss.go +++ b/internal/glance/widget-rss.go @@ -331,6 +331,7 @@ func fetchItemsFromRSSFeeds(requests []rssFeedRequest) (rssFeedItemList, error) failed := 0 entries := make(rssFeedItemList, 0, len(feeds)*10) + seen := make(map[string]struct{}) for i := range feeds { if errs[i] != nil { @@ -339,7 +340,13 @@ func fetchItemsFromRSSFeeds(requests []rssFeedRequest) (rssFeedItemList, error) continue } - entries = append(entries, feeds[i]...) + for _, item := range feeds[i] { + if _, exists := seen[item.Link]; exists { + continue + } + entries = append(entries, item) + seen[item.Link] = struct{}{} + } } if failed == len(requests) {