docs(audit): check off UX7/UX8/UX23 (Batch 19)
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
+19
-8
@@ -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
|
||||||
|
|||||||
Reference in New Issue
Block a user