ViennaRSS / vienna-rss

Vienna is a free and open-source RSS/Atom newsreader for macOS.
https://www.vienna-rss.com
Apache License 2.0
1.85k stars 227 forks source link

Deleted articles reappearing after feed refresh #1834

Closed josh64x2 closed 3 weeks ago

josh64x2 commented 1 month ago

originally posted by @cseppan

Describe the bug Articles that have been deleted reappear in the feed's article list (still marked as read) when the feed is refreshed. The deleted but reappeared article shows up in both the feed and in the Trash. After quitting and restarting Vienna, the deleted articles no longer show up in the feed list.

To Reproduce Relevant settings: Mark current article read: After a short delay Move articles to Trash: Manually Erase deleted articles: When Vienna quits

1) From a feed's article list, hit Delete to delete the article and move it to the Trash. As expected, the article is now gone from the article list. 2) Refresh the feed. The previously deleted articles show up as read in the article listing again.

Screenshots Just read the article, about to hit Delete

Screenshot 2024-10-14 at 5 32 43 PM

Immediately after hitting Delete, article is gone as expected

Screenshot 2024-10-14 at 5 32 48 PM

Refreshed the feed with Command-Shift-R and the deleted article is back

Screenshot 2024-10-14 at 5 32 56 PM

Please complete the following information:

Additional information: This issue is new in v3.9.3.

TAKeanice commented 1 month ago

The articles also reappear when a different folder gets selected and then switching back to the first one. I checked with the trash folder, but it reliably shows the deleted article even after it reappeared in its original folder, so it is no problem with the deleted status of the article. I suspect there has been a change in the article list loading from the database, which lacks a filter for deleted folders now.

TAKeanice commented 1 month ago

cb9e3b5 seems to be the commit that introduced the fault. The commit message says "Keep in cache articles which are marked as deleted" and took care of that by removing a line in Database.m that explicitly removed an article from its folder cache when it got marked as deleted (i.e. "moved to trash"). Judging by the message, the lack of deletion from the cache should be compensated for in some other place of the code, but the regular loading of articles for displaying folder content (ArticleController.m#reloadArrayOfArticles or Folder.m#articlesWithFilter:(NSString*)) was apparently not accounted for.

akmail commented 3 weeks ago

just wondering? when is the bugfix to be expected in a release? is there a fixed release cycle or how does it work? I've been waiting for the fix since one week...

TAKeanice commented 3 weeks ago

There is a PR which fixes the problem that has to be reviewed by my fellow maintainers before it can enter the main branch which the releases are built from. I have never been involved in the release process though, but I don't think we have a regular cycle, we just release whenever there's something worthy of a release.

TAKeanice commented 3 weeks ago

when is the bugfix to be expected in a release?

https://github.com/ViennaRSS/vienna-rss/releases/tag/v/3.9.4

asanares commented 3 weeks ago

Great! Vienna works again as expected.

akmail commented 3 weeks ago

confirming. works perfectly now. thanks for fixing!