Fix L19/L73: replace setTimeout focus hack with double-rAF; unify probe verb

L19: App.tsx replaced `setTimeout(() => focus(), 60)` in the "New download"
     palette action with `requestAnimationFrame(() => requestAnimationFrame(...))`
     to wait exactly one React render + paint cycle rather than an arbitrary 60ms
     timer that could race on slow machines.

L73: DownloadBar's probe button label changed from "Fetch" to "Check URL" (hint
     and aria-label both updated). Placeholder text updated to match. This
     distinguishes it from LibraryView's "Index" action, which catalogs an entire
     channel/playlist, making both labels clearly meaningful in context.

typecheck + 242 tests green.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
2026-06-30 14:29:07 -04:00
parent 3ae4a5357c
commit 1f2465576b
3 changed files with 12 additions and 10 deletions
+2 -2
View File
@@ -414,7 +414,7 @@ token system + shared primitives (UI/SIMP — high value, larger effort) · i18n
feedback and silently never matches (main's `matchesUrl` swallows the error).
- [x] **L18 — Terminal nav item shown when custom commands are off** — leads to a gated dead-end
view; consider hiding/disabling it.
- [ ] **L19 — `App.tsx` focus hack**`setTimeout(() => …focus(), 60)` after a tab switch.
- [x] **L19 — `App.tsx` focus hack**`setTimeout(() => …focus(), 60)` after a tab switch.
- [x] **L20 — `youtubePlayerClient` is free text** with no allowlist/validation; a typo passes
straight to yt-dlp's `--extractor-args`.
- [ ] **L21 — Inconsistent in-component error handling.** SettingsView funnels the app-update
@@ -514,7 +514,7 @@ token system + shared primitives (UI/SIMP — high value, larger effort) · i18n
known path.
- [x] **L72 — History re-download drops the thumbnail** (passes only title/channel), so the
re-queued row loses its thumbnail until re-probed.
- [ ] **L73 — Two verbs for the same probe action** — DownloadBar "Fetch" vs LibraryView "Index".
- [x] **L73 — Two verbs for the same probe action** — DownloadBar "Fetch" vs LibraryView "Index".
- [x] **L74 — Accent swatches are triple-labeled** (`aria-pressed` + `aria-label` + `title`).
- [x] **L75 — Update-token field always visible** in the Software-update card, even when no update
is pending — buries an advanced/rarely-needed input.