aboutsummaryrefslogtreecommitdiff
path: root/internal/feed/cache/cache_v1.go
diff options
context:
space:
mode:
Diffstat (limited to 'internal/feed/cache/cache_v1.go')
-rw-r--r--internal/feed/cache/cache_v1.go7
1 files changed, 5 insertions, 2 deletions
diff --git a/internal/feed/cache/cache_v1.go b/internal/feed/cache/cache_v1.go
index d754b00..439846f 100644
--- a/internal/feed/cache/cache_v1.go
+++ b/internal/feed/cache/cache_v1.go
@@ -208,7 +208,7 @@ func (cache *v1Cache) cachedFeed(f *feed.Feed) CachedFeed {
return cf
}
-func newCachedItem(item *feed.Item) cachedItem {
+func (cf *cachedFeed) cachedItem(item *feed.Item) cachedItem {
var ci cachedItem
ci.ID = item.ID
@@ -245,8 +245,11 @@ func (cf *cachedFeed) Filter(items []feed.Item, ignoreHash, alwaysNew bool) []fe
cacheItems := make(map[cachedItem]*feed.Item, len(items))
for idx := range items {
+ i := &items[idx]
+ ci := cf.cachedItem(i)
+
// remove complete duplicates on the go
- cacheItems[newCachedItem(&items[idx])] = &items[idx]
+ cacheItems[ci] = i
}
log.Debugf("%d items after deduplication", len(cacheItems))