raven-reader
raven-reader copied to clipboard
[PARTLY SOLVED] "Refresh all" button doesn't work - content not displayed if there's a NULL title in the fetched items
Describe the bug The "refresh all feeds" button in the drop-down menu above the list of articles doesn't refresh the feeds. When clicked the blue progress bar appears, the bar at the bottom displays the word "Syncing..." but afterwards nothing happens. Automated fetching does not work either, no new articles are fetched. The appearance is that the app does not function.
To Reproduce Steps to reproduce the behavior:
- Click "Refresh all feeds" in the drop-down menu above article list
- New articles don't appear despite progress bar filling and the "Syncing..." prompt appearing.
Expected behavior New articles from all subscribed feeds are displayed in the article list, both periodically and when the "refresh all feeds" button is clicked.
Desktop (please complete the following information):
- OS: Windows 10
- Version: All newest updates.
Additional context This bug is rather inconsistent, for example 03.09.2022 the app worked fine the entire day, but the next day the bug appeared. Overall most of the time the bug is there, it's only from time to time that the app works as intended, but when it does it keeps up the whole day. When the bug is present, when I click "refresh feed" for an individual subscription it does fetch articles (albeit not automatically later) it's only the "refresh all" that is faulty. I have looked up Windows Resource Manager and Raven Reader does initiate web traffic when asked to refresh all, both sending and receiving data, despite no change being seen in the app, so it's probably not a problem with my Internet connection. I use the newest version (1.0.74) installed with the installer found on the app's website. The logs (found in AppData folder) don't show anyting suspicious. The renderer.log contains the following messages repeated both the day Raven fetches correctly and when it doesn't:
[2022-09-04 12:30:02.003] [info] Processing 44 feeds
[2022-09-04 12:30:10.941] [info] Refreshing feeds
[2022-09-04 12:35:01.003] [info] Deleting read articles
They, however, appear at fairly irreglar intervals in the log, about every 1-3 minutes, despite refresh rate being set for 10 minutes in the app. Sometimes the cycle appears several times within a minute. The main.log file shows repeated checks for update and language changes, despite me not changing the app language:
[2022-09-04 12:19:09.817] [info] Checking for update
[2022-09-04 12:19:09.821] [info] Checking for update...
[2022-09-04 12:19:09.942] [info] Language changed
[2022-09-04 12:19:09.945] [info] Language changed
[2022-09-04 12:19:11.556] [info] Update for version 1.0.74 is not available (latest version: 1.0.74, downgrade is disallowed).
[2022-09-04 12:19:11.557] [info] Update not available.
[2022-09-04 12:39:06.085] [info] Checking for update
[2022-09-04 12:39:06.106] [info] Checking for update...
[2022-09-04 12:39:06.188] [info] Language changed
[2022-09-04 12:39:06.193] [info] Language changed
[2022-09-04 12:39:08.081] [info] Update for version 1.0.74 is not available (latest version: 1.0.74, downgrade is disallowed).
[2022-09-04 12:39:08.083] [info] Update not available.
I'm attaching logs from two days to this issue. main.log renderer.old.log renderer.log
I have installed Raven Reader on PopOS (an Ubuntu-based Linux distribution) and observed identical behaviour as described above in Windows 10.
Hello, I found the reason of this problem. I need to preface this post with saying, that I am NOT a developer, but since I like Raven Reader very much I decided to try to build it from source to see if it will make a difference. I have fairly mindlessly copied the commands needed to install vue and yarn and managed to open Raven Reader with a console to look-up all the app's activity.
I have imported .opml with my subscriptions and pressed the "Refresh all" button. The console returned a list of all the fetched content and at the very end an error message. The message led to a website and this website had the solution spelled out:
Constraint error: (202) Attempted to insert NULL value to non-nullable field articles.title.
It appears that the title of a fetched article must not be NULL in the app. If ANY SINGLE item in the fetched list has no title the entire process halts. The app does not display ANY content, as the process dies at this single null-title in a single feed. I went to search for the culprit feed by clicking "refresh feed" separately on the feeds one by one. The feed, which threw the same error (and also did not show its content in the app window) was at fault. After unsubscribing the "Refresh All" button agains works as intended, both in the development window and in my installed 1.0.74 app on Windows.
I suggest to allow NULL values in the fields of the "articles" database, this will eliminate the problem universally. If non-nullable is important for correct operation maybe it's possible to implement a replacer, which will insert some generic text ("Title missing") when a fetched element doesn't have title. As I mentioned I'm not a dev, so I won't try to offer particular code modifications, just a suggestion of functionality.