martinrotter / rssguard

Feed reader (and podcast player) which supports RSS/ATOM/JSON and many web-based feed services.
GNU General Public License v3.0
1.56k stars 124 forks source link

[BUG]: Two characters years dates are not recognized in RSS #1344

Closed Ac314 closed 6 months ago

Ac314 commented 6 months ago

Brief description of the issue

pubDates in RSS are not recognized by RSS Guard if year has two characters format.

How to reproduce the bug?

Use any RSS file with two digits year in item, for example:

111 111 https://github.com 111 https://github.com Wed, 20 Mar 24 13:31:00 +0300

What was the expected result?

Article date should be set to 20 Mar 24 13:31:30.

What actually happened?

Article date is set to the current date/time.

Debug log

time=" 490.879" type="debug" -> feed-downloader: Starting feed updates from worker in thread '0xa78'. time=" 490.879" type="debug" -> feed-downloader: All caches synchronized. time=" 490.879" type="debug" -> database: SQLite connection 'db_connection_2680' is already active. time=" 490.879" type="debug" -> database: SQLite database connection 'db_connection_2680' to file 'F:/tmp/data4/database/database.db' seems to be established. time=" 490.879" type="debug" -> feed-downloader: Downloading new messages for feed ID '10' URL: 'F:/tmp/111.xml' title: '111' in thread '3388'. time=" 490.880" type="debug" -> database: SQLite database connection 'db_connection_3388' to file 'F:/tmp/data4/database/database.db' seems to be established. time=" 490.886" type="debug" -> feed-downloader: Downloaded 1 messages for feed ID '10',operation took 6296 microseconds. time=" 490.886" type="debug" -> database: SQLite connection 'db_connection_3388' is already active. time=" 490.886" type="debug" -> database: SQLite database connection 'db_connection_3388' to file 'F:/tmp/data4/database/database.db' seems to be established. time=" 490.886" type="debug" -> core: Updating messages in DB. time=" 490.887" type="debug" -> database: Checking if message with title '111', url 'https://github.com/1'' and author '' is present in DB. time=" 490.887" type="debug" -> database: SQLite connection 'db_connection_3388' is already active. time=" 490.887" type="debug" -> database: SQLite database connection 'db_connection_3388' to file 'F:/tmp/data4/database/database.db' seems to be established. time=" 490.887" type="debug" -> database: SQLite connection 'db_connection_3388' is already active. time=" 490.888" type="debug" -> database: SQLite database connection 'db_connection_3388' to file 'F:/tmp/data4/database/database.db' seems to be established. time=" 490.888" type="debug" -> database: SQLite connection 'db_connection_3388' is already active. time=" 490.888" type="debug" -> database: SQLite database connection 'db_connection_3388' to file 'F:/tmp/data4/database/database.db' seems to be established. time=" 490.888" type="debug" -> database: SQLite connection 'db_connection_3388' is already active. time=" 490.888" type="debug" -> database: SQLite database connection 'db_connection_3388' to file 'F:/tmp/data4/database/database.db' seems to be established. time=" 490.889" type="debug" -> database: SQLite connection 'db_connection_3388' is already active. time=" 490.889" type="debug" -> database: SQLite database connection 'db_connection_3388' to file 'F:/tmp/data4/database/database.db' seems to be established. time=" 490.889" type="debug" -> feed-downloader: Updating messages in DB took 3031 microseconds. time=" 490.889" type="debug" -> feed-downloader: 1 unread messages and 1 total messages for feed '10' stored in DB. time=" 490.889" type="debug" -> feed-downloader: Made progress in feed updates, total feeds count 1/1 (id of feed is 10). time=" 490.890" type="debug" -> feed-downloader: Finished feed updates in thread '0xa78'. time=" 490.896" type="debug" -> CTRL is NOT pressed while sorting articles - sorting with standard mode. time=" 490.896" type="debug" -> message-model: Repopulated model, SQL statement is now: 'SELECT Messages.id, Messages.is_read, Messages.is_important, Messages.is_deleted, Messages.is_pdeleted, Messages.feed, Messages.title, Messages.url, Messages.author, Messages.date_created, Messages.contents, Messages.enclosures, Messages.score, Messages.account_id, Messages.custom_id, Messages.custom_hash, Feeds.title, Feeds.is_rtl, CASE WHEN LENGTH(Messages.enclosures) > 10 THEN 'true' ELSE 'false' END AS has_enclosures, (SELECT GROUP_CONCAT(Labels.name) FROM Labels WHERE Messages.labels LIKE "%." || Labels.custom_id || ".%") as msg_labels, Messages.labels FROM Messages LEFT JOIN Feeds ON Messages.feed = Feeds.custom_id AND Messages.account_id = Feeds.account_id WHERE Feeds.custom_id IN ('10') AND Messages.is_deleted = 0 AND Messages.is_pdeleted = 0 AND Messages.account_id = 1 ORDER BY Messages.date_created DESC;'. time=" 490.896" type="debug" -> gui: Reloading of msg selections took 1 miliseconds. time=" 490.904" type="debug" -> core: Using QSoundEffect to play notification sound. time=" 490.904" type="debug" -> notifications: Starting timed closing for notification. time=" 492.166" type="debug" -> notifications: Stopping timed closing for notification.

Operating system and version

martinrotter commented 6 months ago

Give working URL to some feed which has this feature.

Ac314 commented 6 months ago

It seems github cropped all xml tags with my example feed in bug description. I attached it as an archive. 111.xml.zip

Ac314 commented 6 months ago

One of real world examples: https://www.cybersport.ru/rss/materials.

martinrotter commented 6 months ago

https://bugreports.qt.io/browse/QTBUG-123579

Ac314 commented 6 months ago

So it is the bug in QT 6.6.2 which was fixed (some way) in QT 6.7?

martinrotter commented 6 months ago

Yes, the fix will eventually be backported to Qt 6.6.x I believe.

Once 6.7 comes out I will update building script to use it and perhaps it will be all solved.

Ac314 commented 6 months ago

OK, let's wait for 6.7 release then.