From 541273734ce91c84ab1c0e77811fd03082721f00 Mon Sep 17 00:00:00 2001 From: Luna Date: Mon, 25 May 2026 22:38:17 -0700 Subject: [PATCH] Update Tartube spec checklist + roadmap notes MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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 --- docs/tartube-spec.md | 40 +++++++++++++++++++++++++++++++--------- 1 file changed, 31 insertions(+), 9 deletions(-) diff --git a/docs/tartube-spec.md b/docs/tartube-spec.md index f289b73..b72b498 100644 --- a/docs/tartube-spec.md +++ b/docs/tartube-spec.md @@ -602,23 +602,45 @@ the following are all true. when set. New `GET /api/comments/:id` reads the comments array out of info.json and the web player modal's ๐Ÿ’ฌ button renders a threaded viewer. -- [ ] **Profiles** โ€” saved named groups of channels with a "Download - this profile" action. +- [x] **Profiles** โ€” saved named groups of channels with a "Download + 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 - operation in the maintenance window. -- [ ] **Comments capture and viewer** โ€” opt-in `--write-comments` - flag; new viewer in the video player modal. -- [ ] **Manual chapter / SponsorBlock editing UI** โ€” edit / persist / - re-apply on re-download. + operation in the maintenance window. *Mostly already covered by + our existing `maintenance::scan` โ€” what's left is rolling phantom + detection + disk-content-not-in-DB into the same UI. Low effort + when picked up.* +- [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 handles data dir, yt-dlp install, optional FFmpeg, optional Plex. - [ ] **Per-distro release artifacts** โ€” .deb, .rpm, MSI, .app/.dmg, AUR, Chocolatey or winget. -- [ ] **`extra_args` passthrough** field in download options for any - flag we don't surface natively. +- [x] **`extra_args` passthrough** field in download options for any + flag we don't surface natively. *Shipped as part of Phase 1.1 + DownloadOptions.* - [ ] **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` goes from 8-ahead-8-behind to 8-ahead-0-behind. After that, the "surpass" phase consists of leaning on our architectural advantages: