Fix L7/M13/M37: badge colors, secret masking, dev-jargon hints

L7: Canceled status chip now uses 'subtle' color (neutral) instead of 'warning'
    (amber) -- distinguishing it from paused which remains amber.
M13: Proxy URL and YouTube PO-token inputs now use type="password" to mask
     credentials, matching updateToken. Proxy URLs can carry user:pass; PO tokens
     are opaque secrets.
M37: Rewrite two dev-facing hints -- youtubePlayerClient now says 'how AeroFetch
     identifies itself to YouTube' instead of citing yt-dlp internals; filename
     template says 'Controls how saved files are named' instead of 'yt-dlp output
     template'. Remaining hints (cookie browser, aria2c, etc.) were already clean.

typecheck + 242 tests + eslint + prettier green.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
2026-06-30 14:01:25 -04:00
parent 94c5723246
commit 63a327a31c
3 changed files with 8 additions and 6 deletions
+4 -2
View File
@@ -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."
>
<Input
type="password"
value={proxy}
placeholder="socks5://127.0.0.1:1080"
onChange={(_, d) => update({ proxy: d.value })}
@@ -707,7 +708,7 @@ export function SettingsView(): React.JSX.Element {
<Field
label="YouTube client (advanced)"
hint="Override the YouTube extraction client when downloads start failing the bot check. Try web_safari, tv, or mweb. Leave blank for yt-dlp's default."
hint="Override how AeroFetch identifies itself to YouTube when downloads start failing. Try web_safari, tv, or mweb. Leave blank for the automatic default."
>
<Input
value={youtubePlayerClient}
@@ -725,6 +726,7 @@ export function SettingsView(): React.JSX.Element {
>
<div className={styles.folderRow}>
<Input
type="password"
style={{ flexGrow: 1 }}
value={youtubePoToken}
placeholder="(none)"
@@ -878,7 +880,7 @@ export function SettingsView(): React.JSX.Element {
</div>
<Field
label="Filename template"
hint="yt-dlp output template. Tokens like %(title)s and %(ext)s are filled in per video."
hint="Controls how saved files are named. Use %(title)s for the video title, %(ext)s for the extension, and similar tokens."
>
<Input
value={filenameTemplate}
@@ -21,7 +21,7 @@ const STATUS_CHIP: Record<ChipStatus, { label: string; color: ChipColor }> = {
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. */