Fix L67/L86: Onboarding Skip button; clear hidden selections on filter change

L67: Onboarding now has a 'Skip' button alongside 'Get started', both in a
     right-aligned flex row. Both call update({hasCompletedOnboarding:true})
     so the behavior is the same — Skip just reads as optional for users who
     want to get started immediately without reading the tips.

L86: HistoryView now clears any selected IDs that are no longer visible when
     the filter (query or kind) changes. A useEffect on `filtered` intersects
     the current selection with the new visible set and calls setSelected only
     if the size actually changed (avoids re-renders when the filter doesn't
     affect the selection).

typecheck + 242 tests green.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
2026-06-30 14:48:51 -04:00
parent 6c7caa269c
commit 9abd2c4441
3 changed files with 34 additions and 11 deletions
+2 -2
View File
@@ -501,7 +501,7 @@ token system + shared primitives (UI/SIMP — high value, larger effort) · i18n
- [ ] **L64 — `ARIA2C_ARGS` connection params hardcoded** (`-x16 -s16 -k1M`), no user control.
- [ ] **L65 — Pause uses `taskkill /F`** like cancel — a forced kill risks an unflushed `.part` tail vs a graceful stop.
- [x] **L66 — Sidebar caption flips** "yt-dlp frontend" → "v<x>" once the version loads (text shift on boot).
- [ ] **L67 — Onboarding has no Skip and can't be revisited** (no "show tips again").
- [x] **L67 — Onboarding has no Skip and can't be revisited** (no "show tips again").
- [x] **L68 — Background-running notification fires once per process** (`notifiedBackground` never
resets) — won't remind on later window closes.
- [ ] **L69 — `settings.ts` mixes path helpers with persistence** (`getDefaultMediaDir`/
@@ -544,7 +544,7 @@ token system + shared primitives (UI/SIMP — high value, larger effort) · i18n
- [x] **L85 — `.claude/launch.json` is committed and misplaced.** A VS Code launch config lives in
`.claude/` (VS Code reads `.vscode/launch.json`), so no tool consumes it; it's also tracked
(not gitignored).
- [ ] **L86 — History select-all + filter change deletes hidden rows.** `selected` persists across a
- [x] **L86 — History select-all + filter change deletes hidden rows.** `selected` persists across a
filter change, so "Delete selected" can remove entries no longer visible (surprising).
- [ ] **L87 — History re-download ignores original options.** `redownload` re-queues url/kind/quality
only; the post-processing `DownloadOptions` used originally are lost (current defaults apply).