mirror of
https://github.com/serrebidev/BlindRSS.git
synced 2026-08-13 10:59:27 -07:00
Implement global read/unread filter across all category views #34
Labels
No labels
bug
documentation
duplicate
enhancement
good first issue
help wanted
invalid
question
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
serrebi/BlindRSS#34
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Currently, BlindRSS offers limited flexibility when filtering articles by read status within categorized views. While global views exist for “All Articles”, “Unread Articles”, and “Read Articles”, category-specific views (user-defined categories, Uncategorized) always display all articles from their contained feeds, regardless of read status. The only per-feed filtering option is a context-menu action “Show Only Unread” on an individual feed.
This design makes it difficult to quickly assess unread or read content within a specific category hierarchy. With many categories and feeds, seeing all unread items “dumped” into a single global list (without category context) is inconvenient and reduces the usefulness of the categorization system.
Current behavior:
All Articles: shows all articles from all feeds.Unread Articles: shows all unread articles from all feeds (no category structure).Read Articles: shows all read articles from all feeds (no category structure).Uncategorized: show all articles from their respective feeds (ignoring read/unread status).Expected behavior:
Provide a global filter control (All / Unread / Read) that applies to all category views, preserving the category tree structure. This allows users to see, for example, “only unread articles” organized by their existing categories, or “only read articles” per category.
Proposed Design Changes
1. Simplify Top-Level Category List
Reduce the top-level navigation items to:
Remove dedicated top-level entries for “Unread Articles” and “Read Articles” as separate structural nodes; their functionality will be covered by the global filter.
2. Add Global Filter Control
Introduce a prominent filter control (e.g., radio buttons or a dropdown) with options:
This filter should be visible in the main feed/article view and persist across navigation within the category tree.
3. Filtered Category Tree Behavior
4. Sync and Update Strategy
To avoid confusing UI behavior when articles are marked read/unread:
Acceptance Criteria
Technical Considerations
read_statusandcategory_id.Implemented in v1.78.0, following your proposed design:
View → Article Filteris a radio group with All Articles / Unread Only / Read Only. It applies to every view — categories (with full nesting), individual channels, Favorites, and Uncategorized — and persists across navigation and restarts (restored together with the remembered last view).One deliberate deviation: the control lives in the View menu as radio items rather than as an on-screen widget — consistent with where "Show Only Unread" landed for #40, and keyboard/screen-reader friendly. Happy to revisit if you'd prefer a visible toolbar control.
Thanks for the thorough design writeup!