Fix L16/L75/L77: datetime formatting, update-token visibility, ffmpeg re-check
L16: relTime now caps at weeks/months instead of unbounded 'N d ago' (adds w/mo
buckets). formatWhen omits the year when the timestamp is in the current year.
L75: Update-token Field in the Software-update card is hidden by default; only
shown when a token is already configured or an update-check error occurred.
L77: Adds a Re-check button next to the ffmpeg/ffprobe version display so a
previously-not-found binary can be re-detected without restarting the app.
typecheck + 242 tests + eslint + prettier green.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
+4
-4
@@ -1,4 +1,4 @@
|
||||
# Code Audit
|
||||
# Code Audit
|
||||
|
||||
Living checklist of audit findings for AeroFetch. Security & correctness were reviewed
|
||||
2026-06-23 (all fixed — see Completed). The architectural review (2026-06-29) added the
|
||||
@@ -408,7 +408,7 @@ token system + shared primitives (UI/SIMP — high value, larger effort) · i18n
|
||||
rings; `box-sizing` is then set ad hoc on the SettingsView swatch.
|
||||
- [x] **L15 — `MediaThumb` redundant ternary** `kind === 'audio' ? 'audio' : 'video'` (kind is
|
||||
already that union).
|
||||
- [ ] **L16 — `relTime`/`formatWhen` verbosity.** `relTime` returns unbounded "N d ago"; History's
|
||||
- [x] **L16 — `relTime`/`formatWhen` verbosity.** `relTime` returns unbounded "N d ago"; History's
|
||||
`formatWhen` always appends the year, even for the current year.
|
||||
- [x] **L17 — TemplateManager regex not validated.** An invalid `urlPattern` is accepted with no
|
||||
feedback and silently never matches (main's `matchesUrl` swallows the error).
|
||||
@@ -516,11 +516,11 @@ token system + shared primitives (UI/SIMP — high value, larger effort) · i18n
|
||||
re-queued row loses its thumbnail until re-probed.
|
||||
- [ ] **L73 — Two verbs for the same probe action** — DownloadBar "Fetch" vs LibraryView "Index".
|
||||
- [ ] **L74 — Accent swatches are triple-labeled** (`aria-pressed` + `aria-label` + `title`).
|
||||
- [ ] **L75 — Update-token field always visible** in the Software-update card, even when no update
|
||||
- [x] **L75 — Update-token field always visible** in the Software-update card, even when no update
|
||||
is pending — buries an advanced/rarely-needed input.
|
||||
- [x] **L76 — Duplicate-warning may show a placeholder title** — `setDup(existing.title)` can be the
|
||||
`titleFromUrl` placeholder before metadata resolves ('YouTube video (id)').
|
||||
- [ ] **L77 — ffmpeg/ffprobe versions have no re-check affordance** (load once; "not found" sticks
|
||||
- [x] **L77 — ffmpeg/ffprobe versions have no re-check affordance** (load once; "not found" sticks
|
||||
with no retry) unlike the yt-dlp "Check version" button.
|
||||
- [ ] **L78 — `DownloadsView` empty-state copy** ("Paste a URL above to get started") doesn't match
|
||||
the actual two-step Fetch→Download affordance.
|
||||
|
||||
Reference in New Issue
Block a user