Files
AeroFetch/docs/SMOKE-TEST.md
T
debont80 24c4c807a3 feat: Phase P reliability (YouTube extractor-args plumbing, signing + smoke-test docs)
- YouTube reliability: Settings.youtubePlayerClient + youtubePoToken ->
  one --extractor-args "youtube:player_client=...;po_token=..." group
  (accessArgs, unit-tested); advanced fields in Settings -> Network.
  Automatic WebView PO-token minting deferred (documented).
- docs/SMOKE-TEST.md: release-gate checklist for all shipped-but-untested
  OS wiring (cookies window, protocol/Send-to, scheduled sync, aria2c, proxy,
  tray/taskbar/pause-resume/terminal) — needs a human to run.
- docs/SIGNING.md: code-signing guide (CSC_LINK/CSC_KEY_PASSWORD, OV/EV,
  CI, HSM hook, verification). Build is signing-ready; needs a cert.
- i18n remains deferred (not faked).

typecheck + test (195) + build all clean. Roadmap: Phase P code shipped.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-26 11:25:57 -04:00

62 lines
3.8 KiB
Markdown

# AeroFetch — manual smoke-test checklist
Some features can only be exercised against a **real install** (or a real yt-dlp run) —
they're main-process / Electron / OS-integration code that the Vite browser preview and the
unit suite can't reach. They're implemented and typecheck/test/build clean, but the roadmaps
flag them as needing a hands-on pass. Run this checklist after building
(`npm run build:win`) and installing the NSIS artifact (or launching the portable `.exe`).
Mark each ✅/❌ and note anything surprising.
## Downloads & post-processing (Phases A, L, M)
- [ ] **Basic download** — paste a URL, Fetch, pick a format, Download → file lands in
Documents\Video (or your folder), progress + speed update, "Completed".
- [ ] **Trim / cut** (Phase L) — set a section like `0:10-0:20`, download → output is ~10s and
starts/ends near the cut points (`--download-sections` + `--force-keyframes-at-cuts`).
- [ ] **Split by chapters** (Phase L) — on a video with chapters, enable it → per-chapter files
appear alongside the full file.
- [ ] **Pause / resume** (Phase M) — start a large download, Pause (process stops, `.part`
stays), Resume → it **continues** from where it stopped, not from 0% (yt-dlp `--continue`).
- [ ] **Scheduling** (Phase M) — schedule a download a couple of minutes out → it sits "Saved /
Scheduled", then auto-starts at the time (only while the app is running).
## Access & networking (Phase B, P)
- [ ] **Cookies — sign-in window** — Settings → Cookies → "Sign-in window", log into a site,
close it → "cookies saved" with a timestamp; a members-only/age-gated video then downloads.
- [ ] **Cookies — from browser** — pick an installed browser → a gated video downloads.
- [ ] **Proxy** — set a working proxy → downloads route through it (verify via the proxy logs).
- [ ] **aria2c** — drop `aria2c.exe` into `resources/bin`, enable it → multi-connection download
works; remove it → silently falls back to yt-dlp's downloader.
- [ ] **YouTube client / PO token** (Phase P) — set `youtubePlayerClient` (e.g. `web_safari`) →
the run includes `--extractor-args youtube:player_client=web_safari` (check Terminal/Preview).
## OS integration (Phase E, J, O)
- [ ] **`aerofetch://` protocol** — from a browser, open `aerofetch://download?url=<encoded>`
AeroFetch focuses and the URL appears in the "Link received" banner.
- [ ] **Explorer "Send to AeroFetch"** — drag a tab to the desktop to make a `.url`, right-click →
Send to → AeroFetch → the link is received.
- [ ] **Scheduled sync** (Phase J) — Settings → enable the daily sync → a Windows Task Scheduler
task exists; run it (or `AeroFetch.exe --sync`) → watched sources index and new items enqueue.
- [ ] **RSS fast-check** (Phase J) — "Check for new" on a watched channel → newly-posted videos
show as new without a full re-index.
- [ ] **System tray** (Phase O) — enable "Keep running in the tray", close the window → it hides
to the tray; tray click reopens; tray → Quit actually exits.
- [ ] **Taskbar progress** (Phase O) — during downloads the taskbar icon shows a progress bar;
it turns red if one fails and clears when the queue goes idle.
- [ ] **Jump list** (Phase O) — right-click the taskbar icon → "Open AeroFetch" focuses the app.
## Terminal (Phase N)
- [ ] Enable "Run custom commands", open Terminal, run `--version` → the version prints; run
`-F <url>` → the format table streams in; Stop cancels a long run.
---
If anything here fails, capture the Settings → Diagnostics "Copy full report" output and the
exact steps. These items have no automated coverage, so this checklist is the release gate for
them. See also [SIGNING.md](SIGNING.md) for the code-signing step that removes the SmartScreen
prompt for end users.