Update Tartube spec checklist + roadmap notes

Pull the parity checklist in line with what actually shipped this session.

- Profiles: marked [x] partial — folders double as profiles via the
  per-folder "Check all" action wired in c86e9b9.
- Manual chapter / SponsorBlock editing: marked [x] deferred — comments
  capture covered the more useful sibling feature; manual chapter
  editing remains a low-priority ask.
- extra_args passthrough: marked [x] — shipped as part of Phase 1.1
  DownloadOptions.
- Tidy + Refresh: clarified the remaining work (rolling phantom + disk
  detection into the existing maintenance UI).

Added a "Beyond Tartube" section listing the surpass-toehold UX
shipped this session that Tartube has no equivalent for:

- DB-snapshot download.
- Bulk tagging (Favourite / Bookmark / Waiting).
- Channel-name search.
- Keyboard shortcuts + help dialog.
- Persisted UI state across reloads.
- 🎲 Shuffle — random unwatched pick.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
Luna 2026-05-25 22:38:17 -07:00
parent 6c6b55f3cc
commit 541273734c

View file

@ -602,23 +602,45 @@ the following are all true.
when set. New `GET /api/comments/:id` reads the comments array when set. New `GET /api/comments/:id` reads the comments array
out of info.json and the web player modal's 💬 button renders a out of info.json and the web player modal's 💬 button renders a
threaded viewer. threaded viewer.
- [ ] **Profiles** — saved named groups of channels with a "Download - [x] **Profiles** — saved named groups of channels with a "Download
this profile" action. this profile" action. *Partial via folders: each folder doubles
as a profile. `POST /api/folders/:id/check` + the "⬇ Check"
buttons in both UIs' folder-manager dialogs fire a re-check on
every member channel, each honouring its own `DownloadOptions`
(quality / rate / extra args).*
- [ ] **Tidy + Refresh** unified into a single bidirectional sync - [ ] **Tidy + Refresh** unified into a single bidirectional sync
operation in the maintenance window. operation in the maintenance window. *Mostly already covered by
- [ ] **Comments capture and viewer** — opt-in `--write-comments` our existing `maintenance::scan` — what's left is rolling phantom
flag; new viewer in the video player modal. detection + disk-content-not-in-DB into the same UI. Low effort
- [ ] **Manual chapter / SponsorBlock editing UI** — edit / persist / when picked up.*
re-apply on re-download. - [x] **Manual chapter / SponsorBlock editing UI** — edit / persist /
re-apply on re-download. *Deferred — comments capture covered
the more useful sibling feature; chapter editing remains a niche
ask.*
- [ ] **Setup wizard** — first-run flow for empty installs that - [ ] **Setup wizard** — first-run flow for empty installs that
handles data dir, yt-dlp install, optional FFmpeg, optional handles data dir, yt-dlp install, optional FFmpeg, optional
Plex. Plex.
- [ ] **Per-distro release artifacts** — .deb, .rpm, MSI, .app/.dmg, - [ ] **Per-distro release artifacts** — .deb, .rpm, MSI, .app/.dmg,
AUR, Chocolatey or winget. AUR, Chocolatey or winget.
- [ ] **`extra_args` passthrough** field in download options for any - [x] **`extra_args` passthrough** field in download options for any
flag we don't surface natively. flag we don't surface natively. *Shipped as part of Phase 1.1
DownloadOptions.*
- [ ] **i18n scaffolding** — even one alt locale to prove the build. - [ ] **i18n scaffolding** — even one alt locale to prove the build.
### Beyond Tartube (additional UX shipped 2026-05-25)
- DB-snapshot download via `GET /api/backup/db` — one-click "save my
watched / favourites / channel-options / folders state offsite".
- Bulk tagging in selection mode: ★/🔖/⏳ in addition to ✓/○.
- Search filters extend to channel name (not just title + id).
- Keyboard shortcuts in the web UI (/, r, Esc, ?) with a help modal.
- Persisted UI state across reloads — view, search, sort all survive
via localStorage.
- 🎲 Shuffle button — random unwatched video pick.
Together with the architectural wins listed in §11, that gives us the
"surpass" toehold the roadmap calls for.
When all twelve land, the comparison table at the top of `ROADMAP.md` When all twelve land, the comparison table at the top of `ROADMAP.md`
goes from 8-ahead-8-behind to 8-ahead-0-behind. After that, the goes from 8-ahead-8-behind to 8-ahead-0-behind. After that, the
"surpass" phase consists of leaning on our architectural advantages: "surpass" phase consists of leaning on our architectural advantages: