fix(rss): ignore max_age for old feed items (#527)

Feed dates are not always initialized, which defaults (if present) to epoch on some feed items. When this happens the results can be unpredictable, and not expected for what users are intending for. As such to have sane defaults, we ignore the date if it's before April 1st 1970, because nothing really happened before this date.
This commit is contained in:
Kyle Sanderson 2022-11-07 08:32:49 -08:00 committed by GitHub
parent d826399c24
commit 6295239985
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -96,7 +96,7 @@ func (j *RSSJob) processItem(item *gofeed.Item) *domain.Release {
now := time.Now() now := time.Now()
if j.Feed.MaxAge > 0 { if j.Feed.MaxAge > 0 {
if item.PublishedParsed != nil { if item.PublishedParsed != nil && item.PublishedParsed.After(time.Date(1970, time.April, 1, 0, 0, 0, 0, time.UTC)) {
if !isNewerThanMaxAge(j.Feed.MaxAge, *item.PublishedParsed, now) { if !isNewerThanMaxAge(j.Feed.MaxAge, *item.PublishedParsed, now) {
return nil return nil
} }