docs(audit): check off UX7/UX8/UX23 (Batch 19)

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
2026-07-02 12:01:15 -04:00
parent fc2db1e1b6
commit f54d9a1965
+19 -8
View File
@@ -1673,17 +1673,24 @@ root cause is already filed.
"Refusing to open this file type.") as an error **toast** — the new transient-notification surface (see "Refusing to open this file type.") as an error **toast** — the new transient-notification surface (see
UX9). Both the downloads and history stores route through it. `safeShowInFolder` was upgraded to return an UX9). Both the downloads and history stores route through it. `safeShowInFolder` was upgraded to return an
error string like `safeOpenPath` (it previously no-op'd silently), so reveal failures surface too.* error string like `safeOpenPath` (it previously no-op'd silently), so reveal failures surface too.*
- [ ] **UX7 — Settings is one long unsegmented scroll** of ~11 cards with no section nav/anchors; the - [x] **UX7 — Settings is one long unsegmented scroll** of ~11 cards with no section nav/anchors; the
only finder is the hide-cards search (M14). Order is arbitrary and related items are split. only finder is the hide-cards search (M14). Order is arbitrary and related items are split.
**Fix:** group into sub-sections (or a left rail) with a stable, logical order. **Fix:** group into sub-sections (or a left rail) with a stable, logical order.
*Deferred (visual, own pass): a Settings section-nav / left-rail is a layout redesign whose value is *Fixed (Batch 19): the 11 cards are grouped into five stable sections — Downloads (defaults +
entirely in how it looks and scrolls — it wants the app running and eyeballed, not an unattended edit. post-processing + filenames), Appearance, Network & accounts, Advanced, App & maintenance — each with a
Grouped with the visual/UX polish pass.* section heading, plus a jump nav under the search box that smooth-scrolls to a section (anchors work inside
- [ ] **UX8 — "Default format" vs "Format & post-processing" are two places for one concept.** Kind + the screen's own scroll shell from L161; `scrollMarginTop` lands the heading cleanly). The search filter
still works per-card and now hides a whole section when all its cards are filtered out; the jump nav hides
while searching. Heading hierarchy corrected (page h1 → section h2 → card h3). Verified in the preview
probe: nav renders, jumping lands on "App & maintenance", searching "proxy" leaves exactly the matching
cards + their section headings visible (screenshots).*
- [x] **UX8 — "Default format" vs "Format & post-processing" are two places for one concept.** Kind +
quality live under Downloads; container/codec/subs/SponsorBlock live in a separate card. **Fix:** quality live under Downloads; container/codec/subs/SponsorBlock live in a separate card. **Fix:**
co-locate, or clearly label one "defaults" and the other "advanced post-processing." co-locate, or clearly label one "defaults" and the other "advanced post-processing."
*Deferred (ties to UX7): co-locating or re-labelling these cards is part of the same Settings *Fixed (Batch 19, both halves of the fix): the cards are now **co-located** — the post-processing card sits
information-architecture pass; done together there with the app running.* directly under the Downloads card in the new Downloads section (UX7) — **and** clearly labeled: the card is
renamed "Post-processing" with a hint stating it's the advanced conversion half and that the default format
itself is set in the Downloads card above.*
- [x] **UX9 — No global completion feedback off the Downloads tab** (UI25). If OS notifications are - [x] **UX9 — No global completion feedback off the Downloads tab** (UI25). If OS notifications are
off/suppressed (focus assist) and you're on another tab, a finished download gives no in-app sign. off/suppressed (focus assist) and you're on another tab, a finished download gives no in-app sign.
**Fix:** a sidebar Downloads badge / lightweight in-app toast. **Fix:** a sidebar Downloads badge / lightweight in-app toast.
@@ -1763,7 +1770,11 @@ root cause is already filed.
on demand (sets `hasCompletedOnboarding: false`), so it's revisitable (closes **L67**'s revisit half). on demand (sets `hasCompletedOnboarding: false`), so it's revisitable (closes **L67**'s revisit half).
Onboarding does offer folder choice already (Video/Audio "Choose…"), and it gained the Ctrl+K tip (UX21). Onboarding does offer folder choice already (Video/Audio "Choose…"), and it gained the Ctrl+K tip (UX21).
The remaining "shallow" (only a few tips) is a content judgment left as-is.* The remaining "shallow" (only a few tips) is a content judgment left as-is.*
- [ ] **UX23 — Settings folder paths are read-only** (L71) — no paste; Browse-dialog only. - [x] **UX23 — Settings folder paths are read-only** (L71) — no paste; Browse-dialog only.
*Resolved (Batch 19) — stale duplicate of L71, which was already fixed: the Video/Audio folder inputs are
editable (typed or pasted paths commit through the settings store), main validates via `isSafeOutputDir`
(unit-tested in validation.test.ts), and the M34 reconcile means a rejected path never sticks in the UI.
Verified editable in the Batch 19 preview probe.*
- [x] **UX24 — "Check N watched for new" is disabled with no explanation** when no source is watched — - [x] **UX24 — "Check N watched for new" is disabled with no explanation** when no source is watched —
a user with indexed (but unwatched) sources sees a dead button. **Fix:** tooltip / enable with a hint to watch a source. a user with indexed (but unwatched) sources sees a dead button. **Fix:** tooltip / enable with a hint to watch a source.
*Fixed: the button uses `disabledFocusable` (not `disabled`) when nothing is watched, so it stays *Fixed: the button uses `disabledFocusable` (not `disabled`) when nothing is watched, so it stays