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.65k stars 125 forks source link

[BUG]: RSS Guard misses new entries in specific feed #805

Closed tyoeer closed 2 years ago

tyoeer commented 2 years ago

Brief description of the issue

I have https://www.thecodedmessage.com/index.xml as a feed, and it longer grabs new articles ("Programming Portfolio" from 2022-06-23 is the latest one). "Fetch metadata" still works (and selects the ATOM 1.0 type), and both my browser and curl are still able to fetch it, showing it does have new entries, making me believe the issue lies with RSS Guard. I have tried adding the URL as a new feed, but the same issue occurs (it simply has no articles and doesn't get any). This is the only URL I have this issue with.

How to reproduce the bug?

  1. Add or have https://www.thecodedmessage.com/index.xml as a feed
  2. Fetch entries for it

What was the expected result?

The new articles show up in the articles view.

What actually happened?

The feed name in the feed list becomes blue, now new articles appear.

Debug log

The most relevant line appears to be:

time="    30.767" type="critical" -> database: Failed bulk insert of articles: 'CHECK constraint failed: date_created >= 0 Unable to fetch rowCHECK constraint failed: date_created >= 0Unable to fetch row'.
time="    29.712" type="debug" -> feed-downloader: Downloading new messages for feed ID '269' URL: 'https://www.thecodedmessage.com/index.xml' title: 'The Coded Message' in thread: '0x3988'.
time="    29.712" type="debug" -> database: SQLite connection 'feed_upd' is already active.
time="    29.713" type="debug" -> database: SQLite database connection 'feed_upd' to file 'C:/Users/MyUserName/AppData/Local/RSS Guard 4/database/database.db' seems to be established.
time="    29.713" type="debug" -> core: Downloading URL 'https://www.thecodedmessage.com/index.xml' to obtain feed data.
time="    29.713" type="debug" -> network: Settings of BaseNetworkAccessManager loaded.
time="    30.471" type="debug" -> network: Destroying Downloader instance.
time="    30.472" type="debug" -> network: Destroying SilentNetworkAccessManager instance.
time="    30.606" type="debug" -> feed-downloader: Downloaded 66 messages for feed ID '269' URL: 'https://www.thecodedmessage.com/index.xml' title: 'The Coded Message' in thread: '0x3988'. Operation took 893939 microseconds.
time="    30.613" type="debug" -> feed-downloader: Saving messages of feed ID '269' URL: 'https://www.thecodedmessage.com/index.xml' title: 'The Coded Message' in thread: '0x3988'.
time="    30.613" type="debug" -> core: Updating messages in DB. Main thread: 'false'.
time="    30.613" type="debug" -> database: SQLite connection 'feed_upd' is already active.
time="    30.614" type="debug" -> database: SQLite database connection 'feed_upd' to file 'C:/Users/MyUserName/AppData/Local/RSS Guard 4/database/database.db' seems to be established.
time="    30.614" type="debug" -> database: Checking if message with feed-specific custom ID 'https://www.thecodedmessage.com/posts/strong-typing/' is present in DB.
time="    30.617" type="debug" -> database: Checking if message with feed-specific custom ID 'https://www.thecodedmessage.com/posts/erased-serde/' is present in DB.
time="    30.620" type="debug" -> database: Checking if message with feed-specific custom ID 'https://www.thecodedmessage.com/posts/write-everything-down/' is present in DB.
time="    30.622" type="debug" -> database: Checking if message with feed-specific custom ID 'https://www.thecodedmessage.com/posts/blocking-sockets/' is present in DB.
time="    30.624" type="debug" -> database: Checking if message with feed-specific custom ID 'https://www.thecodedmessage.com/posts/2022-07-14-programming-unwrap/' is present in DB.
time="    30.626" type="debug" -> database: Checking if message with feed-specific custom ID 'https://www.thecodedmessage.com/posts/review-plain-truth/' is present in DB.
time="    30.628" type="debug" -> database: Checking if message with feed-specific custom ID 'https://www.thecodedmessage.com/posts/haskell-error-message-2/' is present in DB.
time="    30.630" type="debug" -> database: Checking if message with feed-specific custom ID 'https://www.thecodedmessage.com/posts/2022-06-16-programming-cli/' is present in DB.
time="    30.632" type="debug" -> database: Checking if message with feed-specific custom ID 'https://www.thecodedmessage.com/posts/grammar/' is present in DB.
time="    30.633" type="debug" -> database: Checking if message with feed-specific custom ID 'https://www.thecodedmessage.com/posts/trivia-rust-types/' is present in DB.
time="    30.635" type="debug" -> database: Checking if message with feed-specific custom ID 'https://www.thecodedmessage.com/posts/function-overloading-in-rust/' is present in DB.
time="    30.638" type="debug" -> database: Checking if message with feed-specific custom ID 'https://www.thecodedmessage.com/posts/hugo-2022/' is present in DB.
time="    30.640" type="debug" -> database: Checking if message with feed-specific custom ID 'https://www.thecodedmessage.com/posts/netflix-tech/' is present in DB.
time="    30.641" type="debug" -> database: Checking if message with feed-specific custom ID 'https://www.thecodedmessage.com/posts/2022-05-11-programming-multiparadigm/' is present in DB.
time="    30.643" type="debug" -> database: Checking if message with feed-specific custom ID 'https://www.thecodedmessage.com/posts/process-checklist/' is present in DB.
time="    30.645" type="debug" -> database: Checking if message with feed-specific custom ID 'https://www.thecodedmessage.com/posts/patience/' is present in DB.
time="    30.647" type="debug" -> database: Checking if message with feed-specific custom ID 'https://www.thecodedmessage.com/posts/mortgage2/' is present in DB.
time="    30.649" type="debug" -> database: Checking if message with feed-specific custom ID 'https://www.thecodedmessage.com/posts/programming-integers/' is present in DB.
time="    30.651" type="debug" -> database: Checking if message with feed-specific custom ID 'https://www.thecodedmessage.com/posts/hugo-2021/' is present in DB.
time="    30.654" type="debug" -> database: Checking if message with feed-specific custom ID 'https://www.thecodedmessage.com/posts/comic-beer/' is present in DB.
time="    30.656" type="debug" -> database: Checking if message with feed-specific custom ID 'https://www.thecodedmessage.com/posts/reproducibility/' is present in DB.
time="    30.658" type="debug" -> database: Checking if message with feed-specific custom ID 'https://www.thecodedmessage.com/posts/rust-map-entry/' is present in DB.
time="    30.660" type="debug" -> database: Checking if message with feed-specific custom ID 'https://www.thecodedmessage.com/posts/biking-to-philly/' is present in DB.
time="    30.662" type="debug" -> database: Checking if message with feed-specific custom ID 'https://www.thecodedmessage.com/posts/crank-em-out/' is present in DB.
time="    30.664" type="debug" -> database: Checking if message with feed-specific custom ID 'https://www.thecodedmessage.com/posts/qbasic-nostalgia/' is present in DB.
time="    30.665" type="debug" -> database: Checking if message with feed-specific custom ID 'https://www.thecodedmessage.com/posts/warnings/' is present in DB.
time="    30.667" type="debug" -> database: Checking if message with feed-specific custom ID 'https://www.thecodedmessage.com/posts/haskell-gripe/' is present in DB.
time="    30.669" type="debug" -> database: Checking if message with feed-specific custom ID 'https://www.thecodedmessage.com/posts/mortgage_interest/' is present in DB.
time="    30.671" type="debug" -> database: Checking if message with feed-specific custom ID 'https://www.thecodedmessage.com/posts/buried-lede/' is present in DB.
time="    30.673" type="debug" -> database: Checking if message with feed-specific custom ID 'https://www.thecodedmessage.com/posts/unsafe/' is present in DB.
time="    30.675" type="debug" -> database: Checking if message with feed-specific custom ID 'https://www.thecodedmessage.com/posts/async-colors/' is present in DB.
time="    30.677" type="debug" -> database: Checking if message with feed-specific custom ID 'https://www.thecodedmessage.com/posts/endian_polymorphism/' is present in DB.
time="    30.678" type="debug" -> database: Checking if message with feed-specific custom ID 'https://www.thecodedmessage.com/posts/cpp-move/' is present in DB.
time="    30.680" type="debug" -> database: Checking if message with feed-specific custom ID 'https://www.thecodedmessage.com/posts/hello-rust/' is present in DB.
time="    30.682" type="debug" -> database: Checking if message with feed-specific custom ID 'https://www.thecodedmessage.com/posts/humpty_dumpty/' is present in DB.
time="    30.684" type="debug" -> database: Checking if message with feed-specific custom ID 'https://www.thecodedmessage.com/posts/apple_silicon/' is present in DB.
time="    30.686" type="debug" -> database: Checking if message with feed-specific custom ID 'https://www.thecodedmessage.com/posts/perpetual_quarantime/' is present in DB.
time="    30.688" type="debug" -> database: Checking if message with feed-specific custom ID 'https://www.thecodedmessage.com/posts/octopedian/' is present in DB.
time="    30.690" type="debug" -> database: Checking if message with feed-specific custom ID 'https://www.thecodedmessage.com/posts/rent_pause/' is present in DB.
time="    30.692" type="debug" -> database: Checking if message with feed-specific custom ID 'https://www.thecodedmessage.com/posts/web/' is present in DB.
time="    30.694" type="debug" -> database: Checking if message with feed-specific custom ID 'https://www.thecodedmessage.com/posts/bar/' is present in DB.
time="    30.696" type="debug" -> database: Checking if message with feed-specific custom ID 'https://www.thecodedmessage.com/posts/hungarian/' is present in DB.
time="    30.698" type="debug" -> database: Checking if message with feed-specific custom ID 'https://www.thecodedmessage.com/posts/roots/' is present in DB.
time="    30.700" type="debug" -> database: Checking if message with feed-specific custom ID 'https://www.thecodedmessage.com/posts/os_tour/' is present in DB.
time="    30.702" type="debug" -> database: Checking if message with feed-specific custom ID 'https://www.thecodedmessage.com/posts/extra_version/' is present in DB.
time="    30.704" type="debug" -> database: Checking if message with feed-specific custom ID 'https://www.thecodedmessage.com/posts/father_forgive_them/' is present in DB.
time="    30.706" type="debug" -> database: Checking if message with feed-specific custom ID 'https://www.thecodedmessage.com/posts/swiss/' is present in DB.
time="    30.708" type="debug" -> database: Checking if message with feed-specific custom ID 'https://www.thecodedmessage.com/posts/apartments/' is present in DB.
time="    30.711" type="debug" -> database: Checking if message with feed-specific custom ID 'https://www.thecodedmessage.com/posts/current_os/' is present in DB.
time="    30.713" type="debug" -> database: Checking if message with feed-specific custom ID 'https://www.thecodedmessage.com/posts/music_words/' is present in DB.
time="    30.715" type="debug" -> database: Checking if message with feed-specific custom ID 'https://www.thecodedmessage.com/posts/operating_system/' is present in DB.
time="    30.716" type="debug" -> database: Checking if message with feed-specific custom ID 'https://www.thecodedmessage.com/posts/soulfully/' is present in DB.
time="    30.718" type="debug" -> database: Checking if message with feed-specific custom ID 'https://www.thecodedmessage.com/posts/major_country/' is present in DB.
time="    30.721" type="debug" -> database: Checking if message with feed-specific custom ID 'https://www.thecodedmessage.com/posts/money/' is present in DB.
time="    30.723" type="debug" -> database: Checking if message with feed-specific custom ID 'https://www.thecodedmessage.com/posts/sermon/' is present in DB.
time="    30.725" type="debug" -> database: Checking if message with feed-specific custom ID 'https://www.thecodedmessage.com/posts/function-ptrs/' is present in DB.
time="    30.727" type="debug" -> database: Checking if message with feed-specific custom ID 'https://www.thecodedmessage.com/posts/angels/' is present in DB.
time="    30.729" type="debug" -> database: Checking if message with feed-specific custom ID 'https://www.thecodedmessage.com/posts/are-you-sure/' is present in DB.
time="    30.731" type="debug" -> database: Checking if message with feed-specific custom ID 'https://www.thecodedmessage.com/posts/india2/' is present in DB.
time="    30.733" type="debug" -> database: Checking if message with feed-specific custom ID 'https://www.thecodedmessage.com/posts/india/' is present in DB.
time="    30.736" type="debug" -> database: Checking if message with feed-specific custom ID 'https://www.thecodedmessage.com/posts/india0/' is present in DB.
time="    30.739" type="debug" -> database: Checking if message with feed-specific custom ID 'https://www.thecodedmessage.com/about/' is present in DB.
time="    30.741" type="debug" -> database: Checking if message with feed-specific custom ID 'https://www.thecodedmessage.com/programming-portfolio/' is present in DB.
time="    30.743" type="debug" -> database: Checking if message with feed-specific custom ID 'https://www.thecodedmessage.com/reading-log/' is present in DB.
time="    30.745" type="debug" -> database: Checking if message with feed-specific custom ID 'https://www.thecodedmessage.com/programming-rec-reading/' is present in DB.
time="    30.746" type="debug" -> database: Checking if message with feed-specific custom ID 'https://www.thecodedmessage.com/rust-opinions/' is present in DB.
time="    30.767" type="critical" -> database: Failed bulk insert of articles: 'CHECK constraint failed: date_created >= 0 Unable to fetch rowCHECK constraint failed: date_created >= 0Unable to fetch row'.
time="    30.771" type="debug" -> database: SQLite connection 'feed_upd' is already active.
time="    30.771" type="debug" -> database: SQLite database connection 'feed_upd' to file 'C:/Users/MyUserName/AppData/Local/RSS Guard 4/database/database.db' seems to be established.
time="    30.776" type="debug" -> database: SQLite connection 'feed_upd' is already active.
time="    30.776" type="debug" -> database: SQLite database connection 'feed_upd' to file 'C:/Users/MyUserName/AppData/Local/RSS Guard 4/database/database.db' seems to be established.
time="    30.779" type="debug" -> database: SQLite connection 'feed_upd' is already active.
time="    30.780" type="debug" -> database: SQLite database connection 'feed_upd' to file 'C:/Users/MyUserName/AppData/Local/RSS Guard 4/database/database.db' seems to be established.
time="    30.782" type="debug" -> database: SQLite connection 'feed_upd' is already active.
time="    30.783" type="debug" -> database: SQLite database connection 'feed_upd' to file 'C:/Users/MyUserName/AppData/Local/RSS Guard 4/database/database.db' seems to be established.
time="    30.784" type="debug" -> feed-downloader: Updating messages in DB took 171137 microseconds.
time="    30.784" type="debug" -> feed-model: There is request to reload feed model, reloading the 5 items individually.
time="    30.784" type="debug" -> feed-downloader: std::pair(66,66) messages for feed 269 stored in DB.
time="    30.785" type="debug" -> core: Filter accepts row 'Recycle bin' and filter result is: 'true'.
time="    30.785" type="debug" -> feed-downloader: Made progress in feed updates, total feeds count 1/1 (id of feed is 269).
time="    30.785" type="debug" -> feed-downloader: Finished feed updates in thread: '0x3988'.

Operating system and version

All the info from the about popup: Version: 4.2.4 (built on Windows/AMD64) Revision: 1f6d7c0b Build date: 05/09/2022 11:59 Qt: 6.3.1 (compiled against 6.3.1)

martinrotter commented 2 years ago

The feed is faulty because it contains wrong date/time for some entries:

<updated>0001-01-01T00:00:00+00:00</updated>

Anyway. I added extra check to my code and that fixes the problem.