Enhanced dashboard with progress tracking and consolidated actions #34

Closed
opened 2026-03-18 10:42:20 -04:00 by connor · 0 comments
Owner

The current dashboard shows basic stats (total items, wanted/downloaded/owned counts) and a simple queue summary. It needs to be significantly more useful as the "command center" of Shanty.

Requirements

  1. Download progress section — show individual downloads in progress with their status. Ideally with a progress bar per download (this may require adding progress reporting to the download backend — yt-dlp supports --progress output).

  2. Per-task detailed views — instead of just "task type: index, status: Running", show:

    • Indexing: "Scanning: 234/1000 files processed"
    • Tagging: "Tagging: 12/50 tracks matched"
    • Organizing: "Organizing: 45/100 files moved"
    • Downloading: "Downloading: 3/14 tracks complete"

    This requires the backend to report granular progress on background tasks. The TaskInfo struct should include an optional progress field (e.g., { current: 45, total: 100 }).

  3. Consolidated action buttons — all major actions should be accessible from the dashboard:

    • "Sync from Watchlist" (currently only on Downloads page)
    • "Process Download Queue"
    • "Re-index Library"
    • "Auto-tag Tracks"
    • "Organize Files"
    • The "Set Sail" mega-button (see separate issue)

    Keep copies of relevant buttons on their respective pages too (e.g., sync/process on Downloads).

Acceptance Criteria

  • Dashboard shows individual download items with status
  • Background tasks show granular progress (current/total)
  • All action buttons are accessible from the dashboard
  • Dashboard auto-refreshes to show progress updates

Dependencies

  • Backend: TaskInfo needs a progress field
  • Backend: download progress reporting
The current dashboard shows basic stats (total items, wanted/downloaded/owned counts) and a simple queue summary. It needs to be significantly more useful as the "command center" of Shanty. ### Requirements 1. **Download progress section** — show individual downloads in progress with their status. Ideally with a progress bar per download (this may require adding progress reporting to the download backend — yt-dlp supports `--progress` output). 2. **Per-task detailed views** — instead of just "task type: index, status: Running", show: - **Indexing**: "Scanning: 234/1000 files processed" - **Tagging**: "Tagging: 12/50 tracks matched" - **Organizing**: "Organizing: 45/100 files moved" - **Downloading**: "Downloading: 3/14 tracks complete" This requires the backend to report granular progress on background tasks. The `TaskInfo` struct should include an optional `progress` field (e.g., `{ current: 45, total: 100 }`). 3. **Consolidated action buttons** — all major actions should be accessible from the dashboard: - "Sync from Watchlist" (currently only on Downloads page) - "Process Download Queue" - "Re-index Library" - "Auto-tag Tracks" - "Organize Files" - The "Set Sail" mega-button (see separate issue) Keep copies of relevant buttons on their respective pages too (e.g., sync/process on Downloads). ### Acceptance Criteria - [ ] Dashboard shows individual download items with status - [ ] Background tasks show granular progress (current/total) - [ ] All action buttons are accessible from the dashboard - [ ] Dashboard auto-refreshes to show progress updates ### Dependencies - Backend: `TaskInfo` needs a progress field - Backend: download progress reporting
connor added the HighPriority label 2026-03-18 10:42:30 -04:00
connor started working 2026-03-18 11:11:49 -04:00
connor added the MVP label 2026-03-18 11:41:11 -04:00
connor worked for 30 minutes 2026-03-18 11:42:23 -04:00
Sign in to join this conversation.
1 Participants
Notifications
Total Time Spent: 30 minutes
connor
30 minutes
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: Shanty/Main#34