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.57k stars 124 forks source link

[BUG]: Read messages is shown when they should not be shown #734

Closed amreo closed 2 years ago

amreo commented 2 years ago

Brief description of the issue

The read messages(articles) are shown when show_only_unread_messages is true. The relative menu checkbox is hidden nor i do not find it.

How to reproduce the bug?

  1. Clear configuration
  2. Edit .var/app/com.github.rssguard/config/config.ini (flatpak) and set [messages] show_only_unread_messages to true.
  3. Add any RSS feed from web and fetch.
  4. Read any message by clicking them
  5. Force refresh of the list by closing and reopening RSS guard
  6. The read message is still shown.

What was the expected result?

I see only unread items.

What actually happened?

I see read items.

Debug log

[amreo@amreo-manjaro-pc ~]$ /usr/bin/flatpak run --branch=stable --arch=x86_64 --command=rssguard com.github.rssguard
Gtk-Message: 14:39:40.396: Failed to load module "xapp-gtk3-module"
Gtk-Message: 14:39:40.396: Failed to load module "xapp-gtk3-module"
Gtk-Message: 14:39:40.396: Failed to load module "canberra-gtk-module"
Gtk-Message: 14:39:40.396: Failed to load module "canberra-gtk-module"
time="     0.182" type="warning" -> Qt: Session management error: Authentication Rejected, reason : None of the authentication protocols specified are supported and host-based authentication failed
time="     0.182" type="debug" -> core: Initializing settings in '/home/amreo/.var/app/com.github.rssguard/config/RSS Guard 4/config/config.ini' (non-portable way).
[2:20:0516/143940.606769:ERROR:address_tracker_linux.cc(214)] Could not bind NETLINK socket: Indirizzo già in uso (98)
time="     0.290" type="debug" -> database: File-based SQLite database connection 'DatabaseFactory' to file '/home/amreo/.var/app/com.github.rssguard/config/RSS Guard 4/database/database.db' seems to be established.
time="     0.290" type="debug" -> database: File-based SQLite database has version '2'.
time="     0.290" type="debug" -> gui: Available icon theme paths: (/app/share/icons, /usr/share/icons, /usr/share/runtime/share/icons, /run/host/user-share/icons, /run/host/share/icons, :/icons, :/graphics, /home/amreo/.var/app/com.github.rssguard/config/RSS Guard 4/icons, /app/bin/icons)
time="     0.292" type="debug" -> gui: Installed icon themes are: '', 'Breeze_Snow', 'breeze', 'breeze-dark', 'breeze_cursors', 'hicolor', 'default', 'xcursor-breeze', 'xcursor-breeze-snow', 'ePapirus', 'ePapirus-Dark', 'Papirus', 'Papirus-Light', 'Papirus-Dark', 'Adwaita', 'HighContrast', 'gnome', 'Simple-and-Soft', 'Vanilla-DMZ-AA', 'Papirus-Maia', 'Papirus-Light-Maia', 'Papirus-Dark-Maia', 'Papirus-Adapta-Maia', 'Papirus-Adapta-Nokto-Maia'
time="     0.292" type="debug" -> gui: Loading default system icon theme.
time="     0.292" type="debug" -> gui: Found path of base skin: ':/skins/nudus-base'.
time="     0.292" type="debug" -> gui: Trying to load base file ':/skins/nudus-base/html_wrapper.html' for the skin.
time="     0.292" type="debug" -> gui: Local file ':/skins/nudus-light/html_style.css' exists, using it for the skin.
time="     0.292" type="debug" -> gui: Trying to load base file ':/skins/nudus-base/html_enclosure_image.html' for the skin.
time="     0.292" type="debug" -> gui: Trying to load base file ':/skins/nudus-base/html_single_message.html' for the skin.
time="     0.292" type="debug" -> gui: Trying to load base file ':/skins/nudus-base/html_enclosure_every.html' for the skin.
time="     0.292" type="debug" -> gui: Local file ':/skins/nudus-light/qt_style.qss' exists, using it for the skin.
time="     0.292" type="debug" -> gui: Trying to load base file ':/skins/nudus-base/html_adblocked.html' for the skin.
time="     0.292" type="debug" -> gui: Setting style: 'Fusion'.
time="     0.292" type="debug" -> gui: Skin 'nudus-light' loaded.
time="     0.293" type="debug" -> network: Persistent web data storage path: '/home/amreo/.var/app/com.github.rssguard/config/RSS Guard 4/web/storage'.
time="     0.293" type="debug" -> network: Disabling application-wide proxy completely.
time="     0.294" type="debug" -> core: OpenSSL version: 'OpenSSL 1.1.1n  15 Mar 2022'.
time="     0.294" type="debug" -> core: OpenSSL supported: 'true'.
time="     0.294" type="debug" -> core: Starting RSS Guard 4.2.2.
time="     0.294" type="debug" -> core: Instantiated class  'Application'.
time="     0.294" type="debug" -> core: Starting to load active localization. Desired localization is 'it_IT'.
time="     0.295" type="debug" -> core: Application localization 'it_IT' loaded successfully, specifically sublocalization 'it' was loaded.
time="     0.296" type="debug" -> core: Qt localization 'it' loaded successfully.
time="     0.298" type="debug" -> database: SQLite database connection 'MessagesModel' to file '/home/amreo/.var/app/com.github.rssguard/config/RSS Guard 4/database/database.db' seems to be established.
time="     0.299" 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, CASE WHEN length(Messages.enclosures) > 10 THEN 'true' ELSE 'false' END AS has_enclosures FROM Messages LEFT JOIN Feeds ON Messages.feed = Feeds.custom_id AND Messages.account_id = Feeds.account_id WHERE 0 > 1;'.
time="     0.299" type="debug" -> core: Auto-download timer started with interval 60000 ms.
time="     0.299" type="debug" -> core: Creating FeedDownloader singleton.
time="     0.300" type="debug" -> gui: Creating main application form in thread: '0x7fc3d7114900'.
time="     0.310" type="debug" -> gui: Current row changed - proxy 'QModelIndex(-1,-1,0x0,QObject(0x0))', source 'QModelIndex(-1,-1,0x0,QObject(0x0))'.
time="     0.313" type="debug" -> network: Settings of BaseNetworkAccessManager loaded.
time="     0.362" type="debug" -> gui: Creating tray icon menu.
time="     0.365" type="debug" -> core: Showing the main window when the application is starting.
time="     0.380" type="debug" -> database: SQLite database connection 'FeedReader' to file '/home/amreo/.var/app/com.github.rssguard/config/RSS Guard 4/database/database.db' seems to be established.
time="     0.380" type="debug" -> database: SQLite database connection 'FeedlyEntryPoint' to file '/home/amreo/.var/app/com.github.rssguard/config/RSS Guard 4/database/database.db' seems to be established.
time="     0.380" type="debug" -> database: SQLite database connection 'GmailEntryPoint' to file '/home/amreo/.var/app/com.github.rssguard/config/RSS Guard 4/database/database.db' seems to be established.
time="     0.381" type="debug" -> database: SQLite database connection 'GreaderEntryPoint' to file '/home/amreo/.var/app/com.github.rssguard/config/RSS Guard 4/database/database.db' seems to be established.
time="     0.382" type="debug" -> database: SQLite database connection 'OwnCloudServiceEntryPoint' to file '/home/amreo/.var/app/com.github.rssguard/config/RSS Guard 4/database/database.db' seems to be established.
time="     0.382" type="debug" -> database: SQLite database connection 'StandardServiceEntryPoint' to file '/home/amreo/.var/app/com.github.rssguard/config/RSS Guard 4/database/database.db' seems to be established.
time="     0.382" type="debug" -> core: Filter accepts row 'amreo (RSS/ATOM/JSON)' and filter result is: 'true'.
time="     0.382" type="debug" -> database: SQLite database connection 'StandardServiceRoot' to file '/home/amreo/.var/app/com.github.rssguard/config/RSS Guard 4/database/database.db' seems to be established.
time="     0.383" type="debug" -> core: Custom ID of feed when loading from DB is '1'.
time="     0.383" type="debug" -> core: Custom ID of feed when loading from DB is '2'.
time="     0.384" type="debug" -> core: Custom ID of feed when loading from DB is '3'.
time="     0.385" type="debug" -> core: Custom ID of feed when loading from DB is '4'.
time="     0.385" type="debug" -> core: Custom ID of feed when loading from DB is '5'.
time="     0.386" type="debug" -> core: Custom ID of feed when loading from DB is '6'.
time="     0.386" type="debug" -> core: Custom ID of feed when loading from DB is '7'.
time="     0.386" type="debug" -> core: Custom ID of feed when loading from DB is '8'.
time="     0.387" type="debug" -> database: SQLite database connection 'RecycleBin' to file '/home/amreo/.var/app/com.github.rssguard/config/RSS Guard 4/database/database.db' seems to be established.
time="     0.388" type="debug" -> database: SQLite database connection 'ImportantNode' to file '/home/amreo/.var/app/com.github.rssguard/config/RSS Guard 4/database/database.db' seems to be established.
time="     0.388" type="debug" -> database: SQLite database connection 'RootItem' to file '/home/amreo/.var/app/com.github.rssguard/config/RSS Guard 4/database/database.db' seems to be established.
time="     0.388" type="debug" -> database: SQLite connection 'StandardServiceRoot' is already active.
time="     0.388" type="debug" -> database: SQLite database connection 'StandardServiceRoot' to file '/home/amreo/.var/app/com.github.rssguard/config/RSS Guard 4/database/database.db' seems to be established.
time="     0.389" type="debug" -> database: SQLite database connection 'TtRssServiceEntryPoint' to file '/home/amreo/.var/app/com.github.rssguard/config/RSS Guard 4/database/database.db' seems to be established.
time="     0.389" type="debug" -> gui: User wants to have tray icon.
time="     0.389" type="warning" -> gui: Showing tray icon with 3000 ms delay.
time="     0.389" type="debug" -> gui: Feed list item expanded - amreo (RSS/ATOM/JSON)
time="     0.389" type="debug" -> core: Filter accepts row 'Cestino' and filter result is: 'true'.
time="     0.389" type="debug" -> core: Filter accepts row 'Important articles' and filter result is: 'true'.
time="     0.389" type="debug" -> core: Filter accepts row 'Unread articles' and filter result is: 'true'.
time="     0.389" type="debug" -> core: Filter accepts row 'Etichette' and filter result is: 'true'.
time="     0.389" type="debug" -> core: Filter accepts row 'RSS Guard' and filter result is: 'true'.
time="     0.389" type="debug" -> core: Filter accepts row 'Technology' and filter result is: 'true'.
time="     0.389" type="debug" -> core: Filter accepts row 'Misc' and filter result is: 'true'.
time="     0.390" type="debug" -> gui: Feed list item expanded - Etichette
time="     0.390" type="debug" -> gui: Feed list item expanded - RSS Guard
time="     0.390" type="debug" -> gui: Feed list item expanded - Technology
time="     0.390" type="debug" -> gui: Feed list item expanded - Misc
time="     0.390" type="debug" -> core: No execution message received from other app instances.
time="     0.506" type="debug" -> core: Filter accepts row 'amreo (RSS/ATOM/JSON)' and filter result is: 'true'.
time="     0.506" type="debug" -> core: Filter accepts row 'Misc' and filter result is: 'true'.
time="     0.506" type="debug" -> core: Filter accepts row 'RSS Guard' and filter result is: 'true'.
time="     0.506" type="debug" -> core: Filter accepts row 'Technology' and filter result is: 'true'.
time="     0.506" type="debug" -> core: Filter accepts row 'Etichette' and filter result is: 'true'.
time="     0.506" type="debug" -> core: Filter accepts row 'Important articles' and filter result is: 'true'.
time="     0.506" type="debug" -> core: Filter accepts row 'Unread articles' and filter result is: 'true'.
time="     0.506" type="debug" -> core: Filter accepts row 'Cestino' and filter result is: 'true'.
time="     0.509" type="debug" -> core: Filter accepts row 'Lifehacker' and filter result is: 'true'.
time="     0.509" type="debug" -> core: Filter accepts row 'Recent Commits to rssguard:master' and filter result is: 'true'.
time="     0.509" type="debug" -> core: Filter accepts row 'NYT > Technology' and filter result is: 'true'.
time="     0.509" type="debug" -> core: Filter accepts row 'Scott Hanselman's Blog' and filter result is: 'true'.
time="     0.509" type="debug" -> core: Filter accepts row 'Slashdot' and filter result is: 'true'.
time="     0.509" type="debug" -> core: Filter accepts row 'The Verge' and filter result is: 'true'.
time="     0.509" type="debug" -> core: Filter accepts row 'nixCraft: Linux Tips' and filter result is: 'true'.
time="     0.510" type="debug" -> core: Filter accepts row 'It's FOSS' and filter result is: 'true'.
time="     0.961" type="debug" -> gui: Hovered link: 'QUrl()'.
time="     1.293" type="debug" -> network: Settings of BaseNetworkAccessManager loaded.
time="     1.902" type="debug" -> network: Destroying Downloader instance.
time="     1.902" type="debug" -> network: Destroying SilentNetworkAccessManager instance.
time="     2.822" type="debug" -> CTRL is NOT pressed while sorting articles - sorting with standard mode.
time="     2.822" type="debug" -> Displaying messages from feeds IDs: ''1'' and URLs: 'https://lifehacker.com/rss'.
time="     2.823" 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, CASE WHEN length(Messages.enclosures) > 10 THEN 'true' ELSE 'false' END AS has_enclosures FROM Messages LEFT JOIN Feeds ON Messages.feed = Feeds.custom_id AND Messages.account_id = Feeds.account_id WHERE Feeds.custom_id IN ('1') AND Messages.is_deleted = 0 AND Messages.is_pdeleted = 0 AND Messages.account_id = 1 ORDER BY Messages.id DESC;'.
time="     2.827" type="debug" -> core: Filter accepts row 'amreo (RSS/ATOM/JSON)' and filter result is: 'true'.
time="     2.827" type="debug" -> core: Filter accepts row 'Misc' and filter result is: 'true'.
time="     2.827" type="debug" -> core: Filter accepts row 'RSS Guard' and filter result is: 'true'.
time="     2.827" type="debug" -> core: Filter accepts row 'Technology' and filter result is: 'true'.
time="     2.827" type="debug" -> core: Filter accepts row 'Etichette' and filter result is: 'true'.
time="     2.827" type="debug" -> core: Filter accepts row 'Important articles' and filter result is: 'true'.
time="     2.827" type="debug" -> core: Filter accepts row 'Unread articles' and filter result is: 'true'.
time="     2.827" type="debug" -> core: Filter accepts row 'Cestino' and filter result is: 'true'.
time="     2.827" type="debug" -> core: Filter accepts row 'Lifehacker' and filter result is: 'true'.
time="     2.827" type="debug" -> core: Filter accepts row 'Recent Commits to rssguard:master' and filter result is: 'true'.
time="     2.827" type="debug" -> core: Filter accepts row 'It's FOSS' and filter result is: 'true'.
time="     2.827" type="debug" -> core: Filter accepts row 'nixCraft: Linux Tips' and filter result is: 'true'.
time="     2.827" type="debug" -> core: Filter accepts row 'NYT > Technology' and filter result is: 'true'.
time="     2.827" type="debug" -> core: Filter accepts row 'Scott Hanselman's Blog' and filter result is: 'true'.
time="     2.827" type="debug" -> core: Filter accepts row 'Slashdot' and filter result is: 'true'.
time="     2.827" type="debug" -> core: Filter accepts row 'The Verge' and filter result is: 'true'.
time="     2.847" type="debug" -> gui: Hovered link: 'QUrl()'.
time="     3.349" type="warning" -> gui: Tray icon is available, showing now.
time="     3.359" type="debug" -> gui: Creating SystemTrayIcon instance.
time="     3.374" type="debug" -> gui: Showing tray icon immediately.
time="     3.384" type="debug" -> gui: Tray icon displayed.
time="     3.621" type="debug" -> CTRL is NOT pressed while sorting articles - sorting with standard mode.
time="     3.621" type="debug" -> Displaying messages from feeds IDs: ''1'' and URLs: 'https://lifehacker.com/rss'.
time="     3.623" 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, CASE WHEN length(Messages.enclosures) > 10 THEN 'true' ELSE 'false' END AS has_enclosures FROM Messages LEFT JOIN Feeds ON Messages.feed = Feeds.custom_id AND Messages.account_id = Feeds.account_id WHERE Feeds.custom_id IN ('1') AND Messages.is_deleted = 0 AND Messages.is_pdeleted = 0 AND Messages.account_id = 1 ORDER BY Messages.id DESC;'.
time="     3.624" type="debug" -> core: Filter accepts row 'amreo (RSS/ATOM/JSON)' and filter result is: 'true'.
time="     3.624" type="debug" -> core: Filter accepts row 'Misc' and filter result is: 'true'.
time="     3.624" type="debug" -> core: Filter accepts row 'RSS Guard' and filter result is: 'true'.
time="     3.624" type="debug" -> core: Filter accepts row 'Technology' and filter result is: 'true'.
time="     3.624" type="debug" -> core: Filter accepts row 'Etichette' and filter result is: 'true'.
time="     3.624" type="debug" -> core: Filter accepts row 'Important articles' and filter result is: 'true'.
time="     3.624" type="debug" -> core: Filter accepts row 'Unread articles' and filter result is: 'true'.
time="     3.624" type="debug" -> core: Filter accepts row 'Cestino' and filter result is: 'true'.
time="     3.624" type="debug" -> core: Filter accepts row 'Lifehacker' and filter result is: 'true'.
time="     3.624" type="debug" -> core: Filter accepts row 'Recent Commits to rssguard:master' and filter result is: 'true'.
time="     3.624" type="debug" -> core: Filter accepts row 'It's FOSS' and filter result is: 'true'.
time="     3.624" type="debug" -> core: Filter accepts row 'nixCraft: Linux Tips' and filter result is: 'true'.
time="     3.624" type="debug" -> core: Filter accepts row 'NYT > Technology' and filter result is: 'true'.
time="     3.624" type="debug" -> core: Filter accepts row 'Scott Hanselman's Blog' and filter result is: 'true'.
time="     3.624" type="debug" -> core: Filter accepts row 'Slashdot' and filter result is: 'true'.
time="     3.624" type="debug" -> core: Filter accepts row 'The Verge' and filter result is: 'true'.
time="     3.665" type="debug" -> gui: Hovered link: 'QUrl()'.
time="     5.537" type="debug" -> gui: Message list got focus with reason 'Qt::MouseFocusReason'.
time="     5.538" type="debug" -> gui: Current row changed - proxy 'QModelIndex(24,6,0x5586ba60d620,MessagesProxyModel(0x5586ba61fcd0, name = MessagesProxyModel))', source 'QModelIndex(24,6,0x0,MessagesModel(0x5586ba603e10))'.
time="     5.685" type="debug" -> gui: Hovered link: 'QUrl()'.
time="     8.692" type="debug" -> gui: Main window's close event
time="     8.693" type="debug" -> gui: Main window's hide event
^C
[amreo@amreo-manjaro-pc ~]$ 

Operating system and version

martinrotter commented 2 years ago

This switch was removed, use newer feature with more power: https://github.com/martinrotter/rssguard/pull/678