diff --git a/CODE-AUDIT.md b/CODE-AUDIT.md index 51bd387..35588d9 100644 --- a/CODE-AUDIT.md +++ b/CODE-AUDIT.md @@ -258,7 +258,7 @@ token system + shared primitives (UI/SIMP — high value, larger effort) · i18n `style={{ color: … }}` error spans + its local `errorRowText` class. The remaining red references live in per-component `makeStyles` classes (DownloadBar/LibraryView/QueueItem/TerminalView), not inline; migrate those to the shared hook incrementally.* -- [ ] **M13 — Inconsistent secret-field masking.** `updateToken` uses `type="password"`; `proxy` +- [x] **M13 — Inconsistent secret-field masking.** `updateToken` uses `type="password"`; `proxy` (may carry `user:pass@`) and `youtubePoToken` (a token) are plain-text Inputs. - [ ] **M14 — Settings search mutates React-owned DOM.** The search toggles each card's `el.style.display` directly; fragile (breaks if a card ever gets a conditional `style`) and @@ -361,7 +361,7 @@ token system + shared primitives (UI/SIMP — high value, larger effort) · i18n pending/error/canceled only, so selecting 5 rows (incl. 2 already-downloaded) shows "Download **3** selected." The checkbox count and the button count silently disagree. **Fix:** only show checkboxes on actionable rows, or count all selected. -- [ ] **M37 — End-user hints leak developer/internal references.** Settings hints surface dev-facing +- [x] **M37 — End-user hints leak developer/internal references.** Settings hints surface dev-facing detail: "Requires aria2c.exe in resources/bin (see the README there)", "paste a read-only **Gitea** token", "sent via `--extractor-args`", "breaking downloads with **403** errors", "open a locked cookie database", and roadmap status ("automatic minting is **planned**"). These read as code comments, not @@ -388,7 +388,7 @@ token system + shared primitives (UI/SIMP — high value, larger effort) · i18n where a class exists elsewhere. - [ ] **L6 — Control height mismatch.** `Select` is a fixed 32px sitting beside `size="large"` (~40px) Input/Buttons in DownloadBar. -- [ ] **L7 — `canceled` and `paused` share the 'warning' badge color** (QueueItem) — visually +- [x] **L7 — `canceled` and `paused` share the 'warning' badge color** (QueueItem) — visually ambiguous. - [ ] **L8 — Index/compound list keys.** TerminalView keys log lines by array index; Settings Diagnostics keys by `id + occurredAt` while every other list keys by `id` alone. diff --git a/src/renderer/src/components/SettingsView.tsx b/src/renderer/src/components/SettingsView.tsx index fbe6704..072b8f5 100644 --- a/src/renderer/src/components/SettingsView.tsx +++ b/src/renderer/src/components/SettingsView.tsx @@ -677,6 +677,7 @@ export function SettingsView(): React.JSX.Element { hint="HTTP/HTTPS/SOCKS proxy URL, e.g. socks5://127.0.0.1:1080. Leave blank to use the system default." > update({ proxy: d.value })} @@ -707,7 +708,7 @@ export function SettingsView(): React.JSX.Element {
= { saved: { label: 'Saved', color: 'subtle' }, completed: { label: 'Completed', color: 'success' }, error: { label: 'Failed', color: 'danger' }, - canceled: { label: 'Canceled', color: 'warning' } + canceled: { label: 'Canceled', color: 'subtle' } } /** Shared status chip used by the download queue and the library item list. */