Files
rsspipe/docs/003_backlog.md
T

4.2 KiB

RSSPipe Backlog Specification (003_backlog.md)

This document records planned features, UX enhancements, and architectural extensions identified during initial testing and validation.


1. Search Box Auto-Complete & Real-Time Suggestions

  • Goal: Enable rich auto-complete and search suggestion dropdown as the user types in the global search bar.
  • Scope:
    • Auto-suggest matches across article titles, feed names, author tags, and category labels.
    • Keyboard navigation within search dropdown (ArrowDown, ArrowUp, Enter to jump directly to article or feed).
    • Search history / recent queries quick access.

2. Password Management in User Settings

  • Goal: Allow the single-user administrator to update their login credentials directly from Settings > Account & System.
  • Scope:
    • Backend API: PUT /api/auth/password verifying old_password and updating bcrypt hash for new_password.
    • Frontend Modal/Card with confirmation field and clear validation indicators.

3. Comprehensive Keyboard Shortcuts Test Suite

  • Goal: Automated end-to-end and unit testing for all single-key power-user navigation bindings.
  • Scope:
    • j / k: Next / previous article navigation.
    • s: Toggle star.
    • m: Toggle read status.
    • e: Archive / mark read and advance.
    • v: Open original URL in new browser tab.
    • [: Toggle sidebar collapse/expand.
    • r: Trigger feed refresh.
    • a: Open Add Feed modal.
    • 1, 2, 3: Switch views (3-Split, Waterfall, Settings).
    • ?: Open keyboard shortcuts cheatsheet modal.
    • Shift + A: Mark all as read with confirmation.
    • Ensure shortcuts are strictly inhibited when focus is inside text inputs, textareas, or modal forms.

4. Header Brand & Sidebar Toggle Alignment Consistency

  • Goal: Standardize the top header layout across all view modes (3-Split, Waterfall, and Settings).
  • Scope:
    • In 3-Split view, ensure the RSSPipe logo and brand name occupy the consistent leftmost position matching Waterfall and Settings views.
    • Ensure the sidebar toggle icon [ integrates cleanly into the left group or toolbar without disrupting brand alignment.

5. Refresh Button Spinning Micro-Animation

  • Goal: Provide instant visual feedback when a background refresh or manual pull is in progress.
  • Scope:
    • Add smooth CSS keyframe spin animation (@keyframes spin { 100% { transform: rotate(360deg); } }) to the refresh icon when isRefreshing is active.

6. Feed Favicon & Website Icon Scraping / Upload

  • Goal: Enhance visual recognition by displaying brand icons next to each feed.
  • Scope:
    • Auto-Scraper: Automatically fetch and cache favicon.ico, <link rel="icon">, or <link rel="apple-touch-icon"> from the feed's website root during initial subscription.
    • Manual Customization: Allow uploading or specifying a custom icon URL in Settings > Subscriptions > Edit Feed.

7. Active Post Reading Persistence on Subscription Switch

  • Goal: Prevent reader disruption when exploring other subscriptions.
  • Scope:
    • When actively reading an article in the right canvas of 3-Split view, clicking a different subscription or category in the left sidebar should update the middle article list without abruptly closing or reloading the active article in the right canvas until a new article is explicitly selected.

8. Unified Feed & Category Tree Hierarchy ("Feeds" Root)

  • Goal: Simplify feed organization into a single clean hierarchy.
  • Scope:
    • Eliminate the artificial separation between "Categorized Feeds" and "Uncategorized Feeds".
    • Present a single unified "Feeds" section where uncategorized feeds reside at the root level alongside collapsible category folders.
    • Drag-and-drop or simple dropdown assignment to move feeds between root and folders.

9. Enhanced Xiaohongshu Masonry Waterfall Experience

  • Goal: Further elevate the card aesthetics and mobile interaction to closely match Xiaohongshu.
  • Scope:
    • Staggered dynamic aspect ratios with prominent media cards.
    • Smooth infinite scroll pagination.
    • Interactive gesture swipe to dismiss the full-screen reader.