Skip to content

[BUG]: Filtering or sorting the articles list can mark the selected unread article as read. (B15 of #2335) #2347

Closed

Description

@DawEdhel

Brief description of the issue

The first list entry appears to behave differently.

How to reproduce the bug?

  1. Select any unread article via right-clicking, except the first one.
  2. Use either the filter to search (phrase MUST contain anything from the selected article)/clear, or any column to sort.

What was the expected result?

Selected unread article stays unread.

What actually happened?

Selected unread article becomes read.

Debug log


time="  4051.696" type="debug" -> gui: Running search of messages with pattern 'test'.
time="  4051.736" type="debug" -> gui: Current row changed - proxy 'QModelIndex(3,6,0x2360aa7f2c0,MessagesProxyModel(0x236531620e0, name = MessagesProxyModel))' and source 'QModelIndex(3,6,0x0,MessagesModel(0x23652f50820))'.

time=" 4051.736" type="debug" -> gui: Marking article as read immediately.

time=" 4051.736" type="debug" -> database: Executed query: PRAGMA foreign_keys=ON; time=" 4051.736" type="debug" -> database: Executed query: PRAGMA encoding = 'UTF-8'; time=" 4051.736" type="debug" -> database: Executed query: PRAGMA page_size = 32768; time=" 4051.736" type="debug" -> database: Executed query: PRAGMA cache_size = 32768; time=" 4051.736" type="debug" -> database: Executed query: PRAGMA mmap_size = 100000000; time=" 4051.736" type="debug" -> database: Executed query: PRAGMA synchronous = OFF; time=" 4051.736" type="debug" -> database: Executed query: PRAGMA temp_store = MEMORY; time=" 4051.736" type="debug" -> database: Executed query: PRAGMA journal_mode = WAL; time=" 4051.736" type="debug" -> database: Executed query: PRAGMA busy_timeout = 5000;

time=" 4051.736" type="debug" -> database: DB write job in thread 13952. time=" 4051.736" type="debug" -> database: Executed query: UPDATE Messages SET is_read = :read WHERE id IN (190941); time=" 4051.736" type="debug" -> database: DB read job (with return) in thread 15380.

time=" 4051.737" type="debug" -> database: Executed query: PRAGMA foreign_keys=ON; time=" 4051.737" type="debug" -> database: Executed query: PRAGMA encoding = 'UTF-8'; time=" 4051.737" type="debug" -> database: Executed query: PRAGMA page_size = 32768; time=" 4051.737" type="debug" -> database: Executed query: PRAGMA cache_size = 32768; time=" 4051.737" type="debug" -> database: Executed query: PRAGMA mmap_size = 100000000; time=" 4051.737" type="debug" -> database: Executed query: PRAGMA synchronous = OFF; time=" 4051.737" type="debug" -> database: Executed query: PRAGMA temp_store = MEMORY; time=" 4051.737" type="debug" -> database: Executed query: PRAGMA journal_mode = WAL; time=" 4051.737" type="debug" -> database: Executed query: PRAGMA busy_timeout = 5000; time=" 4051.740" type="debug" -> database: Executed query: SELECT feed, COUNT(*), SUM(NOT is_read) FROM Messages WHERE Messages.feed = 612 AND Messages.is_deleted = 0 AND Messages.is_pdeleted = 0 ; time=" 4051.740" type="debug" -> database: DB read job (with return) in thread 15380. time=" 4051.740" type="debug" -> database: Executed query: PRAGMA foreign_keys=ON; time=" 4051.740" type="debug" -> database: Executed query: PRAGMA encoding = 'UTF-8'; time=" 4051.740" type="debug" -> database: Executed query: PRAGMA page_size = 32768; time=" 4051.740" type="debug" -> database: Executed query: PRAGMA cache_size = 32768; time=" 4051.740" type="debug" -> database: Executed query: PRAGMA mmap_size = 100000000; time=" 4051.740" type="debug" -> database: Executed query: PRAGMA synchronous = OFF; time=" 4051.740" type="debug" -> database: Executed query: PRAGMA temp_store = MEMORY; time=" 4051.740" type="debug" -> database: Executed query: PRAGMA journal_mode = WAL; time=" 4051.741" type="debug" -> database: Executed query: PRAGMA busy_timeout = 5000; time=" 4051.768" type="debug" -> database: Executed query: SELECT feed, COUNT(*), SUM(NOT is_read) FROM Messages WHERE Messages.account_id = 1 AND Messages.is_deleted = 0 AND Messages.is_pdeleted = 0 AND Messages.is_read = 0 ; time=" 4051.768" type="debug" -> database: DB read job (with return) in thread 15380. time=" 4051.768" type="debug" -> database: Executed query: PRAGMA foreign_keys=ON; time=" 4051.768" type="debug" -> database: Executed query: PRAGMA encoding = 'UTF-8'; time=" 4051.768" type="debug" -> database: Executed query: PRAGMA page_size = 32768; time=" 4051.768" type="debug" -> database: Executed query: PRAGMA cache_size = 32768; time=" 4051.768" type="debug" -> database: Executed query: PRAGMA mmap_size = 100000000; time=" 4051.768" type="debug" -> database: Executed query: PRAGMA synchronous = OFF; time=" 4051.768" type="debug" -> database: Executed query: PRAGMA temp_store = MEMORY; time=" 4051.768" type="debug" -> database: Executed query: PRAGMA journal_mode = WAL; time=" 4051.768" type="debug" -> database: Executed query: PRAGMA busy_timeout = 5000; time=" 4051.768" type="debug" -> database: Executed query: SELECT feed, COUNT(*), SUM(NOT is_read) FROM Messages WHERE Messages.account_id = 1 AND Messages.is_deleted = 1 AND Messages.is_pdeleted = 0 ; time=" 4051.768" type="debug" -> feed-model: There is request to reload feed model, reloading the 3 items individually. time=" 4051.773" type="debug" -> message-model: Setting additional ID of article to be excluded from filtering or reselected after model reset to '190941'. time=" 4051.795" type="debug" -> gui: Article list header geometries changed. time=" 4052.288" type="debug" -> core: Delaying scheduled feed auto-download for some time since window is focused and updates while focused are disabled by the user (or paused) and all account caches are empty.

Crash dump

RSS Guard did not crash.

Operating system and version

RSS Guard

Version: 5.2.1 (built on Windows/AMD64)
Revision: stable
Variant: web
OS: Windows 11 Version 25H2
Qt: 6.10.3 (compiled against 6.10.3)

Activity

  1. added this to the 5.2.3 milestone on Jul 7, 2026
  2. martinrotter commented on Jul 7, 2026

    @martinrotter
    Owner

    OK, this is very tricky. I think I fixed it. Can you please thoroughly test via latest devbuild?

  3. DawEdhel commented on Jul 7, 2026

    @DawEdhel
    Author

    Works very well as expected on rssguard-dev-7f8c62f5a-web-qt6-win10.

  4. added a commit that references this issue on Aug 21, 2026
    08654ae
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Projects

No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions