Some feeds are purged, but they don't deserve

Hi,

I discovered a really weird behaviour on some feeds.
The case stand when a feed is updated, with entries in cache, but the content has changed (like number of comments in the plaintext) but not the “date” element (corresponding w/ field “updated”).
In this case, I could see that “date_updated” is not … updated, so the entry appear to be older, and older, and older, since the purge process delete it. But in this case, the entry still exists in the ATOM file.
(I doubt to be clear ?)

Example of debug :

[13:18:54/30176] guid 2,********* SHA1:30a7d2a94a17d2a3f3759281dd83b17e6cb994ee
[13:18:54/30176] orig date: 1509062400
[13:18:54/30176] date 1509062400 [2017/10/27 00:00:00]
[13:18:54/30176] title *********
[13:18:54/30176] link https://********
[13:18:54/30176] author *****
[13:18:54/30176] num_comments: 0
[13:18:54/30176] looking for tags...
[13:18:54/30176] tags found: 
[13:18:54/30176] done collecting data.
[13:18:54/30176] article hash: 3f186b087bbb7e266c9bd0d0aa30470a6cfb46e6 [stored=b041b277fd1920a0ceef28799ab52a495f5e46f5]
[13:18:54/30176] hash differs, applying plugin filters:
[13:18:54/30176] ... Af_Lang_Detect
[13:18:54/30176] detected language: en
[13:18:54/30176] === 0.0212 (sec)
[13:18:54/30176] ... Af_Feedmod
[13:18:54/30176] === 0.0003 (sec)
[13:18:54/30176] ... Af_Fsckportal
[13:18:54/30176] === 0.0006 (sec)
[13:18:54/30176] ... Af_Unburn
[13:18:54/30176] === 0.0000 (sec)
[13:18:54/30176] plugin data: af_lang_detect,af_feedmod,af_fsckportal,af_unburn,
[13:18:54/30176] matched filter rules: 
[13:18:54/30176] filter actions: 
[13:18:54/30176] article labels:
[13:18:54/30176] force catchup: 
[13:18:54/30176] base guid found, checking for user record
[13:18:54/30176] initial score: 0 [including plugin modifier: 0]
[13:18:54/30176] user record FOUND: RID: 282577, IID: 295066
[13:18:54/30176] resulting RID: 282577, IID: 295066
[13:18:54/30176] assigning labels [other]...
[13:18:54/30176] assigning labels [filters]...
[13:18:54/30176] looking for enclosures...
[13:18:54/30176] article enclosures: Array ( )
[13:18:54/30176] filtered article tags: Array ( )
[13:18:54/30176] article processed

To work around the bug (or fix it?) I changed the file “classes/rssutils.php” like this:

diff --git a/classes/rssutils.php b/classes/rssutils.php
index f06cb085..dd6d1dd3 100755
--- a/classes/rssutils.php
+++ b/classes/rssutils.php
@@ -989,6 +989,7 @@ class RSSUtils {
                                                        content = :content,
                                                        content_hash = :content_hash,
                                                        updated = :updated,
+                                                       date_updated = NOW(),
                                                        num_comments = :num_comments,
                                                        plugin_data = :plugin_data,
                                                        author = :author,

Note : I use an up-to-date version, cloned from Git repository.

Thank for the great job.

thanks, seems like an oversight that hasn’t been caught in years

e: https://git.tt-rss.org/fox/tt-rss/commit/66fe33e7697aca0b18fffb0a37c7c4d57c5eaf95 should be fixed now