aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRené 'Necoro' Neumann <necoro@necoro.eu>2020-05-07 22:15:31 +0200
committerRené 'Necoro' Neumann <necoro@necoro.eu>2020-05-07 22:15:31 +0200
commit432e26e4177cf351953ac97474326a2f439beba5 (patch)
tree9c2c9dbbad3ea2a7f74d1f61dcc97066b269b204
parenta8621150241331c4ec96191e1dcca0dcc8818422 (diff)
downloadfeed2imap-go-432e26e4177cf351953ac97474326a2f439beba5.tar.gz
feed2imap-go-432e26e4177cf351953ac97474326a2f439beba5.tar.bz2
feed2imap-go-432e26e4177cf351953ac97474326a2f439beba5.zip
Do not assume items to be new when their published date is newer than the last run
-rw-r--r--CHANGELOG.md1
-rw-r--r--internal/feed/cache_v1.go7
2 files changed, 1 insertions, 7 deletions
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 4338b73..70aaec9 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -11,6 +11,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
### Changed
- Default for `min-frequency` is now 0 instead of 1.
- Fixed date parsing from feed. _Changes cache format!_
+- Do not assume items to be new when their published date is newer than the last run. Some feeds just lie...
- Misc bug fixes in template rendering.
## [0.1.1] - 2020-05-04
diff --git a/internal/feed/cache_v1.go b/internal/feed/cache_v1.go
index 18b12c3..d515528 100644
--- a/internal/feed/cache_v1.go
+++ b/internal/feed/cache_v1.go
@@ -210,13 +210,6 @@ func (cf *cachedFeed) filterItems(items []item, ignoreHash, alwaysNew bool) []it
CACHE_ITEMS:
for ci, item := range cacheItems {
log.Debugf("Now checking %s", ci)
- if cf.LastCheck.IsZero() || ci.Date.After(cf.LastCheck) {
- log.Debug("Newer than last check, including.")
-
- item.addReason("time")
- app(item, ci, nil)
- continue
- }
if ci.Guid != "" {
for idx, oldItem := range cf.Items {
When generating a cached file, locking is used to avoid parallell processing of the request. If multiple processes tries to aquire the same lock, the ones who fail to get the lock serves the (expired) cached file. If the cached file don't exist, the process instead calls sched_yield(2) before restarting the request processing. Signed-off-by: Lars Hjemli <hjemli@gmail.com>